summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/com/android/contacts/common/compat/TelephonyManagerCompat.java23
-rw-r--r--java/com/android/contacts/common/model/account/BaseAccountType.java23
-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_call_note_white_24dp.pngbin373 -> 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_message_24dp.pngbin167 -> 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_phone_attach.pngbin828 -> 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_scroll_handle.pngbin544 -> 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_background_holo.9.pngbin219 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-ldrtl-mdpi/list_background_holo.9.pngbin178 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-ldrtl-xhdpi/list_background_holo.9.pngbin243 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_ab_search.pngbin781 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_arrow_back_24dp.pngbin578 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_call_24dp.pngbin246 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_close_dk.pngbin572 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_create_24dp.pngbin290 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_group_white_24dp.pngbin297 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_history_white_drawable_24dp.pngbin340 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_info_outline_24dp.pngbin320 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_menu_back.pngbin607 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_menu_group_dk.pngbin1266 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_menu_group_lt.pngbin1270 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_menu_overflow_lt.pngbin171 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_menu_person_dk.pngbin1052 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_menu_person_lt.pngbin1021 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_menu_remove_field_holo_light.pngbin424 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_menu_star_dk.pngbin1034 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_menu_star_lt.pngbin1018 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_message_24dp.pngbin130 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_person_24dp.pngbin188 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_rx_videocam.pngbin299 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_tx_videocam.pngbin265 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/ic_videocam.pngbin216 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/list_background_holo.9.pngbin188 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/list_title_holo.9.pngbin199 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_ab_search.pngbin1451 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_arrow_back_24dp.pngbin765 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_call_24dp.pngbin420 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_close_dk.pngbin814 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_create_24dp.pngbin426 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_group_white_24dp.pngbin461 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_history_white_drawable_24dp.pngbin659 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_info_outline_24dp.pngbin655 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_back.pngbin1034 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_group_dk.pngbin2650 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_group_lt.pngbin2632 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_overflow_lt.pngbin287 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_person_dk.pngbin1844 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_person_lt.pngbin1815 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_remove_field_holo_light.pngbin593 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_star_dk.pngbin1830 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_star_holo_light.pngbin1607 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_star_lt.pngbin1827 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_message_24dp.pngbin204 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_person_24dp.pngbin312 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_rx_videocam.pngbin439 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_tx_videocam.pngbin405 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/ic_videocam.pngbin301 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/list_background_holo.9.pngbin245 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/list_title_holo.9.pngbin267 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_ab_search.pngbin2100 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_arrow_back_24dp.pngbin1376 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_call_24dp.pngbin597 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_close_dk.pngbin1465 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_create_24dp.pngbin668 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_group_white_24dp.pngbin604 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_history_white_drawable_24dp.pngbin971 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_info_outline_24dp.pngbin953 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_back.pngbin1546 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_group_dk.pngbin3338 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_group_lt.pngbin3381 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_overflow_lt.pngbin414 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_person_dk.pngbin2357 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_person_lt.pngbin2363 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_remove_field_holo_light.pngbin1381 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_star_dk.pngbin2111 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_star_holo_light.pngbin2119 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_star_lt.pngbin2117 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_message_24dp.pngbin269 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_person_24dp.pngbin440 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_rx_videocam.pngbin603 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_tx_videocam.pngbin551 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/ic_videocam.pngbin398 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/list_title_holo.9.pngbin465 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxxhdpi/ic_ab_search.pngbin2571 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxxhdpi/ic_arrow_back_24dp.pngbin1512 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxxhdpi/ic_call_24dp.pngbin778 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxxhdpi/ic_close_dk.pngbin1688 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxxhdpi/ic_create_24dp.pngbin612 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxxhdpi/ic_history_white_drawable_24dp.pngbin1311 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxxhdpi/ic_info_outline_24dp.pngbin1279 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxxhdpi/ic_message_24dp.pngbin342 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxxhdpi/ic_person_24dp.pngbin577 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxxhdpi/ic_videocam.pngbin481 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable/ic_back_arrow.xml6
-rw-r--r--java/com/android/contacts/common/res/drawable/ic_search_video_call.xml2
-rw-r--r--java/com/android/contacts/common/res/drawable/ic_tab_all.xml21
-rw-r--r--java/com/android/contacts/common/res/drawable/ic_tab_groups.xml21
-rw-r--r--java/com/android/contacts/common/res/drawable/ic_tab_starred.xml21
-rw-r--r--java/com/android/contacts/common/res/drawable/list_item_activated_background.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.xml2
-rw-r--r--java/com/android/contacts/common/res/mipmap-hdpi/ic_contacts_launcher.pngbin3169 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/AndroidManifest.xml5
-rw-r--r--java/com/android/dialer/app/DialtactsActivity.java68
-rw-r--r--java/com/android/dialer/app/SpecialCharSequenceMgr.java26
-rw-r--r--java/com/android/dialer/app/calllog/CallLogAdapter.java101
-rw-r--r--java/com/android/dialer/app/calllog/CallLogFragment.java21
-rw-r--r--java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java175
-rw-r--r--java/com/android/dialer/app/calllog/CallLogNotificationsActivity.java70
-rw-r--r--java/com/android/dialer/app/calllog/CallLogNotificationsService.java10
-rw-r--r--java/com/android/dialer/app/calllog/ClearCallLogDialog.java1
-rw-r--r--java/com/android/dialer/app/calllog/DefaultVoicemailNotifier.java5
-rw-r--r--java/com/android/dialer/app/calllog/IntentProvider.java10
-rw-r--r--java/com/android/dialer/app/calllog/MissedCallNotifier.java27
-rw-r--r--java/com/android/dialer/app/calllog/PhoneAccountHandles.java6
-rw-r--r--java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java19
-rw-r--r--java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java26
-rw-r--r--java/com/android/dialer/app/contactinfo/ContactInfoCache.java4
-rw-r--r--java/com/android/dialer/app/list/AllContactsFragment.java16
-rw-r--r--java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java6
-rw-r--r--java/com/android/dialer/app/list/DialtactsPagerAdapter.java189
-rw-r--r--java/com/android/dialer/app/list/ListsFragment.java274
-rw-r--r--java/com/android/dialer/app/list/OldSpeedDialFragment.java (renamed from java/com/android/dialer/app/list/SpeedDialFragment.java)29
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/empty_call_log.pngbin3538 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/empty_contacts.pngbin2461 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/empty_speed_dial.pngbin6041 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_archive_white_24dp.pngbin247 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_content_copy_24dp.pngbin203 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_delete_24dp.pngbin242 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_add_call.pngbin1649 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_current_call.pngbin2305 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_tt_keypad.pngbin2419 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_grade_24dp.pngbin370 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_handle.pngbin543 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_menu_history_lt.pngbin1565 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_mic_grey600.pngbin377 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_more_vert_24dp.pngbin134 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_not_interested_googblue_24dp.pngbin565 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_not_spam.pngbin858 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_pause_24dp.pngbin105 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_people_24dp.pngbin299 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_phone_24dp.pngbin347 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_play_arrow_24dp.pngbin195 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_remove.pngbin884 -> 0 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-hdpi/ic_schedule_24dp.pngbin575 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_share_white_24dp.pngbin397 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_star.pngbin732 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_unblock.pngbin1049 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_vm_sound_off_dis.pngbin1339 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_vm_sound_off_dk.pngbin1337 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_vm_sound_on_dis.pngbin1755 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_vm_sound_on_dk.pngbin1750 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_voicemail_24dp.pngbin478 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_volume_down_24dp.pngbin186 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_volume_up_24dp.pngbin365 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/search_shadow.9.pngbin183 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/shadow_contact_photo.pngbin960 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-mdpi/ic_archive_white_24dp.pngbin181 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-mdpi/ic_content_copy_24dp.pngbin134 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-mdpi/ic_delete_24dp.pngbin195 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-mdpi/ic_grade_24dp.pngbin271 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-mdpi/ic_more_vert_24dp.pngbin112 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-mdpi/ic_pause_24dp.pngbin83 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-mdpi/ic_people_24dp.pngbin210 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-mdpi/ic_play_arrow_24dp.pngbin157 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-mdpi/ic_schedule_24dp.pngbin377 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-mdpi/ic_share_white_24dp.pngbin268 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-mdpi/ic_voicemail_24dp.pngbin221 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-mdpi/ic_volume_down_24dp.pngbin139 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-mdpi/ic_volume_up_24dp.pngbin251 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xhdpi/ic_archive_white_24dp.pngbin267 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xhdpi/ic_content_copy_24dp.pngbin188 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xhdpi/ic_delete_24dp.pngbin271 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xhdpi/ic_grade_24dp.pngbin479 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xhdpi/ic_more_vert_24dp.pngbin158 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xhdpi/ic_pause_24dp.pngbin90 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xhdpi/ic_people_24dp.pngbin368 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xhdpi/ic_play_arrow_24dp.pngbin220 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xhdpi/ic_schedule_24dp.pngbin737 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xhdpi/ic_share_white_24dp.pngbin496 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xhdpi/ic_voicemail_24dp.pngbin487 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xhdpi/ic_volume_down_24dp.pngbin212 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xhdpi/ic_volume_up_24dp.pngbin455 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxhdpi/ic_archive_white_24dp.pngbin390 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxhdpi/ic_content_copy_24dp.pngbin266 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxhdpi/ic_delete_24dp.pngbin323 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxhdpi/ic_grade_24dp.pngbin676 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxhdpi/ic_more_vert_24dp.pngbin216 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxhdpi/ic_pause_24dp.pngbin92 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxhdpi/ic_people_24dp.pngbin488 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxhdpi/ic_play_arrow_24dp.pngbin283 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxhdpi/ic_schedule_24dp.pngbin1107 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxhdpi/ic_share_white_24dp.pngbin698 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxhdpi/ic_voicemail_24dp.pngbin625 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxhdpi/ic_volume_down_24dp.pngbin291 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxhdpi/ic_volume_up_24dp.pngbin654 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxxhdpi/ic_archive_white_24dp.pngbin489 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxxhdpi/ic_content_copy_24dp.pngbin329 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxxhdpi/ic_delete_24dp.pngbin1394 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxxhdpi/ic_grade_24dp.pngbin887 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxxhdpi/ic_more_vert_24dp.pngbin305 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxxhdpi/ic_pause_24dp.pngbin94 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxxhdpi/ic_people_24dp.pngbin636 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxxhdpi/ic_play_arrow_24dp.pngbin343 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxxhdpi/ic_schedule_24dp.pngbin1478 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxxhdpi/ic_share_white_24dp.pngbin938 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxxhdpi/ic_voicemail_24dp.pngbin971 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxxhdpi/ic_volume_down_24dp.pngbin356 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxxhdpi/ic_volume_up_24dp.pngbin878 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable/ic_pause.xml4
-rw-r--r--java/com/android/dialer/app/res/drawable/ic_play_arrow.xml4
-rw-r--r--java/com/android/dialer/app/res/layout/call_log_list_item.xml32
-rw-r--r--java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml14
-rw-r--r--java/com/android/dialer/app/res/layout/phone_favorite_tile_view.xml2
-rw-r--r--java/com/android/dialer/app/res/layout/search_edittext.xml4
-rw-r--r--java/com/android/dialer/app/res/layout/voicemail_playback_layout.xml4
-rw-r--r--java/com/android/dialer/app/res/menu/actionbar_delete.xml25
-rw-r--r--java/com/android/dialer/app/res/mipmap-hdpi/ic_launcher_phone.pngbin2780 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/values-de/strings.xml34
-rw-r--r--java/com/android/dialer/app/res/values-en-rAU/strings.xml6
-rw-r--r--java/com/android/dialer/app/res/values-en-rGB/strings.xml6
-rw-r--r--java/com/android/dialer/app/res/values-en-rIN/strings.xml6
-rw-r--r--java/com/android/dialer/app/res/values-fa/strings.xml4
-rw-r--r--java/com/android/dialer/app/res/values/styles.xml13
-rw-r--r--java/com/android/dialer/app/settings/DialerSettingsActivity.java44
-rw-r--r--java/com/android/dialer/app/voicemail/VoicemailPlaybackLayout.java4
-rw-r--r--java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java172
-rw-r--r--java/com/android/dialer/app/voicemail/error/OmtpVoicemailMessageCreator.java184
-rw-r--r--java/com/android/dialer/app/voicemail/error/VoicemailErrorMessage.java38
-rw-r--r--java/com/android/dialer/app/voicemail/error/Vvm3VoicemailMessageCreator.java2
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-de/strings.xml12
-rw-r--r--java/com/android/dialer/backup/DialerBackupAgent.java3
-rw-r--r--java/com/android/dialer/binary/aosp/AospDialerRootComponent.java4
-rw-r--r--java/com/android/dialer/binary/basecomponent/BaseDialerRootComponent.java4
-rw-r--r--java/com/android/dialer/binary/common/DialerApplication.java23
-rw-r--r--java/com/android/dialer/blocking/BlockedNumbersAutoMigrator.java97
-rw-r--r--java/com/android/dialer/blocking/FilteredNumberAsyncQueryHandler.java14
-rw-r--r--java/com/android/dialer/blocking/FilteredNumbersUtil.java2
-rw-r--r--java/com/android/dialer/blocking/res/drawable-hdpi/ic_block_24dp.pngbin478 -> 0 bytes
-rw-r--r--java/com/android/dialer/blocking/res/drawable-hdpi/ic_report_24dp.pngbin240 -> 0 bytes
-rw-r--r--java/com/android/dialer/blocking/res/drawable-hdpi/ic_report_white_36dp.pngbin312 -> 0 bytes
-rw-r--r--java/com/android/dialer/blocking/res/drawable-mdpi/ic_block_24dp.pngbin335 -> 0 bytes
-rw-r--r--java/com/android/dialer/blocking/res/drawable-mdpi/ic_report_24dp.pngbin174 -> 0 bytes
-rw-r--r--java/com/android/dialer/blocking/res/drawable-mdpi/ic_report_white_36dp.pngbin240 -> 0 bytes
-rw-r--r--java/com/android/dialer/blocking/res/drawable-xhdpi/ic_block_24dp.pngbin665 -> 0 bytes
-rw-r--r--java/com/android/dialer/blocking/res/drawable-xhdpi/ic_report_24dp.pngbin272 -> 0 bytes
-rw-r--r--java/com/android/dialer/blocking/res/drawable-xhdpi/ic_report_white_36dp.pngbin340 -> 0 bytes
-rw-r--r--java/com/android/dialer/blocking/res/drawable-xxhdpi/ic_block_24dp.pngbin973 -> 0 bytes
-rw-r--r--java/com/android/dialer/blocking/res/drawable-xxhdpi/ic_report_24dp.pngbin340 -> 0 bytes
-rw-r--r--java/com/android/dialer/blocking/res/drawable-xxhdpi/ic_report_white_36dp.pngbin522 -> 0 bytes
-rw-r--r--java/com/android/dialer/blocking/res/drawable-xxxhdpi/ic_block_24dp.pngbin1295 -> 0 bytes
-rw-r--r--java/com/android/dialer/blocking/res/drawable-xxxhdpi/ic_report_24dp.pngbin450 -> 0 bytes
-rw-r--r--java/com/android/dialer/blocking/res/drawable-xxxhdpi/ic_report_white_36dp.pngbin649 -> 0 bytes
-rw-r--r--java/com/android/dialer/blocking/res/drawable/blocked_contact.xml2
-rw-r--r--java/com/android/dialer/blocking/res/values-de/strings.xml4
-rw-r--r--java/com/android/dialer/callcomposer/CallComposerActivity.java162
-rw-r--r--java/com/android/dialer/callcomposer/CallComposerFragment.java3
-rw-r--r--java/com/android/dialer/callcomposer/CameraComposerFragment.java1
-rw-r--r--java/com/android/dialer/callcomposer/MessageComposerFragment.java18
-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_camera_composer.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/layout/fragment_gallery_composer.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml9
-rw-r--r--java/com/android/dialer/callcomposer/res/values/dimens.xml2
-rw-r--r--java/com/android/dialer/callcomposer/util/CopyAndResizeImageTask.java4
-rw-r--r--java/com/android/dialer/calldetails/CallDetailsActivity.java14
-rw-r--r--java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java1
-rw-r--r--java/com/android/dialer/calldetails/res/layout/call_details_activity.xml9
-rw-r--r--java/com/android/dialer/calldetails/res/menu/call_details_menu.xml5
-rw-r--r--java/com/android/dialer/calllogutils/CallTypeIconsView.java54
-rw-r--r--java/com/android/dialer/calllogutils/PhoneCallDetails.java3
-rw-r--r--java/com/android/dialer/common/Assert.java4
-rw-r--r--java/com/android/dialer/common/concurrent/AsyncTaskExecutors.java2
-rw-r--r--java/com/android/dialer/common/concurrent/DefaultDialerExecutorFactory.java255
-rw-r--r--java/com/android/dialer/common/concurrent/DialerExecutor.java100
-rw-r--r--java/com/android/dialer/common/concurrent/DialerExecutorFactory.java63
-rw-r--r--java/com/android/dialer/common/concurrent/DialerExecutors.java134
-rw-r--r--java/com/android/dialer/common/concurrent/DialerUiTaskFragment.java (renamed from java/com/android/dialer/common/concurrent/DialerAsyncTaskHelper.java)142
-rw-r--r--java/com/android/dialer/common/concurrent/ThreadUtil.java38
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_close_black_24dp.pngbin207 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_dialpad_delete.pngbin805 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_dialpad_voicemail.pngbin623 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_overflow_menu.pngbin503 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_close_black_24dp.pngbin164 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_dialpad_delete.pngbin669 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_dialpad_voicemail.pngbin504 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_overflow_menu.pngbin424 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_close_black_24dp.pngbin235 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_dialpad_delete.pngbin1110 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_dialpad_voicemail.pngbin787 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_overflow_menu.pngbin550 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_close_black_24dp.pngbin309 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_dialpad_delete.pngbin1745 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_dialpad_voicemail.pngbin1578 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_overflow_menu.pngbin1384 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-xxxhdpi/ic_close_black_24dp.pngbin377 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-xxxhdpi/ic_dialpad_delete.pngbin2128 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-xxxhdpi/ic_dialpad_voicemail.pngbin1829 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/drawable-xxxhdpi/ic_overflow_menu.pngbin1785 -> 0 bytes
-rw-r--r--java/com/android/dialer/dialpadview/res/layout-land/dialpad_key_one.xml2
-rw-r--r--java/com/android/dialer/dialpadview/res/layout/dialpad_key_one.xml2
-rw-r--r--java/com/android/dialer/dialpadview/res/layout/dialpad_view_unthemed.xml6
-rw-r--r--java/com/android/dialer/dialpadview/res/values-de/strings.xml2
-rw-r--r--java/com/android/dialer/interactions/PhoneNumberInteraction.java15
-rw-r--r--java/com/android/dialer/lightbringer/Lightbringer.java47
-rw-r--r--java/com/android/dialer/lightbringer/LightbringerComponent.java41
-rw-r--r--java/com/android/dialer/lightbringer/LightbringerListener.java21
-rw-r--r--java/com/android/dialer/lightbringer/stub/LightbringerStub.java59
-rw-r--r--java/com/android/dialer/lightbringer/stub/StubLightbringerModule.java30
-rw-r--r--java/com/android/dialer/logging/nano/DialerImpression.java12
-rw-r--r--java/com/android/dialer/notification/GroupedNotificationUtil.java4
-rw-r--r--java/com/android/dialer/notification/NotificationChannelManager.java45
-rw-r--r--java/com/android/dialer/notification/res/values-de/strings.xml2
-rw-r--r--java/com/android/dialer/oem/AndroidManifest.xml5
-rw-r--r--java/com/android/dialer/oem/CequintCallerIdManager.java42
-rw-r--r--java/com/android/dialer/oem/MotorolaUtils.java6
-rw-r--r--java/com/android/dialer/persistentlog/PersistentLogFileHandler.java198
-rw-r--r--java/com/android/dialer/persistentlog/PersistentLogger.java170
-rw-r--r--java/com/android/dialer/phonenumbercache/CachedNumberLookupService.java17
-rw-r--r--java/com/android/dialer/phonenumbercache/ContactInfo.java3
-rw-r--r--java/com/android/dialer/phonenumbercache/ContactInfoHelper.java9
-rw-r--r--java/com/android/dialer/postcall/PostCallActivity.java7
-rw-r--r--java/com/android/dialer/postcall/res/layout/post_call_activity.xml13
-rw-r--r--java/com/android/dialer/shortcuts/CallContactActivity.java14
-rw-r--r--java/com/android/dialer/shortcuts/res/values/themes.xml2
-rw-r--r--java/com/android/dialer/simulator/impl/SimulatorActionProvider.java32
-rw-r--r--java/com/android/dialer/speeddial/AndroidManifest.xml16
-rw-r--r--java/com/android/dialer/speeddial/SpeedDialFragment.java44
-rw-r--r--java/com/android/dialer/speeddial/res/layout/fragment_speed_dial.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-af/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-am/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-ar/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-az/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-be/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-bg/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-bn/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-bs/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-ca/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-cs/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-da/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-de/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-el/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-en-rAU/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-en-rGB/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-en-rIN/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-es-rUS/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-es/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-et/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-eu/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-fa/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-fi/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-fr-rCA/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-fr/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-gl/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-gu/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-hi/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-hr/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-hu/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-hy/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-in/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-is/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-it/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-iw/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-ja/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-ka/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-kk/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-km/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-kn/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-ko/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-ky/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-lo/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-lt/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-lv/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-mk/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-ml/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-mn/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-mr/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-ms/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-my/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-nb/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-ne/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-nl/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-no/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-pa/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-pl/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-pt-rBR/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-pt-rPT/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-pt/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-ro/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-ru/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-si/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-sk/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-sl/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-sq/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-sr/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-sv/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-sw/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-ta/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-te/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-th/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-tl/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-tr/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-uk/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-ur/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-uz/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-vi/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-zh-rCN/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-zh-rHK/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-zh-rTW/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values-zu/strings.xml20
-rw-r--r--java/com/android/dialer/speeddial/res/values/colors.xml (renamed from java/com/android/contacts/common/res/drawable/ic_call.xml)7
-rw-r--r--java/com/android/dialer/speeddial/res/values/dimens.xml (renamed from java/com/android/contacts/common/res/drawable/ic_message_24dp.xml)7
-rw-r--r--java/com/android/dialer/speeddial/res/values/strings.xml (renamed from java/com/android/dialer/app/res/drawable/overflow_menu.xml)8
-rw-r--r--java/com/android/dialer/theme/res/drawable-hdpi/ic_block_24dp.pngbin478 -> 0 bytes
-rw-r--r--java/com/android/dialer/theme/res/drawable-hdpi/ic_call_arrow.pngbin538 -> 0 bytes
-rw-r--r--java/com/android/dialer/theme/res/drawable-mdpi/ic_block_24dp.pngbin335 -> 0 bytes
-rw-r--r--java/com/android/dialer/theme/res/drawable-mdpi/ic_call_arrow.pngbin455 -> 0 bytes
-rw-r--r--java/com/android/dialer/theme/res/drawable-xhdpi/ic_block_24dp.pngbin665 -> 0 bytes
-rw-r--r--java/com/android/dialer/theme/res/drawable-xhdpi/ic_call_arrow.pngbin627 -> 0 bytes
-rw-r--r--java/com/android/dialer/theme/res/drawable-xxhdpi/ic_block_24dp.pngbin973 -> 0 bytes
-rw-r--r--java/com/android/dialer/theme/res/drawable-xxhdpi/ic_call_arrow.pngbin1203 -> 0 bytes
-rw-r--r--java/com/android/dialer/theme/res/drawable-xxxhdpi/ic_block_24dp.pngbin1295 -> 0 bytes
-rw-r--r--java/com/android/dialer/theme/res/drawable-xxxhdpi/ic_call_arrow.pngbin1344 -> 0 bytes
-rw-r--r--java/com/android/dialer/theme/res/values/colors.xml3
-rw-r--r--java/com/android/dialer/theme/res/values/dimens.xml5
-rw-r--r--java/com/android/dialer/theme/res/values/styles.xml11
-rw-r--r--java/com/android/dialer/theme/res/values/themes.xml8
-rw-r--r--java/com/android/dialer/voicemailstatus/res/values-de/strings.xml2
-rw-r--r--java/com/android/dialer/widget/DialerToolbar.java67
-rw-r--r--java/com/android/dialer/widget/res/layout/dialer_toolbar.xml42
-rw-r--r--java/com/android/dialer/widget/res/values/dimens.xml5
-rw-r--r--java/com/android/incallui/AndroidManifest.xml4
-rw-r--r--java/com/android/incallui/AnswerScreenPresenter.java7
-rw-r--r--java/com/android/incallui/CallButtonPresenter.java2
-rw-r--r--java/com/android/incallui/CallCardPresenter.java49
-rw-r--r--java/com/android/incallui/CallerInfo.java1
-rw-r--r--java/com/android/incallui/ContactInfoCache.java148
-rw-r--r--java/com/android/incallui/InCallPresenter.java32
-rw-r--r--java/com/android/incallui/StatusBarNotifier.java105
-rw-r--r--java/com/android/incallui/VideoCallPresenter.java11
-rw-r--r--java/com/android/incallui/answer/impl/AnswerFragment.java9
-rw-r--r--java/com/android/incallui/answer/impl/hint/res/values-de/strings.xml4
-rw-r--r--java/com/android/incallui/answer/impl/hint/res/values-es/strings.xml4
-rw-r--r--java/com/android/incallui/answer/impl/hint/res/values-hr/strings.xml4
-rw-r--r--java/com/android/incallui/answer/impl/hint/res/values-ro/strings.xml4
-rw-r--r--java/com/android/incallui/answer/impl/hint/res/values-ru/strings.xml4
-rw-r--r--java/com/android/incallui/answer/impl/hint/res/values-sr/strings.xml4
-rw-r--r--java/com/android/incallui/answer/impl/res/values-af/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-am/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ar/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-az/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-be/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-bg/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-bn/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-bs/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ca/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-cs/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-da/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-de/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-el/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-en-rAU/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-en-rGB/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-en-rIN/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-es-rUS/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-es/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-et/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-eu/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-fa/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-fi/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-fr-rCA/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-fr/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-gl/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-gu/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-hi/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-hr/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-hu/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-hy/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-in/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-is/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-it/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-iw/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ja/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ka/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-kk/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-km/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-kn/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ko/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ky/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-lo/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-lt/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-lv/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-mk/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ml/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-mn/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-mr/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ms/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-my/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-nb/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ne/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-nl/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-no/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-pa/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-pl/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-pt-rBR/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-pt-rPT/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-pt/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ro/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ru/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-si/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-sk/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-sl/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-sq/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-sr/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-sv/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-sw/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ta/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-te/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-th/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-tl/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-tr/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-uk/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ur/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-uz/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-vi/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-zh-rCN/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-zh-rHK/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-zh-rTW/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values-zu/strings.xml6
-rw-r--r--java/com/android/incallui/answer/impl/res/values/strings.xml6
-rw-r--r--java/com/android/incallui/call/CallList.java27
-rw-r--r--java/com/android/incallui/call/DialerCall.java16
-rw-r--r--java/com/android/incallui/calllocation/impl/LocationFragment.java9
-rw-r--r--java/com/android/incallui/calllocation/impl/LocationHelper.java60
-rw-r--r--java/com/android/incallui/calllocation/impl/LocationPresenter.java18
-rw-r--r--java/com/android/incallui/commontheme/res/anim/blinking.xml6
-rw-r--r--java/com/android/incallui/commontheme/res/values/styles.xml9
-rw-r--r--java/com/android/incallui/contactgrid/BottomRow.java8
-rw-r--r--java/com/android/incallui/contactgrid/ContactGridManager.java9
-rw-r--r--java/com/android/incallui/contactgrid/res/layout/incall_contactgrid_bottom_row.xml30
-rw-r--r--java/com/android/incallui/incall/impl/InCallFragment.java12
-rw-r--r--java/com/android/incallui/incall/impl/res/values-en-rAU/strings.xml2
-rw-r--r--java/com/android/incallui/incall/impl/res/values-en-rGB/strings.xml2
-rw-r--r--java/com/android/incallui/incall/impl/res/values-en-rIN/strings.xml2
-rw-r--r--java/com/android/incallui/incall/protocol/InCallScreenDelegate.java2
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_block_grey600_24dp.pngbin518 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_call_end_white_24dp.pngbin454 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_call_split_white_24dp.pngbin326 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_close_grey600_24dp.pngbin225 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_location_on_white_24dp.pngbin371 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_01.pngbin577 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_02.pngbin650 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_03.pngbin803 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_04.pngbin1009 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_05.pngbin946 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_06.pngbin856 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_07.pngbin577 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_08.pngbin577 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_09.pngbin577 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_person_add_grey600_24dp.pngbin300 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_phone_paused_white_24dp.pngbin458 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_question_mark.pngbin845 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/ic_schedule_white_24dp.pngbin575 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/img_business.pngbin3311 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/img_conference.pngbin7037 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/img_no_image.pngbin5362 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/img_phone.pngbin6157 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable/spam_notification_icon.xml2
-rw-r--r--java/com/android/incallui/res/values-af/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-am/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-ar/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-az/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-be/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-bg/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-bn/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-bs/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-ca/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-cs/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-da/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-de/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-el/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-en-rAU/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-en-rGB/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-en-rIN/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-es-rUS/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-es/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-et/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-eu/strings.xml34
-rw-r--r--java/com/android/incallui/res/values-fa/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-fi/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-fr-rCA/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-fr/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-gl/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-gu/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-hi/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-hr/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-hu/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-hy/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-in/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-is/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-it/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-iw/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-ja/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-ka/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-kk/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-km/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-kn/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-ko/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-ky/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-lo/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-lt/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-lv/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-mk/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-ml/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-mn/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-mr/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-ms/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-my/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-nb/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-ne/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-nl/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-no/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-pa/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-pl/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-pt-rBR/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-pt-rPT/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-pt/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-ro/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-ru/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-si/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-sk/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-sl/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-sq/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-sr/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-sv/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-sw/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-ta/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-te/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-th/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-tl/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-tr/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-uk/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-ur/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-uz/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-vi/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-zh-rCN/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-zh-rHK/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-zh-rTW/strings.xml17
-rw-r--r--java/com/android/incallui/res/values-zu/strings.xml17
-rw-r--r--java/com/android/incallui/res/values/strings.xml36
-rw-r--r--java/com/android/incallui/sessiondata/res/layout/fragment_composer_image.xml2
-rw-r--r--java/com/android/incallui/video/impl/CameraPermissionDialogFragment.java9
-rw-r--r--java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java181
-rw-r--r--java/com/android/incallui/video/impl/VideoCallFragment.java9
-rw-r--r--java/com/android/incallui/video/impl/res/layout/frag_videocall_land_surfaceview.xml98
-rw-r--r--java/com/android/incallui/video/impl/res/layout/frag_videocall_surfaceview.xml103
-rw-r--r--java/com/android/incallui/video/protocol/AndroidManifest.xml22
-rw-r--r--java/com/android/incallui/video/protocol/res/values/config.xml (renamed from java/com/android/incallui/res/values/config.xml)0
-rw-r--r--java/com/android/incallui/videotech/VideoTech.java4
-rw-r--r--java/com/android/incallui/videotech/empty/EmptyVideoTech.java4
-rw-r--r--java/com/android/incallui/videotech/ims/ImsVideoTech.java6
-rw-r--r--java/com/android/incallui/videotech/lightbringer/LightbringerTech.java146
-rw-r--r--java/com/android/voicemail/VoicemailClient.java17
-rw-r--r--java/com/android/voicemail/impl/ActivationTask.java6
-rw-r--r--java/com/android/voicemail/impl/AndroidManifest.xml13
-rw-r--r--java/com/android/voicemail/impl/OmtpReceiver.java11
-rw-r--r--java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java2
-rw-r--r--java/com/android/voicemail/impl/VoicemailClientImpl.java34
-rw-r--r--java/com/android/voicemail/impl/VvmLog.java3
-rw-r--r--java/com/android/voicemail/impl/res/values-af/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-am/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-ar/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-az/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-be/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-bg/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-bn/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-bs/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-ca/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-cs/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-da/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-de/strings.xml8
-rw-r--r--java/com/android/voicemail/impl/res/values-el/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-en-rAU/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-en-rGB/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-en-rIN/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-es-rUS/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-es/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-et/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-eu/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-fa/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-fi/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-fr-rCA/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-fr/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-gl/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-gu/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-hi/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-hr/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-hu/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-hy/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-in/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-is/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-it/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-iw/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-ja/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-ka/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-kk/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-km/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-kn/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-ko/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-ky/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-lo/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-lt/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-lv/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-mk/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-ml/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-mn/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-mr/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-ms/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-my/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-nb/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-ne/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-nl/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-no/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-pa/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-pl/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-pt-rBR/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-pt-rPT/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-pt/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-ro/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-ru/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-si/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-sk/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-sl/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-sq/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-sr/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-sv/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-sw/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-ta/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-te/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-th/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-tl/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-tr/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-uk/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-ur/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-uz/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-vi/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-zh-rCN/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-zh-rHK/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-zh-rTW/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values-zu/strings.xml6
-rw-r--r--java/com/android/voicemail/impl/res/values/strings.xml7
-rw-r--r--java/com/android/voicemail/impl/res/xml/voicemail_settings.xml2
-rw-r--r--java/com/android/voicemail/impl/settings/VisualVoicemailSettingsUtil.java5
-rw-r--r--java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java104
-rw-r--r--java/com/android/voicemail/impl/sync/OmtpVvmSyncReceiver.java2
-rw-r--r--java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java29
-rw-r--r--java/com/android/voicemail/impl/sync/VvmAccountManager.java37
-rw-r--r--java/com/android/voicemail/stub/StubVoicemailClient.java12
788 files changed, 7474 insertions, 2147 deletions
diff --git a/java/com/android/contacts/common/compat/TelephonyManagerCompat.java b/java/com/android/contacts/common/compat/TelephonyManagerCompat.java
index c8665af51..84002256a 100644
--- a/java/com/android/contacts/common/compat/TelephonyManagerCompat.java
+++ b/java/com/android/contacts/common/compat/TelephonyManagerCompat.java
@@ -16,10 +16,13 @@
package com.android.contacts.common.compat;
+import android.content.Context;
+import android.content.Intent;
import android.net.Uri;
import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.support.annotation.Nullable;
+import android.support.v4.os.BuildCompat;
import android.telecom.PhoneAccountHandle;
import android.telephony.TelephonyManager;
import com.android.dialer.common.Assert;
@@ -40,6 +43,8 @@ public class TelephonyManagerCompat {
public static final String TELEPHONY_MANAGER_CLASS = "android.telephony.TelephonyManager";
+ 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".
@@ -210,4 +215,22 @@ public class TelephonyManagerCompat {
}
return false;
}
+
+ /**
+ * Handles secret codes to launch arbitrary activities.
+ *
+ * @param context the context to use
+ * @param secretCode the secret code without the "*#*#" prefix and "#*#*" suffix
+ */
+ 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()) {
+ context.getSystemService(TelephonyManager.class).sendDialerSpecialCode(secretCode);
+ } else {
+ // System service call is not supported pre-O, so must use a broadcast for N-.
+ Intent intent =
+ new Intent(SECRET_CODE_ACTION, Uri.parse("android_secret_code://" + secretCode));
+ context.sendBroadcast(intent);
+ }
+ }
}
diff --git a/java/com/android/contacts/common/model/account/BaseAccountType.java b/java/com/android/contacts/common/model/account/BaseAccountType.java
index 21b555917..8e9ba738c 100644
--- a/java/com/android/contacts/common/model/account/BaseAccountType.java
+++ b/java/com/android/contacts/common/model/account/BaseAccountType.java
@@ -36,12 +36,12 @@ import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
import android.provider.ContactsContract.CommonDataKinds.Website;
import android.util.ArrayMap;
import android.util.AttributeSet;
-import android.util.Log;
import android.view.inputmethod.EditorInfo;
import com.android.contacts.common.R;
import com.android.contacts.common.model.dataitem.DataKind;
import com.android.contacts.common.util.CommonDateUtils;
import com.android.contacts.common.util.ContactDisplayUtils;
+import com.android.dialer.common.LogUtil;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@@ -111,7 +111,6 @@ public abstract class BaseAccountType extends AccountType {
protected static final int MAX_LINES_FOR_POSTAL_ADDRESS = 10;
protected static final int MAX_LINES_FOR_GROUP = 10;
protected static final int MAX_LINES_FOR_NOTE = 100;
- private static final String TAG = "BaseAccountType";
public BaseAccountType() {
this.accountType = null;
@@ -308,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.ic_message_24dp;
+ kind.iconAltRes = R.drawable.quantum_ic_message_white_24;
kind.iconAltDescriptionRes = R.string.sms;
kind.actionHeader = new PhoneActionInflater();
kind.actionAltHeader = new PhoneActionAltInflater();
@@ -546,7 +545,7 @@ public abstract class BaseAccountType extends AccountType {
addKind(kind);
}
} else {
- Log.w(TAG, "Skipping unknown tag " + tag);
+ LogUtil.i("BaseAccountType.parseEditSchema", "Skipping unknown tag " + tag);
}
}
}
@@ -875,9 +874,7 @@ public abstract class BaseAccountType extends AccountType {
StringInflater actionBody)
throws DefinitionException, XmlPullParserException, IOException {
- if (Log.isLoggable(TAG, Log.DEBUG)) {
- Log.d(TAG, "Adding DataKind: " + mimeType);
- }
+ LogUtil.d("BaseAccountType.newDataKind", "Adding DataKind: " + mimeType);
final DataKind kind = new DataKind(mimeType, titleRes, weight, true);
kind.typeColumn = typeColumn;
@@ -896,13 +893,13 @@ public abstract class BaseAccountType extends AccountType {
if (kind.typeColumn != null) {
// Parse and add types.
kind.typeList = new ArrayList<>();
- parseTypes(context, parser, attrs, kind, true);
+ parseTypes(parser, attrs, kind, true);
if (kind.typeList.size() == 0) {
throw new DefinitionException("Kind " + kind.mimeType + " must have at least one type");
}
} else {
// Make sure it has no types.
- parseTypes(context, parser, attrs, kind, false /* can't have types */);
+ parseTypes(parser, attrs, kind, false /* can't have types */);
}
}
@@ -915,7 +912,6 @@ public abstract class BaseAccountType extends AccountType {
* {@link DefinitionException}.
*/
private void parseTypes(
- Context context,
XmlPullParser parser,
AttributeSet attrs,
DataKind kind,
@@ -933,7 +929,7 @@ public abstract class BaseAccountType extends AccountType {
final String tag = parser.getName();
if (Tag.TYPE.equals(tag)) {
if (canHaveTypes) {
- kind.typeList.add(parseTypeTag(parser, attrs, kind));
+ kind.typeList.add(parseTypeTag(attrs, kind));
} else {
throw new DefinitionException("Kind " + kind.mimeType + " can't have types");
}
@@ -947,8 +943,7 @@ public abstract class BaseAccountType extends AccountType {
* Parses a single Type element and returns an {@link EditType} built from it. Uses {@link
* #buildEditTypeForTypeTag} defined in subclasses to actually build an {@link EditType}.
*/
- private EditType parseTypeTag(XmlPullParser parser, AttributeSet attrs, DataKind kind)
- throws DefinitionException {
+ private EditType parseTypeTag(AttributeSet attrs, DataKind kind) throws DefinitionException {
final String typeName = getAttr(attrs, Attr.TYPE);
@@ -1233,7 +1228,7 @@ public abstract class BaseAccountType extends AccountType {
new PhoneActionInflater(),
new SimpleInflater(Phone.NUMBER));
- kind.iconAltRes = R.drawable.ic_message_24dp;
+ kind.iconAltRes = R.drawable.quantum_ic_message_white_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_call_note_white_24dp.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_call_note_white_24dp.png
deleted file mode 100644
index 503e58e22..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_call_note_white_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_message_24dp.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_message_24dp.png
deleted file mode 100644
index 57177b7c6..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_message_24dp.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_phone_attach.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_phone_attach.png
deleted file mode 100644
index 84b1227bd..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_phone_attach.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_scroll_handle.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_scroll_handle.png
deleted file mode 100644
index 3aa29b852..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_scroll_handle.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_background_holo.9.png b/java/com/android/contacts/common/res/drawable-ldrtl-hdpi/list_background_holo.9.png
deleted file mode 100644
index 0d80482a9..000000000
--- a/java/com/android/contacts/common/res/drawable-ldrtl-hdpi/list_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-ldrtl-mdpi/list_background_holo.9.png b/java/com/android/contacts/common/res/drawable-ldrtl-mdpi/list_background_holo.9.png
deleted file mode 100644
index d86d61164..000000000
--- a/java/com/android/contacts/common/res/drawable-ldrtl-mdpi/list_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-ldrtl-xhdpi/list_background_holo.9.png b/java/com/android/contacts/common/res/drawable-ldrtl-xhdpi/list_background_holo.9.png
deleted file mode 100644
index f709f2ce4..000000000
--- a/java/com/android/contacts/common/res/drawable-ldrtl-xhdpi/list_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_ab_search.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_ab_search.png
deleted file mode 100644
index 2b23b1ec5..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_ab_search.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_arrow_back_24dp.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_arrow_back_24dp.png
deleted file mode 100644
index 1a21fb400..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_arrow_back_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_call_24dp.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_call_24dp.png
deleted file mode 100644
index 77f9de5e3..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_call_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_close_dk.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_close_dk.png
deleted file mode 100644
index 590a728ad..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_close_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_create_24dp.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_create_24dp.png
deleted file mode 100644
index 8a2df3992..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_create_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_group_white_24dp.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_group_white_24dp.png
deleted file mode 100644
index ad268bf2f..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_group_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_history_white_drawable_24dp.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_history_white_drawable_24dp.png
deleted file mode 100644
index b3000d31e..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_history_white_drawable_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_info_outline_24dp.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_info_outline_24dp.png
deleted file mode 100644
index 353e06495..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_info_outline_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_back.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_back.png
deleted file mode 100644
index 201ad40cb..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_back.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_group_dk.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_group_dk.png
deleted file mode 100644
index 9aac6d79b..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_group_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_group_lt.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_group_lt.png
deleted file mode 100644
index 39c16ed2d..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_group_lt.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_overflow_lt.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_overflow_lt.png
deleted file mode 100644
index 841509682..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_overflow_lt.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_person_dk.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_person_dk.png
deleted file mode 100644
index b8fc39aee..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_person_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_person_lt.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_person_lt.png
deleted file mode 100644
index 736dfd6fa..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_person_lt.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_remove_field_holo_light.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_remove_field_holo_light.png
deleted file mode 100644
index 8c44e7015..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_remove_field_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_star_dk.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_star_dk.png
deleted file mode 100644
index c16c6c5de..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_star_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_star_lt.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_star_lt.png
deleted file mode 100644
index c67170e31..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_menu_star_lt.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_message_24dp.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_message_24dp.png
deleted file mode 100644
index 3072b7569..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_message_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_person_24dp.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_person_24dp.png
deleted file mode 100644
index f0b1c725d..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_person_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_rx_videocam.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_rx_videocam.png
deleted file mode 100644
index 1b43a07d0..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_rx_videocam.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_tx_videocam.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_tx_videocam.png
deleted file mode 100644
index 64995d147..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_tx_videocam.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_videocam.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_videocam.png
deleted file mode 100644
index dc9655b6d..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_videocam.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/list_background_holo.9.png b/java/com/android/contacts/common/res/drawable-mdpi/list_background_holo.9.png
deleted file mode 100644
index 7d5d66de3..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/list_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/list_title_holo.9.png b/java/com/android/contacts/common/res/drawable-mdpi/list_title_holo.9.png
deleted file mode 100644
index 64bd6912c..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/list_title_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_ab_search.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_ab_search.png
deleted file mode 100644
index 71f782701..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_ab_search.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_arrow_back_24dp.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_arrow_back_24dp.png
deleted file mode 100644
index bb7327251..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_arrow_back_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_call_24dp.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_call_24dp.png
deleted file mode 100644
index ef45e933a..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_call_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_close_dk.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_close_dk.png
deleted file mode 100644
index 5769f1178..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_close_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_create_24dp.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_create_24dp.png
deleted file mode 100644
index 48e75beee..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_create_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_group_white_24dp.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_group_white_24dp.png
deleted file mode 100644
index 09c0e3efd..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_group_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_history_white_drawable_24dp.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_history_white_drawable_24dp.png
deleted file mode 100644
index e188d4a37..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_history_white_drawable_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_info_outline_24dp.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_info_outline_24dp.png
deleted file mode 100644
index c571b2e3e..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_info_outline_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_back.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_back.png
deleted file mode 100644
index d2f709942..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_back.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_group_dk.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_group_dk.png
deleted file mode 100644
index ce5f704ec..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_group_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_group_lt.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_group_lt.png
deleted file mode 100644
index 3d0580f93..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_group_lt.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_overflow_lt.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_overflow_lt.png
deleted file mode 100644
index f91b71847..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_overflow_lt.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_person_dk.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_person_dk.png
deleted file mode 100644
index 2fbd458e9..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_person_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_person_lt.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_person_lt.png
deleted file mode 100644
index 2cdb2d7a1..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_person_lt.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_remove_field_holo_light.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_remove_field_holo_light.png
deleted file mode 100644
index 65a6b7bbb..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_remove_field_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_star_dk.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_star_dk.png
deleted file mode 100644
index 48483a0b6..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_star_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_star_holo_light.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_star_holo_light.png
deleted file mode 100644
index 906791177..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_star_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_star_lt.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_star_lt.png
deleted file mode 100644
index e053c757a..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_menu_star_lt.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_message_24dp.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_message_24dp.png
deleted file mode 100644
index 763767b4f..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_message_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_person_24dp.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_person_24dp.png
deleted file mode 100644
index aea15f0be..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_person_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_rx_videocam.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_rx_videocam.png
deleted file mode 100644
index 43319dc92..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_rx_videocam.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_tx_videocam.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_tx_videocam.png
deleted file mode 100644
index d2671edf7..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_tx_videocam.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_videocam.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_videocam.png
deleted file mode 100644
index c1783de67..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_videocam.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/list_background_holo.9.png b/java/com/android/contacts/common/res/drawable-xhdpi/list_background_holo.9.png
deleted file mode 100644
index b65272542..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/list_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/list_title_holo.9.png b/java/com/android/contacts/common/res/drawable-xhdpi/list_title_holo.9.png
deleted file mode 100644
index f4f00ca0f..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/list_title_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_ab_search.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_ab_search.png
deleted file mode 100644
index 142c5457d..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_ab_search.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_arrow_back_24dp.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_arrow_back_24dp.png
deleted file mode 100644
index 72c51b0d5..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_arrow_back_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_call_24dp.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_call_24dp.png
deleted file mode 100644
index 90ead2e45..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_call_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_close_dk.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_close_dk.png
deleted file mode 100644
index 670bf796c..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_close_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_create_24dp.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_create_24dp.png
deleted file mode 100644
index 24142c729..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_create_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_group_white_24dp.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_group_white_24dp.png
deleted file mode 100644
index 03cad4c90..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_group_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_history_white_drawable_24dp.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_history_white_drawable_24dp.png
deleted file mode 100644
index f44df1afd..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_history_white_drawable_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_info_outline_24dp.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_info_outline_24dp.png
deleted file mode 100644
index c41a5fcff..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_info_outline_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_back.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_back.png
deleted file mode 100644
index 436a82da6..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_back.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_group_dk.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_group_dk.png
deleted file mode 100644
index a70c60c03..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_group_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_group_lt.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_group_lt.png
deleted file mode 100644
index c64b9defe..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_group_lt.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_overflow_lt.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_overflow_lt.png
deleted file mode 100644
index ff1759b8f..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_overflow_lt.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_person_dk.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_person_dk.png
deleted file mode 100644
index 878e694ad..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_person_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_person_lt.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_person_lt.png
deleted file mode 100644
index ed4138f15..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_person_lt.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_remove_field_holo_light.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_remove_field_holo_light.png
deleted file mode 100644
index 0fec2f2b5..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_remove_field_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_star_dk.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_star_dk.png
deleted file mode 100644
index fa682b11b..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_star_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_star_holo_light.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_star_holo_light.png
deleted file mode 100644
index 6c45bc8e6..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_star_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_star_lt.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_star_lt.png
deleted file mode 100644
index 955f7383b..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_menu_star_lt.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_message_24dp.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_message_24dp.png
deleted file mode 100644
index 0a79824b8..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_message_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_person_24dp.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_person_24dp.png
deleted file mode 100644
index 184f7418d..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_person_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_rx_videocam.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_rx_videocam.png
deleted file mode 100644
index 89d29b7f5..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_rx_videocam.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_tx_videocam.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_tx_videocam.png
deleted file mode 100644
index 8d897ba5a..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_tx_videocam.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_videocam.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_videocam.png
deleted file mode 100644
index 4ab5ad0ee..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_videocam.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/list_title_holo.9.png b/java/com/android/contacts/common/res/drawable-xxhdpi/list_title_holo.9.png
deleted file mode 100644
index 7ddf14a0d..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/list_title_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_ab_search.png b/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_ab_search.png
deleted file mode 100644
index 2ffb2ecae..000000000
--- a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_ab_search.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_arrow_back_24dp.png b/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_arrow_back_24dp.png
deleted file mode 100644
index ae01a04ae..000000000
--- a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_arrow_back_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_call_24dp.png b/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_call_24dp.png
deleted file mode 100644
index b0e020573..000000000
--- a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_call_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_close_dk.png b/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_close_dk.png
deleted file mode 100644
index 3a5540ff6..000000000
--- a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_close_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_create_24dp.png b/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_create_24dp.png
deleted file mode 100644
index d3ff0ecb6..000000000
--- a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_create_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_history_white_drawable_24dp.png b/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_history_white_drawable_24dp.png
deleted file mode 100644
index 5b96af5b7..000000000
--- a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_history_white_drawable_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_info_outline_24dp.png b/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_info_outline_24dp.png
deleted file mode 100644
index 3a82cab3b..000000000
--- a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_info_outline_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_message_24dp.png b/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_message_24dp.png
deleted file mode 100644
index fa7c17ac4..000000000
--- a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_message_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_person_24dp.png b/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_person_24dp.png
deleted file mode 100644
index 33d40d8b6..000000000
--- a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_person_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_videocam.png b/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_videocam.png
deleted file mode 100644
index 0643ea55f..000000000
--- a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_videocam.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable/ic_back_arrow.xml b/java/com/android/contacts/common/res/drawable/ic_back_arrow.xml
index 56fab8f6f..ecf704e8e 100644
--- a/java/com/android/contacts/common/res/drawable/ic_back_arrow.xml
+++ b/java/com/android/contacts/common/res/drawable/ic_back_arrow.xml
@@ -15,6 +15,6 @@
~ limitations under the License
-->
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
- android:autoMirrored="true"
- android:src="@drawable/ic_arrow_back_24dp"
- android:tint="@color/actionbar_icon_color"/> \ No newline at end of file
+ android:autoMirrored="true"
+ android:src="@drawable/quantum_ic_arrow_back_white_24"
+ android:tint="@color/actionbar_icon_color"/> \ No newline at end of file
diff --git a/java/com/android/contacts/common/res/drawable/ic_search_video_call.xml b/java/com/android/contacts/common/res/drawable/ic_search_video_call.xml
index f1b5cba43..68c46fed6 100644
--- a/java/com/android/contacts/common/res/drawable/ic_search_video_call.xml
+++ b/java/com/android/contacts/common/res/drawable/ic_search_video_call.xml
@@ -17,5 +17,5 @@
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:autoMirrored="true"
- android:src="@drawable/ic_videocam"
+ android:src="@drawable/quantum_ic_videocam_white_24"
android:tint="@color/search_video_call_icon_tint"/>
diff --git a/java/com/android/contacts/common/res/drawable/ic_tab_all.xml b/java/com/android/contacts/common/res/drawable/ic_tab_all.xml
deleted file mode 100644
index 9cc6fbc96..000000000
--- a/java/com/android/contacts/common/res/drawable/ic_tab_all.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:drawable="@drawable/ic_menu_person_lt" android:state_selected="false"/>
- <item android:drawable="@drawable/ic_menu_person_dk" android:state_selected="true"/>
-</selector>
-
diff --git a/java/com/android/contacts/common/res/drawable/ic_tab_groups.xml b/java/com/android/contacts/common/res/drawable/ic_tab_groups.xml
deleted file mode 100644
index 6b3e7a415..000000000
--- a/java/com/android/contacts/common/res/drawable/ic_tab_groups.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:drawable="@drawable/ic_menu_group_lt" android:state_selected="false"/>
- <item android:drawable="@drawable/ic_menu_group_dk" android:state_selected="true"/>
-</selector>
-
diff --git a/java/com/android/contacts/common/res/drawable/ic_tab_starred.xml b/java/com/android/contacts/common/res/drawable/ic_tab_starred.xml
deleted file mode 100644
index a12e0993e..000000000
--- a/java/com/android/contacts/common/res/drawable/ic_tab_starred.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT 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:drawable="@drawable/ic_menu_star_lt" android:state_selected="false"/>
- <item android:drawable="@drawable/ic_menu_star_dk" android:state_selected="true"/>
-</selector>
-
diff --git a/java/com/android/contacts/common/res/drawable/list_item_activated_background.xml b/java/com/android/contacts/common/res/drawable/list_item_activated_background.xml
deleted file mode 100644
index 5b774fd20..000000000
--- a/java/com/android/contacts/common/res/drawable/list_item_activated_background.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT 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:drawable="@drawable/list_activated_holo" android:state_activated="true"/>
- <item android:drawable="@drawable/list_background_holo"/>
-</selector>
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 709bb50cb..a33b2ac85 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/ic_history_white_drawable_24dp"
+ android:src="@drawable/quantum_ic_history_white_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 8a3bd6088..fa16083e2 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
@@ -56,7 +56,7 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/description_clear_search"
- android:src="@drawable/ic_close_dk"
+ android:src="@drawable/quantum_ic_close_white_24"
android:tint="@color/searchbox_icon_tint"/>
</LinearLayout>
diff --git a/java/com/android/contacts/common/res/mipmap-hdpi/ic_contacts_launcher.png b/java/com/android/contacts/common/res/mipmap-hdpi/ic_contacts_launcher.png
deleted file mode 100644
index 64eff002f..000000000
--- a/java/com/android/contacts/common/res/mipmap-hdpi/ic_contacts_launcher.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/AndroidManifest.xml b/java/com/android/dialer/app/AndroidManifest.xml
index 5ce13dbd7..67290b591 100644
--- a/java/com/android/dialer/app/AndroidManifest.xml
+++ b/java/com/android/dialer/app/AndroidManifest.xml
@@ -91,6 +91,11 @@
</intent-filter>
</receiver>
+ <activity
+ android:name="com.android.dialer.app.calllog.CallLogNotificationsActivity"
+ android:theme="@style/Theme.AppCompat.Translucent">
+ </activity>
+
<service
android:directBootAware="true"
android:exported="false"
diff --git a/java/com/android/dialer/app/DialtactsActivity.java b/java/com/android/dialer/app/DialtactsActivity.java
index 11056c414..139fc6486 100644
--- a/java/com/android/dialer/app/DialtactsActivity.java
+++ b/java/com/android/dialer/app/DialtactsActivity.java
@@ -28,6 +28,7 @@ import android.content.res.Resources;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
+import android.os.SystemClock;
import android.os.Trace;
import android.provider.CallLog.Calls;
import android.speech.RecognizerIntent;
@@ -72,15 +73,16 @@ import com.android.dialer.app.calllog.CallLogActivity;
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.DragDropController;
import com.android.dialer.app.list.ListsFragment;
+import com.android.dialer.app.list.OldSpeedDialFragment;
import com.android.dialer.app.list.OnDragDropListener;
import com.android.dialer.app.list.OnListFragmentScrolledListener;
import com.android.dialer.app.list.PhoneFavoriteSquareTileView;
import com.android.dialer.app.list.RegularSearchFragment;
import com.android.dialer.app.list.SearchFragment;
import com.android.dialer.app.list.SmartDialSearchFragment;
-import com.android.dialer.app.list.SpeedDialFragment;
import com.android.dialer.app.settings.DialerSettingsActivity;
import com.android.dialer.app.widget.ActionBarController;
import com.android.dialer.app.widget.SearchEditTextLayout;
@@ -118,6 +120,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
+import java.util.concurrent.TimeUnit;
/** The dialer tab's title is 'phone', a more common name (see strings.xml). */
@UsedByReflection(value = "AndroidManifest-app.xml")
@@ -127,7 +130,7 @@ public class DialtactsActivity extends TransactionSafeActivity
OnListFragmentScrolledListener,
CallLogFragment.HostInterface,
DialpadFragment.HostInterface,
- SpeedDialFragment.HostInterface,
+ OldSpeedDialFragment.HostInterface,
SearchFragment.HostInterface,
OnDragDropListener,
OnPhoneNumberPickerActionListener,
@@ -160,6 +163,12 @@ public class DialtactsActivity extends TransactionSafeActivity
public static final int ACTIVITY_REQUEST_CODE_CALL_COMPOSE = 2;
private static final int FAB_SCALE_IN_DELAY_MS = 300;
+
+ /**
+ * Minimum time the history tab must have been selected for it to be marked as seen in onStop()
+ */
+ private static final long HISTORY_TAB_SEEN_TIMEOUT = TimeUnit.SECONDS.toMillis(3);
+
/** Fragment containing the dialpad that slides into view */
protected DialpadFragment mDialpadFragment;
@@ -211,6 +220,7 @@ public class DialtactsActivity extends TransactionSafeActivity
private ActionBarController mActionBarController;
private FloatingActionButtonController mFloatingActionButtonController;
private boolean mWasConfigurationChange;
+ private long timeTabSelected;
private P13nLogger mP13nLogger;
private P13nRanker mP13nRanker;
@@ -391,7 +401,7 @@ public class DialtactsActivity extends TransactionSafeActivity
mIsLandscape =
getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE;
- mPreviouslySelectedTabIndex = ListsFragment.TAB_INDEX_SPEED_DIAL;
+ mPreviouslySelectedTabIndex = DialtactsPagerAdapter.TAB_INDEX_SPEED_DIAL;
FloatingActionButton floatingActionButton =
(FloatingActionButton) findViewById(R.id.floating_action_button);
floatingActionButton.setOnClickListener(this);
@@ -517,13 +527,14 @@ public class DialtactsActivity extends TransactionSafeActivity
// used internally.
final Bundle extras = getIntent().getExtras();
if (extras != null && extras.getInt(Calls.EXTRA_CALL_TYPE_FILTER) == Calls.VOICEMAIL_TYPE) {
- mListsFragment.showTab(ListsFragment.TAB_INDEX_VOICEMAIL);
+ mListsFragment.showTab(DialtactsPagerAdapter.TAB_INDEX_VOICEMAIL);
Logger.get(this).logImpression(DialerImpression.Type.VVM_NOTIFICATION_CLICKED);
} else {
- mListsFragment.showTab(ListsFragment.TAB_INDEX_HISTORY);
+ mListsFragment.showTab(DialtactsPagerAdapter.TAB_INDEX_HISTORY);
}
} else if (getIntent().hasExtra(EXTRA_SHOW_TAB)) {
- int index = getIntent().getIntExtra(EXTRA_SHOW_TAB, ListsFragment.TAB_INDEX_SPEED_DIAL);
+ int index =
+ getIntent().getIntExtra(EXTRA_SHOW_TAB, DialtactsPagerAdapter.TAB_INDEX_SPEED_DIAL);
if (index < mListsFragment.getTabCount()) {
// Hide dialpad since this is an explicit intent to show a specific tab, which is coming
// from missed call or voicemail notification.
@@ -569,6 +580,18 @@ public class DialtactsActivity extends TransactionSafeActivity
}
@Override
+ protected void onStop() {
+ super.onStop();
+ boolean timeoutElapsed =
+ SystemClock.elapsedRealtime() - timeTabSelected >= HISTORY_TAB_SEEN_TIMEOUT;
+ boolean isOnHistoryTab =
+ mListsFragment.getCurrentTabIndex() == DialtactsPagerAdapter.TAB_INDEX_HISTORY;
+ if (isOnHistoryTab && timeoutElapsed && !isChangingConfigurations()) {
+ mListsFragment.markMissedCallsAsReadAndRemoveNotifications();
+ }
+ }
+
+ @Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString(KEY_SEARCH_QUERY, mSearchQuery);
@@ -637,7 +660,7 @@ public class DialtactsActivity extends TransactionSafeActivity
public void onClick(View view) {
int resId = view.getId();
if (resId == R.id.floating_action_button) {
- if (mListsFragment.getCurrentTabIndex() == ListsFragment.TAB_INDEX_ALL_CONTACTS
+ if (mListsFragment.getCurrentTabIndex() == DialtactsPagerAdapter.TAB_INDEX_ALL_CONTACTS
&& !mInRegularSearch
&& !mInDialpadSearch) {
DialerUtils.startActivityWithErrorToast(
@@ -1275,11 +1298,11 @@ public class DialtactsActivity extends TransactionSafeActivity
mListsFragment.getRemoveView().setDragDropController(dragController);
}
- /** Implemented to satisfy {@link SpeedDialFragment.HostInterface} */
+ /** Implemented to satisfy {@link OldSpeedDialFragment.HostInterface} */
@Override
public void showAllContactsTab() {
if (mListsFragment != null) {
- mListsFragment.showTab(ListsFragment.TAB_INDEX_ALL_CONTACTS);
+ mListsFragment.showTab(DialtactsPagerAdapter.TAB_INDEX_ALL_CONTACTS);
}
}
@@ -1335,11 +1358,11 @@ public class DialtactsActivity extends TransactionSafeActivity
// In RTL, scroll when the current tab is Call History instead, since the order of the tabs
// is reversed and the ViewPager returns the left tab position during scroll.
boolean isRtl = ViewUtil.isRtl();
- if (!isRtl && tabIndex == ListsFragment.TAB_INDEX_SPEED_DIAL && !mIsLandscape) {
+ if (!isRtl && tabIndex == DialtactsPagerAdapter.TAB_INDEX_SPEED_DIAL && !mIsLandscape) {
mFloatingActionButtonController.onPageScrolled(positionOffset);
- } else if (isRtl && tabIndex == ListsFragment.TAB_INDEX_HISTORY && !mIsLandscape) {
+ } else if (isRtl && tabIndex == DialtactsPagerAdapter.TAB_INDEX_HISTORY && !mIsLandscape) {
mFloatingActionButtonController.onPageScrolled(1 - positionOffset);
- } else if (tabIndex != ListsFragment.TAB_INDEX_SPEED_DIAL) {
+ } else if (tabIndex != DialtactsPagerAdapter.TAB_INDEX_SPEED_DIAL) {
mFloatingActionButtonController.onPageScrolled(1);
}
}
@@ -1350,7 +1373,7 @@ public class DialtactsActivity extends TransactionSafeActivity
int tabIndex = mListsFragment.getCurrentTabIndex();
mPreviouslySelectedTabIndex = tabIndex;
mFloatingActionButtonController.setVisible(true);
- if (tabIndex == ListsFragment.TAB_INDEX_ALL_CONTACTS
+ if (tabIndex == DialtactsPagerAdapter.TAB_INDEX_ALL_CONTACTS
&& !mInRegularSearch
&& !mInDialpadSearch) {
mFloatingActionButtonController.changeIcon(
@@ -1361,6 +1384,8 @@ public class DialtactsActivity extends TransactionSafeActivity
getResources().getDrawable(R.drawable.quantum_ic_dialpad_white_24, null),
getResources().getString(R.string.action_menu_dialpad_button));
}
+
+ timeTabSelected = SystemClock.elapsedRealtime();
}
@Override
@@ -1397,14 +1422,14 @@ public class DialtactsActivity extends TransactionSafeActivity
private int getFabAlignment() {
if (!mIsLandscape
&& !isInSearchUi()
- && mListsFragment.getCurrentTabIndex() == ListsFragment.TAB_INDEX_SPEED_DIAL) {
+ && mListsFragment.getCurrentTabIndex() == DialtactsPagerAdapter.TAB_INDEX_SPEED_DIAL) {
return FloatingActionButtonController.ALIGN_MIDDLE;
}
return FloatingActionButtonController.ALIGN_END;
}
private void updateMissedCalls() {
- if (mPreviouslySelectedTabIndex == ListsFragment.TAB_INDEX_HISTORY) {
+ if (mPreviouslySelectedTabIndex == DialtactsPagerAdapter.TAB_INDEX_HISTORY) {
mListsFragment.markMissedCallsAsReadAndRemoveNotifications();
}
}
@@ -1452,15 +1477,12 @@ public class DialtactsActivity extends TransactionSafeActivity
@Override
public void show() {
- final boolean hasContactsPermission =
- PermissionsUtil.hasContactsPermissions(DialtactsActivity.this);
- final Menu menu = getMenu();
- final MenuItem clearFrequents = menu.findItem(R.id.menu_clear_frequents);
+ Menu menu = getMenu();
+ MenuItem clearFrequents = menu.findItem(R.id.menu_clear_frequents);
clearFrequents.setVisible(
- mListsFragment != null
- && mListsFragment.getSpeedDialFragment() != null
- && mListsFragment.getSpeedDialFragment().hasFrequents()
- && hasContactsPermission);
+ PermissionsUtil.hasContactsPermissions(DialtactsActivity.this)
+ && mListsFragment != null
+ && mListsFragment.hasFrequents());
menu.findItem(R.id.menu_history)
.setVisible(PermissionsUtil.hasPhonePermissions(DialtactsActivity.this));
diff --git a/java/com/android/dialer/app/SpecialCharSequenceMgr.java b/java/com/android/dialer/app/SpecialCharSequenceMgr.java
index 712659c12..85c2ea650 100644
--- a/java/com/android/dialer/app/SpecialCharSequenceMgr.java
+++ b/java/com/android/dialer/app/SpecialCharSequenceMgr.java
@@ -30,7 +30,6 @@ import android.database.Cursor;
import android.net.Uri;
import android.provider.Settings;
import android.support.annotation.Nullable;
-import android.support.v4.os.BuildCompat;
import android.telecom.PhoneAccount;
import android.telecom.PhoneAccountHandle;
import android.telephony.PhoneNumberUtils;
@@ -71,7 +70,6 @@ public class SpecialCharSequenceMgr {
private static final String TAG_SELECT_ACCT_FRAGMENT = "tag_select_acct_fragment";
- private static final String SECRET_CODE_ACTION = "android.provider.Telephony.SECRET_CODE";
private static final String MMI_IMEI_DISPLAY = "*#06#";
private static final String MMI_REGULATORY_INFO_DISPLAY = "*#07#";
/** ***** This code is used to handle SIM Contact queries ***** */
@@ -133,31 +131,21 @@ public class SpecialCharSequenceMgr {
/**
* Handles secret codes to launch arbitrary activities in the form of *#*#<code>#*#*.
- * If a secret code is encountered, an Intent is started with the android_secret_code://<code>
- * URI.
*
* @param context the context to use
* @param input the text to check for a secret code in
- * @return true if a secret code was encountered and intent is sent out
+ * @return true if a secret code was encountered and handled
*/
static boolean handleSecretCode(Context context, String input) {
- // Must use system service on O+ to avoid using broadcasts, which are not allowed on O+.
- if (BuildCompat.isAtLeastO()) {
- return context.getSystemService(TelephonyManager.class).sendDialerCode(input);
- }
+ // Secret codes are accessed by dialing *#*#<code>#*#*
- // System service call is not supported pre-O, so must use a broadcast for N-.
- // Secret codes are in the form *#*#<code>#*#*
int len = input.length();
- if (len > 8 && input.startsWith("*#*#") && input.endsWith("#*#*")) {
- final Intent intent =
- new Intent(
- SECRET_CODE_ACTION,
- Uri.parse("android_secret_code://" + input.substring(4, len - 4)));
- context.sendBroadcast(intent);
- return true;
+ if (len <= 8 || !input.startsWith("*#*#") || !input.endsWith("#*#*")) {
+ return false;
}
- return false;
+ String secretCode = input.substring(4, len - 4);
+ TelephonyManagerCompat.handleSecretCode(context, secretCode);
+ return true;
}
/**
diff --git a/java/com/android/dialer/app/calllog/CallLogAdapter.java b/java/com/android/dialer/app/calllog/CallLogAdapter.java
index 301fc009e..06f48aa20 100644
--- a/java/com/android/dialer/app/calllog/CallLogAdapter.java
+++ b/java/com/android/dialer/app/calllog/CallLogAdapter.java
@@ -17,6 +17,7 @@
package com.android.dialer.app.calllog;
import android.app.Activity;
+import android.content.ContentUris;
import android.content.res.Resources;
import android.database.Cursor;
import android.net.Uri;
@@ -38,7 +39,12 @@ import android.telecom.PhoneAccountHandle;
import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.ArraySet;
+import android.util.SparseBooleanArray;
+import android.view.ActionMode;
import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import com.android.contacts.common.ContactsUtils;
@@ -58,6 +64,7 @@ import com.android.dialer.calldetails.nano.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;
@@ -65,6 +72,9 @@ import com.android.dialer.enrichedcall.EnrichedCallCapabilities;
import com.android.dialer.enrichedcall.EnrichedCallComponent;
import com.android.dialer.enrichedcall.EnrichedCallManager;
import com.android.dialer.enrichedcall.historyquery.proto.nano.HistoryResult;
+import com.android.dialer.lightbringer.Lightbringer;
+import com.android.dialer.lightbringer.LightbringerComponent;
+import com.android.dialer.lightbringer.LightbringerListener;
import com.android.dialer.logging.Logger;
import com.android.dialer.logging.nano.DialerImpression;
import com.android.dialer.phonenumbercache.CallLogQuery;
@@ -80,7 +90,7 @@ import java.util.Set;
/** Adapter class to fill in data for the Call Log. */
public class CallLogAdapter extends GroupingListAdapter
- implements GroupCreator, OnVoicemailDeletedListener {
+ implements GroupCreator, OnVoicemailDeletedListener, LightbringerListener {
// Types of activities the call log adapter is used for
public static final int ACTIVITY_TYPE_CALL_LOG = 1;
@@ -118,6 +128,58 @@ public class CallLogAdapter extends GroupingListAdapter
private long mCurrentlyExpandedRowId = NO_EXPANDED_LIST_ITEM;
private final CallLogAlertManager mCallLogAlertManager;
+
+ public static ActionMode mActionMode = null;
+ private final SparseBooleanArray selectedItems = new SparseBooleanArray();
+
+ private final ActionMode.Callback mActionModeCallback =
+ new ActionMode.Callback() {
+
+ // Called when the action mode is created; startActionMode() was called
+ @Override
+ public boolean onCreateActionMode(ActionMode mode, Menu menu) {
+ mActionMode = mode;
+ // Inflate a menu resource providing context menu items
+ MenuInflater inflater = mode.getMenuInflater();
+ inflater.inflate(R.menu.actionbar_delete, menu);
+ return true;
+ }
+
+ // Called each time the action mode is shown. Always called after onCreateActionMode, but
+ // may be called multiple times if the mode is invalidated.
+ @Override
+ public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
+ return false; // Return false if nothing is done
+ }
+
+ // Called when the user selects a contextual menu item
+ @Override
+ public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
+ return false;
+ }
+
+ // Called when the user exits the action mode
+ @Override
+ public void onDestroyActionMode(ActionMode mode) {
+ selectedItems.clear();
+ mActionMode = null;
+ notifyDataSetChanged();
+ }
+ };
+
+ private final View.OnLongClickListener mLongPressListener =
+ new View.OnLongClickListener() {
+ @Override
+ public boolean onLongClick(View v) {
+ if (ConfigProviderBindings.get(v.getContext())
+ .getBoolean("enable_call_log_multiselect", false)) {
+ v.startActionMode(mActionModeCallback);
+ return false;
+ }
+ return true;
+ }
+ };
+
/** The OnClickListener used to expand or collapse the action buttons of a call log entry. */
private final View.OnClickListener mExpandCollapseListener =
new View.OnClickListener() {
@@ -127,6 +189,20 @@ public class CallLogAdapter extends GroupingListAdapter
if (viewHolder == null) {
return;
}
+ if (mActionMode != null && viewHolder.voicemailUri != null) {
+ if (selectedItems.get((int) ContentUris.parseId(Uri.parse(viewHolder.voicemailUri)))) {
+ selectedItems.delete((int) ContentUris.parseId(Uri.parse(viewHolder.voicemailUri)));
+ viewHolder.checkBoxView.setVisibility(View.GONE);
+ viewHolder.quickContactView.setVisibility(View.VISIBLE);
+ } else {
+ viewHolder.quickContactView.setVisibility(View.GONE);
+ viewHolder.checkBoxView.setVisibility(View.VISIBLE);
+ selectedItems.put(
+ (int) ContentUris.parseId(Uri.parse(viewHolder.voicemailUri)), true);
+ }
+ mActionMode.setTitle(Integer.toString(selectedItems.size()));
+ return;
+ }
if (mVoicemailPlaybackPresenter != null) {
// Always reset the voicemail playback state on expand or collapse.
@@ -313,10 +389,12 @@ public class CallLogAdapter extends GroupingListAdapter
}
mContactsPreferences.refreshValue(ContactsPreferences.DISPLAY_ORDER_KEY);
mIsSpamEnabled = Spam.get(mActivity).isSpamEnabled();
+ getLightbringer().registerListener(this);
notifyDataSetChanged();
}
public void onPause() {
+ getLightbringer().unregisterListener(this);
pauseCache();
for (Uri uri : mHiddenItemUris) {
CallLogAsyncTaskUtil.deleteVoicemail(mActivity, uri, null);
@@ -365,6 +443,7 @@ public class CallLogAdapter extends GroupingListAdapter
mActivity,
mBlockReportSpamListener,
mExpandCollapseListener,
+ mLongPressListener,
mCallLogCache,
mCallLogListItemHelper,
mVoicemailPlaybackPresenter);
@@ -471,6 +550,7 @@ public class CallLogAdapter extends GroupingListAdapter
setCallDetailsEntriesHistoryResults(
views.number, callDetailsEntries, getAllHistoricalData(views.number, callDetailsEntries));
views.setDetailedPhoneDetails(callDetailsEntries);
+ views.lightbringerReady = getLightbringer().isReachable(mActivity, views.number);
final AsyncTask<Void, Void, Boolean> loadDataTask =
new AsyncTask<Void, Void, Boolean>() {
@Override
@@ -741,6 +821,15 @@ public class CallLogAdapter extends GroupingListAdapter
views.workIconView.setVisibility(
details.contactUserType == ContactsUtils.USER_TYPE_WORK ? View.VISIBLE : View.GONE);
+ if (views.voicemailUri != null
+ && selectedItems.get((int) ContentUris.parseId(Uri.parse(views.voicemailUri)))) {
+ views.checkBoxView.setVisibility(View.VISIBLE);
+ views.quickContactView.setVisibility(View.GONE);
+ } else if (views.voicemailUri != null) {
+ 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
@@ -997,6 +1086,16 @@ public class CallLogAdapter extends GroupingListAdapter
return EnrichedCallComponent.get(mActivity).getEnrichedCallManager();
}
+ @NonNull
+ private Lightbringer getLightbringer() {
+ return LightbringerComponent.get(mActivity).getLightbringer();
+ }
+
+ @Override
+ public void onLightbringerStateChanged() {
+ notifyDataSetChanged();
+ }
+
/** Interface used to initiate a refresh of the content. */
public interface CallFetcher {
diff --git a/java/com/android/dialer/app/calllog/CallLogFragment.java b/java/com/android/dialer/app/calllog/CallLogFragment.java
index 4abef3430..fcc34ebef 100644
--- a/java/com/android/dialer/app/calllog/CallLogFragment.java
+++ b/java/com/android/dialer/app/calllog/CallLogFragment.java
@@ -49,11 +49,11 @@ 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.list.ListsFragment.ListsPage;
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.phonenumbercache.ContactInfoHelper;
@@ -64,8 +64,7 @@ import com.android.dialer.util.PermissionsUtil;
* voicemails), specify it in the constructor.
*/
public class CallLogFragment extends Fragment
- implements ListsPage,
- CallLogQueryHandler.Listener,
+ implements CallLogQueryHandler.Listener,
CallLogAdapter.CallFetcher,
OnEmptyViewActionButtonClickedListener,
FragmentCompat.OnRequestPermissionsResultCallback,
@@ -133,6 +132,8 @@ public class CallLogFragment extends Fragment
refreshData();
rescheduleDisplayUpdate();
break;
+ default:
+ throw Assert.createAssertionFailException("Invalid message: " + msg);
}
}
};
@@ -541,20 +542,18 @@ public class CallLogFragment extends Fragment
mDisplayUpdateHandler.removeMessages(EVENT_UPDATE_DISPLAY);
}
- @Override
@CallSuper
- public void onPageResume(@Nullable Activity activity) {
- LogUtil.d("CallLogFragment.onPageResume", "frag: %s", this);
- if (activity != null) {
- ((HostInterface) activity)
+ public void onVisible() {
+ LogUtil.enterBlock("CallLogFragment.onPageSelected");
+ if (getActivity() != null) {
+ ((HostInterface) getActivity())
.enableFloatingButton(mModalAlertManager == null || mModalAlertManager.isEmpty());
}
}
- @Override
@CallSuper
- public void onPagePause(@Nullable Activity activity) {
- LogUtil.d("CallLogFragment.onPagePause", "frag: %s", this);
+ public void onNotVisible() {
+ LogUtil.enterBlock("CallLogFragment.onPageUnselected");
}
@Override
diff --git a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
index 6a3187fa8..9adcddb3c 100644
--- a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
+++ b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
@@ -22,19 +22,16 @@ import android.content.Intent;
import android.content.res.Resources;
import android.net.Uri;
import android.os.AsyncTask;
-import android.provider.CallLog;
import android.provider.CallLog.Calls;
import android.provider.ContactsContract.CommonDataKinds.Phone;
+import android.support.annotation.NonNull;
import android.support.annotation.VisibleForTesting;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
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.MenuItem;
import android.view.View;
import android.view.ViewStub;
@@ -45,7 +42,6 @@ import android.widget.TextView;
import com.android.contacts.common.ClipboardUtils;
import com.android.contacts.common.ContactPhotoManager;
import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
-import com.android.contacts.common.compat.PhoneNumberUtilsCompat;
import com.android.contacts.common.dialog.CallSubjectDialog;
import com.android.contacts.common.util.UriUtils;
import com.android.dialer.app.DialtactsActivity;
@@ -61,10 +57,13 @@ import com.android.dialer.callcomposer.nano.CallComposerContact;
import com.android.dialer.calldetails.nano.CallDetailsEntries;
import com.android.dialer.common.LogUtil;
import com.android.dialer.compat.CompatUtils;
+import com.android.dialer.lightbringer.Lightbringer;
+import com.android.dialer.lightbringer.LightbringerComponent;
import com.android.dialer.logging.Logger;
import com.android.dialer.logging.nano.DialerImpression;
-import com.android.dialer.logging.nano.ScreenEvent;
+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;
@@ -77,9 +76,7 @@ import com.android.dialer.util.DialerUtils;
* CallLogAdapter.
*/
public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
- implements View.OnClickListener,
- MenuItem.OnMenuItemClickListener,
- View.OnCreateContextMenuListener {
+ implements View.OnClickListener, MenuItem.OnMenuItemClickListener {
/** The root view of the call log list item */
public final View rootView;
/** The quick contact badge for the contact. */
@@ -98,6 +95,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
private final Context mContext;
private final CallLogCache mCallLogCache;
private final CallLogListItemHelper mCallLogListItemHelper;
+ private final CachedNumberLookupService mCachedNumberLookupService;
private final VoicemailPlaybackPresenter mVoicemailPlaybackPresenter;
private final OnClickListener mBlockReportListener;
private final int mPhotoSize;
@@ -122,6 +120,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
public View callComposeButtonView;
public View sendVoicemailButtonView;
public ImageView workIconView;
+ public ImageView checkBoxView;
/**
* The row Id for the first call associated with the call log entry. Used as a key for the map
* used to track which call log entries have the action button section expanded.
@@ -182,8 +181,6 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
* voicemail log's call button
*/
public CharSequence callTypeOrLocation;
- /** Whether this row is for a business or not. */
- public boolean isBusiness;
/** The contact info for the contact displayed in this list item. */
public volatile ContactInfo info;
/** Whether spam feature is enabled, which affects UI. */
@@ -192,8 +189,10 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
public boolean isSpam;
public boolean isCallComposerCapable;
+ public boolean lightbringerReady;
private View.OnClickListener mExpandCollapseListener;
+ private final View.OnLongClickListener longPressListener;
private boolean mVoicemailPrimaryActionButtonClicked;
public int dayGroupHeaderVisibility;
@@ -207,6 +206,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
Context context,
OnClickListener blockReportListener,
View.OnClickListener expandCollapseListener,
+ View.OnLongClickListener longClickListener,
CallLogCache callLogCache,
CallLogListItemHelper callLogListItemHelper,
VoicemailPlaybackPresenter voicemailPlaybackPresenter,
@@ -221,10 +221,12 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
mContext = context;
mExpandCollapseListener = expandCollapseListener;
+ longPressListener = longClickListener;
mCallLogCache = callLogCache;
mCallLogListItemHelper = callLogListItemHelper;
mVoicemailPlaybackPresenter = voicemailPlaybackPresenter;
mBlockReportListener = blockReportListener;
+ mCachedNumberLookupService = PhoneNumberCache.get(mContext).getCachedNumberLookupService();
this.rootView = rootView;
this.quickContactView = quickContactView;
@@ -234,6 +236,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
this.dayGroupHeader = dayGroupHeader;
this.primaryActionButtonView = primaryActionButtonView;
this.workIconView = (ImageView) rootView.findViewById(R.id.work_profile_icon);
+ this.checkBoxView = (ImageView) rootView.findViewById(R.id.quick_contact_checkbox);
mPhotoSize = mContext.getResources().getDimensionPixelSize(R.dimen.contact_photo_size);
// Set text height to false on the TextViews so they don't have extra padding.
@@ -246,7 +249,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
}
primaryActionButtonView.setOnClickListener(this);
primaryActionView.setOnClickListener(mExpandCollapseListener);
- primaryActionView.setOnCreateContextMenuListener(this);
+ primaryActionView.setOnLongClickListener(longPressListener);
}
public static CallLogListItemViewHolder create(
@@ -254,6 +257,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
Context context,
OnClickListener blockReportListener,
View.OnClickListener expandCollapseListener,
+ View.OnLongClickListener longClickListener,
CallLogCache callLogCache,
CallLogListItemHelper callLogListItemHelper,
VoicemailPlaybackPresenter voicemailPlaybackPresenter) {
@@ -262,6 +266,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
context,
blockReportListener,
expandCollapseListener,
+ longClickListener,
callLogCache,
callLogListItemHelper,
voicemailPlaybackPresenter,
@@ -285,6 +290,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
context,
null,
null /* expandCollapseListener */,
+ null,
callLogCache,
new CallLogListItemHelper(phoneCallDetailsHelper, resources, callLogCache),
null /* voicemailPlaybackPresenter */,
@@ -299,108 +305,11 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
viewHolder.actionsView = new View(context);
viewHolder.voicemailPlaybackView = new VoicemailPlaybackLayout(context);
viewHolder.workIconView = new ImageButton(context);
+ viewHolder.checkBoxView = new ImageButton(context);
return viewHolder;
}
@Override
- public void onCreateContextMenu(
- final ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
- if (TextUtils.isEmpty(number)) {
- return;
- }
-
- if (callType == CallLog.Calls.VOICEMAIL_TYPE) {
- menu.setHeaderTitle(mContext.getResources().getText(R.string.voicemail));
- } else {
- menu.setHeaderTitle(
- PhoneNumberUtilsCompat.createTtsSpannable(
- BidiFormatter.getInstance().unicodeWrap(number, TextDirectionHeuristics.LTR)));
- }
-
- menu.add(
- ContextMenu.NONE,
- R.id.context_menu_copy_to_clipboard,
- ContextMenu.NONE,
- R.string.action_copy_number_text)
- .setOnMenuItemClickListener(this);
-
- // The edit number before call does not show up if any of the conditions apply:
- // 1) Number cannot be called
- // 2) Number is the voicemail number
- // 3) Number is a SIP address
-
- if (PhoneNumberHelper.canPlaceCallsTo(number, numberPresentation)
- && !mCallLogCache.isVoicemailNumber(accountHandle, number)
- && !PhoneNumberHelper.isSipNumber(number)) {
- menu.add(
- ContextMenu.NONE,
- R.id.context_menu_edit_before_call,
- ContextMenu.NONE,
- R.string.action_edit_number_before_call)
- .setOnMenuItemClickListener(this);
- }
-
- if (callType == CallLog.Calls.VOICEMAIL_TYPE
- && phoneCallDetailsViews.voicemailTranscriptionView.length() > 0) {
- menu.add(
- ContextMenu.NONE,
- R.id.context_menu_copy_transcript_to_clipboard,
- ContextMenu.NONE,
- R.string.copy_transcript_text)
- .setOnMenuItemClickListener(this);
- }
-
- String e164Number = PhoneNumberUtils.formatNumberToE164(number, countryIso);
- boolean isVoicemailNumber = mCallLogCache.isVoicemailNumber(accountHandle, number);
- if (!isVoicemailNumber
- && FilteredNumbersUtil.canBlockNumber(mContext, e164Number, number)
- && FilteredNumberCompat.canAttemptBlockOperations(mContext)) {
- boolean isBlocked = blockId != null;
- if (isBlocked) {
- menu.add(
- ContextMenu.NONE,
- R.id.context_menu_unblock,
- ContextMenu.NONE,
- R.string.call_log_action_unblock_number)
- .setOnMenuItemClickListener(this);
- } else {
- if (isSpamFeatureEnabled) {
- if (isSpam) {
- menu.add(
- ContextMenu.NONE,
- R.id.context_menu_report_not_spam,
- ContextMenu.NONE,
- R.string.call_log_action_remove_spam)
- .setOnMenuItemClickListener(this);
- menu.add(
- ContextMenu.NONE,
- R.id.context_menu_block,
- ContextMenu.NONE,
- R.string.call_log_action_block_number)
- .setOnMenuItemClickListener(this);
- } else {
- menu.add(
- ContextMenu.NONE,
- R.id.context_menu_block_report_spam,
- ContextMenu.NONE,
- R.string.call_log_action_block_report_number)
- .setOnMenuItemClickListener(this);
- }
- } else {
- menu.add(
- ContextMenu.NONE,
- R.id.context_menu_block,
- ContextMenu.NONE,
- R.string.call_log_action_block_number)
- .setOnMenuItemClickListener(this);
- }
- }
- }
-
- Logger.get(mContext).logScreenView(ScreenEvent.Type.CALL_LOG_CONTEXT_MENU, (Activity) mContext);
- }
-
- @Override
public boolean onMenuItemClick(MenuItem item) {
int resId = item.getItemId();
if (resId == R.id.context_menu_copy_to_clipboard) {
@@ -518,7 +427,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
if (!TextUtils.isEmpty(voicemailUri)) {
// Treat as voicemail list item; show play button if not expanded.
if (!isExpanded) {
- primaryActionButtonView.setImageResource(R.drawable.ic_play_arrow_24dp);
+ primaryActionButtonView.setImageResource(R.drawable.quantum_ic_play_arrow_white_24);
primaryActionButtonView.setContentDescription(
TextUtils.expandTemplate(
mContext.getString(R.string.description_voicemail_action), validNameOrNumber));
@@ -541,7 +450,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
primaryActionButtonView.setContentDescription(
TextUtils.expandTemplate(
mContext.getString(R.string.description_call_action), validNameOrNumber));
- primaryActionButtonView.setImageResource(R.drawable.ic_call_24dp);
+ primaryActionButtonView.setImageResource(R.drawable.quantum_ic_call_white_24);
primaryActionButtonView.setVisibility(View.VISIBLE);
} else {
primaryActionButtonView.setTag(null);
@@ -607,9 +516,12 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
callButtonView.setVisibility(View.GONE);
}
- if (shouldShowVideoCallActionButton(canPlaceCallToNumber)) {
+ if (hasPlacedCarrierVideoCall() || canSupportCarrierVideoCall()) {
videoCallButtonView.setTag(IntentProvider.getReturnVideoCallIntentProvider(number));
videoCallButtonView.setVisibility(View.VISIBLE);
+ } else if (lightbringerReady) {
+ videoCallButtonView.setTag(IntentProvider.getLightbringerIntentProvider(number));
+ videoCallButtonView.setVisibility(View.VISIBLE);
} else {
videoCallButtonView.setVisibility(View.GONE);
}
@@ -659,7 +571,8 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
addToExistingContactButtonView.setVisibility(View.GONE);
}
- if (canPlaceCallToNumber && !isBlockedOrSpam) {
+ boolean isVoicemailNumber = mCallLogCache.isVoicemailNumber(accountHandle, number);
+ if (canPlaceCallToNumber && !isBlockedOrSpam && !isVoicemailNumber) {
sendMessageView.setTag(IntentProvider.getSendSmsIntentProvider(number));
sendMessageView.setVisibility(View.VISIBLE);
} else {
@@ -669,7 +582,6 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
mCallLogListItemHelper.setActionContentDescriptions(this);
boolean supportsCallSubject = mCallLogCache.doesAccountSupportCallSubject(accountHandle);
- boolean isVoicemailNumber = mCallLogCache.isVoicemailNumber(accountHandle, number);
callWithNoteButtonView.setVisibility(
supportsCallSubject && !isVoicemailNumber && info != null ? View.VISIBLE : View.GONE);
@@ -699,15 +611,22 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
return false;
}
- private boolean shouldShowVideoCallActionButton(boolean canPlaceCallToNumber) {
- return canPlaceCallToNumber && (hasPlacedVideoCall() || canSupportVideoCall());
- }
-
- private boolean hasPlacedVideoCall() {
- return phoneCallDetailsViews.callTypeIcons.isVideoShown();
+ private boolean hasPlacedCarrierVideoCall() {
+ if (!phoneCallDetailsViews.callTypeIcons.isVideoShown()) {
+ return false;
+ }
+ if (accountHandle == null) {
+ return false;
+ }
+ if (accountHandle
+ .getComponentName()
+ .equals(getLightbringer().getPhoneAccountComponentName(mContext))) {
+ return false;
+ }
+ return true;
}
- private boolean canSupportVideoCall() {
+ private boolean canSupportCarrierVideoCall() {
return mCallLogCache.canRelyOnVideoPresence()
&& info != null
&& (info.carrierPresence & Phone.CARRIER_PRESENCE_VT_CAPABLE) != 0;
@@ -800,7 +719,8 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
int contactType = ContactPhotoManager.TYPE_DEFAULT;
if (mCallLogCache.isVoicemailNumber(accountHandle, number)) {
contactType = ContactPhotoManager.TYPE_VOICEMAIL;
- } else if (isBusiness) {
+ } else if (mCachedNumberLookupService != null
+ && mCachedNumberLookupService.isBusiness(info.sourceType)) {
contactType = ContactPhotoManager.TYPE_BUSINESS;
} else if (numberPresentation == TelecomManager.PRESENTATION_RESTRICTED) {
contactType = ContactPhotoManager.TYPE_GENERIC_AVATAR;
@@ -810,6 +730,10 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
@Override
public void onClick(View view) {
+ if (view.getId() == R.id.primary_action_button) {
+ CallLogAsyncTaskUtil.markCallAsRead(mContext, callIds);
+ }
+
if (view.getId() == R.id.primary_action_button && !TextUtils.isEmpty(voicemailUri)) {
Logger.get(mContext).logImpression(DialerImpression.Type.VOICEMAIL_PLAY_AUDIO_DIRECTLY);
mVoicemailPrimaryActionButtonClicked = true;
@@ -947,6 +871,11 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
return callDetailsEntries;
}
+ @NonNull
+ private Lightbringer getLightbringer() {
+ return LightbringerComponent.get(mContext).getLightbringer();
+ }
+
public interface OnClickListener {
void onBlockReportSpam(
diff --git a/java/com/android/dialer/app/calllog/CallLogNotificationsActivity.java b/java/com/android/dialer/app/calllog/CallLogNotificationsActivity.java
new file mode 100644
index 000000000..c08d2c02b
--- /dev/null
+++ b/java/com/android/dialer/app/calllog/CallLogNotificationsActivity.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.Intent;
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.util.PermissionsUtil;
+
+/**
+ * Provides operations for managing call-related notifications. This is used to forward intent
+ * that's requiring to unlock screen and it will never be visible to user.
+ *
+ * <p>It handles the following actions:
+ *
+ * <ul>
+ * <li>Sending an SMS from a missed call
+ * </ul>
+ */
+public class CallLogNotificationsActivity extends AppCompatActivity {
+
+ public static final String ACTION_SEND_SMS_FROM_MISSED_CALL_NOTIFICATION =
+ "com.android.dialer.calllog.SEND_SMS_FROM_MISSED_CALL_NOTIFICATION";
+
+ /**
+ * Extra to be included with {@link #ACTION_SEND_SMS_FROM_MISSED_CALL_NOTIFICATION} to identify
+ * the number to text back.
+ *
+ * <p>It must be a {@link String}.
+ */
+ public static final String EXTRA_MISSED_CALL_NUMBER = "MISSED_CALL_NUMBER";
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ Intent intent = getIntent();
+
+ if (!PermissionsUtil.hasPermission(this, android.Manifest.permission.READ_CALL_LOG)) {
+ return;
+ }
+
+ String action = intent.getAction();
+ switch (action) {
+ case ACTION_SEND_SMS_FROM_MISSED_CALL_NOTIFICATION:
+ MissedCallNotifier.getInstance(this)
+ .sendSmsFromMissedCall(
+ intent.getStringExtra(EXTRA_MISSED_CALL_NUMBER), intent.getData());
+ break;
+ default:
+ LogUtil.d("CallLogNotificationsActivity.onCreate", "could not handle: " + intent);
+ break;
+ }
+ finish();
+ }
+}
diff --git a/java/com/android/dialer/app/calllog/CallLogNotificationsService.java b/java/com/android/dialer/app/calllog/CallLogNotificationsService.java
index 2f26027f9..f67837f8a 100644
--- a/java/com/android/dialer/app/calllog/CallLogNotificationsService.java
+++ b/java/com/android/dialer/app/calllog/CallLogNotificationsService.java
@@ -71,11 +71,8 @@ public class CallLogNotificationsService extends IntentService {
public static final String ACTION_CALL_BACK_FROM_MISSED_CALL_NOTIFICATION =
"com.android.dialer.calllog.CALL_BACK_FROM_MISSED_CALL_NOTIFICATION";
- public static final String ACTION_SEND_SMS_FROM_MISSED_CALL_NOTIFICATION =
- "com.android.dialer.calllog.SEND_SMS_FROM_MISSED_CALL_NOTIFICATION";
/**
- * Extra to be included with {@link #ACTION_UPDATE_MISSED_CALL_NOTIFICATIONS}, {@link
- * #ACTION_SEND_SMS_FROM_MISSED_CALL_NOTIFICATION} and {@link
+ * Extra to be included with {@link #ACTION_UPDATE_MISSED_CALL_NOTIFICATIONS} and {@link
* #ACTION_CALL_BACK_FROM_MISSED_CALL_NOTIFICATION} to identify the number to display, call or
* text back.
*
@@ -226,11 +223,6 @@ public class CallLogNotificationsService extends IntentService {
.callBackFromMissedCall(
intent.getStringExtra(EXTRA_MISSED_CALL_NUMBER), intent.getData());
break;
- case ACTION_SEND_SMS_FROM_MISSED_CALL_NOTIFICATION:
- MissedCallNotifier.getInstance(this)
- .sendSmsFromMissedCall(
- intent.getStringExtra(EXTRA_MISSED_CALL_NUMBER), intent.getData());
- break;
default:
LogUtil.d("CallLogNotificationsService.onHandleIntent", "could not handle: " + intent);
break;
diff --git a/java/com/android/dialer/app/calllog/ClearCallLogDialog.java b/java/com/android/dialer/app/calllog/ClearCallLogDialog.java
index 0c9bd4b35..a01b89527 100644
--- a/java/com/android/dialer/app/calllog/ClearCallLogDialog.java
+++ b/java/com/android/dialer/app/calllog/ClearCallLogDialog.java
@@ -54,6 +54,7 @@ public class ClearCallLogDialog extends DialogFragment {
ProgressDialog.show(
getActivity(), getString(R.string.clearCallLogProgress_title), "", true, false);
progressDialog.setOwnerActivity(getActivity());
+ CallLogNotificationsService.markNewMissedCallsAsOld(getContext(), null);
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
index b0a6ee135..dfe5776d8 100644
--- a/java/com/android/dialer/app/calllog/DefaultVoicemailNotifier.java
+++ b/java/com/android/dialer/app/calllog/DefaultVoicemailNotifier.java
@@ -40,7 +40,7 @@ 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.ListsFragment;
+import com.android.dialer.app.list.DialtactsPagerAdapter;
import com.android.dialer.blocking.FilteredNumbersUtil;
import com.android.dialer.common.LogUtil;
import com.android.dialer.logging.Logger;
@@ -274,7 +274,8 @@ public class DefaultVoicemailNotifier {
}
private PendingIntent newVoicemailIntent(@Nullable NewCall voicemail) {
- Intent intent = DialtactsActivity.getShowTabIntent(context, ListsFragment.TAB_INDEX_VOICEMAIL);
+ Intent intent =
+ DialtactsActivity.getShowTabIntent(context, DialtactsPagerAdapter.TAB_INDEX_VOICEMAIL);
// TODO (b/35486204): scroll to this voicemail
if (voicemail != null) {
intent.setData(voicemail.voicemailUri);
diff --git a/java/com/android/dialer/app/calllog/IntentProvider.java b/java/com/android/dialer/app/calllog/IntentProvider.java
index c53e3ec5e..8b77c3f51 100644
--- a/java/com/android/dialer/app/calllog/IntentProvider.java
+++ b/java/com/android/dialer/app/calllog/IntentProvider.java
@@ -29,6 +29,7 @@ import com.android.dialer.calldetails.CallDetailsActivity;
import com.android.dialer.calldetails.nano.CallDetailsEntries;
import com.android.dialer.callintent.CallIntentBuilder;
import com.android.dialer.callintent.nano.CallInitiationType;
+import com.android.dialer.lightbringer.LightbringerComponent;
import com.android.dialer.util.CallUtil;
import com.android.dialer.util.IntentUtil;
import java.util.ArrayList;
@@ -75,6 +76,15 @@ public abstract class IntentProvider {
};
}
+ public static IntentProvider getLightbringerIntentProvider(String number) {
+ return new IntentProvider() {
+ @Override
+ public Intent getIntent(Context context) {
+ return LightbringerComponent.get(context).getLightbringer().getIntent(context, number);
+ }
+ };
+ }
+
public static IntentProvider getReturnVoicemailCallIntentProvider() {
return new IntentProvider() {
@Override
diff --git a/java/com/android/dialer/app/calllog/MissedCallNotifier.java b/java/com/android/dialer/app/calllog/MissedCallNotifier.java
index 5b5661615..aa04d81eb 100644
--- a/java/com/android/dialer/app/calllog/MissedCallNotifier.java
+++ b/java/com/android/dialer/app/calllog/MissedCallNotifier.java
@@ -40,7 +40,7 @@ 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.ListsFragment;
+import com.android.dialer.app.list.DialtactsPagerAdapter;
import com.android.dialer.callintent.CallIntentBuilder;
import com.android.dialer.callintent.nano.CallInitiationType;
import com.android.dialer.common.LogUtil;
@@ -48,7 +48,6 @@ import com.android.dialer.notification.NotificationChannelManager;
import com.android.dialer.notification.NotificationChannelManager.Channel;
import com.android.dialer.phonenumbercache.ContactInfo;
import com.android.dialer.phonenumberutil.PhoneNumberHelper;
-import com.android.dialer.telecom.TelecomUtil;
import com.android.dialer.util.DialerUtils;
import com.android.dialer.util.IntentUtil;
import java.util.HashSet;
@@ -187,11 +186,7 @@ public class MissedCallNotifier {
.setOnlyAlertOnce(useCallList)
.setPublicVersion(publicSummaryBuilder.build());
- NotificationChannelManager.applyChannel(
- groupSummary,
- context,
- Channel.MISSED_CALL,
- PhoneAccountHandles.getAccount(context, useCallList ? newCalls.get(0) : null));
+ NotificationChannelManager.applyChannel(groupSummary, context, Channel.MISSED_CALL, null);
Notification notification = groupSummary.build();
configureLedOnNotification(notification);
@@ -291,7 +286,7 @@ public class MissedCallNotifier {
if (!PhoneNumberHelper.isUriNumber(call.number)) {
builder.addAction(
new Notification.Action.Builder(
- Icon.createWithResource(context, R.drawable.ic_message_24dp),
+ Icon.createWithResource(context, R.drawable.quantum_ic_message_white_24),
context.getString(R.string.notification_missedCall_message),
createSendSmsFromNotificationPendingIntent(call.number, call.callsUri))
.build());
@@ -322,8 +317,7 @@ public class MissedCallNotifier {
.setDeleteIntent(createClearMissedCallsPendingIntent(call.callsUri))
.setContentIntent(createCallLogPendingIntent(call.callsUri));
- NotificationChannelManager.applyChannel(
- builder, context, Channel.MISSED_CALL, PhoneAccountHandles.getAccount(context, call));
+ NotificationChannelManager.applyChannel(builder, context, Channel.MISSED_CALL, null);
return builder;
}
@@ -332,7 +326,6 @@ public class MissedCallNotifier {
public void callBackFromMissedCall(String number, Uri callUri) {
closeSystemDialogs(context);
CallLogNotificationsQueryHelper.removeMissedCallNotifications(context, callUri);
- TelecomUtil.cancelMissedCallsNotification(context);
DialerUtils.startActivityWithErrorToast(
context,
new CallIntentBuilder(number, CallInitiationType.Type.MISSED_CALL_NOTIFICATION)
@@ -341,11 +334,9 @@ public class MissedCallNotifier {
}
/** Trigger an intent to send an sms from a missed call number. */
- @WorkerThread
public void sendSmsFromMissedCall(String number, Uri callUri) {
closeSystemDialogs(context);
CallLogNotificationsQueryHelper.removeMissedCallNotifications(context, callUri);
- TelecomUtil.cancelMissedCallsNotification(context);
DialerUtils.startActivityWithErrorToast(
context, IntentUtil.getSendSmsIntent(number).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
}
@@ -367,7 +358,7 @@ public class MissedCallNotifier {
*/
private PendingIntent createCallLogPendingIntent(@Nullable Uri callUri) {
Intent contentIntent =
- DialtactsActivity.getShowTabIntent(context, ListsFragment.TAB_INDEX_HISTORY);
+ DialtactsActivity.getShowTabIntent(context, DialtactsPagerAdapter.TAB_INDEX_HISTORY);
// TODO (b/35486204): scroll to call
contentIntent.setData(callUri);
return PendingIntent.getActivity(context, 0, contentIntent, PendingIntent.FLAG_UPDATE_CURRENT);
@@ -393,13 +384,13 @@ public class MissedCallNotifier {
private PendingIntent createSendSmsFromNotificationPendingIntent(
String number, @NonNull Uri callUri) {
- Intent intent = new Intent(context, CallLogNotificationsService.class);
- intent.setAction(CallLogNotificationsService.ACTION_SEND_SMS_FROM_MISSED_CALL_NOTIFICATION);
- intent.putExtra(CallLogNotificationsService.EXTRA_MISSED_CALL_NUMBER, number);
+ Intent intent = new Intent(context, CallLogNotificationsActivity.class);
+ intent.setAction(CallLogNotificationsActivity.ACTION_SEND_SMS_FROM_MISSED_CALL_NOTIFICATION);
+ intent.putExtra(CallLogNotificationsActivity.EXTRA_MISSED_CALL_NUMBER, number);
intent.setData(callUri);
// Use FLAG_UPDATE_CURRENT to make sure any previous pending intent is updated with the new
// extra.
- return PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
+ return PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}
/** Configures a notification to emit the blinky notification light. */
diff --git a/java/com/android/dialer/app/calllog/PhoneAccountHandles.java b/java/com/android/dialer/app/calllog/PhoneAccountHandles.java
index b0fa1ed45..acffffb1d 100644
--- a/java/com/android/dialer/app/calllog/PhoneAccountHandles.java
+++ b/java/com/android/dialer/app/calllog/PhoneAccountHandles.java
@@ -24,6 +24,7 @@ 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 {
@@ -37,6 +38,11 @@ class PhoneAccountHandles {
"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 {
diff --git a/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java b/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java
index 15f860009..bc78eda02 100644
--- a/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java
+++ b/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java
@@ -31,6 +31,7 @@ import com.android.dialer.app.R;
import com.android.dialer.app.calllog.calllogcache.CallLogCache;
import com.android.dialer.calllogutils.PhoneCallDetails;
import com.android.dialer.oem.MotorolaUtils;
+import com.android.dialer.phonenumbercache.CachedNumberLookupService.CachedContactInfo;
import com.android.dialer.phonenumberutil.PhoneNumberHelper;
import com.android.dialer.util.DialerUtils;
import java.util.ArrayList;
@@ -205,7 +206,7 @@ public class PhoneCallDetailsHelper {
&& !PhoneNumberHelper.isUriNumber(details.number.toString())
&& !mCallLogCache.isVoicemailNumber(details.accountHandle, details.number)) {
- if (TextUtils.isEmpty(details.namePrimary) && !TextUtils.isEmpty(details.geocode)) {
+ if (shouldShowLocation(details)) {
numberFormattedLabel = details.geocode;
} else if (!(details.numberType == Phone.TYPE_CUSTOM
&& TextUtils.isEmpty(details.numberLabel))) {
@@ -223,6 +224,22 @@ public class PhoneCallDetailsHelper {
return numberFormattedLabel;
}
+ /** Returns true if primary name is empty or the data is from Cequint Caller ID. */
+ private static boolean shouldShowLocation(PhoneCallDetails details) {
+ if (TextUtils.isEmpty(details.geocode)) {
+ return false;
+ }
+ // For caller ID provided by Cequint we want to show the geo location.
+ if (details.sourceType == CachedContactInfo.SOURCE_TYPE_CEQUINT_CALLER_ID) {
+ return true;
+ }
+ // Don't bother showing geo location for contacts.
+ if (!TextUtils.isEmpty(details.namePrimary)) {
+ return false;
+ }
+ return true;
+ }
+
public void setPhoneTypeLabelForTest(CharSequence phoneTypeLabel) {
this.mPhoneTypeLabelForTest = phoneTypeLabel;
}
diff --git a/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java b/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java
index edbe5c6ed..5e820a750 100644
--- a/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java
+++ b/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java
@@ -16,14 +16,12 @@
package com.android.dialer.app.calllog;
-import android.app.Activity;
import android.content.Intent;
import android.database.ContentObserver;
import android.media.AudioManager;
import android.os.Bundle;
import android.provider.CallLog;
import android.provider.VoicemailContract;
-import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -119,22 +117,22 @@ public class VisualVoicemailCallLogFragment extends CallLogFragment {
}
@Override
- public void onPageResume(@Nullable Activity activity) {
- LogUtil.d("VisualVoicemailCallLogFragment.onPageResume", null);
- super.onPageResume(activity);
- if (activity != null) {
- activity.sendBroadcast(new Intent(VoicemailContract.ACTION_SYNC_VOICEMAIL));
- Logger.get(activity).logImpression(DialerImpression.Type.VVM_TAB_VIEWED);
- activity.setVolumeControlStream(VoicemailAudioManager.PLAYBACK_STREAM);
+ public void onVisible() {
+ LogUtil.enterBlock("VisualVoicemailCallLogFragment.onPageSelected");
+ super.onVisible();
+ if (getActivity() != null) {
+ getActivity().sendBroadcast(new Intent(VoicemailContract.ACTION_SYNC_VOICEMAIL));
+ Logger.get(getActivity()).logImpression(DialerImpression.Type.VVM_TAB_VIEWED);
+ getActivity().setVolumeControlStream(VoicemailAudioManager.PLAYBACK_STREAM);
}
}
@Override
- public void onPagePause(@Nullable Activity activity) {
- LogUtil.d("VisualVoicemailCallLogFragment.onPagePause", null);
- super.onPagePause(activity);
- if (activity != null) {
- activity.setVolumeControlStream(AudioManager.USE_DEFAULT_STREAM_TYPE);
+ public void onNotVisible() {
+ LogUtil.enterBlock("VisualVoicemailCallLogFragment.onPageUnselected");
+ super.onNotVisible();
+ if (getActivity() != null) {
+ getActivity().setVolumeControlStream(AudioManager.USE_DEFAULT_STREAM_TYPE);
}
}
}
diff --git a/java/com/android/dialer/app/contactinfo/ContactInfoCache.java b/java/com/android/dialer/app/contactinfo/ContactInfoCache.java
index ab5541b6f..85a9c3ef1 100644
--- a/java/com/android/dialer/app/contactinfo/ContactInfoCache.java
+++ b/java/com/android/dialer/app/contactinfo/ContactInfoCache.java
@@ -153,9 +153,9 @@ public class ContactInfoCache {
if (request.isLocalRequest()) {
info = mContactInfoHelper.lookupNumber(request.number, request.countryIso);
// TODO: Maybe skip look up if it's already available in cached number lookup service.
- long start = SystemClock.uptimeMillis();
+ long start = SystemClock.elapsedRealtime();
mContactInfoHelper.updateFromCequintCallerId(info, request.number);
- long time = SystemClock.uptimeMillis() - start;
+ long time = SystemClock.elapsedRealtime() - start;
LogUtil.d("ContactInfoCache.queryContactInfo", "Cequint Caller Id look up takes %d ms", time);
if (request.type == ContactInfoRequest.TYPE_LOCAL_AND_REMOTE) {
if (!mContactInfoHelper.hasName(info)) {
diff --git a/java/com/android/dialer/app/list/AllContactsFragment.java b/java/com/android/dialer/app/list/AllContactsFragment.java
index 29c0ec47f..04609970a 100644
--- a/java/com/android/dialer/app/list/AllContactsFragment.java
+++ b/java/com/android/dialer/app/list/AllContactsFragment.java
@@ -28,7 +28,6 @@ import android.database.Cursor;
import android.net.Uri;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.QuickContact;
-import android.support.annotation.Nullable;
import android.support.v13.app.FragmentCompat;
import android.view.LayoutInflater;
import android.view.View;
@@ -39,10 +38,8 @@ 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.list.ListsFragment.ListsPage;
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.util.DialerUtils;
import com.android.dialer.util.IntentUtil;
@@ -50,8 +47,7 @@ import com.android.dialer.util.PermissionsUtil;
/** Fragments to show all contacts with phone numbers. */
public class AllContactsFragment extends ContactEntryListFragment<ContactEntryListAdapter>
- implements ListsPage,
- OnEmptyViewActionButtonClickedListener,
+ implements OnEmptyViewActionButtonClickedListener,
FragmentCompat.OnRequestPermissionsResultCallback {
private static final int READ_CONTACTS_PERMISSION_REQUEST_CODE = 1;
@@ -193,14 +189,4 @@ public class AllContactsFragment extends ContactEntryListFragment<ContactEntryLi
}
}
}
-
- @Override
- public void onPageResume(@Nullable Activity activity) {
- LogUtil.i("AllContactsFragment.onPageResume", null);
- }
-
- @Override
- public void onPagePause(@Nullable Activity activity) {
- LogUtil.i("AllContactsFragment.onPagePause", null);
- }
}
diff --git a/java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java b/java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java
index 7e2525f24..542501cfd 100644
--- a/java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java
+++ b/java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java
@@ -185,15 +185,15 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter {
break;
case SHORTCUT_ADD_TO_EXISTING_CONTACT:
text = resources.getString(R.string.search_shortcut_add_to_contact);
- drawableId = R.drawable.ic_person_24dp;
+ drawableId = R.drawable.quantum_ic_person_white_24;
break;
case SHORTCUT_SEND_SMS_MESSAGE:
text = resources.getString(R.string.search_shortcut_send_sms_message);
- drawableId = R.drawable.ic_message_24dp;
+ drawableId = R.drawable.quantum_ic_message_white_24;
break;
case SHORTCUT_MAKE_VIDEO_CALL:
text = resources.getString(R.string.search_shortcut_make_video_call);
- drawableId = R.drawable.ic_videocam;
+ drawableId = R.drawable.quantum_ic_videocam_white_24;
break;
case SHORTCUT_BLOCK_NUMBER:
text = resources.getString(R.string.search_shortcut_block_number);
diff --git a/java/com/android/dialer/app/list/DialtactsPagerAdapter.java b/java/com/android/dialer/app/list/DialtactsPagerAdapter.java
new file mode 100644
index 000000000..3b700d81b
--- /dev/null
+++ b/java/com/android/dialer/app/list/DialtactsPagerAdapter.java
@@ -0,0 +1,189 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.app.Fragment;
+import android.app.FragmentManager;
+import android.content.Context;
+import android.support.annotation.IntDef;
+import android.support.v13.app.FragmentPagerAdapter;
+import android.view.ViewGroup;
+import com.android.dialer.app.calllog.CallLogFragment;
+import com.android.dialer.app.calllog.VisualVoicemailCallLogFragment;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.ConfigProviderBindings;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.database.CallLogQueryHandler;
+import com.android.dialer.speeddial.SpeedDialFragment;
+import com.android.dialer.util.ViewUtil;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/** ViewPager adapter for {@link com.android.dialer.app.DialtactsActivity}. */
+public class DialtactsPagerAdapter extends FragmentPagerAdapter {
+
+ /** IntDef for indices of ViewPager tabs. */
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef({TAB_INDEX_SPEED_DIAL, TAB_INDEX_HISTORY, TAB_INDEX_ALL_CONTACTS, TAB_INDEX_VOICEMAIL})
+ public @interface TabIndex {}
+
+ public static final int TAB_INDEX_SPEED_DIAL = 0;
+ public static final int TAB_INDEX_HISTORY = 1;
+ public static final int TAB_INDEX_ALL_CONTACTS = 2;
+ public static final int TAB_INDEX_VOICEMAIL = 3;
+ public static final int TAB_COUNT_DEFAULT = 3;
+ public static final int TAB_COUNT_WITH_VOICEMAIL = 4;
+
+ private final List<Fragment> fragments = new ArrayList<>();
+ private final String[] tabTitles;
+ private final boolean useNewSpeedDialTab;
+
+ private OldSpeedDialFragment oldSpeedDialFragment;
+ private SpeedDialFragment speedDialFragment;
+ private CallLogFragment callLogFragment;
+ private AllContactsFragment contactsFragment;
+ private CallLogFragment voicemailFragment;
+
+ public boolean hasActiveVoicemailProvider;
+
+ public DialtactsPagerAdapter(
+ Context context, FragmentManager fm, String[] tabTitles, boolean hasVoicemailProvider) {
+ super(fm);
+ useNewSpeedDialTab =
+ ConfigProviderBindings.get(context).getBoolean("enable_new_favorites_tab", false);
+ this.tabTitles = tabTitles;
+ hasActiveVoicemailProvider = hasVoicemailProvider;
+ fragments.addAll(Collections.nCopies(TAB_COUNT_WITH_VOICEMAIL, null));
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return getRtlPosition(position);
+ }
+
+ @Override
+ public Fragment getItem(int position) {
+ LogUtil.d("ViewPagerAdapter.getItem", "position: %d", position);
+ switch (getRtlPosition(position)) {
+ case TAB_INDEX_SPEED_DIAL:
+ if (useNewSpeedDialTab) {
+ if (speedDialFragment == null) {
+ speedDialFragment = SpeedDialFragment.newInstance();
+ }
+ return speedDialFragment;
+ } else {
+ if (oldSpeedDialFragment == null) {
+ oldSpeedDialFragment = new OldSpeedDialFragment();
+ }
+ return oldSpeedDialFragment;
+ }
+ case TAB_INDEX_HISTORY:
+ if (callLogFragment == null) {
+ callLogFragment = new CallLogFragment(CallLogQueryHandler.CALL_TYPE_ALL);
+ }
+ return callLogFragment;
+ case TAB_INDEX_ALL_CONTACTS:
+ if (contactsFragment == null) {
+ contactsFragment = new AllContactsFragment();
+ }
+ return contactsFragment;
+ case TAB_INDEX_VOICEMAIL:
+ if (voicemailFragment == null) {
+ voicemailFragment = new VisualVoicemailCallLogFragment();
+ LogUtil.v(
+ "ViewPagerAdapter.getItem",
+ "new VisualVoicemailCallLogFragment: %s",
+ voicemailFragment);
+ }
+ return voicemailFragment;
+ default:
+ throw Assert.createIllegalStateFailException("No fragment at position " + position);
+ }
+ }
+
+ @Override
+ public Fragment instantiateItem(ViewGroup container, int position) {
+ LogUtil.d("ViewPagerAdapter.instantiateItem", "position: %d", position);
+ // On rotation the FragmentManager handles rotation. Therefore getItem() isn't called.
+ // Copy the fragments that the FragmentManager finds so that we can store them in
+ // instance variables for later.
+ final Fragment fragment = (Fragment) super.instantiateItem(container, position);
+ if (fragment instanceof OldSpeedDialFragment) {
+ oldSpeedDialFragment = (OldSpeedDialFragment) fragment;
+ } else if (fragment instanceof SpeedDialFragment) {
+ speedDialFragment = (SpeedDialFragment) fragment;
+ } else if (fragment instanceof CallLogFragment && position == TAB_INDEX_HISTORY) {
+ callLogFragment = (CallLogFragment) fragment;
+ } else if (fragment instanceof AllContactsFragment) {
+ contactsFragment = (AllContactsFragment) fragment;
+ } else if (fragment instanceof CallLogFragment && position == TAB_INDEX_VOICEMAIL) {
+ voicemailFragment = (CallLogFragment) fragment;
+ LogUtil.v("ViewPagerAdapter.instantiateItem", voicemailFragment.toString());
+ }
+ fragments.set(position, fragment);
+ return fragment;
+ }
+
+ /**
+ * When {@link android.support.v4.view.PagerAdapter#notifyDataSetChanged} is called, this method
+ * is called on all pages to determine whether they need to be recreated. When the voicemail tab
+ * is removed, the view needs to be recreated by returning POSITION_NONE. If notifyDataSetChanged
+ * is called for some other reason, the voicemail tab is recreated only if it is active. All other
+ * tabs do not need to be recreated and POSITION_UNCHANGED is returned.
+ */
+ @Override
+ public int getItemPosition(Object object) {
+ return !hasActiveVoicemailProvider && fragments.indexOf(object) == TAB_INDEX_VOICEMAIL
+ ? POSITION_NONE
+ : POSITION_UNCHANGED;
+ }
+
+ @Override
+ public int getCount() {
+ return hasActiveVoicemailProvider ? TAB_COUNT_WITH_VOICEMAIL : TAB_COUNT_DEFAULT;
+ }
+
+ @Override
+ public CharSequence getPageTitle(@TabIndex int position) {
+ return tabTitles[position];
+ }
+
+ public int getRtlPosition(int position) {
+ if (ViewUtil.isRtl()) {
+ return getCount() - 1 - position;
+ }
+ return position;
+ }
+
+ public void removeVoicemailFragment(FragmentManager manager) {
+ if (voicemailFragment != null) {
+ manager.beginTransaction().remove(voicemailFragment).commitAllowingStateLoss();
+ voicemailFragment = null;
+ }
+ }
+
+ public boolean hasActiveVoicemailProvider() {
+ return hasActiveVoicemailProvider;
+ }
+
+ public void setHasActiveVoicemailProvider(boolean hasActiveVoicemailProvider) {
+ this.hasActiveVoicemailProvider = hasActiveVoicemailProvider;
+ }
+}
diff --git a/java/com/android/dialer/app/list/ListsFragment.java b/java/com/android/dialer/app/list/ListsFragment.java
index 3b94e1562..bf29ef310 100644
--- a/java/com/android/dialer/app/list/ListsFragment.java
+++ b/java/com/android/dialer/app/list/ListsFragment.java
@@ -13,11 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package com.android.dialer.app.list;
-import android.app.Activity;
+import static com.android.dialer.app.list.DialtactsPagerAdapter.TAB_COUNT_WITH_VOICEMAIL;
+import static com.android.dialer.app.list.DialtactsPagerAdapter.TAB_INDEX_ALL_CONTACTS;
+import static com.android.dialer.app.list.DialtactsPagerAdapter.TAB_INDEX_HISTORY;
+import static com.android.dialer.app.list.DialtactsPagerAdapter.TAB_INDEX_SPEED_DIAL;
+import static com.android.dialer.app.list.DialtactsPagerAdapter.TAB_INDEX_VOICEMAIL;
+
import android.app.Fragment;
-import android.app.FragmentManager;
import android.content.SharedPreferences;
import android.database.ContentObserver;
import android.database.Cursor;
@@ -26,8 +31,6 @@ import android.os.Handler;
import android.os.Trace;
import android.preference.PreferenceManager;
import android.provider.VoicemailContract;
-import android.support.annotation.Nullable;
-import android.support.v13.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.LayoutInflater;
@@ -37,7 +40,6 @@ import com.android.contacts.common.list.ViewPagerTabs;
import com.android.dialer.app.R;
import com.android.dialer.app.calllog.CallLogFragment;
import com.android.dialer.app.calllog.CallLogNotificationsService;
-import com.android.dialer.app.calllog.VisualVoicemailCallLogFragment;
import com.android.dialer.app.voicemail.error.VoicemailStatusCorruptionHandler;
import com.android.dialer.app.voicemail.error.VoicemailStatusCorruptionHandler.Source;
import com.android.dialer.common.LogUtil;
@@ -45,11 +47,10 @@ import com.android.dialer.database.CallLogQueryHandler;
import com.android.dialer.logging.Logger;
import com.android.dialer.logging.nano.DialerImpression;
import com.android.dialer.logging.nano.ScreenEvent;
-import com.android.dialer.util.ViewUtil;
+import com.android.dialer.speeddial.SpeedDialFragment;
import com.android.dialer.voicemailstatus.VisualVoicemailEnabledChecker;
import com.android.dialer.voicemailstatus.VoicemailStatusHelper;
import java.util.ArrayList;
-import java.util.List;
/**
* Fragment that is used as the main screen of the Dialer.
@@ -61,51 +62,18 @@ import java.util.List;
public class ListsFragment extends Fragment
implements ViewPager.OnPageChangeListener, CallLogQueryHandler.Listener {
- /** Every fragment in the list show implement this interface. */
- public interface ListsPage {
-
- /**
- * Called when the page is resumed, including selecting the page or activity resume. Note: This
- * is called before the page fragment is attached to a activity.
- *
- * @param activity the activity hosting the ListFragment
- */
- void onPageResume(@Nullable Activity activity);
-
- /**
- * Called when the page is paused, including selecting another page or activity pause. Note:
- * This is called after the page fragment is detached from a activity.
- *
- * @param activity the activity hosting the ListFragment
- */
- void onPagePause(@Nullable Activity activity);
- }
-
- public static final int TAB_INDEX_SPEED_DIAL = 0;
- public static final int TAB_INDEX_HISTORY = 1;
- public static final int TAB_INDEX_ALL_CONTACTS = 2;
- public static final int TAB_INDEX_VOICEMAIL = 3;
- public static final int TAB_COUNT_DEFAULT = 3;
- public static final int TAB_COUNT_WITH_VOICEMAIL = 4;
private static final String TAG = "ListsFragment";
private ViewPager mViewPager;
private ViewPagerTabs mViewPagerTabs;
- private ViewPagerAdapter mViewPagerAdapter;
+ private DialtactsPagerAdapter mAdapter;
private RemoveView mRemoveView;
private View mRemoveViewContent;
- private SpeedDialFragment mSpeedDialFragment;
- private CallLogFragment mHistoryFragment;
- private AllContactsFragment mAllContactsFragment;
- private CallLogFragment mVoicemailFragment;
- private ListsPage mCurrentPage;
+ private Fragment mCurrentPage;
private SharedPreferences mPrefs;
- private boolean mHasActiveVoicemailProvider;
private boolean mHasFetchedVoicemailStatus;
private boolean mShowVoicemailTabAfterVoicemailStatusIsFetched;
private VoicemailStatusHelper mVoicemailStatusHelper;
private final ArrayList<OnPageChangeListener> mOnPageChangeListeners = new ArrayList<>();
- private String[] mTabTitles;
- private int[] mTabIcons;
/** The position of the currently selected tab. */
private int mTabIndex = TAB_INDEX_SPEED_DIAL;
@@ -125,15 +93,8 @@ public class ListsFragment extends Fragment
LogUtil.d("ListsFragment.onCreate", null);
Trace.beginSection(TAG + " onCreate");
super.onCreate(savedInstanceState);
-
mVoicemailStatusHelper = new VoicemailStatusHelper();
- mHasFetchedVoicemailStatus = false;
-
mPrefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
- mHasActiveVoicemailProvider =
- mPrefs.getBoolean(
- VisualVoicemailEnabledChecker.PREF_KEY_HAS_ACTIVE_VOICEMAIL_PROVIDER, false);
-
Trace.endSection();
}
@@ -153,17 +114,17 @@ public class ListsFragment extends Fragment
mCallLogQueryHandler.fetchVoicemailStatus();
mCallLogQueryHandler.fetchMissedCallsUnreadCount();
Trace.endSection();
- mCurrentPage = getListsPage(mViewPager.getCurrentItem());
- if (mCurrentPage != null) {
- mCurrentPage.onPageResume(getActivity());
+ mCurrentPage = mAdapter.getItem(mViewPager.getCurrentItem());
+ if (mCurrentPage instanceof CallLogFragment) {
+ ((CallLogFragment) mCurrentPage).onVisible();
}
}
@Override
public void onPause() {
LogUtil.d("ListsFragment.onPause", null);
- if (mCurrentPage != null) {
- mCurrentPage.onPagePause(getActivity());
+ if (mCurrentPage instanceof CallLogFragment) {
+ ((CallLogFragment) mCurrentPage).onNotVisible();
}
super.onPause();
}
@@ -183,27 +144,34 @@ public class ListsFragment extends Fragment
final View parentView = inflater.inflate(R.layout.lists_fragment, container, false);
Trace.endSection();
Trace.beginSection(TAG + " setup views");
+
+ 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);
+ tabTitles[TAB_INDEX_ALL_CONTACTS] = getResources().getString(R.string.tab_all_contacts);
+ tabTitles[TAB_INDEX_VOICEMAIL] = getResources().getString(R.string.tab_voicemail);
+
+ int[] tabIcons = new int[TAB_COUNT_WITH_VOICEMAIL];
+ tabIcons[TAB_INDEX_SPEED_DIAL] = R.drawable.quantum_ic_grade_white_24;
+ tabIcons[TAB_INDEX_HISTORY] = R.drawable.quantum_ic_schedule_white_24;
+ 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);
- mViewPagerAdapter = new ViewPagerAdapter(getChildFragmentManager());
- mViewPager.setAdapter(mViewPagerAdapter);
+ mAdapter =
+ new DialtactsPagerAdapter(
+ getContext(),
+ getChildFragmentManager(),
+ tabTitles,
+ mPrefs.getBoolean(
+ VisualVoicemailEnabledChecker.PREF_KEY_HAS_ACTIVE_VOICEMAIL_PROVIDER, false));
+ mViewPager.setAdapter(mAdapter);
mViewPager.setOffscreenPageLimit(TAB_COUNT_WITH_VOICEMAIL - 1);
mViewPager.addOnPageChangeListener(this);
showTab(TAB_INDEX_SPEED_DIAL);
- mTabTitles = new String[TAB_COUNT_WITH_VOICEMAIL];
- mTabTitles[TAB_INDEX_SPEED_DIAL] = getResources().getString(R.string.tab_speed_dial);
- mTabTitles[TAB_INDEX_HISTORY] = getResources().getString(R.string.tab_history);
- mTabTitles[TAB_INDEX_ALL_CONTACTS] = getResources().getString(R.string.tab_all_contacts);
- mTabTitles[TAB_INDEX_VOICEMAIL] = getResources().getString(R.string.tab_voicemail);
-
- mTabIcons = new int[TAB_COUNT_WITH_VOICEMAIL];
- mTabIcons[TAB_INDEX_SPEED_DIAL] = R.drawable.ic_grade_24dp;
- mTabIcons[TAB_INDEX_HISTORY] = R.drawable.ic_schedule_24dp;
- mTabIcons[TAB_INDEX_ALL_CONTACTS] = R.drawable.ic_people_24dp;
- mTabIcons[TAB_INDEX_VOICEMAIL] = R.drawable.ic_voicemail_24dp;
-
mViewPagerTabs = (ViewPagerTabs) parentView.findViewById(R.id.lists_pager_header);
- mViewPagerTabs.configureTabIcons(mTabIcons);
+ mViewPagerTabs.configureTabIcons(tabIcons);
mViewPagerTabs.setViewPager(mViewPager);
addOnPageChangeListener(mViewPagerTabs);
@@ -239,20 +207,20 @@ public class ListsFragment extends Fragment
*/
public void showTab(int index) {
if (index == TAB_INDEX_VOICEMAIL) {
- if (mHasActiveVoicemailProvider) {
- mViewPager.setCurrentItem(getRtlPosition(TAB_INDEX_VOICEMAIL));
+ if (mAdapter.hasActiveVoicemailProvider()) {
+ mViewPager.setCurrentItem(mAdapter.getRtlPosition(TAB_INDEX_VOICEMAIL));
} else if (!mHasFetchedVoicemailStatus) {
// Try to show the voicemail tab after the voicemail status returns.
mShowVoicemailTabAfterVoicemailStatusIsFetched = true;
}
} else if (index < getTabCount()) {
- mViewPager.setCurrentItem(getRtlPosition(index));
+ mViewPager.setCurrentItem(mAdapter.getRtlPosition(index));
}
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
- mTabIndex = getRtlPosition(position);
+ mTabIndex = mAdapter.getRtlPosition(position);
final int count = mOnPageChangeListeners.size();
for (int i = 0; i < count; i++) {
@@ -263,7 +231,7 @@ public class ListsFragment extends Fragment
@Override
public void onPageSelected(int position) {
LogUtil.i("ListsFragment.onPageSelected", "position: %d", position);
- mTabIndex = getRtlPosition(position);
+ mTabIndex = mAdapter.getRtlPosition(position);
// Show the tab which has been selected instead.
mShowVoicemailTabAfterVoicemailStatusIsFetched = false;
@@ -274,12 +242,12 @@ public class ListsFragment extends Fragment
}
sendScreenViewForCurrentPosition();
- if (mCurrentPage != null) {
- mCurrentPage.onPagePause(getActivity());
+ if (mCurrentPage instanceof CallLogFragment) {
+ ((CallLogFragment) mCurrentPage).onNotVisible();
}
- mCurrentPage = getListsPage(position);
- if (mCurrentPage != null) {
- mCurrentPage.onPageResume(getActivity());
+ mCurrentPage = mAdapter.getItem(position);
+ if (mCurrentPage instanceof CallLogFragment) {
+ ((CallLogFragment) mCurrentPage).onVisible();
}
}
@@ -302,19 +270,19 @@ public class ListsFragment extends Fragment
VoicemailStatusCorruptionHandler.maybeFixVoicemailStatus(
getContext(), statusCursor, Source.Activity);
- // Update mHasActiveVoicemailProvider, which controls the number of tabs displayed.
+ // Update hasActiveVoicemailProvider, which controls the number of tabs displayed.
boolean hasActiveVoicemailProvider =
mVoicemailStatusHelper.getNumberActivityVoicemailSources(statusCursor) > 0;
- if (hasActiveVoicemailProvider != mHasActiveVoicemailProvider) {
- mHasActiveVoicemailProvider = hasActiveVoicemailProvider;
- mViewPagerAdapter.notifyDataSetChanged();
+ if (hasActiveVoicemailProvider != mAdapter.hasActiveVoicemailProvider()) {
+ mAdapter.setHasActiveVoicemailProvider(hasActiveVoicemailProvider);
+ mAdapter.notifyDataSetChanged();
if (hasActiveVoicemailProvider) {
Logger.get(getContext()).logImpression(DialerImpression.Type.VVM_TAB_VISIBLE);
mViewPagerTabs.updateTab(TAB_INDEX_VOICEMAIL);
} else {
mViewPagerTabs.removeTab(TAB_INDEX_VOICEMAIL);
- removeVoicemailFragment();
+ mAdapter.removeVoicemailFragment(getChildFragmentManager());
}
mPrefs
@@ -329,7 +297,7 @@ public class ListsFragment extends Fragment
mCallLogQueryHandler.fetchVoicemailUnreadCount();
}
- if (mHasActiveVoicemailProvider && mShowVoicemailTabAfterVoicemailStatusIsFetched) {
+ if (mAdapter.hasActiveVoicemailProvider() && mShowVoicemailTabAfterVoicemailStatusIsFetched) {
mShowVoicemailTabAfterVoicemailStatusIsFetched = false;
showTab(TAB_INDEX_VOICEMAIL);
}
@@ -386,7 +354,7 @@ public class ListsFragment extends Fragment
public void updateTabUnreadCounts() {
if (mCallLogQueryHandler != null) {
mCallLogQueryHandler.fetchMissedCallsUnreadCount();
- if (mHasActiveVoicemailProvider) {
+ if (mAdapter.hasActiveVoicemailProvider()) {
mCallLogQueryHandler.fetchVoicemailUnreadCount();
}
}
@@ -406,8 +374,11 @@ public class ListsFragment extends Fragment
mRemoveView.animate().alpha(show ? 1 : 0).start();
}
- public SpeedDialFragment getSpeedDialFragment() {
- return mSpeedDialFragment;
+ public boolean hasFrequents() {
+ Fragment page = mAdapter.getItem(mAdapter.getRtlPosition(TAB_INDEX_SPEED_DIAL));
+ return page instanceof OldSpeedDialFragment
+ ? ((OldSpeedDialFragment) page).hasFrequents()
+ : ((SpeedDialFragment) page).hasFrequents();
}
public RemoveView getRemoveView() {
@@ -415,14 +386,7 @@ public class ListsFragment extends Fragment
}
public int getTabCount() {
- return mViewPagerAdapter.getCount();
- }
-
- private int getRtlPosition(int position) {
- if (ViewUtil.isRtl()) {
- return mViewPagerAdapter.getCount() - 1 - position;
- }
- return position;
+ return mAdapter.getCount();
}
public void sendScreenViewForCurrentPosition() {
@@ -449,122 +413,4 @@ public class ListsFragment extends Fragment
}
Logger.get(getActivity()).logScreenView(screenType, getActivity());
}
-
- private void removeVoicemailFragment() {
- if (mVoicemailFragment != null) {
- getChildFragmentManager()
- .beginTransaction()
- .remove(mVoicemailFragment)
- .commitAllowingStateLoss();
- mVoicemailFragment = null;
- }
- }
-
- private ListsPage getListsPage(int position) {
- switch (getRtlPosition(position)) {
- case TAB_INDEX_SPEED_DIAL:
- return mSpeedDialFragment;
- case TAB_INDEX_HISTORY:
- return mHistoryFragment;
- case TAB_INDEX_ALL_CONTACTS:
- return mAllContactsFragment;
- case TAB_INDEX_VOICEMAIL:
- return mVoicemailFragment;
- }
- throw new IllegalStateException("No fragment at position " + position);
- }
-
- public class ViewPagerAdapter extends FragmentPagerAdapter {
-
- private final List<Fragment> mFragments = new ArrayList<>();
-
- public ViewPagerAdapter(FragmentManager fm) {
- super(fm);
- for (int i = 0; i < TAB_COUNT_WITH_VOICEMAIL; i++) {
- mFragments.add(null);
- }
- }
-
- @Override
- public long getItemId(int position) {
- return getRtlPosition(position);
- }
-
- @Override
- public Fragment getItem(int position) {
- LogUtil.d("ViewPagerAdapter.getItem", "position: %d", position);
- switch (getRtlPosition(position)) {
- case TAB_INDEX_SPEED_DIAL:
- if (mSpeedDialFragment == null) {
- mSpeedDialFragment = new SpeedDialFragment();
- }
- return mSpeedDialFragment;
- case TAB_INDEX_HISTORY:
- if (mHistoryFragment == null) {
- mHistoryFragment = new CallLogFragment(CallLogQueryHandler.CALL_TYPE_ALL);
- }
- return mHistoryFragment;
- case TAB_INDEX_ALL_CONTACTS:
- if (mAllContactsFragment == null) {
- mAllContactsFragment = new AllContactsFragment();
- }
- return mAllContactsFragment;
- case TAB_INDEX_VOICEMAIL:
- if (mVoicemailFragment == null) {
- mVoicemailFragment = new VisualVoicemailCallLogFragment();
- LogUtil.v(
- "ViewPagerAdapter.getItem",
- "new VisualVoicemailCallLogFragment: %s",
- mVoicemailFragment);
- }
- return mVoicemailFragment;
- }
- throw new IllegalStateException("No fragment at position " + position);
- }
-
- @Override
- public Fragment instantiateItem(ViewGroup container, int position) {
- LogUtil.d("ViewPagerAdapter.instantiateItem", "position: %d", position);
- // On rotation the FragmentManager handles rotation. Therefore getItem() isn't called.
- // Copy the fragments that the FragmentManager finds so that we can store them in
- // instance variables for later.
- final Fragment fragment = (Fragment) super.instantiateItem(container, position);
- if (fragment instanceof SpeedDialFragment) {
- mSpeedDialFragment = (SpeedDialFragment) fragment;
- } else if (fragment instanceof CallLogFragment && position == TAB_INDEX_HISTORY) {
- mHistoryFragment = (CallLogFragment) fragment;
- } else if (fragment instanceof AllContactsFragment) {
- mAllContactsFragment = (AllContactsFragment) fragment;
- } else if (fragment instanceof CallLogFragment && position == TAB_INDEX_VOICEMAIL) {
- mVoicemailFragment = (CallLogFragment) fragment;
- LogUtil.v("ViewPagerAdapter.instantiateItem", mVoicemailFragment.toString());
- }
- mFragments.set(position, fragment);
- return fragment;
- }
-
- /**
- * When {@link android.support.v4.view.PagerAdapter#notifyDataSetChanged} is called, this method
- * is called on all pages to determine whether they need to be recreated. When the voicemail tab
- * is removed, the view needs to be recreated by returning POSITION_NONE. If
- * notifyDataSetChanged is called for some other reason, the voicemail tab is recreated only if
- * it is active. All other tabs do not need to be recreated and POSITION_UNCHANGED is returned.
- */
- @Override
- public int getItemPosition(Object object) {
- return !mHasActiveVoicemailProvider && mFragments.indexOf(object) == TAB_INDEX_VOICEMAIL
- ? POSITION_NONE
- : POSITION_UNCHANGED;
- }
-
- @Override
- public int getCount() {
- return mHasActiveVoicemailProvider ? TAB_COUNT_WITH_VOICEMAIL : TAB_COUNT_DEFAULT;
- }
-
- @Override
- public CharSequence getPageTitle(int position) {
- return mTabTitles[position];
- }
- }
}
diff --git a/java/com/android/dialer/app/list/SpeedDialFragment.java b/java/com/android/dialer/app/list/OldSpeedDialFragment.java
index 8e0f89028..4aafd9625 100644
--- a/java/com/android/dialer/app/list/SpeedDialFragment.java
+++ b/java/com/android/dialer/app/list/OldSpeedDialFragment.java
@@ -31,7 +31,6 @@ import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
import android.os.Trace;
-import android.support.annotation.Nullable;
import android.support.v13.app.FragmentCompat;
import android.support.v4.util.LongSparseArray;
import android.view.LayoutInflater;
@@ -51,7 +50,6 @@ 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.list.ListsFragment.ListsPage;
import com.android.dialer.app.widget.EmptyContentView;
import com.android.dialer.callintent.nano.CallInitiationType;
import com.android.dialer.callintent.nano.CallSpecificAppData;
@@ -61,9 +59,8 @@ import com.android.dialer.util.ViewUtil;
import java.util.ArrayList;
/** This fragment displays the user's favorite/frequent contacts in a grid. */
-public class SpeedDialFragment extends Fragment
- implements ListsPage,
- OnItemClickListener,
+public class OldSpeedDialFragment extends Fragment
+ implements OnItemClickListener,
PhoneFavoritesTileAdapter.OnDataSetChangedForAnimationListener,
EmptyContentView.OnEmptyViewActionButtonClickedListener,
FragmentCompat.OnRequestPermissionsResultCallback {
@@ -79,7 +76,7 @@ public class SpeedDialFragment extends Fragment
*/
private static final long KEY_REMOVED_ITEM_HEIGHT = Long.MAX_VALUE;
- private static final String TAG = "SpeedDialFragment";
+ private static final String TAG = "OldSpeedDialFragment";
private static final boolean DEBUG = false;
/** Used with LoaderManager. */
private static final int LOADER_ID_CONTACT_TILE = 1;
@@ -104,7 +101,7 @@ public class SpeedDialFragment extends Fragment
@Override
public void onCreate(Bundle savedState) {
if (DEBUG) {
- LogUtil.d("SpeedDialFragment.onCreate", null);
+ LogUtil.d("OldSpeedDialFragment.onCreate", null);
}
Trace.beginSection(TAG + " onCreate");
super.onCreate(savedState);
@@ -256,7 +253,7 @@ public class SpeedDialFragment extends Fragment
final int contactTileAdapterCount = mContactTileAdapter.getCount();
if (position <= contactTileAdapterCount) {
LogUtil.e(
- "SpeedDialFragment.onItemClick",
+ "OldSpeedDialFragment.onItemClick",
"event for unexpected position. The position "
+ position
+ " is before \"all\" section. Ignored.");
@@ -272,7 +269,7 @@ public class SpeedDialFragment extends Fragment
private void saveOffsets(int removedItemHeight) {
final int firstVisiblePosition = mListView.getFirstVisiblePosition();
if (DEBUG) {
- LogUtil.d("SpeedDialFragment.saveOffsets", "Child count : " + mListView.getChildCount());
+ LogUtil.d("OldSpeedDialFragment.saveOffsets", "Child count : " + mListView.getChildCount());
}
for (int i = 0; i < mListView.getChildCount(); i++) {
final View child = mListView.getChildAt(i);
@@ -286,7 +283,7 @@ public class SpeedDialFragment extends Fragment
final long itemId = mContactTileAdapter.getItemId(position);
if (DEBUG) {
LogUtil.d(
- "SpeedDialFragment.saveOffsets",
+ "OldSpeedDialFragment.saveOffsets",
"Saving itemId: " + itemId + " for listview child " + i + " Top: " + child.getTop());
}
mItemIdTopMap.put(itemId, child.getTop());
@@ -356,7 +353,7 @@ public class SpeedDialFragment extends Fragment
if (DEBUG) {
LogUtil.d(
- "SpeedDialFragment.onPreDraw",
+ "OldSpeedDialFragment.onPreDraw",
"Found itemId: "
+ itemId
+ " for listview child "
@@ -426,16 +423,6 @@ public class SpeedDialFragment extends Fragment
}
}
- @Override
- public void onPageResume(@Nullable Activity activity) {
- LogUtil.i("SpeedDialFragment.onPageResume", null);
- }
-
- @Override
- public void onPagePause(@Nullable Activity activity) {
- LogUtil.i("SpeedDialFragment.onPagePause", null);
- }
-
public interface HostInterface {
void setDragDropController(DragDropController controller);
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/empty_call_log.png b/java/com/android/dialer/app/res/drawable-hdpi/empty_call_log.png
deleted file mode 100644
index d6f6daaab..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/empty_call_log.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/empty_contacts.png b/java/com/android/dialer/app/res/drawable-hdpi/empty_contacts.png
deleted file mode 100644
index d3c0378f5..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/empty_contacts.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/empty_speed_dial.png b/java/com/android/dialer/app/res/drawable-hdpi/empty_speed_dial.png
deleted file mode 100644
index 3e9232fc9..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/empty_speed_dial.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_archive_white_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_archive_white_24dp.png
deleted file mode 100644
index bb72e890f..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_archive_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_content_copy_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_content_copy_24dp.png
deleted file mode 100644
index 70eb07378..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_content_copy_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_delete_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_delete_24dp.png
deleted file mode 100644
index 9fb43b066..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_delete_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_add_call.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_add_call.png
deleted file mode 100644
index 4e0d5649e..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_add_call.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_current_call.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_current_call.png
deleted file mode 100644
index 2cf41d598..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_current_call.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_tt_keypad.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_tt_keypad.png
deleted file mode 100644
index 043685fd9..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_tt_keypad.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_grade_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_grade_24dp.png
deleted file mode 100644
index 86eecdd4a..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_grade_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_handle.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_handle.png
deleted file mode 100644
index 34310aa49..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_handle.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_menu_history_lt.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_menu_history_lt.png
deleted file mode 100644
index a36323ca9..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_menu_history_lt.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_mic_grey600.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_mic_grey600.png
deleted file mode 100644
index 4b67cf71a..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_mic_grey600.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_more_vert_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_more_vert_24dp.png
deleted file mode 100644
index 67f07e473..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_more_vert_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_not_interested_googblue_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_not_interested_googblue_24dp.png
deleted file mode 100644
index 26a26f911..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_not_interested_googblue_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_not_spam.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_not_spam.png
deleted file mode 100644
index bf413f912..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_not_spam.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_pause_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_pause_24dp.png
deleted file mode 100644
index 4d2ea05c4..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_pause_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_people_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_people_24dp.png
deleted file mode 100644
index ff698afc0..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_people_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_phone_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_phone_24dp.png
deleted file mode 100644
index b27dfba06..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_phone_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_play_arrow_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_play_arrow_24dp.png
deleted file mode 100644
index 57c9fa546..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_play_arrow_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_remove.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_remove.png
deleted file mode 100644
index 1ee6adf8d..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_remove.png
+++ /dev/null
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-hdpi/ic_schedule_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_schedule_24dp.png
deleted file mode 100644
index f3581d104..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_schedule_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_share_white_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_share_white_24dp.png
deleted file mode 100644
index b09a6926d..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_share_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_star.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_star.png
deleted file mode 100644
index 62e1f8a6d..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_star.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_unblock.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_unblock.png
deleted file mode 100644
index 03643b20d..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_unblock.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_vm_sound_off_dis.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_vm_sound_off_dis.png
deleted file mode 100644
index 47e32492c..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_vm_sound_off_dis.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_vm_sound_off_dk.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_vm_sound_off_dk.png
deleted file mode 100644
index 2bfe0c0cf..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_vm_sound_off_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_vm_sound_on_dis.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_vm_sound_on_dis.png
deleted file mode 100644
index 90b5238f3..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_vm_sound_on_dis.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_vm_sound_on_dk.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_vm_sound_on_dk.png
deleted file mode 100644
index 7556637fc..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_vm_sound_on_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_voicemail_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_voicemail_24dp.png
deleted file mode 100644
index 03a62e15f..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_voicemail_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_volume_down_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_volume_down_24dp.png
deleted file mode 100644
index e22e92c85..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_volume_down_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_volume_up_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_volume_up_24dp.png
deleted file mode 100644
index 57d787163..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_volume_up_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/search_shadow.9.png b/java/com/android/dialer/app/res/drawable-hdpi/search_shadow.9.png
deleted file mode 100644
index 3dc1c17f6..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/search_shadow.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/shadow_contact_photo.png b/java/com/android/dialer/app/res/drawable-hdpi/shadow_contact_photo.png
deleted file mode 100644
index 44b06f261..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/shadow_contact_photo.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-mdpi/ic_archive_white_24dp.png b/java/com/android/dialer/app/res/drawable-mdpi/ic_archive_white_24dp.png
deleted file mode 100644
index f6aa3f966..000000000
--- a/java/com/android/dialer/app/res/drawable-mdpi/ic_archive_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-mdpi/ic_content_copy_24dp.png b/java/com/android/dialer/app/res/drawable-mdpi/ic_content_copy_24dp.png
deleted file mode 100644
index 80c069557..000000000
--- a/java/com/android/dialer/app/res/drawable-mdpi/ic_content_copy_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-mdpi/ic_delete_24dp.png b/java/com/android/dialer/app/res/drawable-mdpi/ic_delete_24dp.png
deleted file mode 100644
index c903fd1dd..000000000
--- a/java/com/android/dialer/app/res/drawable-mdpi/ic_delete_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-mdpi/ic_grade_24dp.png b/java/com/android/dialer/app/res/drawable-mdpi/ic_grade_24dp.png
deleted file mode 100644
index d2cbe4c92..000000000
--- a/java/com/android/dialer/app/res/drawable-mdpi/ic_grade_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-mdpi/ic_more_vert_24dp.png b/java/com/android/dialer/app/res/drawable-mdpi/ic_more_vert_24dp.png
deleted file mode 100644
index 017e45ede..000000000
--- a/java/com/android/dialer/app/res/drawable-mdpi/ic_more_vert_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-mdpi/ic_pause_24dp.png b/java/com/android/dialer/app/res/drawable-mdpi/ic_pause_24dp.png
deleted file mode 100644
index 2272d478c..000000000
--- a/java/com/android/dialer/app/res/drawable-mdpi/ic_pause_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-mdpi/ic_people_24dp.png b/java/com/android/dialer/app/res/drawable-mdpi/ic_people_24dp.png
deleted file mode 100644
index 270e4de2e..000000000
--- a/java/com/android/dialer/app/res/drawable-mdpi/ic_people_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-mdpi/ic_play_arrow_24dp.png b/java/com/android/dialer/app/res/drawable-mdpi/ic_play_arrow_24dp.png
deleted file mode 100644
index c61e948bb..000000000
--- a/java/com/android/dialer/app/res/drawable-mdpi/ic_play_arrow_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-mdpi/ic_schedule_24dp.png b/java/com/android/dialer/app/res/drawable-mdpi/ic_schedule_24dp.png
deleted file mode 100644
index 501ee842e..000000000
--- a/java/com/android/dialer/app/res/drawable-mdpi/ic_schedule_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-mdpi/ic_share_white_24dp.png b/java/com/android/dialer/app/res/drawable-mdpi/ic_share_white_24dp.png
deleted file mode 100644
index e944fd70c..000000000
--- a/java/com/android/dialer/app/res/drawable-mdpi/ic_share_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-mdpi/ic_voicemail_24dp.png b/java/com/android/dialer/app/res/drawable-mdpi/ic_voicemail_24dp.png
deleted file mode 100644
index e5aa7db05..000000000
--- a/java/com/android/dialer/app/res/drawable-mdpi/ic_voicemail_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-mdpi/ic_volume_down_24dp.png b/java/com/android/dialer/app/res/drawable-mdpi/ic_volume_down_24dp.png
deleted file mode 100644
index 10992ed70..000000000
--- a/java/com/android/dialer/app/res/drawable-mdpi/ic_volume_down_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-mdpi/ic_volume_up_24dp.png b/java/com/android/dialer/app/res/drawable-mdpi/ic_volume_up_24dp.png
deleted file mode 100644
index 7cfd4c7b8..000000000
--- a/java/com/android/dialer/app/res/drawable-mdpi/ic_volume_up_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/ic_archive_white_24dp.png b/java/com/android/dialer/app/res/drawable-xhdpi/ic_archive_white_24dp.png
deleted file mode 100644
index 3513bd9fe..000000000
--- a/java/com/android/dialer/app/res/drawable-xhdpi/ic_archive_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/ic_content_copy_24dp.png b/java/com/android/dialer/app/res/drawable-xhdpi/ic_content_copy_24dp.png
deleted file mode 100644
index 537fd4e8b..000000000
--- a/java/com/android/dialer/app/res/drawable-xhdpi/ic_content_copy_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/ic_delete_24dp.png b/java/com/android/dialer/app/res/drawable-xhdpi/ic_delete_24dp.png
deleted file mode 100644
index be1ee4d07..000000000
--- a/java/com/android/dialer/app/res/drawable-xhdpi/ic_delete_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/ic_grade_24dp.png b/java/com/android/dialer/app/res/drawable-xhdpi/ic_grade_24dp.png
deleted file mode 100644
index d65f39d7c..000000000
--- a/java/com/android/dialer/app/res/drawable-xhdpi/ic_grade_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/ic_more_vert_24dp.png b/java/com/android/dialer/app/res/drawable-xhdpi/ic_more_vert_24dp.png
deleted file mode 100644
index efab8a74f..000000000
--- a/java/com/android/dialer/app/res/drawable-xhdpi/ic_more_vert_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/ic_pause_24dp.png b/java/com/android/dialer/app/res/drawable-xhdpi/ic_pause_24dp.png
deleted file mode 100644
index f49aed757..000000000
--- a/java/com/android/dialer/app/res/drawable-xhdpi/ic_pause_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/ic_people_24dp.png b/java/com/android/dialer/app/res/drawable-xhdpi/ic_people_24dp.png
deleted file mode 100644
index 323981ccf..000000000
--- a/java/com/android/dialer/app/res/drawable-xhdpi/ic_people_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/ic_play_arrow_24dp.png b/java/com/android/dialer/app/res/drawable-xhdpi/ic_play_arrow_24dp.png
deleted file mode 100644
index a3c80e73d..000000000
--- a/java/com/android/dialer/app/res/drawable-xhdpi/ic_play_arrow_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/ic_schedule_24dp.png b/java/com/android/dialer/app/res/drawable-xhdpi/ic_schedule_24dp.png
deleted file mode 100644
index 2e27936a4..000000000
--- a/java/com/android/dialer/app/res/drawable-xhdpi/ic_schedule_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/ic_share_white_24dp.png b/java/com/android/dialer/app/res/drawable-xhdpi/ic_share_white_24dp.png
deleted file mode 100644
index 22a8783e7..000000000
--- a/java/com/android/dialer/app/res/drawable-xhdpi/ic_share_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/ic_voicemail_24dp.png b/java/com/android/dialer/app/res/drawable-xhdpi/ic_voicemail_24dp.png
deleted file mode 100644
index 59126d706..000000000
--- a/java/com/android/dialer/app/res/drawable-xhdpi/ic_voicemail_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/ic_volume_down_24dp.png b/java/com/android/dialer/app/res/drawable-xhdpi/ic_volume_down_24dp.png
deleted file mode 100644
index 2621bc15d..000000000
--- a/java/com/android/dialer/app/res/drawable-xhdpi/ic_volume_down_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/ic_volume_up_24dp.png b/java/com/android/dialer/app/res/drawable-xhdpi/ic_volume_up_24dp.png
deleted file mode 100644
index 2ed00343b..000000000
--- a/java/com/android/dialer/app/res/drawable-xhdpi/ic_volume_up_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_archive_white_24dp.png b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_archive_white_24dp.png
deleted file mode 100644
index 00e04e42b..000000000
--- a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_archive_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_content_copy_24dp.png b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_content_copy_24dp.png
deleted file mode 100644
index 9dff893e7..000000000
--- a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_content_copy_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_delete_24dp.png b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_delete_24dp.png
deleted file mode 100644
index eb637920d..000000000
--- a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_delete_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_grade_24dp.png b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_grade_24dp.png
deleted file mode 100644
index aa5879215..000000000
--- a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_grade_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_more_vert_24dp.png b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_more_vert_24dp.png
deleted file mode 100644
index d32281307..000000000
--- a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_more_vert_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_pause_24dp.png b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_pause_24dp.png
deleted file mode 100644
index 7192ad487..000000000
--- a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_pause_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_people_24dp.png b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_people_24dp.png
deleted file mode 100644
index 6c68435fb..000000000
--- a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_people_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_play_arrow_24dp.png b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_play_arrow_24dp.png
deleted file mode 100644
index 547ef30aa..000000000
--- a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_play_arrow_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_schedule_24dp.png b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_schedule_24dp.png
deleted file mode 100644
index bfc72736a..000000000
--- a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_schedule_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_share_white_24dp.png b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_share_white_24dp.png
deleted file mode 100644
index a35b3cd14..000000000
--- a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_share_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_voicemail_24dp.png b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_voicemail_24dp.png
deleted file mode 100644
index 28b8e936a..000000000
--- a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_voicemail_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_volume_down_24dp.png b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_volume_down_24dp.png
deleted file mode 100644
index 5eb8b671f..000000000
--- a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_volume_down_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_volume_up_24dp.png b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_volume_up_24dp.png
deleted file mode 100644
index 2e751a40f..000000000
--- a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_volume_up_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_archive_white_24dp.png b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_archive_white_24dp.png
deleted file mode 100644
index 34cd3fd80..000000000
--- a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_archive_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_content_copy_24dp.png b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_content_copy_24dp.png
deleted file mode 100644
index 4ddee9ef0..000000000
--- a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_content_copy_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_delete_24dp.png b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_delete_24dp.png
deleted file mode 100644
index 2f250f64a..000000000
--- a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_delete_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_grade_24dp.png b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_grade_24dp.png
deleted file mode 100644
index 7f38d0963..000000000
--- a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_grade_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_more_vert_24dp.png b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_more_vert_24dp.png
deleted file mode 100644
index 2f2cb3d00..000000000
--- a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_more_vert_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_pause_24dp.png b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_pause_24dp.png
deleted file mode 100644
index 660ac6585..000000000
--- a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_pause_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_people_24dp.png b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_people_24dp.png
deleted file mode 100644
index 5676f7041..000000000
--- a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_people_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_play_arrow_24dp.png b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_play_arrow_24dp.png
deleted file mode 100644
index be5c062b5..000000000
--- a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_play_arrow_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_schedule_24dp.png b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_schedule_24dp.png
deleted file mode 100644
index b94f4dfa1..000000000
--- a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_schedule_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_share_white_24dp.png b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_share_white_24dp.png
deleted file mode 100644
index e351c7beb..000000000
--- a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_share_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_voicemail_24dp.png b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_voicemail_24dp.png
deleted file mode 100644
index 820ff5066..000000000
--- a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_voicemail_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_volume_down_24dp.png b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_volume_down_24dp.png
deleted file mode 100644
index 4ab55abbd..000000000
--- a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_volume_down_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_volume_up_24dp.png b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_volume_up_24dp.png
deleted file mode 100644
index 82972b4e5..000000000
--- a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_volume_up_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable/ic_pause.xml b/java/com/android/dialer/app/res/drawable/ic_pause.xml
index 5bea58192..7696eb0e2 100644
--- a/java/com/android/dialer/app/res/drawable/ic_pause.xml
+++ b/java/com/android/dialer/app/res/drawable/ic_pause.xml
@@ -18,13 +18,13 @@
<item android:state_enabled="false">
<bitmap
- android:src="@drawable/ic_pause_24dp"
+ android:src="@drawable/quantum_ic_pause_white_24"
android:tint="@color/voicemail_icon_disabled_tint"/>
</item>
<item>
<bitmap
- android:src="@drawable/ic_pause_24dp"
+ android:src="@drawable/quantum_ic_pause_white_24"
android:tint="@color/voicemail_playpause_icon_tint"/>
</item>
diff --git a/java/com/android/dialer/app/res/drawable/ic_play_arrow.xml b/java/com/android/dialer/app/res/drawable/ic_play_arrow.xml
index d7d935016..97f736c1f 100644
--- a/java/com/android/dialer/app/res/drawable/ic_play_arrow.xml
+++ b/java/com/android/dialer/app/res/drawable/ic_play_arrow.xml
@@ -19,13 +19,13 @@
<item android:state_enabled="false">
<bitmap
- android:src="@drawable/ic_play_arrow_24dp"
+ android:src="@drawable/quantum_ic_play_arrow_white_24"
android:tint="@color/voicemail_icon_disabled_tint"/>
</item>
<item>
<bitmap
- android:src="@drawable/ic_play_arrow_24dp"
+ android:src="@drawable/quantum_ic_play_arrow_white_24"
android:tint="@color/voicemail_playpause_icon_tint"/>
</item>
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 1592aa928..0fbbb9dd1 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
@@ -60,14 +60,30 @@
android:nextFocusRight="@+id/call_back_action"
android:nextFocusLeft="@+id/quick_contact_photo">
- <QuickContactBadge
- android:id="@+id/quick_contact_photo"
- android:layout_width="@dimen/contact_photo_size"
- android:layout_height="@dimen/contact_photo_size"
- android:paddingTop="2dp"
- android:nextFocusRight="@id/primary_action_view"
- android:layout_gravity="top"
- android:focusable="true"/>
+ <FrameLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ >
+
+ <QuickContactBadge
+ android:id="@+id/quick_contact_photo"
+ android:layout_width="@dimen/contact_photo_size"
+ android:layout_height="@dimen/contact_photo_size"
+ android:paddingTop="2dp"
+ android:nextFocusRight="@id/primary_action_view"
+ android:layout_gravity="top"
+ android:focusable="true"/>
+
+ <ImageView
+ android:id="@+id/quick_contact_checkbox"
+ android:scaleType="fitCenter"
+ 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" />
+
+ </FrameLayout>
+
<LinearLayout
android:layout_width="0dp"
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 fe77ac613..862882a62 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
@@ -40,7 +40,7 @@
<ImageView
style="@style/CallLogActionIconStyle"
- android:src="@drawable/ic_call_24dp"/>
+ android:src="@drawable/quantum_ic_call_white_24"/>
<LinearLayout
android:layout_width="match_parent"
@@ -93,7 +93,7 @@
<ImageView
style="@style/CallLogActionIconStyle"
- android:src="@drawable/ic_person_24dp"/>
+ android:src="@drawable/quantum_ic_person_white_24"/>
<TextView
style="@style/CallLogActionTextStyle"
@@ -107,7 +107,7 @@
<ImageView
style="@style/CallLogActionIconStyle"
- android:src="@drawable/ic_message_24dp"/>
+ android:src="@drawable/quantum_ic_message_white_24"/>
<TextView
style="@style/CallLogActionTextStyle"
@@ -164,7 +164,7 @@
<ImageView
style="@style/CallLogActionIconStyle"
- android:src="@drawable/ic_block_24dp"/>
+ android:src="@drawable/quantum_ic_block_white_24"/>
<TextView
style="@style/CallLogActionTextStyle"
@@ -178,7 +178,7 @@
<ImageView
style="@style/CallLogActionIconStyle"
- android:src="@drawable/ic_block_24dp"/>
+ android:src="@drawable/quantum_ic_block_white_24"/>
<TextView
style="@style/CallLogActionTextStyle"
@@ -205,7 +205,7 @@
<ImageView
style="@style/CallLogActionIconStyle"
- android:src="@drawable/ic_info_outline_24dp"/>
+ android:src="@drawable/quantum_ic_info_outline_white_24"/>
<TextView
style="@style/CallLogActionTextStyle"
@@ -220,7 +220,7 @@
<ImageView
style="@style/CallLogActionIconStyle"
- android:src="@drawable/quantum_ic_send_black_24"/>
+ android:src="@drawable/quantum_ic_send_white_24"/>
<TextView
style="@style/CallLogActionTextStyle"
diff --git a/java/com/android/dialer/app/res/layout/phone_favorite_tile_view.xml b/java/com/android/dialer/app/res/layout/phone_favorite_tile_view.xml
index 92b2e8e53..43594f649 100644
--- a/java/com/android/dialer/app/res/layout/phone_favorite_tile_view.xml
+++ b/java/com/android/dialer/app/res/layout/phone_favorite_tile_view.xml
@@ -122,7 +122,7 @@
android:background="@drawable/item_background_material_dark"
android:contentDescription="@string/description_view_contact_detail"
android:scaleType="center"
- android:src="@drawable/ic_more_vert_24dp"/>
+ android:src="@drawable/quantum_ic_more_vert_white_24"/>
</RelativeLayout>
</view>
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 1b4f9c4a4..903fbcae9 100644
--- a/java/com/android/dialer/app/res/layout/search_edittext.xml
+++ b/java/com/android/dialer/app/res/layout/search_edittext.xml
@@ -27,7 +27,7 @@
android:padding="@dimen/search_box_search_icon_padding"
android:importantForAccessibility="no"
android:scaleType="center"
- android:src="@drawable/ic_ab_search"
+ android:src="@drawable/quantum_ic_search_white_24"
android:tint="@color/searchbox_icon_tint"/>
<TextView
@@ -61,7 +61,7 @@
android:background="?android:attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/action_menu_overflow_description"
android:scaleType="center"
- android:src="@drawable/ic_overflow_menu"
+ android:src="@drawable/quantum_ic_more_vert_white_24"
android:tint="@color/searchbox_icon_tint"/>
</LinearLayout>
diff --git a/java/com/android/dialer/app/res/layout/voicemail_playback_layout.xml b/java/com/android/dialer/app/res/layout/voicemail_playback_layout.xml
index 7fff9d204..2589a67c6 100644
--- a/java/com/android/dialer/app/res/layout/voicemail_playback_layout.xml
+++ b/java/com/android/dialer/app/res/layout/voicemail_playback_layout.xml
@@ -79,7 +79,7 @@
android:id="@+id/playback_speakerphone"
style="@style/VoicemailPlaybackLayoutButtonStyle"
android:contentDescription="@string/description_playback_speakerphone"
- android:src="@drawable/ic_volume_down_24dp"
+ android:src="@drawable/quantum_ic_volume_down_white_24"
android:tint="@color/voicemail_icon_tint"/>
<Space
@@ -102,7 +102,7 @@
android:id="@+id/delete_voicemail"
style="@style/VoicemailPlaybackLayoutButtonStyle"
android:contentDescription="@string/call_log_trash_voicemail"
- android:src="@drawable/ic_delete_24dp"
+ android:src="@drawable/quantum_ic_delete_white_24"
android:tint="@color/voicemail_icon_tint"/>
<Space
diff --git a/java/com/android/dialer/app/res/menu/actionbar_delete.xml b/java/com/android/dialer/app/res/menu/actionbar_delete.xml
new file mode 100644
index 000000000..10e534941
--- /dev/null
+++ b/java/com/android/dialer/app/res/menu/actionbar_delete.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
+ -->
+
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+ <item
+ android:id="@+id/call_detail_delete_menu_item"
+ android:icon="@drawable/quantum_ic_delete_white_24"
+ android:title="@string/delete"
+ app:showAsAction="always"/>
+</menu> \ No newline at end of file
diff --git a/java/com/android/dialer/app/res/mipmap-hdpi/ic_launcher_phone.png b/java/com/android/dialer/app/res/mipmap-hdpi/ic_launcher_phone.png
deleted file mode 100644
index 15c41423b..000000000
--- a/java/com/android/dialer/app/res/mipmap-hdpi/ic_launcher_phone.png
+++ /dev/null
Binary files differ
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 d6195ba30..25bc8a6df 100644
--- a/java/com/android/dialer/app/res/values-de/strings.xml
+++ b/java/com/android/dialer/app/res/values-de/strings.xml
@@ -28,7 +28,7 @@
<string name="action_unblock_number" msgid="6583611581996402004">"Blockierung der Nummer aufheben"</string>
<string name="action_edit_number_before_call" msgid="8017492815878473837">"Nummer vor Anruf bearbeiten"</string>
<string name="call_log_delete_all" msgid="7852970926906523784">"Anrufliste löschen"</string>
- <string name="call_log_trash_voicemail" msgid="6118493534178533972">"Mailbox-Nachricht löschen"</string>
+ <string name="call_log_trash_voicemail" msgid="6118493534178533972">"Mailboxnachricht löschen"</string>
<string name="snackbar_voicemail_deleted" msgid="7463166543725496307">"Mailbox gelöscht"</string>
<string name="snackbar_voicemail_deleted_undo" msgid="6959743982796409941">"Rückgängig"</string>
<string name="clearCallLogConfirmation_title" msgid="7051888019546472245">"Anrufliste löschen?"</string>
@@ -43,16 +43,16 @@
<string name="notification_missedCall_message" msgid="5086910028988305964">"Nachricht"</string>
<string name="post_call_notification_message" msgid="5417476789860590611">"<xliff:g id="NAME">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>"</string>
<plurals name="notification_voicemail_title" formatted="false" msgid="1551847434476438657">
- <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> Mailbox-Nachrichten </item>
- <item quantity="one">Mailbox-Nachricht</item>
+ <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> Mailboxnachrichten </item>
+ <item quantity="one">Mailboxnachricht</item>
</plurals>
<string name="notification_action_voicemail_play" msgid="5156500902796354071">"Anhören"</string>
<string name="notification_voicemail_callers_list" msgid="7543659703018479564">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
- <string name="notification_new_voicemail_ticker" msgid="6547711461667072303">"Neue Mailbox-Nachricht von <xliff:g id="CALLER">%1$s</xliff:g>"</string>
- <string name="voicemail_playback_error" msgid="4384373852257757295">"Mailbox-Nachricht-Wiedergabe nicht möglich"</string>
- <string name="voicemail_fetching_content" msgid="572320120918636014">"Mailbox-Nachricht wird geladen…"</string>
- <string name="voicemail_archiving_content" msgid="2415183864104922185">"Mailbox-Nachricht wird archiviert…"</string>
- <string name="voicemail_fetching_timout" msgid="2128873915839949783">"Laden der Mailbox-Nachricht nicht möglich"</string>
+ <string name="notification_new_voicemail_ticker" msgid="6547711461667072303">"Neue Mailboxnachricht von <xliff:g id="CALLER">%1$s</xliff:g>"</string>
+ <string name="voicemail_playback_error" msgid="4384373852257757295">"Mailboxnachricht-Wiedergabe nicht möglich"</string>
+ <string name="voicemail_fetching_content" msgid="572320120918636014">"Mailboxnachricht wird geladen…"</string>
+ <string name="voicemail_archiving_content" msgid="2415183864104922185">"Mailboxnachricht wird archiviert…"</string>
+ <string name="voicemail_fetching_timout" msgid="2128873915839949783">"Laden der Mailboxnachricht nicht möglich"</string>
<string name="call_log_voicemail_header" msgid="5799424860394542726">"Nur Mailbox-Anrufe"</string>
<string name="call_log_incoming_header" msgid="1158753168119845168">"Nur eingehende Anrufe"</string>
<string name="call_log_outgoing_header" msgid="149333910997122683">"Nur ausgehende Anrufe"</string>
@@ -91,7 +91,7 @@
<string name="description_num_calls" msgid="6483594535796216044">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> Anrufe"</string>
<string name="description_video_call" msgid="3738199365585751727">"Videoanruf"</string>
<string name="description_send_text_message" msgid="8450269896765568596">"SMS an <xliff:g id="NAME">%1$s</xliff:g> senden"</string>
- <string name="description_call_log_unheard_voicemail" msgid="2258821530650350303">"Nicht abgehörte Mailbox-Nachricht"</string>
+ <string name="description_call_log_unheard_voicemail" msgid="2258821530650350303">"Nicht abgehörte Mailboxnachricht"</string>
<string name="description_start_voice_search" msgid="8380022725973015261">"Sprachsuche starten"</string>
<string name="menu_callNumber" msgid="1540773545517152514">"<xliff:g id="NUMBER">%s</xliff:g> wählen"</string>
<string name="voicemail" msgid="8899540969000957954">"Mailbox"</string>
@@ -122,7 +122,7 @@
<string name="call_log_activity_title" msgid="1275242727244945527">"Anrufliste"</string>
<string name="call_log_all_title" msgid="6042262422192020327">"Alle"</string>
<string name="call_log_missed_title" msgid="17254005889268015">"Entgangen"</string>
- <string name="call_log_voicemail_title" msgid="6504826963256437971">"Mailbox-Nachrichten"</string>
+ <string name="call_log_voicemail_title" msgid="6504826963256437971">"Mailboxnachrichten"</string>
<string name="tab_speed_dial" msgid="6616404752227561075">"Schnellauswahl"</string>
<string name="tab_history" msgid="7420269368689503596">"Anrufliste"</string>
<string name="tab_all_contacts" msgid="5531733977693943015">"Kontakte"</string>
@@ -149,17 +149,17 @@
<string name="call_log_action_call" msgid="682724094251540583">"<xliff:g id="NAMEORNUMBER">^1</xliff:g> anrufen"</string>
<string name="description_incoming_missed_call" msgid="8292535799379230029">"Anruf von <xliff:g id="NAMEORNUMBER">^1</xliff:g>, <xliff:g id="TYPEORLOCATION">^2</xliff:g>, <xliff:g id="TIMEOFCALL">^3</xliff:g>, <xliff:g id="PHONEACCOUNT">^4</xliff:g> verpasst"</string>
<string name="description_incoming_answered_call" msgid="3920182963103160610">"Anruf von <xliff:g id="NAMEORNUMBER">^1</xliff:g>, <xliff:g id="TYPEORLOCATION">^2</xliff:g>, <xliff:g id="TIMEOFCALL">^3</xliff:g>, <xliff:g id="PHONEACCOUNT">^4</xliff:g> angenommen"</string>
- <string name="description_unread_voicemail" msgid="145170985013419170">"Ungelesene Mailbox-Nachricht von <xliff:g id="NAMEORNUMBER">^1</xliff:g>, <xliff:g id="TYPEORLOCATION">^2</xliff:g>, <xliff:g id="TIMEOFCALL">^3</xliff:g>, <xliff:g id="PHONEACCOUNT">^4</xliff:g>."</string>
- <string name="description_read_voicemail" msgid="5585559881573227732">"Mailbox-Nachricht von <xliff:g id="NAMEORNUMBER">^1</xliff:g>, <xliff:g id="TYPEORLOCATION">^2</xliff:g>, <xliff:g id="TIMEOFCALL">^3</xliff:g>, <xliff:g id="PHONEACCOUNT">^4</xliff:g>."</string>
+ <string name="description_unread_voicemail" msgid="145170985013419170">"Ungelesene Mailboxnachricht von <xliff:g id="NAMEORNUMBER">^1</xliff:g>, <xliff:g id="TYPEORLOCATION">^2</xliff:g>, <xliff:g id="TIMEOFCALL">^3</xliff:g>, <xliff:g id="PHONEACCOUNT">^4</xliff:g>."</string>
+ <string name="description_read_voicemail" msgid="5585559881573227732">"Mailboxnachricht von <xliff:g id="NAMEORNUMBER">^1</xliff:g>, <xliff:g id="TYPEORLOCATION">^2</xliff:g>, <xliff:g id="TIMEOFCALL">^3</xliff:g>, <xliff:g id="PHONEACCOUNT">^4</xliff:g>."</string>
<string name="description_outgoing_call" msgid="543952487882919924">"Ausgehender Anruf an <xliff:g id="NAMEORNUMBER">^1</xliff:g>, <xliff:g id="TYPEORLOCATION">^2</xliff:g>, <xliff:g id="TIMEOFCALL">^3</xliff:g>, <xliff:g id="PHONEACCOUNT">^4</xliff:g>"</string>
<string name="call_log_via_number" msgid="1340307109806397650">"über <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
<string name="call_log_via_number_phone_account" msgid="7698459003033083416">"<xliff:g id="PHONEACCOUNT">%1$s</xliff:g> über <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="description_call_action" msgid="4042796498169106545">"<xliff:g id="NAMEORNUMBER">^1</xliff:g> anrufen"</string>
<string name="description_video_call_action" msgid="1237090968588659650">"<xliff:g id="NAMEORNUMBER">^1</xliff:g> über Videoanruf anrufen"</string>
<string name="description_voicemail_action" msgid="3290143432403538524">"Mailboxnachricht von <xliff:g id="NAMEORNUMBER">^1</xliff:g> anhören"</string>
- <string name="description_voicemail_play" msgid="737337291418966183">"Mailbox-Nachricht von <xliff:g id="NAMEORNUMBER">^1</xliff:g> abhören"</string>
- <string name="description_voicemail_pause" msgid="2400610579956333661">"Mailbox-Nachricht von <xliff:g id="NAMEORNUMBER">^1</xliff:g> pausieren"</string>
- <string name="description_voicemail_delete" msgid="5305509366448404410">"Mailbox-Nachricht von <xliff:g id="NAMEORNUMBER">^1</xliff:g> löschen"</string>
+ <string name="description_voicemail_play" msgid="737337291418966183">"Mailboxnachricht von <xliff:g id="NAMEORNUMBER">^1</xliff:g> abhören"</string>
+ <string name="description_voicemail_pause" msgid="2400610579956333661">"Mailboxnachricht von <xliff:g id="NAMEORNUMBER">^1</xliff:g> pausieren"</string>
+ <string name="description_voicemail_delete" msgid="5305509366448404410">"Mailboxnachricht von <xliff:g id="NAMEORNUMBER">^1</xliff:g> löschen"</string>
<plurals name="description_voicemail_unread" formatted="false" msgid="7562208210097630839">
<item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> neue Mailboxnachrichten</item>
<item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> neue Mailboxnachricht</item>
@@ -200,8 +200,8 @@
<string name="blocked_call_settings_import_button" msgid="7319111700387470727">"Importieren"</string>
<string name="description_blocked_number_list_delete" msgid="2139644216858370740">"Blockierung der Nummer aufheben"</string>
<string name="addBlockedNumber" msgid="3053473735238295551">"Nummer hinzufügen"</string>
- <string name="block_number_footer_message_vvm" msgid="7955326304033982368">"Anrufe von diesen Nummern werden blockiert und Mailbox-Nachrichten automatisch gelöscht."</string>
- <string name="block_number_footer_message_no_vvm" msgid="1152684139070471665">"Anrufe von diesen Nummern werden blockiert. Die Anrufer haben aber unter Umständen weiterhin die Möglichkeit, dir Mailbox-Nachrichten zu hinterlassen."</string>
+ <string name="block_number_footer_message_vvm" msgid="7955326304033982368">"Anrufe von diesen Nummern werden blockiert und Mailboxnachrichten automatisch gelöscht."</string>
+ <string name="block_number_footer_message_no_vvm" msgid="1152684139070471665">"Anrufe von diesen Nummern werden blockiert. Die Anrufer haben aber unter Umständen weiterhin die Möglichkeit, dir Mailboxnachrichten zu hinterlassen."</string>
<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>
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 e9a508510..36d25346d 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
@@ -18,7 +18,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="applicationLabel" msgid="2202739481132958990">"Phone"</string>
- <string name="launcherDialpadActivityLabel" msgid="4170587663888307424">"Phone key pad"</string>
+ <string name="launcherDialpadActivityLabel" msgid="4170587663888307424">"Phone keypad"</string>
<string name="dialerIconLabel" msgid="3422916015542176907">"Phone"</string>
<string name="callHistoryIconLabel" msgid="7493268743411968630">"Call history"</string>
<string name="action_report_number" msgid="7231442711369737797">"Report inaccurate number"</string>
@@ -182,8 +182,8 @@
<string name="accessibility_settings_title" msgid="3329027650429831820">"Accessibility"</string>
<string name="ringtone_title" msgid="8377174189894648486">"Phone ringtone"</string>
<string name="vibrate_on_ring_title" msgid="631441314790960485">"Also vibrate for calls"</string>
- <string name="dtmf_tone_enable_title" msgid="3273762431523939277">"Key pad tones"</string>
- <string name="dtmf_tone_length_title" msgid="534096029202438539">"Key pad tone length"</string>
+ <string name="dtmf_tone_enable_title" msgid="3273762431523939277">"Keypad tones"</string>
+ <string name="dtmf_tone_length_title" msgid="534096029202438539">"Keypad tone length"</string>
<string-array name="dtmf_tone_length_entries">
<item msgid="3136353015227162823">"Normal"</item>
<item msgid="5376841175538523822">"Long"</item>
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 e9a508510..36d25346d 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
@@ -18,7 +18,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="applicationLabel" msgid="2202739481132958990">"Phone"</string>
- <string name="launcherDialpadActivityLabel" msgid="4170587663888307424">"Phone key pad"</string>
+ <string name="launcherDialpadActivityLabel" msgid="4170587663888307424">"Phone keypad"</string>
<string name="dialerIconLabel" msgid="3422916015542176907">"Phone"</string>
<string name="callHistoryIconLabel" msgid="7493268743411968630">"Call history"</string>
<string name="action_report_number" msgid="7231442711369737797">"Report inaccurate number"</string>
@@ -182,8 +182,8 @@
<string name="accessibility_settings_title" msgid="3329027650429831820">"Accessibility"</string>
<string name="ringtone_title" msgid="8377174189894648486">"Phone ringtone"</string>
<string name="vibrate_on_ring_title" msgid="631441314790960485">"Also vibrate for calls"</string>
- <string name="dtmf_tone_enable_title" msgid="3273762431523939277">"Key pad tones"</string>
- <string name="dtmf_tone_length_title" msgid="534096029202438539">"Key pad tone length"</string>
+ <string name="dtmf_tone_enable_title" msgid="3273762431523939277">"Keypad tones"</string>
+ <string name="dtmf_tone_length_title" msgid="534096029202438539">"Keypad tone length"</string>
<string-array name="dtmf_tone_length_entries">
<item msgid="3136353015227162823">"Normal"</item>
<item msgid="5376841175538523822">"Long"</item>
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 e9a508510..36d25346d 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
@@ -18,7 +18,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="applicationLabel" msgid="2202739481132958990">"Phone"</string>
- <string name="launcherDialpadActivityLabel" msgid="4170587663888307424">"Phone key pad"</string>
+ <string name="launcherDialpadActivityLabel" msgid="4170587663888307424">"Phone keypad"</string>
<string name="dialerIconLabel" msgid="3422916015542176907">"Phone"</string>
<string name="callHistoryIconLabel" msgid="7493268743411968630">"Call history"</string>
<string name="action_report_number" msgid="7231442711369737797">"Report inaccurate number"</string>
@@ -182,8 +182,8 @@
<string name="accessibility_settings_title" msgid="3329027650429831820">"Accessibility"</string>
<string name="ringtone_title" msgid="8377174189894648486">"Phone ringtone"</string>
<string name="vibrate_on_ring_title" msgid="631441314790960485">"Also vibrate for calls"</string>
- <string name="dtmf_tone_enable_title" msgid="3273762431523939277">"Key pad tones"</string>
- <string name="dtmf_tone_length_title" msgid="534096029202438539">"Key pad tone length"</string>
+ <string name="dtmf_tone_enable_title" msgid="3273762431523939277">"Keypad tones"</string>
+ <string name="dtmf_tone_length_title" msgid="534096029202438539">"Keypad tone length"</string>
<string-array name="dtmf_tone_length_entries">
<item msgid="3136353015227162823">"Normal"</item>
<item msgid="5376841175538523822">"Long"</item>
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 6a2c1ce94..63461664f 100644
--- a/java/com/android/dialer/app/res/values-fa/strings.xml
+++ b/java/com/android/dialer/app/res/values-fa/strings.xml
@@ -92,7 +92,7 @@
<string name="description_video_call" msgid="3738199365585751727">"تماس ویدئویی."</string>
<string name="description_send_text_message" msgid="8450269896765568596">"ارسال پیامک به <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="2258821530650350303">"پست صوتی شنیده نشده"</string>
- <string name="description_start_voice_search" msgid="8380022725973015261">"شروع جستجوی صوتی"</string>
+ <string name="description_start_voice_search" msgid="8380022725973015261">"شروع جستجوی گفتاری"</string>
<string name="menu_callNumber" msgid="1540773545517152514">"تماس با <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="voicemail" msgid="8899540969000957954">"پست صوتی"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> ثانیه"</string>
@@ -110,7 +110,7 @@
<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="voice_search_not_available" msgid="6546240433719732905">"جستجوی گفتاری در دسترس نیست"</string>
<string name="call_not_available" msgid="7850148370757361155">"برقراری تماس تلفنی ممکن نیست، زیرا برنامه تلفن غیرفعال شده است."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"جستجوی مخاطبین"</string>
<string name="block_number_search_hint" msgid="5377706079015099416">"افزودن شماره یا جستجوی مخاطب"</string>
diff --git a/java/com/android/dialer/app/res/values/styles.xml b/java/com/android/dialer/app/res/values/styles.xml
index 24521ddaf..3b2df96f2 100644
--- a/java/com/android/dialer/app/res/values/styles.xml
+++ b/java/com/android/dialer/app/res/values/styles.xml
@@ -18,10 +18,6 @@
<style name="DialtactsTheme" parent="DialerThemeBase">
- <!-- Style for the overflow button in the actionbar. -->
- <item name="android:actionOverflowButtonStyle">@style/DialtactsActionBarOverflow</item>
- <item name="actionOverflowButtonStyle">@style/DialtactsActionBarOverflow</item>
-
<!-- Styles that require AppCompat compatibility, remember to update both sets -->
<item name="android:windowActionBarOverlay">true</item>
<item name="windowActionBarOverlay">true</item>
@@ -35,7 +31,6 @@
<item name="android:homeAsUpIndicator">@drawable/ic_back_arrow</item>
<item name="android:listViewStyle">@style/ListViewStyle</item>
- <item name="activated_background">@drawable/list_item_activated_background</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>
@@ -77,16 +72,10 @@
<item name="dialpad_style">@style/Dialpad.Light</item>
</style>
- <!-- Action bar overflow menu icon. -->
- <style name="DialtactsActionBarOverflow"
- parent="@android:style/Widget.Material.Light.ActionButton.Overflow">
- <item name="android:src">@drawable/ic_overflow_menu</item>
- </style>
-
<!-- Action bar overflow menu icon. White with no shadow. -->
<style name="DialtactsActionBarOverflowWhite"
parent="@android:style/Widget.Material.Light.ActionButton.Overflow">
- <item name="android:src">@drawable/overflow_menu</item>
+ <item name="android:src">@drawable/quantum_ic_more_vert_white_24</item>
</style>
<style name="DialpadTheme" parent="DialtactsTheme">
diff --git a/java/com/android/dialer/app/settings/DialerSettingsActivity.java b/java/com/android/dialer/app/settings/DialerSettingsActivity.java
index bbf1cfae5..ff3841aa1 100644
--- a/java/com/android/dialer/app/settings/DialerSettingsActivity.java
+++ b/java/com/android/dialer/app/settings/DialerSettingsActivity.java
@@ -24,6 +24,8 @@ import android.os.Bundle;
import android.os.UserManager;
import android.preference.PreferenceManager;
import android.provider.Settings;
+import android.telecom.PhoneAccount;
+import android.telecom.PhoneAccountHandle;
import android.telecom.TelecomManager;
import android.telephony.TelephonyManager;
import android.view.MenuItem;
@@ -31,8 +33,10 @@ import android.widget.Toast;
import com.android.contacts.common.compat.TelephonyManagerCompat;
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;
import java.util.List;
@@ -119,14 +123,7 @@ public class DialerSettingsActivity extends AppCompatPreferenceActivity {
migrationStatusOnBuildHeaders = FilteredNumberCompat.hasMigratedToNewBlocking(this);
}
- String voicemailSettingsFragment =
- VoicemailComponent.get(this).getVoicemailClient().getSettingsFragment();
- if (isPrimaryUser && voicemailSettingsFragment != null) {
- Header voicemailSettings = new Header();
- voicemailSettings.titleRes = R.string.voicemail_settings_label;
- voicemailSettings.fragment = voicemailSettingsFragment;
- target.add(voicemailSettings);
- }
+ addVoicemailSettings(target, isPrimaryUser);
if (isPrimaryUser
&& (TelephonyManagerCompat.isTtyModeSupported(telephonyManager)
@@ -140,6 +137,37 @@ public class DialerSettingsActivity extends AppCompatPreferenceActivity {
}
}
+ private void addVoicemailSettings(List<Header> target, boolean isPrimaryUser) {
+ if (!isPrimaryUser) {
+ LogUtil.i("DialerSettingsActivity.addVoicemailSettings", "user not primary user");
+ return;
+ }
+ String voicemailSettingsFragment =
+ VoicemailComponent.get(this).getVoicemailClient().getSettingsFragment();
+ if (voicemailSettingsFragment == null) {
+ LogUtil.i(
+ "DialerSettingsActivity.addVoicemailSettings",
+ "VoicemailClient does not provide settings");
+ return;
+ }
+
+ PhoneAccountHandle phoneAccountHandle =
+ getSystemService(TelecomManager.class)
+ .getDefaultOutgoingPhoneAccount(PhoneAccount.SCHEME_TEL);
+ if (phoneAccountHandle == null) {
+ LogUtil.e("DialerSettingsActivity.addVoicemailSettings", "phoneAccountHandle is null");
+ return;
+ }
+ LogUtil.i("DialerSettingsActivity.addVoicemailSettings", "adding voicemail settings");
+ Header voicemailSettings = new Header();
+ voicemailSettings.titleRes = R.string.voicemail_settings_label;
+ voicemailSettings.fragment = voicemailSettingsFragment;
+ Bundle bundle = new Bundle();
+ bundle.putParcelable(VoicemailClient.PARAM_PHONE_ACCOUNT_HANDLE, phoneAccountHandle);
+ voicemailSettings.fragmentArguments = bundle;
+ target.add(voicemailSettings);
+ }
+
/**
* Returns {@code true} or {@code false} based on whether the display options setting should be
* shown. For languages such as Chinese, Japanese, or Korean, display options aren't useful since
diff --git a/java/com/android/dialer/app/voicemail/VoicemailPlaybackLayout.java b/java/com/android/dialer/app/voicemail/VoicemailPlaybackLayout.java
index f40ed2794..04fe7f66a 100644
--- a/java/com/android/dialer/app/voicemail/VoicemailPlaybackLayout.java
+++ b/java/com/android/dialer/app/voicemail/VoicemailPlaybackLayout.java
@@ -276,12 +276,12 @@ public class VoicemailPlaybackLayout extends LinearLayout
@Override
public void onSpeakerphoneOn(boolean on) {
if (on) {
- mPlaybackSpeakerphone.setImageResource(R.drawable.ic_volume_up_24dp);
+ mPlaybackSpeakerphone.setImageResource(R.drawable.quantum_ic_volume_up_white_24);
// Speaker is now on, tapping button will turn it off.
mPlaybackSpeakerphone.setContentDescription(
mContext.getString(R.string.voicemail_speaker_off));
} else {
- mPlaybackSpeakerphone.setImageResource(R.drawable.ic_volume_down_24dp);
+ mPlaybackSpeakerphone.setImageResource(R.drawable.quantum_ic_volume_down_white_24);
// Speaker is now off, tapping button will turn it on.
mPlaybackSpeakerphone.setContentDescription(
mContext.getString(R.string.voicemail_speaker_on));
diff --git a/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java b/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java
index 492f2088b..5bfa03e90 100644
--- a/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java
+++ b/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java
@@ -39,6 +39,7 @@ import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
import android.support.v4.content.FileProvider;
import android.text.TextUtils;
+import android.util.Pair;
import android.view.View;
import android.view.WindowManager.LayoutParams;
import android.webkit.MimeTypeMap;
@@ -50,6 +51,8 @@ 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.constants.Constants;
import com.android.dialer.logging.Logger;
import com.android.dialer.logging.nano.DialerImpression;
@@ -146,6 +149,8 @@ public class VoicemailPlaybackPresenter
private OnVoicemailDeletedListener mOnVoicemailDeletedListener;
private View shareVoicemailButtonView;
+ private DialerExecutor<Pair<Context, Uri>> shareVoicemailExecutor;
+
/** Initialize variables which are activity-independent and state-independent. */
protected VoicemailPlaybackPresenter(Activity activity) {
Context context = activity.getApplicationContext();
@@ -213,6 +218,23 @@ public class VoicemailPlaybackPresenter
} else {
mActivity.getWindow().clearFlags(LayoutParams.FLAG_KEEP_SCREEN_ON);
}
+ shareVoicemailExecutor =
+ DialerExecutors.createUiTaskBuilder(
+ mActivity.getFragmentManager(), "test", new ShareVoicemailWorker())
+ .onSuccess(
+ output -> {
+ if (output == null) {
+ LogUtil.e("VoicemailAsyncTaskUtil.shareVoicemail", "failed to get voicemail");
+ return;
+ }
+ mContext.startActivity(
+ Intent.createChooser(
+ getShareIntent(mContext, output.first, output.second),
+ mContext
+ .getResources()
+ .getText(R.string.call_log_action_share_voicemail)));
+ })
+ .build();
}
}
@@ -838,78 +860,65 @@ public class VoicemailPlaybackPresenter
return ConfigProviderBindings.get(context).getBoolean(CONFIG_SHARE_VOICEMAIL_ALLOWED, true);
}
+ private static class ShareVoicemailWorker
+ implements DialerExecutor.Worker<Pair<Context, Uri>, Pair<Uri, String>> {
+
+ @Nullable
+ @Override
+ public Pair<Uri, String> doInBackground(Pair<Context, Uri> input) {
+ Context context = input.first;
+ Uri voicemailUri = input.second;
+ ContentResolver contentResolver = context.getContentResolver();
+ try (Cursor callLogInfo = getCallLogInfoCursor(contentResolver, voicemailUri);
+ Cursor contentInfo = getContentInfoCursor(contentResolver, voicemailUri)) {
+
+ if (hasContent(callLogInfo) && hasContent(contentInfo)) {
+ String cachedName = callLogInfo.getString(CallLogQuery.CACHED_NAME);
+ String number = contentInfo.getString(contentInfo.getColumnIndex(Voicemails.NUMBER));
+ long date = contentInfo.getLong(contentInfo.getColumnIndex(Voicemails.DATE));
+ String mimeType = contentInfo.getString(contentInfo.getColumnIndex(Voicemails.MIME_TYPE));
+ String transcription =
+ contentInfo.getString(contentInfo.getColumnIndex(Voicemails.TRANSCRIPTION));
+
+ // Copy voicemail content to a new file.
+ // Please see reference in third_party/java_src/android_app/dialer/java/com/android/
+ // dialer/app/res/xml/file_paths.xml for correct cache directory name.
+ File parentDir = new File(context.getCacheDir(), "my_cache");
+ if (!parentDir.exists()) {
+ parentDir.mkdirs();
+ }
+ File temporaryVoicemailFile =
+ new File(parentDir, getFileName(cachedName, number, mimeType, date));
+
+ try (InputStream inputStream = contentResolver.openInputStream(voicemailUri);
+ OutputStream outputStream =
+ contentResolver.openOutputStream(Uri.fromFile(temporaryVoicemailFile))) {
+ if (inputStream != null && outputStream != null) {
+ ByteStreams.copy(inputStream, outputStream);
+ return new Pair<>(
+ FileProvider.getUriForFile(
+ context, Constants.get().getFileProviderAuthority(), temporaryVoicemailFile),
+ transcription);
+ }
+ } catch (IOException e) {
+ LogUtil.e(
+ "VoicemailAsyncTaskUtil.shareVoicemail",
+ "failed to copy voicemail content to new file: ",
+ e);
+ }
+ return null;
+ }
+ }
+ return null;
+ }
+ }
+
/**
* Share voicemail to be opened by user selected apps. This method will collect information, copy
* voicemail to a temporary file in background and launch a chooser intent to share it.
*/
- @TargetApi(VERSION_CODES.M)
public void shareVoicemail() {
- mAsyncTaskExecutor.submit(
- Tasks.SHARE_VOICEMAIL,
- new AsyncTask<Void, Void, Uri>() {
- @Nullable
- @Override
- protected Uri doInBackground(Void... params) {
- ContentResolver contentResolver = mContext.getContentResolver();
- try (Cursor callLogInfo = getCallLogInfoCursor(contentResolver, mVoicemailUri);
- Cursor contentInfo = getContentInfoCursor(contentResolver, mVoicemailUri)) {
-
- if (hasContent(callLogInfo) && hasContent(contentInfo)) {
- String cachedName = callLogInfo.getString(CallLogQuery.CACHED_NAME);
- String number =
- contentInfo.getString(
- contentInfo.getColumnIndex(VoicemailContract.Voicemails.NUMBER));
- long date =
- contentInfo.getLong(
- contentInfo.getColumnIndex(VoicemailContract.Voicemails.DATE));
- String mimeType =
- contentInfo.getString(
- contentInfo.getColumnIndex(VoicemailContract.Voicemails.MIME_TYPE));
-
- // Copy voicemail content to a new file.
- // Please see reference in third_party/java_src/android_app/dialer/java/com/android/
- // dialer/app/res/xml/file_paths.xml for correct cache directory name.
- File parentDir = new File(mContext.getCacheDir(), "my_cache");
- if (!parentDir.exists()) {
- parentDir.mkdirs();
- }
- File temporaryVoicemailFile =
- new File(parentDir, getFileName(cachedName, number, mimeType, date));
-
- try (InputStream inputStream = contentResolver.openInputStream(mVoicemailUri);
- OutputStream outputStream =
- contentResolver.openOutputStream(Uri.fromFile(temporaryVoicemailFile))) {
- if (inputStream != null && outputStream != null) {
- ByteStreams.copy(inputStream, outputStream);
- return FileProvider.getUriForFile(
- mContext,
- Constants.get().getFileProviderAuthority(),
- temporaryVoicemailFile);
- }
- } catch (IOException e) {
- LogUtil.e(
- "VoicemailAsyncTaskUtil.shareVoicemail",
- "failed to copy voicemail content to new file: ",
- e);
- }
- return null;
- }
- }
- return null;
- }
-
- @Override
- protected void onPostExecute(Uri uri) {
- if (uri == null) {
- LogUtil.e("VoicemailAsyncTaskUtil.shareVoicemail", "failed to get voicemail");
- } else {
- mContext.startActivity(
- Intent.createChooser(
- getShareIntent(mContext, uri),
- mContext.getResources().getText(R.string.call_log_action_share_voicemail)));
- }
- }
- });
+ shareVoicemailExecutor.executeParallel(new Pair<>(mContext, mVoicemailUri));
}
private static String getFileName(String cachedName, String number, String mimeType, long date) {
@@ -925,12 +934,22 @@ public class VoicemailPlaybackPresenter
+ (TextUtils.isEmpty(fileExtension) ? "" : "." + fileExtension);
}
- private static Intent getShareIntent(Context context, Uri voicemailFileUri) {
+ private static Intent getShareIntent(
+ Context context, Uri voicemailFileUri, String transcription) {
Intent shareIntent = new Intent();
- shareIntent.setAction(Intent.ACTION_SEND);
- shareIntent.putExtra(Intent.EXTRA_STREAM, voicemailFileUri);
- shareIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
- shareIntent.setType(context.getContentResolver().getType(voicemailFileUri));
+ if (TextUtils.isEmpty(transcription)) {
+ shareIntent.setAction(Intent.ACTION_SEND);
+ shareIntent.putExtra(Intent.EXTRA_STREAM, voicemailFileUri);
+ shareIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ shareIntent.setType(context.getContentResolver().getType(voicemailFileUri));
+ } else {
+ shareIntent.setAction(Intent.ACTION_SEND);
+ shareIntent.putExtra(Intent.EXTRA_STREAM, voicemailFileUri);
+ shareIntent.putExtra(Intent.EXTRA_TEXT, transcription);
+ shareIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ shareIntent.setType("*/*");
+ }
+
return shareIntent;
}
@@ -954,10 +973,11 @@ public class VoicemailPlaybackPresenter
return contentResolver.query(
voicemailUri,
new String[] {
- VoicemailContract.Voicemails._ID,
- VoicemailContract.Voicemails.NUMBER,
- VoicemailContract.Voicemails.DATE,
- VoicemailContract.Voicemails.MIME_TYPE,
+ Voicemails._ID,
+ Voicemails.NUMBER,
+ Voicemails.DATE,
+ Voicemails.MIME_TYPE,
+ Voicemails.TRANSCRIPTION,
},
null,
null,
diff --git a/java/com/android/dialer/app/voicemail/error/OmtpVoicemailMessageCreator.java b/java/com/android/dialer/app/voicemail/error/OmtpVoicemailMessageCreator.java
index b56d568b7..2b19bd7bb 100644
--- a/java/com/android/dialer/app/voicemail/error/OmtpVoicemailMessageCreator.java
+++ b/java/com/android/dialer/app/voicemail/error/OmtpVoicemailMessageCreator.java
@@ -22,7 +22,6 @@ import android.provider.VoicemailContract.Status;
import android.support.annotation.Nullable;
import android.telecom.PhoneAccountHandle;
import com.android.dialer.app.voicemail.error.VoicemailErrorMessage.Action;
-import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.PerAccountSharedPreferences;
import com.android.dialer.logging.Logger;
@@ -136,92 +135,122 @@ public class OmtpVoicemailMessageCreator {
Context context, VoicemailStatus status, VoicemailStatusReader statusReader) {
if (status.quotaOccupied != Status.QUOTA_UNAVAILABLE
&& status.quotaTotal != Status.QUOTA_UNAVAILABLE) {
+ return createInboxErrorMessage(context, status, statusReader);
+ }
+ Logger.get(context).logImpression(DialerImpression.Type.VVM_QUOTA_CHECK_UNAVAILABLE);
+ return null;
+ }
- PhoneAccountHandle phoneAccountHandle = status.getPhoneAccountHandle();
+ @Nullable
+ private static VoicemailErrorMessage createInboxErrorMessage(
+ Context context, VoicemailStatus status, VoicemailStatusReader statusReader) {
- VoicemailClient voicemailClient = VoicemailComponent.get(context).getVoicemailClient();
+ float voicemailOccupiedFraction = (float) status.quotaOccupied / (float) status.quotaTotal;
- PerAccountSharedPreferences sharedPreferenceForAccount =
- new PerAccountSharedPreferences(
- context, phoneAccountHandle, PreferenceManager.getDefaultSharedPreferences(context));
+ if (voicemailOccupiedFraction < QUOTA_NEAR_FULL_THRESHOLD) {
+ return null;
+ }
- boolean isVoicemailArchiveEnabled =
- VoicemailComponent.get(context)
- .getVoicemailClient()
- .isVoicemailArchiveEnabled(context, phoneAccountHandle);
+ boolean isFull = voicemailOccupiedFraction >= QUOTA_FULL_THRESHOLD;
- if ((float) status.quotaOccupied / (float) status.quotaTotal >= QUOTA_FULL_THRESHOLD) {
- return createInboxErrorMessage(
- context,
- status,
- status.getPhoneAccountHandle(),
- statusReader,
- sharedPreferenceForAccount,
- voicemailClient,
- isVoicemailArchiveEnabled,
- context.getString(R.string.voicemail_error_inbox_full_turn_archive_on_title),
- context.getText(R.string.voicemail_error_inbox_full_turn_archive_on_message),
- context.getString(R.string.voicemail_error_inbox_full_title),
- context.getString(R.string.voicemail_error_inbox_full_message),
- VOICEMAIL_PROMO_DISMISSED_KEY);
- }
+ PhoneAccountHandle phoneAccountHandle = status.getPhoneAccountHandle();
- if ((float) status.quotaOccupied / (float) status.quotaTotal >= QUOTA_NEAR_FULL_THRESHOLD) {
- return createInboxErrorMessage(
- context,
- status,
- status.getPhoneAccountHandle(),
- statusReader,
- sharedPreferenceForAccount,
- voicemailClient,
- isVoicemailArchiveEnabled,
- context.getString(R.string.voicemail_error_inbox_almost_full_turn_archive_on_title),
- context.getText(R.string.voicemail_error_inbox_almost_full_turn_archive_on_message),
+ PerAccountSharedPreferences sharedPreferenceForAccount =
+ new PerAccountSharedPreferences(
+ context, phoneAccountHandle, PreferenceManager.getDefaultSharedPreferences(context));
+
+ VoicemailClient voicemailClient = VoicemailComponent.get(context).getVoicemailClient();
+
+ boolean shouldShowPromoForArchive =
+ !isPromoForArchiveDismissed(sharedPreferenceForAccount, isFull)
+ && !voicemailClient.isVoicemailArchiveEnabled(context, phoneAccountHandle)
+ && voicemailClient.isVoicemailArchiveAvailable(context);
+
+ if (!shouldShowPromoForArchive) {
+ if (isFull) {
+ Logger.get(context)
+ .logImpression(DialerImpression.Type.VVM_USER_SHOWN_VM_FULL_ERROR_MESSAGE);
+ return new VoicemailErrorMessage(
+ context.getString(R.string.voicemail_error_inbox_full_title),
+ context.getString(R.string.voicemail_error_inbox_full_message));
+ } else {
+ Logger.get(context)
+ .logImpression(DialerImpression.Type.VVM_USER_SHOWN_VM_ALMOST_FULL_ERROR_MESSAGE);
+ return new VoicemailErrorMessage(
context.getString(R.string.voicemail_error_inbox_near_full_title),
- context.getString(R.string.voicemail_error_inbox_near_full_message),
- VOICEMAIL_PROMO_ALMOST_FULL_DISMISSED_KEY);
+ context.getString(R.string.voicemail_error_inbox_near_full_message));
}
}
- return null;
+
+ String title;
+ CharSequence message;
+ int enabledImpression;
+ int dismissedImpression;
+ String dismissedKey;
+
+ if (isFull) {
+ Logger.get(context).logImpression(DialerImpression.Type.VVM_USER_SHOWN_VM_FULL_PROMO);
+ title = context.getString(R.string.voicemail_error_inbox_full_turn_archive_on_title);
+ message = context.getText(R.string.voicemail_error_inbox_full_turn_archive_on_message);
+ enabledImpression = DialerImpression.Type.VVM_USER_ENABLED_ARCHIVE_FROM_VM_FULL_PROMO;
+ dismissedImpression = DialerImpression.Type.VVM_USER_DISMISSED_VM_FULL_PROMO;
+ dismissedKey = VOICEMAIL_PROMO_DISMISSED_KEY;
+ } else {
+ Logger.get(context).logImpression(DialerImpression.Type.VVM_USER_SHOWN_VM_ALMOST_FULL_PROMO);
+ title = context.getString(R.string.voicemail_error_inbox_almost_full_turn_archive_on_title);
+ message = context.getText(R.string.voicemail_error_inbox_almost_full_turn_archive_on_message);
+ enabledImpression = DialerImpression.Type.VVM_USER_ENABLED_ARCHIVE_FROM_VM_ALMOST_FULL_PROMO;
+ dismissedImpression = DialerImpression.Type.VVM_USER_DISMISSED_VM_ALMOST_FULL_PROMO;
+ dismissedKey = VOICEMAIL_PROMO_ALMOST_FULL_DISMISSED_KEY;
+ }
+
+ return createVMQuotaPromo(
+ context,
+ phoneAccountHandle,
+ status,
+ statusReader,
+ voicemailClient,
+ sharedPreferenceForAccount,
+ title,
+ message,
+ enabledImpression,
+ dismissedImpression,
+ dismissedKey);
}
- private static VoicemailErrorMessage createInboxErrorMessage(
+ private static boolean isPromoForArchiveDismissed(
+ PerAccountSharedPreferences sharedPreferenceForAccount, boolean isFull) {
+ if (isFull) {
+ return sharedPreferenceForAccount.getBoolean(VOICEMAIL_PROMO_DISMISSED_KEY, false);
+ } else {
+ return sharedPreferenceForAccount.getBoolean(
+ VOICEMAIL_PROMO_ALMOST_FULL_DISMISSED_KEY, false);
+ }
+ }
+
+ private static VoicemailErrorMessage createVMQuotaPromo(
Context context,
- VoicemailStatus status,
PhoneAccountHandle phoneAccountHandle,
+ VoicemailStatus status,
VoicemailStatusReader statusReader,
- PerAccountSharedPreferences sharedPreferenceForAccount,
VoicemailClient voicemailClient,
- boolean isVoicemailArchiveEnabled,
- String promoTitle,
- CharSequence promoMessage,
- String nonPromoTitle,
- String nonPromoMessage,
- String preferenceKey) {
-
- boolean wasPromoDismissed = sharedPreferenceForAccount.getBoolean(preferenceKey, false);
-
- if (!wasPromoDismissed && !isVoicemailArchiveEnabled) {
- logArchiveImpression(
- context,
- preferenceKey,
- DialerImpression.Type.VVM_USER_SHOWN_VM_ALMOST_FULL_PROMO,
- DialerImpression.Type.VVM_USER_SHOWN_VM_FULL_PROMO);
- return new VoicemailErrorMessage(
- promoTitle,
- promoMessage,
- VoicemailErrorMessage.createDismissTurnArchiveOnAction(
- context, statusReader, sharedPreferenceForAccount, preferenceKey),
- VoicemailErrorMessage.createTurnArchiveOnAction(
- context, status, voicemailClient, phoneAccountHandle, preferenceKey));
- } else {
- logArchiveImpression(
- context,
- preferenceKey,
- DialerImpression.Type.VVM_USER_SHOWN_VM_ALMOST_FULL_ERROR_MESSAGE,
- DialerImpression.Type.VVM_USER_SHOWN_VM_FULL_ERROR_MESSAGE);
- return new VoicemailErrorMessage(nonPromoTitle, nonPromoMessage);
- }
+ PerAccountSharedPreferences sharedPreferenceForAccount,
+ String title,
+ CharSequence message,
+ int impressionToLogOnEnable,
+ int impressionToLogOnDismiss,
+ String preferenceKeyToUpdate) {
+ return new VoicemailErrorMessage(
+ title,
+ message,
+ VoicemailErrorMessage.createDismissTurnArchiveOnAction(
+ context,
+ impressionToLogOnDismiss,
+ statusReader,
+ sharedPreferenceForAccount,
+ preferenceKeyToUpdate),
+ VoicemailErrorMessage.createTurnArchiveOnAction(
+ context, impressionToLogOnEnable, status, voicemailClient, phoneAccountHandle));
}
@Nullable
@@ -260,15 +289,4 @@ public class OmtpVoicemailMessageCreator {
}
return new VoicemailErrorMessage(title, description, actions);
}
-
- protected static void logArchiveImpression(
- Context context, String preference, int vmAlmostFullImpression, int vmFullImpression) {
- if (preference.equals(VOICEMAIL_PROMO_DISMISSED_KEY)) {
- Logger.get(context).logImpression(vmAlmostFullImpression);
- } else if (preference.equals(VOICEMAIL_PROMO_ALMOST_FULL_DISMISSED_KEY)) {
- Logger.get(context).logImpression(vmFullImpression);
- } else {
- throw Assert.createAssertionFailException("Invalid preference key " + preference);
- }
- }
}
diff --git a/java/com/android/dialer/app/voicemail/error/VoicemailErrorMessage.java b/java/com/android/dialer/app/voicemail/error/VoicemailErrorMessage.java
index 4addcb996..1ef80288b 100644
--- a/java/com/android/dialer/app/voicemail/error/VoicemailErrorMessage.java
+++ b/java/com/android/dialer/app/voicemail/error/VoicemailErrorMessage.java
@@ -23,14 +23,15 @@ import android.provider.VoicemailContract;
import android.support.annotation.NonNull;
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.dialer.common.Assert;
import com.android.dialer.common.PerAccountSharedPreferences;
import com.android.dialer.logging.Logger;
import com.android.dialer.logging.nano.DialerImpression;
import com.android.dialer.util.CallUtil;
import com.android.voicemail.VoicemailClient;
+import com.android.voicemail.VoicemailComponent;
import java.util.Arrays;
import java.util.List;
@@ -126,7 +127,8 @@ public class VoicemailErrorMessage {
}
@NonNull
- public static Action createSetPinAction(final Context context) {
+ public static Action createSetPinAction(
+ final Context context, PhoneAccountHandle phoneAccountHandle) {
return new Action(
context.getString(R.string.voicemail_action_set_pin),
new OnClickListener() {
@@ -134,8 +136,10 @@ public class VoicemailErrorMessage {
public void onClick(View v) {
Logger.get(context)
.logImpression(DialerImpression.Type.VOICEMAIL_ALERT_SET_PIN_CLICKED);
- Intent intent = new Intent(TelephonyManager.ACTION_CONFIGURE_VOICEMAIL);
- context.startActivity(intent);
+ context.startActivity(
+ VoicemailComponent.get(context)
+ .getVoicemailClient()
+ .getSetPinIntent(context, phoneAccountHandle));
}
});
}
@@ -187,21 +191,20 @@ public class VoicemailErrorMessage {
@NonNull
public static Action createTurnArchiveOnAction(
final Context context,
+ int impressionToLog,
final VoicemailStatus status,
VoicemailClient voicemailClient,
- PhoneAccountHandle phoneAccountHandle,
- String preference) {
+ PhoneAccountHandle phoneAccountHandle) {
return new Action(
context.getString(R.string.voicemail_action_turn_archive_on),
new OnClickListener() {
@Override
public void onClick(View v) {
- OmtpVoicemailMessageCreator.logArchiveImpression(
- context,
- preference,
- DialerImpression.Type.VVM_USER_ENABLED_ARCHIVE_FROM_VM_FULL_PROMO,
- DialerImpression.Type.VVM_USER_ENABLED_ARCHIVE_FROM_VM_ALMOST_FULL_PROMO);
-
+ Assert.checkArgument(
+ VoicemailComponent.get(context)
+ .getVoicemailClient()
+ .isVoicemailArchiveAvailable(context));
+ Logger.get(context).logImpression(impressionToLog);
voicemailClient.setVoicemailArchiveEnabled(context, phoneAccountHandle, true);
Intent intent = new Intent(VoicemailContract.ACTION_SYNC_VOICEMAIL);
intent.setPackage(status.sourcePackage);
@@ -213,6 +216,7 @@ public class VoicemailErrorMessage {
@NonNull
public static Action createDismissTurnArchiveOnAction(
final Context context,
+ int impressionToLog,
VoicemailStatusReader statusReader,
PerAccountSharedPreferences sharedPreferenceForAccount,
String preferenceKeyToUpdate) {
@@ -221,11 +225,11 @@ public class VoicemailErrorMessage {
new OnClickListener() {
@Override
public void onClick(View v) {
- OmtpVoicemailMessageCreator.logArchiveImpression(
- context,
- preferenceKeyToUpdate,
- DialerImpression.Type.VVM_USER_DISMISSED_VM_FULL_PROMO,
- DialerImpression.Type.VVM_USER_DISMISSED_VM_ALMOST_FULL_PROMO);
+ Assert.checkArgument(
+ VoicemailComponent.get(context)
+ .getVoicemailClient()
+ .isVoicemailArchiveAvailable(context));
+ Logger.get(context).logImpression(impressionToLog);
sharedPreferenceForAccount.edit().putBoolean(preferenceKeyToUpdate, true).apply();
statusReader.refresh();
}
diff --git a/java/com/android/dialer/app/voicemail/error/Vvm3VoicemailMessageCreator.java b/java/com/android/dialer/app/voicemail/error/Vvm3VoicemailMessageCreator.java
index 8b10ff4a8..d98ac2cd5 100644
--- a/java/com/android/dialer/app/voicemail/error/Vvm3VoicemailMessageCreator.java
+++ b/java/com/android/dialer/app/voicemail/error/Vvm3VoicemailMessageCreator.java
@@ -264,7 +264,7 @@ public class Vvm3VoicemailMessageCreator {
return new VoicemailErrorMessage(
context.getString(R.string.voicemail_error_pin_not_set_title),
getCustomerSupportString(context, R.string.voicemail_error_pin_not_set_message),
- VoicemailErrorMessage.createSetPinAction(context));
+ VoicemailErrorMessage.createSetPinAction(context, status.getPhoneAccountHandle()));
}
return OmtpVoicemailMessageCreator.create(context, status, statusReader);
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 09283d3d6..8939e687e 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
@@ -24,8 +24,8 @@
<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_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 Mailbox-Nachrichten 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_airplane_mode_message" msgid="8553646558282754276">"Du wirst nicht über neue Mailbox-Nachrichten informiert. Schalte den Flugmodus aus, um deine Mailbox zu synchronisieren."</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_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_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>
@@ -42,12 +42,12 @@
<string name="voicemail_error_server_message" msgid="3538157415413084592">"Du kannst deine Mailbox immer noch per Anruf abhören."</string>
<string name="voicemail_error_inbox_near_full_title" msgid="7568681773644454672">"Mailbox fast voll"</string>
<string name="voicemail_error_inbox_near_full_message" msgid="354118612203528244">"Wenn deine Mailbox voll ist, kannst du keine neuen Sprachnachrichten empfangen."</string>
- <string name="voicemail_error_inbox_full_title" msgid="249268068442046872">"Es können keine neuen Mailbox-Nachrichten empfangen werden"</string>
+ <string name="voicemail_error_inbox_full_title" msgid="249268068442046872">"Es können keine neuen Mailboxnachrichten empfangen werden"</string>
<string name="voicemail_error_inbox_full_message" msgid="5788411018158899123">"Deine Mailbox ist voll. Lösche einige Nachrichten, um neue empfangen zu können."</string>
<string name="voicemail_error_inbox_full_turn_archive_on_title" msgid="3083779676549536189">"[Testfunktion] Zusätzlichen Speicher und Sicherung aktivieren"</string>
- <string name="voicemail_error_inbox_full_turn_archive_on_message" msgid="4236256841748725792">"Dein Postfach ist voll. Aktivere zusätzlichen Speicher, um Speicherplatz freizugeben. So kann Google deine Mailbox-Nachrichten verwalten und sichern. "<b><i>"Diese Funktion wird gerade getestet."</i></b>" Hiermit werden möglicherweise Mailbox-Nachrichten von deinem Mailbox-Server gelöscht und es wird nicht garantiert, dass diese Funktion auch in Zukunft unterstützt wird. Wir würden uns aber sehr über Feedback dazu freuen."</string>
+ <string name="voicemail_error_inbox_full_turn_archive_on_message" msgid="4236256841748725792">"Dein Postfach ist voll. Aktivere zusätzlichen Speicher, um Speicherplatz freizugeben. So kann Google deine Mailboxnachrichten verwalten und sichern. "<b><i>"Diese Funktion wird gerade getestet."</i></b>" Hiermit werden möglicherweise Mailboxnachrichten von deinem Mailbox-Server gelöscht und es wird nicht garantiert, dass diese Funktion auch in Zukunft unterstützt wird. Wir würden uns aber sehr über Feedback dazu freuen."</string>
<string name="voicemail_error_inbox_almost_full_turn_archive_on_title" msgid="6118464905488477869">"[Testfunktion] Zusätzlichen Speicher und Sicherung aktivieren"</string>
- <string name="voicemail_error_inbox_almost_full_turn_archive_on_message" msgid="7289015622668426730">"Dein Postfach ist voll. Aktivere zusätzlichen Speicher, um Speicherplatz freizugeben. So kann Google deine Mailbox-Nachrichten verwalten und sichern. "<b><i>"Diese Funktion wird gerade getestet."</i></b>" Hiermit werden möglicherweise Mailbox-Nachrichten von deinem Mailbox-Server gelöscht und es wird nicht garantiert, dass diese Funktion auch in Zukunft unterstützt wird. Wir würden uns aber sehr über Feedback dazu freuen."</string>
+ <string name="voicemail_error_inbox_almost_full_turn_archive_on_message" msgid="7289015622668426730">"Dein Postfach ist voll. Aktivere zusätzlichen Speicher, um Speicherplatz freizugeben. So kann Google deine Mailboxnachrichten verwalten und sichern. "<b><i>"Diese Funktion wird gerade getestet."</i></b>" Hiermit werden möglicherweise Mailboxnachrichten von deinem Mailbox-Server gelöscht und es wird nicht garantiert, dass diese Funktion auch in Zukunft unterstützt wird. Wir würden uns aber sehr über Feedback dazu freuen."</string>
<string name="voicemail_error_pin_not_set_title" msgid="1287168514277948082">"Mailbox-PIN festlegen"</string>
<string name="voicemail_error_pin_not_set_message" msgid="3802375002103184625">"Bei jedem Anruf auf deiner Mailbox benötigst du eine Mailbox-PIN."</string>
<string name="voicemail_error_unknown_title" msgid="7214482611706360680">"Unbekannter Fehler"</string>
@@ -105,6 +105,6 @@
<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_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="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Du kannst nur auf Mailbox-Nachrichten zugreifen, indem du *86 anrufst. Lege eine neue Mailbox-PIN fest, um fortzufahren."</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/backup/DialerBackupAgent.java b/java/com/android/dialer/backup/DialerBackupAgent.java
index 2f8684aa2..0841e82e7 100644
--- a/java/com/android/dialer/backup/DialerBackupAgent.java
+++ b/java/com/android/dialer/backup/DialerBackupAgent.java
@@ -100,8 +100,7 @@ public class DialerBackupAgent extends BackupAgent {
LogUtil.i("DialerBackupAgent.onFullBackup", "performing dialer backup");
boolean autoBackupEnabled =
ConfigProviderBindings.get(this).getBoolean("enable_autobackup", true);
- boolean vmBackupEnabled =
- ConfigProviderBindings.get(this).getBoolean("enable_vm_backup", false);
+ boolean vmBackupEnabled = ConfigProviderBindings.get(this).getBoolean("enable_vm_backup", true);
List<PhoneAccountHandle> phoneAccountsToArchive =
DialerBackupUtils.getPhoneAccountsToArchive(this);
diff --git a/java/com/android/dialer/binary/aosp/AospDialerRootComponent.java b/java/com/android/dialer/binary/aosp/AospDialerRootComponent.java
index 54fedc2be..3a2f3cf9a 100644
--- a/java/com/android/dialer/binary/aosp/AospDialerRootComponent.java
+++ b/java/com/android/dialer/binary/aosp/AospDialerRootComponent.java
@@ -19,6 +19,7 @@ package com.android.dialer.binary.aosp;
import com.android.dialer.binary.basecomponent.BaseDialerRootComponent;
import com.android.dialer.enrichedcall.stub.StubEnrichedCallModule;
import com.android.dialer.inject.ContextModule;
+import com.android.dialer.lightbringer.stub.StubLightbringerModule;
import com.android.dialer.simulator.impl.SimulatorModule;
import com.android.incallui.calllocation.stub.StubCallLocationModule;
import com.android.incallui.maps.stub.StubMapsModule;
@@ -35,7 +36,8 @@ import javax.inject.Singleton;
StubCallLocationModule.class,
StubEnrichedCallModule.class,
StubMapsModule.class,
- VoicemailModule.class
+ VoicemailModule.class,
+ StubLightbringerModule.class
}
)
public interface AospDialerRootComponent extends BaseDialerRootComponent {}
diff --git a/java/com/android/dialer/binary/basecomponent/BaseDialerRootComponent.java b/java/com/android/dialer/binary/basecomponent/BaseDialerRootComponent.java
index 907671b01..e8962c248 100644
--- a/java/com/android/dialer/binary/basecomponent/BaseDialerRootComponent.java
+++ b/java/com/android/dialer/binary/basecomponent/BaseDialerRootComponent.java
@@ -17,6 +17,7 @@
package com.android.dialer.binary.basecomponent;
import com.android.dialer.enrichedcall.EnrichedCallComponent;
+import com.android.dialer.lightbringer.LightbringerComponent;
import com.android.dialer.simulator.SimulatorComponent;
import com.android.incallui.calllocation.CallLocationComponent;
import com.android.incallui.maps.MapsComponent;
@@ -31,4 +32,5 @@ public interface BaseDialerRootComponent
EnrichedCallComponent.HasComponent,
MapsComponent.HasComponent,
SimulatorComponent.HasComponent,
- VoicemailComponent.HasComponent {}
+ VoicemailComponent.HasComponent,
+ LightbringerComponent.HasComponent {}
diff --git a/java/com/android/dialer/binary/common/DialerApplication.java b/java/com/android/dialer/binary/common/DialerApplication.java
index cc7befc90..352c4eba9 100644
--- a/java/com/android/dialer/binary/common/DialerApplication.java
+++ b/java/com/android/dialer/binary/common/DialerApplication.java
@@ -17,12 +17,15 @@
package com.android.dialer.binary.common;
import android.app.Application;
+import android.os.StrictMode;
import android.os.Trace;
-import android.preference.PreferenceManager;
import android.support.annotation.NonNull;
import com.android.dialer.blocking.BlockedNumbersAutoMigrator;
import com.android.dialer.blocking.FilteredNumberAsyncQueryHandler;
+import com.android.dialer.buildtype.BuildType;
+import com.android.dialer.common.concurrent.DefaultDialerExecutorFactory;
import com.android.dialer.inject.HasRootComponent;
+import com.android.dialer.persistentlog.PersistentLogger;
/** A common application subclass for all Dialer build variants. */
public abstract class DialerApplication extends Application implements HasRootComponent {
@@ -32,15 +35,25 @@ public abstract class DialerApplication extends Application implements HasRootCo
@Override
public void onCreate() {
Trace.beginSection("DialerApplication.onCreate");
+ if (BuildType.get() == BuildType.BUGFOOD) {
+ enableStrictMode();
+ }
super.onCreate();
new BlockedNumbersAutoMigrator(
- this,
- PreferenceManager.getDefaultSharedPreferences(this),
- new FilteredNumberAsyncQueryHandler(this))
- .autoMigrate();
+ this.getApplicationContext(),
+ new FilteredNumberAsyncQueryHandler(this),
+ new DefaultDialerExecutorFactory())
+ .asyncAutoMigrate();
+ PersistentLogger.initialize(this);
Trace.endSection();
}
+ private void enableStrictMode() {
+ StrictMode.setThreadPolicy(
+ new StrictMode.ThreadPolicy.Builder().detectAll().penaltyDeath().build());
+ StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectAll().penaltyDeath().build());
+ }
+
/**
* Returns a new instance of the root component for the application. Sub classes should define a
* root component that extends all the sub components "HasComponent" intefaces. The component
diff --git a/java/com/android/dialer/blocking/BlockedNumbersAutoMigrator.java b/java/com/android/dialer/blocking/BlockedNumbersAutoMigrator.java
index 1773e9b84..3cc42207d 100644
--- a/java/com/android/dialer/blocking/BlockedNumbersAutoMigrator.java
+++ b/java/com/android/dialer/blocking/BlockedNumbersAutoMigrator.java
@@ -18,10 +18,14 @@ package com.android.dialer.blocking;
import android.content.Context;
import android.content.SharedPreferences;
+import android.preference.PreferenceManager;
import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
import com.android.dialer.blocking.FilteredNumberAsyncQueryHandler.OnHasBlockedNumbersListener;
+import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
-import java.util.Objects;
+import com.android.dialer.common.concurrent.DialerExecutor.Worker;
+import com.android.dialer.common.concurrent.DialerExecutorFactory;
/**
* Class responsible for checking if the user can be auto-migrated to {@link
@@ -32,36 +36,42 @@ public class BlockedNumbersAutoMigrator {
static final String HAS_CHECKED_AUTO_MIGRATE_KEY = "checkedAutoMigrate";
- @NonNull private final Context context;
- @NonNull private final SharedPreferences sharedPreferences;
+ @NonNull private final Context appContext;
@NonNull private final FilteredNumberAsyncQueryHandler queryHandler;
+ @NonNull private final DialerExecutorFactory dialerExecutorFactory;
/**
- * Constructs the BlockedNumbersAutoMigrator with the given {@link SharedPreferences} and {@link
+ * Constructs the BlockedNumbersAutoMigrator with the given {@link
* FilteredNumberAsyncQueryHandler}.
*
- * @param sharedPreferences The SharedPreferences used to persist information.
* @param queryHandler The FilteredNumberAsyncQueryHandler used to determine if there are blocked
* numbers.
* @throws NullPointerException if sharedPreferences or queryHandler are null.
*/
public BlockedNumbersAutoMigrator(
- @NonNull Context context,
- @NonNull SharedPreferences sharedPreferences,
- @NonNull FilteredNumberAsyncQueryHandler queryHandler) {
- this.context = Objects.requireNonNull(context);
- this.sharedPreferences = Objects.requireNonNull(sharedPreferences);
- this.queryHandler = Objects.requireNonNull(queryHandler);
+ @NonNull Context appContext,
+ @NonNull FilteredNumberAsyncQueryHandler queryHandler,
+ @NonNull DialerExecutorFactory dialerExecutorFactory) {
+ this.appContext = Assert.isNotNull(appContext);
+ this.queryHandler = Assert.isNotNull(queryHandler);
+ this.dialerExecutorFactory = Assert.isNotNull(dialerExecutorFactory);
+ }
+
+ public void asyncAutoMigrate() {
+ dialerExecutorFactory
+ .createNonUiTaskBuilder(new ShouldAttemptAutoMigrate(appContext))
+ .onSuccess(this::autoMigrate)
+ .build()
+ .executeParallel(null);
}
/**
* Attempts to perform the auto-migration. Auto-migration will only be attempted once and can be
* performed only when the user has no blocked numbers. As a result of this method, the user will
- * be migrated to the framework blocking solution, as determined by {@link
- * FilteredNumberCompat#hasMigratedToNewBlocking()}.
+ * be migrated to the framework blocking solution if blocked numbers don't exist.
*/
- public void autoMigrate() {
- if (!shouldAttemptAutoMigrate()) {
+ private void autoMigrate(boolean shouldAttemptAutoMigrate) {
+ if (!shouldAttemptAutoMigrate) {
return;
}
@@ -75,36 +85,51 @@ public class BlockedNumbersAutoMigrator {
return;
}
LogUtil.i("BlockedNumbersAutoMigrator", "auto-migrating: no blocked numbers.");
- FilteredNumberCompat.setHasMigratedToNewBlocking(context, true);
+ FilteredNumberCompat.setHasMigratedToNewBlocking(appContext, true);
}
});
}
- private boolean shouldAttemptAutoMigrate() {
- if (sharedPreferences.contains(HAS_CHECKED_AUTO_MIGRATE_KEY)) {
- LogUtil.v("BlockedNumbersAutoMigrator", "not attempting auto-migrate: already checked once.");
- return false;
+ private static class ShouldAttemptAutoMigrate implements Worker<Void, Boolean> {
+ private final Context appContext;
+
+ ShouldAttemptAutoMigrate(Context appContext) {
+ this.appContext = appContext;
}
- if (!FilteredNumberCompat.canAttemptBlockOperations(context)) {
- // This may be the case where the user is on the lock screen, so we shouldn't record that the
- // migration status was checked.
+ @Nullable
+ @Override
+ public Boolean doInBackground(@Nullable Void input) {
+ SharedPreferences sharedPreferences =
+ PreferenceManager.getDefaultSharedPreferences(appContext);
+
+ if (sharedPreferences.contains(HAS_CHECKED_AUTO_MIGRATE_KEY)) {
+ LogUtil.v(
+ "BlockedNumbersAutoMigrator", "not attempting auto-migrate: already checked once.");
+ return false;
+ }
+
+ if (!FilteredNumberCompat.canAttemptBlockOperations(appContext)) {
+ // This may be the case where the user is on the lock screen, so we shouldn't record that
+ // the migration status was checked.
+ LogUtil.i(
+ "BlockedNumbersAutoMigrator", "not attempting auto-migrate: current user can't block");
+ return false;
+ }
LogUtil.i(
- "BlockedNumbersAutoMigrator", "not attempting auto-migrate: current user can't block");
- return false;
- }
- LogUtil.i("BlockedNumbersAutoMigrator", "updating state as already checked for auto-migrate.");
- sharedPreferences.edit().putBoolean(HAS_CHECKED_AUTO_MIGRATE_KEY, true).apply();
+ "BlockedNumbersAutoMigrator", "updating state as already checked for auto-migrate.");
+ sharedPreferences.edit().putBoolean(HAS_CHECKED_AUTO_MIGRATE_KEY, true).apply();
- if (!FilteredNumberCompat.canUseNewFiltering()) {
- LogUtil.i("BlockedNumbersAutoMigrator", "not attempting auto-migrate: not available.");
- return false;
- }
+ if (!FilteredNumberCompat.canUseNewFiltering()) {
+ LogUtil.i("BlockedNumbersAutoMigrator", "not attempting auto-migrate: not available.");
+ return false;
+ }
- if (FilteredNumberCompat.hasMigratedToNewBlocking(context)) {
- LogUtil.i("BlockedNumbersAutoMigrator", "not attempting auto-migrate: already migrated.");
- return false;
+ if (FilteredNumberCompat.hasMigratedToNewBlocking(appContext)) {
+ LogUtil.i("BlockedNumbersAutoMigrator", "not attempting auto-migrate: already migrated.");
+ return false;
+ }
+ return true;
}
- return true;
}
}
diff --git a/java/com/android/dialer/blocking/FilteredNumberAsyncQueryHandler.java b/java/com/android/dialer/blocking/FilteredNumberAsyncQueryHandler.java
index 852e7a0ed..bd4156846 100644
--- a/java/com/android/dialer/blocking/FilteredNumberAsyncQueryHandler.java
+++ b/java/com/android/dialer/blocking/FilteredNumberAsyncQueryHandler.java
@@ -56,8 +56,14 @@ public class FilteredNumberAsyncQueryHandler extends AsyncQueryHandler {
@Override
protected void onQueryComplete(int token, Object cookie, Cursor cursor) {
- if (cookie != null) {
- ((Listener) cookie).onQueryComplete(token, cookie, cursor);
+ try {
+ if (cookie != null) {
+ ((Listener) cookie).onQueryComplete(token, cookie, cursor);
+ }
+ } finally {
+ if (cursor != null) {
+ cursor.close();
+ }
}
}
@@ -82,7 +88,7 @@ public class FilteredNumberAsyncQueryHandler extends AsyncQueryHandler {
}
}
- public void hasBlockedNumbers(final OnHasBlockedNumbersListener listener) {
+ void hasBlockedNumbers(final OnHasBlockedNumbersListener listener) {
if (!FilteredNumberCompat.canAttemptBlockOperations(context)) {
listener.onHasBlockedNumbers(false);
return;
@@ -405,7 +411,7 @@ public class FilteredNumberAsyncQueryHandler extends AsyncQueryHandler {
void onUnblockComplete(int rows, ContentValues values);
}
- public interface OnHasBlockedNumbersListener {
+ interface OnHasBlockedNumbersListener {
/**
* @param hasBlockedNumbers {@code true} if any blocked numbers are stored. {@code false}
diff --git a/java/com/android/dialer/blocking/FilteredNumbersUtil.java b/java/com/android/dialer/blocking/FilteredNumbersUtil.java
index f09370e6e..8908238ea 100644
--- a/java/com/android/dialer/blocking/FilteredNumbersUtil.java
+++ b/java/com/android/dialer/blocking/FilteredNumbersUtil.java
@@ -285,7 +285,7 @@ public class FilteredNumbersUtil {
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification.Builder builder =
new Notification.Builder(context)
- .setSmallIcon(R.drawable.ic_block_24dp)
+ .setSmallIcon(R.drawable.quantum_ic_block_white_24)
.setContentTitle(
context.getString(R.string.call_blocking_disabled_notification_title))
.setContentText(
diff --git a/java/com/android/dialer/blocking/res/drawable-hdpi/ic_block_24dp.png b/java/com/android/dialer/blocking/res/drawable-hdpi/ic_block_24dp.png
deleted file mode 100644
index 2ccc89d24..000000000
--- a/java/com/android/dialer/blocking/res/drawable-hdpi/ic_block_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/blocking/res/drawable-hdpi/ic_report_24dp.png b/java/com/android/dialer/blocking/res/drawable-hdpi/ic_report_24dp.png
deleted file mode 100644
index dc0c995c1..000000000
--- a/java/com/android/dialer/blocking/res/drawable-hdpi/ic_report_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/blocking/res/drawable-hdpi/ic_report_white_36dp.png b/java/com/android/dialer/blocking/res/drawable-hdpi/ic_report_white_36dp.png
deleted file mode 100644
index 919a872e0..000000000
--- a/java/com/android/dialer/blocking/res/drawable-hdpi/ic_report_white_36dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/blocking/res/drawable-mdpi/ic_block_24dp.png b/java/com/android/dialer/blocking/res/drawable-mdpi/ic_block_24dp.png
deleted file mode 100644
index ec1b33f0e..000000000
--- a/java/com/android/dialer/blocking/res/drawable-mdpi/ic_block_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/blocking/res/drawable-mdpi/ic_report_24dp.png b/java/com/android/dialer/blocking/res/drawable-mdpi/ic_report_24dp.png
deleted file mode 100644
index 70b82d6c1..000000000
--- a/java/com/android/dialer/blocking/res/drawable-mdpi/ic_report_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/blocking/res/drawable-mdpi/ic_report_white_36dp.png b/java/com/android/dialer/blocking/res/drawable-mdpi/ic_report_white_36dp.png
deleted file mode 100644
index dc0c995c1..000000000
--- a/java/com/android/dialer/blocking/res/drawable-mdpi/ic_report_white_36dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/blocking/res/drawable-xhdpi/ic_block_24dp.png b/java/com/android/dialer/blocking/res/drawable-xhdpi/ic_block_24dp.png
deleted file mode 100644
index 7aba97b65..000000000
--- a/java/com/android/dialer/blocking/res/drawable-xhdpi/ic_block_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/blocking/res/drawable-xhdpi/ic_report_24dp.png b/java/com/android/dialer/blocking/res/drawable-xhdpi/ic_report_24dp.png
deleted file mode 100644
index 18e7764ab..000000000
--- a/java/com/android/dialer/blocking/res/drawable-xhdpi/ic_report_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/blocking/res/drawable-xhdpi/ic_report_white_36dp.png b/java/com/android/dialer/blocking/res/drawable-xhdpi/ic_report_white_36dp.png
deleted file mode 100644
index aed766804..000000000
--- a/java/com/android/dialer/blocking/res/drawable-xhdpi/ic_report_white_36dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/blocking/res/drawable-xxhdpi/ic_block_24dp.png b/java/com/android/dialer/blocking/res/drawable-xxhdpi/ic_block_24dp.png
deleted file mode 100644
index fddfa54b8..000000000
--- a/java/com/android/dialer/blocking/res/drawable-xxhdpi/ic_block_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/blocking/res/drawable-xxhdpi/ic_report_24dp.png b/java/com/android/dialer/blocking/res/drawable-xxhdpi/ic_report_24dp.png
deleted file mode 100644
index aed766804..000000000
--- a/java/com/android/dialer/blocking/res/drawable-xxhdpi/ic_report_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/blocking/res/drawable-xxhdpi/ic_report_white_36dp.png b/java/com/android/dialer/blocking/res/drawable-xxhdpi/ic_report_white_36dp.png
deleted file mode 100644
index f7cfacbd4..000000000
--- a/java/com/android/dialer/blocking/res/drawable-xxhdpi/ic_report_white_36dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/blocking/res/drawable-xxxhdpi/ic_block_24dp.png b/java/com/android/dialer/blocking/res/drawable-xxxhdpi/ic_block_24dp.png
deleted file mode 100644
index 0378d1bed..000000000
--- a/java/com/android/dialer/blocking/res/drawable-xxxhdpi/ic_block_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/blocking/res/drawable-xxxhdpi/ic_report_24dp.png b/java/com/android/dialer/blocking/res/drawable-xxxhdpi/ic_report_24dp.png
deleted file mode 100644
index 855e59015..000000000
--- a/java/com/android/dialer/blocking/res/drawable-xxxhdpi/ic_report_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/blocking/res/drawable-xxxhdpi/ic_report_white_36dp.png b/java/com/android/dialer/blocking/res/drawable-xxxhdpi/ic_report_white_36dp.png
deleted file mode 100644
index 7ef0d7afc..000000000
--- a/java/com/android/dialer/blocking/res/drawable-xxxhdpi/ic_report_white_36dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/blocking/res/drawable/blocked_contact.xml b/java/com/android/dialer/blocking/res/drawable/blocked_contact.xml
index 09d7989e8..905616d4a 100644
--- a/java/com/android/dialer/blocking/res/drawable/blocked_contact.xml
+++ b/java/com/android/dialer/blocking/res/drawable/blocked_contact.xml
@@ -28,7 +28,7 @@
</item>
<item
- android:drawable="@drawable/ic_report_24dp"
+ android:drawable="@drawable/quantum_ic_report_white_24"
android:gravity="center"
android:height="18dp"
android:width="18dp"/>
diff --git a/java/com/android/dialer/blocking/res/values-de/strings.xml b/java/com/android/dialer/blocking/res/values-de/strings.xml
index f1677e91f..37507ebbe 100644
--- a/java/com/android/dialer/blocking/res/values-de/strings.xml
+++ b/java/com/android/dialer/blocking/res/values-de/strings.xml
@@ -21,8 +21,8 @@
<string name="migrate_blocked_numbers_dialog_message" msgid="8309736147266462485">"Um dich besser schützen zu können, müssen die Einstellungen der Blockierung beim Telefon geändert werden. Von blockierten Nummern erhältst du jetzt keine Anrufe und Nachrichten mehr und diese Nummern können auch an andere Apps weitergegeben werden."</string>
<string name="migrate_blocked_numbers_dialog_allow_button" msgid="5192836471557751367">"Zulassen"</string>
<string name="block_number_confirmation_title" msgid="2699521227461376076">"<xliff:g id="NUMBER">%1$s</xliff:g> blockieren?"</string>
- <string name="block_number_confirmation_message_vvm" msgid="6501105244172290939">"Anrufe von dieser Nummer werden blockiert und Mailbox-Nachrichten automatisch gelöscht."</string>
- <string name="block_number_confirmation_message_no_vvm" msgid="8236641245709649882">"Anrufe von dieser Nummer werden blockiert. Der Anrufer hat aber unter Umständen weiterhin die Möglichkeit, dir Mailbox-Nachrichten zu hinterlassen."</string>
+ <string name="block_number_confirmation_message_vvm" msgid="6501105244172290939">"Anrufe von dieser Nummer werden blockiert und Mailboxnachrichten automatisch gelöscht."</string>
+ <string name="block_number_confirmation_message_no_vvm" msgid="8236641245709649882">"Anrufe von dieser Nummer werden blockiert. Der Anrufer hat aber unter Umständen weiterhin die Möglichkeit, dir Mailboxnachrichten zu hinterlassen."</string>
<string name="block_number_confirmation_message_new_filtering" msgid="8487449683723062644">"Du erhältst von dieser Nummer keine Anrufe oder Nachrichten mehr."</string>
<string name="block_number_ok" msgid="739786082788038932">"BLOCKIEREN"</string>
<string name="unblock_number_confirmation_title" msgid="7897778825085659941">"Blockierung von <xliff:g id="NUMBER">%1$s</xliff:g> aufheben?"</string>
diff --git a/java/com/android/dialer/callcomposer/CallComposerActivity.java b/java/com/android/dialer/callcomposer/CallComposerActivity.java
index 9fb6c38f4..3c0beb101 100644
--- a/java/com/android/dialer/callcomposer/CallComposerActivity.java
+++ b/java/com/android/dialer/callcomposer/CallComposerActivity.java
@@ -41,13 +41,13 @@ 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.QuickContactBadge;
import android.widget.RelativeLayout;
import android.widget.TextView;
-import android.widget.Toolbar;
import com.android.contacts.common.ContactPhotoManager;
import com.android.dialer.callcomposer.CallComposerFragment.CallComposerListener;
import com.android.dialer.callcomposer.nano.CallComposerContact;
@@ -70,6 +70,7 @@ import com.android.dialer.multimedia.MultimediaData;
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.google.protobuf.nano.InvalidProtocolBufferNanoException;
import java.io.File;
@@ -110,7 +111,7 @@ public class CallComposerActivity extends AppCompatActivity
private TextView numberView;
private QuickContactBadge contactPhoto;
private RelativeLayout contactContainer;
- private Toolbar toolbar;
+ private DialerToolbar toolbar;
private View sendAndCall;
private TextView sendAndCallText;
@@ -151,7 +152,7 @@ public class CallComposerActivity extends AppCompatActivity
pager = (ViewPager) findViewById(R.id.call_composer_view_pager);
background = (FrameLayout) findViewById(R.id.background);
windowContainer = (LinearLayout) findViewById(R.id.call_composer_container);
- toolbar = (Toolbar) findViewById(R.id.toolbar);
+ toolbar = (DialerToolbar) findViewById(R.id.toolbar);
sendAndCall = findViewById(R.id.send_and_call_button);
sendAndCallText = (TextView) findViewById(R.id.send_and_call_text);
@@ -163,10 +164,6 @@ public class CallComposerActivity extends AppCompatActivity
pager.setAdapter(adapter);
pager.addOnPageChangeListener(this);
- setActionBar(toolbar);
- toolbar.setNavigationIcon(R.drawable.quantum_ic_close_white_24);
- toolbar.setNavigationOnClickListener(v -> finish());
-
background.addOnLayoutChangeListener(this);
cameraIcon.setOnClickListener(this);
galleryIcon.setOnClickListener(this);
@@ -183,6 +180,11 @@ public class CallComposerActivity extends AppCompatActivity
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(
@@ -262,79 +264,83 @@ public class CallComposerActivity extends AppCompatActivity
} else if (view == messageIcon) {
pager.setCurrentItem(CallComposerPagerAdapter.INDEX_MESSAGE, true /* animate */);
} else if (view == sendAndCall) {
- if (!sessionReady()) {
- LogUtil.i(
- "CallComposerActivity.onClick", "sendAndCall pressed, but the session isn't ready");
- Logger.get(this)
- .logImpression(
- DialerImpression.Type
- .CALL_COMPOSER_ACTIVITY_SEND_AND_CALL_PRESSED_WHEN_SESSION_NOT_READY);
- return;
- }
- sendAndCall.setEnabled(false);
- CallComposerFragment fragment =
- (CallComposerFragment) adapter.instantiateItem(pager, currentIndex);
- MultimediaData.Builder builder = MultimediaData.builder();
-
- if (fragment instanceof MessageComposerFragment) {
- MessageComposerFragment messageComposerFragment = (MessageComposerFragment) fragment;
- builder.setText(messageComposerFragment.getMessage());
- placeRCSCall(builder);
- }
- if (fragment instanceof GalleryComposerFragment) {
- GalleryComposerFragment galleryComposerFragment = (GalleryComposerFragment) fragment;
- // If the current data is not a copy, make one.
- if (!galleryComposerFragment.selectedDataIsCopy()) {
- new CopyAndResizeImageTask(
- CallComposerActivity.this,
- galleryComposerFragment.getGalleryData().getFileUri(),
- new Callback() {
- @Override
- public void onCopySuccessful(File file, String mimeType) {
- Uri shareableUri =
- FileProvider.getUriForFile(
- CallComposerActivity.this,
- Constants.get().getFileProviderAuthority(),
- file);
-
- builder.setImage(grantUriPermission(shareableUri), mimeType);
- placeRCSCall(builder);
- }
-
- @Override
- public void onCopyFailed(Throwable throwable) {
- // TODO(b/34279096) - gracefully handle message failure
- LogUtil.e("CallComposerActivity.onCopyFailed", "copy Failed", throwable);
- }
- })
- .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
- } else {
- Uri shareableUri =
- FileProvider.getUriForFile(
- this,
- Constants.get().getFileProviderAuthority(),
- new File(galleryComposerFragment.getGalleryData().getFilePath()));
-
- builder.setImage(
- grantUriPermission(shareableUri),
- galleryComposerFragment.getGalleryData().getMimeType());
-
- placeRCSCall(builder);
- }
- }
- if (fragment instanceof CameraComposerFragment) {
- CameraComposerFragment cameraComposerFragment = (CameraComposerFragment) fragment;
- cameraComposerFragment.getCameraUriWhenReady(
- uri -> {
- builder.setImage(grantUriPermission(uri), cameraComposerFragment.getMimeType());
- placeRCSCall(builder);
- });
- }
+ sendAndCall();
} else {
Assert.fail();
}
}
+ @Override
+ public void sendAndCall() {
+ if (!sessionReady()) {
+ LogUtil.i("CallComposerActivity.onClick", "sendAndCall pressed, but the session isn't ready");
+ Logger.get(this)
+ .logImpression(
+ DialerImpression.Type
+ .CALL_COMPOSER_ACTIVITY_SEND_AND_CALL_PRESSED_WHEN_SESSION_NOT_READY);
+ return;
+ }
+ sendAndCall.setEnabled(false);
+ CallComposerFragment fragment =
+ (CallComposerFragment) adapter.instantiateItem(pager, currentIndex);
+ MultimediaData.Builder builder = MultimediaData.builder();
+
+ if (fragment instanceof MessageComposerFragment) {
+ MessageComposerFragment messageComposerFragment = (MessageComposerFragment) fragment;
+ builder.setText(messageComposerFragment.getMessage());
+ placeRCSCall(builder);
+ }
+ if (fragment instanceof GalleryComposerFragment) {
+ GalleryComposerFragment galleryComposerFragment = (GalleryComposerFragment) fragment;
+ // If the current data is not a copy, make one.
+ if (!galleryComposerFragment.selectedDataIsCopy()) {
+ new CopyAndResizeImageTask(
+ CallComposerActivity.this,
+ galleryComposerFragment.getGalleryData().getFileUri(),
+ new Callback() {
+ @Override
+ public void onCopySuccessful(File file, String mimeType) {
+ Uri shareableUri =
+ FileProvider.getUriForFile(
+ CallComposerActivity.this,
+ Constants.get().getFileProviderAuthority(),
+ file);
+
+ builder.setImage(grantUriPermission(shareableUri), mimeType);
+ placeRCSCall(builder);
+ }
+
+ @Override
+ public void onCopyFailed(Throwable throwable) {
+ // TODO(b/34279096) - gracefully handle message failure
+ LogUtil.e("CallComposerActivity.onCopyFailed", "copy Failed", throwable);
+ }
+ })
+ .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ } else {
+ Uri shareableUri =
+ FileProvider.getUriForFile(
+ this,
+ Constants.get().getFileProviderAuthority(),
+ new File(galleryComposerFragment.getGalleryData().getFilePath()));
+
+ builder.setImage(
+ grantUriPermission(shareableUri),
+ galleryComposerFragment.getGalleryData().getMimeType());
+
+ placeRCSCall(builder);
+ }
+ }
+ if (fragment instanceof CameraComposerFragment) {
+ CameraComposerFragment cameraComposerFragment = (CameraComposerFragment) fragment;
+ cameraComposerFragment.getCameraUriWhenReady(
+ uri -> {
+ builder.setImage(grantUriPermission(uri), cameraComposerFragment.getMimeType());
+ placeRCSCall(builder);
+ });
+ }
+ }
+
private boolean sessionReady() {
Session session = getEnrichedCallManager().getSession(sessionId);
if (session == null) {
@@ -482,7 +488,7 @@ public class CallComposerActivity extends AppCompatActivity
contact.contactType);
nameView.setText(contact.nameOrNumber);
- getActionBar().setTitle(contact.nameOrNumber);
+ toolbar.setTitle(contact.nameOrNumber);
if (!TextUtils.isEmpty(contact.numberLabel) && !TextUtils.isEmpty(contact.displayNumber)) {
numberView.setVisibility(View.VISIBLE);
String secondaryInfo =
@@ -577,11 +583,11 @@ public class CallComposerActivity extends AppCompatActivity
inFullscreenMode = fullscreen;
ViewGroup.LayoutParams layoutParams = pager.getLayoutParams();
if (isLandscapeLayout()) {
- layoutParams.height = background.getHeight() - messageIcon.getHeight();
+ layoutParams.height = background.getHeight();
toolbar.setVisibility(View.INVISIBLE);
contactContainer.setVisibility(View.GONE);
} else if (fullscreen || getResources().getBoolean(R.bool.show_toolbar)) {
- layoutParams.height = background.getHeight() - toolbar.getHeight() - messageIcon.getHeight();
+ layoutParams.height = background.getHeight() - toolbar.getHeight();
toolbar.setVisibility(View.VISIBLE);
contactContainer.setVisibility(View.GONE);
} else {
diff --git a/java/com/android/dialer/callcomposer/CallComposerFragment.java b/java/com/android/dialer/callcomposer/CallComposerFragment.java
index ee1eb462a..b60657189 100644
--- a/java/com/android/dialer/callcomposer/CallComposerFragment.java
+++ b/java/com/android/dialer/callcomposer/CallComposerFragment.java
@@ -62,5 +62,8 @@ public abstract class CallComposerFragment extends Fragment {
/** True if the layout is in landscape mode. */
boolean isLandscapeLayout();
+
+ /** Tell the listener that call composition is done and we should start the call. */
+ void sendAndCall();
}
}
diff --git a/java/com/android/dialer/callcomposer/CameraComposerFragment.java b/java/com/android/dialer/callcomposer/CameraComposerFragment.java
index 01f7f6087..ceefc068e 100644
--- a/java/com/android/dialer/callcomposer/CameraComposerFragment.java
+++ b/java/com/android/dialer/callcomposer/CameraComposerFragment.java
@@ -331,6 +331,7 @@ public class CameraComposerFragment extends CallComposerFragment
if (cameraUri != null) {
previewImageView.setImageURI(cameraUri);
previewImageView.setVisibility(View.VISIBLE);
+ previewImageView.setScaleX(cameraDirection == CameraInfo.CAMERA_FACING_FRONT ? -1 : 1);
} else {
previewImageView.setVisibility(View.GONE);
}
diff --git a/java/com/android/dialer/callcomposer/MessageComposerFragment.java b/java/com/android/dialer/callcomposer/MessageComposerFragment.java
index d8100033f..2a342bb08 100644
--- a/java/com/android/dialer/callcomposer/MessageComposerFragment.java
+++ b/java/com/android/dialer/callcomposer/MessageComposerFragment.java
@@ -22,6 +22,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.MotionEvent;
import android.view.View;
@@ -31,10 +32,15 @@ import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;
+import android.widget.TextView.OnEditorActionListener;
/** Fragment used to compose call with message fragment. */
public class MessageComposerFragment extends CallComposerFragment
- implements OnClickListener, TextWatcher, OnTouchListener, OnLongClickListener {
+ implements OnClickListener,
+ TextWatcher,
+ OnTouchListener,
+ OnLongClickListener,
+ OnEditorActionListener {
private static final String CHAR_LIMIT_KEY = "char_limit";
public static final int NO_CHAR_LIMIT = -1;
@@ -70,6 +76,7 @@ public class MessageComposerFragment extends CallComposerFragment
customMessage.setOnTouchListener(this);
customMessage.setOnLongClickListener(this);
customMessage.addTextChangedListener(this);
+ customMessage.setOnEditorActionListener(this);
if (charLimit != NO_CHAR_LIMIT) {
TextView remainingChar = (TextView) view.findViewById(R.id.remaining_characters);
remainingChar.setText("" + charLimit);
@@ -144,4 +151,13 @@ public class MessageComposerFragment extends CallComposerFragment
public void clearComposer() {
customMessage.getText().clear();
}
+
+ @Override
+ public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
+ if (getMessage() == null) {
+ return false;
+ }
+ getListener().sendAndCall();
+ return true;
+ }
}
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 f687f0b5c..c3f1102d1 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
@@ -74,12 +74,14 @@
android:id="@+id/call_composer_view_pager"
android:layout_width="match_parent"
android:layout_height="@dimen/call_composer_view_pager_height"/>
+ </LinearLayout>
- <FrameLayout
+ <FrameLayout
android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom">
- <LinearLayout
+ <LinearLayout
android:id="@+id/media_actions"
android:layout_width="match_parent"
android:layout_height="@dimen/call_composer_media_bar_height"
@@ -88,7 +90,7 @@
android:background="@color/dialer_secondary_color"
android:clickable="true">
- <ImageView
+ <ImageView
android:id="@+id/call_composer_camera"
android:layout_width="@dimen/call_composer_media_actions_width"
android:layout_height="match_parent"
@@ -96,7 +98,7 @@
android:src="@drawable/quantum_ic_camera_alt_white_24"
android:background="?android:attr/selectableItemBackgroundBorderless"/>
- <ImageView
+ <ImageView
android:id="@+id/call_composer_photo"
android:layout_width="@dimen/call_composer_media_actions_width"
android:layout_height="match_parent"
@@ -104,22 +106,22 @@
android:src="@drawable/quantum_ic_photo_white_24"
android:background="?android:attr/selectableItemBackgroundBorderless"/>
- <ImageView
+ <ImageView
android:id="@+id/call_composer_message"
android:layout_width="@dimen/call_composer_media_actions_width"
android:layout_height="match_parent"
android:scaleType="center"
- android:src="@drawable/ic_message_24dp"
+ android:src="@drawable/quantum_ic_message_white_24"
android:background="?android:attr/selectableItemBackgroundBorderless"/>
- </LinearLayout>
+ </LinearLayout>
- <FrameLayout
+ <FrameLayout
android:id="@+id/send_and_call_button"
android:layout_width="match_parent"
android:layout_height="@dimen/call_composer_media_bar_height"
android:visibility="invisible"
android:background="@color/compose_and_call_background">
- <TextView
+ <TextView
android:id="@+id/send_and_call_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -131,18 +133,11 @@
android:textSize="@dimen/send_and_call_text_size"
android:fontFamily="sans-serif-medium"
android:textColor="@color/background_dialer_white"/>
- </FrameLayout>
</FrameLayout>
- </LinearLayout>
+ </FrameLayout>
- <Toolbar
- android:id="@+id/toolbar"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:minHeight="?attr/actionBarSize"
- android:visibility="invisible"
- android:titleTextAppearance="@style/toolbar_title_text"
- android:subtitleTextAppearance="@style/toolbar_subtitle_text"
- android:navigationIcon="@drawable/quantum_ic_close_white_24"
- android:background="@color/dialer_theme_color"/>
-</FrameLayout> \ No newline at end of file
+ <com.android.dialer.widget.DialerToolbar
+ android:id="@+id/toolbar"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+</FrameLayout>
diff --git a/java/com/android/dialer/callcomposer/res/layout/fragment_camera_composer.xml b/java/com/android/dialer/callcomposer/res/layout/fragment_camera_composer.xml
index 200a3dce7..f1db48e5b 100644
--- a/java/com/android/dialer/callcomposer/res/layout/fragment_camera_composer.xml
+++ b/java/com/android/dialer/callcomposer/res/layout/fragment_camera_composer.xml
@@ -17,7 +17,8 @@
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
- android:layout_width="match_parent">
+ android:layout_width="match_parent"
+ android:paddingBottom="@dimen/call_composer_media_bar_height">
<include
android:layout_width="match_parent"
diff --git a/java/com/android/dialer/callcomposer/res/layout/fragment_gallery_composer.xml b/java/com/android/dialer/callcomposer/res/layout/fragment_gallery_composer.xml
index a4bd4df03..6cd6418a4 100644
--- a/java/com/android/dialer/callcomposer/res/layout/fragment_gallery_composer.xml
+++ b/java/com/android/dialer/callcomposer/res/layout/fragment_gallery_composer.xml
@@ -18,7 +18,8 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@color/background_dialer_white">
+ android:background="@color/background_dialer_white"
+ android:paddingBottom="@dimen/call_composer_media_bar_height">
<GridView
android:id="@+id/gallery_grid_view"
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 577887be9..77c7a58d1 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
@@ -59,7 +59,10 @@
android:id="@+id/custom_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:padding="@dimen/message_composer_item_padding"
+ android:paddingTop="@dimen/message_composer_item_padding"
+ android:paddingStart="@dimen/message_composer_item_padding"
+ android:paddingEnd="@dimen/message_composer_item_padding"
+ android:paddingBottom="64dp"
android:textSize="@dimen/message_compose_item_text_size"
android:hint="@string/message_composer_custom_message_hint"
android:textColor="@color/dialer_primary_text_color"
@@ -67,13 +70,15 @@
android:background="@color/background_dialer_white"
android:textCursorDrawable="@drawable/searchedittext_custom_cursor"
android:layout_toStartOf="@+id/remaining_characters"
- android:imeOptions="flagNoExtractUi"/>
+ android:inputType="textShortMessage"
+ android:imeOptions="flagNoExtractUi|actionSend"/>
<TextView
android:id="@+id/remaining_characters"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/message_composer_item_padding"
+ android:paddingBottom="@dimen/call_composer_media_bar_height"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:textSize="@dimen/message_compose_remaining_char_text_size"
diff --git a/java/com/android/dialer/callcomposer/res/values/dimens.xml b/java/com/android/dialer/callcomposer/res/values/dimens.xml
index 5571170b2..d55540077 100644
--- a/java/com/android/dialer/callcomposer/res/values/dimens.xml
+++ b/java/com/android/dialer/callcomposer/res/values/dimens.xml
@@ -15,7 +15,7 @@
~ limitations under the License
-->
<resources>
- <dimen name="call_composer_view_pager_height">258dp</dimen>
+ <dimen name="call_composer_view_pager_height">306dp</dimen>
<!-- Contact bar -->
<dimen name="call_composer_contact_photo_border_thickness">2dp</dimen>
diff --git a/java/com/android/dialer/callcomposer/util/CopyAndResizeImageTask.java b/java/com/android/dialer/callcomposer/util/CopyAndResizeImageTask.java
index be08555f9..81511d274 100644
--- a/java/com/android/dialer/callcomposer/util/CopyAndResizeImageTask.java
+++ b/java/com/android/dialer/callcomposer/util/CopyAndResizeImageTask.java
@@ -36,7 +36,7 @@ import java.io.OutputStream;
/** Task for copying and resizing images to be shared with RCS process. */
@TargetApi(VERSION_CODES.M)
public class CopyAndResizeImageTask extends FallibleAsyncTask<Void, Void, File> {
- public static final int MAX_OUTPUT_RESOLUTION = 1024;
+ public static final int MAX_OUTPUT_RESOLUTION = 640;
private static final String MIME_TYPE = "image/jpeg";
private final Context context;
@@ -59,7 +59,7 @@ public class CopyAndResizeImageTask extends FallibleAsyncTask<Void, Void, File>
File outputFile = DialerUtils.createShareableFile(context);
try (OutputStream outputStream = new FileOutputStream(outputFile)) {
// Encode images to jpeg as it is better for camera pictures which we expect to be sending
- bitmap.compress(CompressFormat.JPEG, 90, outputStream);
+ bitmap.compress(CompressFormat.JPEG, 80, outputStream);
return outputFile;
}
}
diff --git a/java/com/android/dialer/calldetails/CallDetailsActivity.java b/java/com/android/dialer/calldetails/CallDetailsActivity.java
index bb2f58083..757c6eed2 100644
--- a/java/com/android/dialer/calldetails/CallDetailsActivity.java
+++ b/java/com/android/dialer/calldetails/CallDetailsActivity.java
@@ -26,8 +26,9 @@ import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
+import android.support.v7.widget.Toolbar;
+import android.support.v7.widget.Toolbar.OnMenuItemClickListener;
import android.view.MenuItem;
-import android.widget.Toolbar;
import com.android.dialer.callcomposer.nano.CallComposerContact;
import com.android.dialer.calldetails.nano.CallDetailsEntries;
import com.android.dialer.calldetails.nano.CallDetailsEntries.CallDetailsEntry;
@@ -38,7 +39,7 @@ import com.android.dialer.logging.nano.DialerImpression;
import com.android.dialer.protos.ProtoParsers;
/** Displays the details of a specific call log entry. */
-public class CallDetailsActivity extends AppCompatActivity {
+public class CallDetailsActivity extends AppCompatActivity implements OnMenuItemClickListener {
private static final String EXTRA_CALL_DETAILS_ENTRIES = "call_details_entries";
private static final String EXTRA_CONTACT = "contact";
@@ -61,11 +62,10 @@ public class CallDetailsActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.call_details_activity);
-
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- setActionBar(toolbar);
toolbar.inflateMenu(R.menu.call_details_menu);
- toolbar.setNavigationOnClickListener(v -> finish());
+ toolbar.setOnMenuItemClickListener(this);
+ toolbar.setTitle(R.string.call_details);
onHandleIntent(getIntent());
}
@@ -89,14 +89,14 @@ public class CallDetailsActivity extends AppCompatActivity {
}
@Override
- public boolean onOptionsItemSelected(MenuItem item) {
+ public boolean onMenuItemClick(MenuItem item) {
if (item.getItemId() == R.id.call_detail_delete_menu_item) {
Logger.get(this).logImpression(DialerImpression.Type.USER_DELETED_CALL_LOG_ITEM);
AsyncTaskExecutors.createAsyncTaskExecutor().submit(TASK_DELETE, new DeleteCallsTask());
item.setEnabled(false);
return true;
}
- return super.onOptionsItemSelected(item);
+ return false;
}
/** Delete specified calls from the call log. */
diff --git a/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java b/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java
index 86036a319..a8958d911 100644
--- a/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java
+++ b/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java
@@ -95,6 +95,7 @@ public class CallDetailsEntryViewHolder extends ViewHolder {
(entry.features & Calls.FEATURES_PULLED_EXTERNALLY) == Calls.FEATURES_PULLED_EXTERNALLY;
callTime.setTextColor(getColorForCallType(context, callType));
+ callTypeIcon.clear();
callTypeIcon.add(callType);
callTypeIcon.setShowVideo((entry.features & Calls.FEATURES_VIDEO) == Calls.FEATURES_VIDEO);
callTypeIcon.setShowHd(MotorolaUtils.shouldShowHdIconInCallLog(context, entry.features));
diff --git a/java/com/android/dialer/calldetails/res/layout/call_details_activity.xml b/java/com/android/dialer/calldetails/res/layout/call_details_activity.xml
index 79f283705..10927af73 100644
--- a/java/com/android/dialer/calldetails/res/layout/call_details_activity.xml
+++ b/java/com/android/dialer/calldetails/res/layout/call_details_activity.xml
@@ -20,15 +20,10 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
- <Toolbar
+ <com.android.dialer.widget.DialerToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
- android:layout_height="?attr/actionBarSize"
- android:background="@color/dialer_theme_color"
- android:elevation="4dp"
- android:titleTextAppearance="@style/toolbar_title_text"
- android:title="@string/call_details"
- android:navigationIcon="@drawable/quantum_ic_arrow_back_white_24"/>
+ android:layout_height="wrap_content"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
diff --git a/java/com/android/dialer/calldetails/res/menu/call_details_menu.xml b/java/com/android/dialer/calldetails/res/menu/call_details_menu.xml
index c2d1032da..df0c34827 100644
--- a/java/com/android/dialer/calldetails/res/menu/call_details_menu.xml
+++ b/java/com/android/dialer/calldetails/res/menu/call_details_menu.xml
@@ -14,10 +14,11 @@
~ See the License for the specific language governing permissions and
~ limitations under the License
-->
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/call_detail_delete_menu_item"
android:icon="@drawable/quantum_ic_delete_white_24"
android:title="@string/delete"
- android:showAsAction="ifRoom"/>
+ app:showAsAction="ifRoom"/>
</menu> \ No newline at end of file
diff --git a/java/com/android/dialer/calllogutils/CallTypeIconsView.java b/java/com/android/dialer/calllogutils/CallTypeIconsView.java
index 8389a8027..55672ca07 100644
--- a/java/com/android/dialer/calllogutils/CallTypeIconsView.java
+++ b/java/com/android/dialer/calllogutils/CallTypeIconsView.java
@@ -26,7 +26,6 @@ import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;
-import com.android.contacts.common.util.BitmapUtil;
import com.android.dialer.compat.AppCompatConstants;
import java.util.ArrayList;
import java.util.List;
@@ -169,7 +168,7 @@ public class CallTypeIconsView extends View {
int left = 0;
// If we are using large icons, we should only show one icon (video, hd or call type) with
// priority give to HD or Video. So we skip the call type icon if we plan to show them.
- if (!useLargeIcons || !(mShowHd || mShowVideo)) {
+ if (!useLargeIcons || !(mShowHd || mShowVideo || mShowWifi)) {
for (Integer callType : mCallTypes) {
final Drawable drawable = getCallTypeDrawable(callType);
final int right = left + drawable.getIntrinsicWidth();
@@ -181,29 +180,25 @@ public class CallTypeIconsView extends View {
// If showing the video call icon, draw it scaled appropriately.
if (mShowVideo) {
- final Drawable drawable = resources.videoCall;
- final int right = left + resources.videoCall.getIntrinsicWidth();
- drawable.setBounds(left, 0, right, resources.videoCall.getIntrinsicHeight());
- drawable.draw(canvas);
- left = right + sResources.iconMargin;
+ left = addDrawable(canvas, resources.videoCall, left) + resources.iconMargin;
}
// If showing HD call icon, draw it scaled appropriately.
if (mShowHd) {
- final Drawable drawable = resources.hdCall;
- final int right = left + resources.hdCall.getIntrinsicWidth();
- drawable.setBounds(left, 0, right, resources.hdCall.getIntrinsicHeight());
- drawable.draw(canvas);
- left = right + sResources.iconMargin;
+ left = addDrawable(canvas, resources.hdCall, left) + resources.iconMargin;
}
// If showing HD call icon, draw it scaled appropriately.
if (mShowWifi) {
- final Drawable drawable = sResources.wifiCall;
- final int right = left + sResources.wifiCall.getIntrinsicWidth();
- drawable.setBounds(left, 0, right, sResources.wifiCall.getIntrinsicHeight());
- drawable.draw(canvas);
+ left = addDrawable(canvas, resources.wifiCall, left) + resources.iconMargin;
}
}
+ private int addDrawable(Canvas canvas, Drawable drawable, int left) {
+ int right = left + drawable.getIntrinsicWidth();
+ drawable.setBounds(left, 0, right, drawable.getIntrinsicHeight());
+ drawable.draw(canvas);
+ return right;
+ }
+
private static class Resources {
// Drawable representing an incoming answered call.
@@ -242,25 +237,24 @@ public class CallTypeIconsView extends View {
public Resources(Context context, boolean largeIcons) {
final android.content.res.Resources r = context.getResources();
- int iconId =
- largeIcons ? R.drawable.quantum_ic_call_received_white_24 : R.drawable.ic_call_arrow;
- incoming = r.getDrawable(iconId);
+ int iconId = R.drawable.quantum_ic_call_received_white_24;
+ incoming = largeIcons ? r.getDrawable(iconId) : getScaledBitmap(context, iconId);
incoming.setColorFilter(r.getColor(R.color.answered_call), PorterDuff.Mode.MULTIPLY);
// Create a rotated instance of the call arrow for outgoing calls.
- outgoing = BitmapUtil.getRotatedDrawable(r, iconId, 180f);
+ iconId = R.drawable.quantum_ic_call_made_white_24;
+ outgoing = largeIcons ? r.getDrawable(iconId) : getScaledBitmap(context, iconId);
outgoing.setColorFilter(r.getColor(R.color.answered_call), PorterDuff.Mode.MULTIPLY);
// Need to make a copy of the arrow drawable, otherwise the same instance colored
// above will be recolored here.
- iconId = largeIcons ? R.drawable.quantum_ic_call_missed_white_24 : R.drawable.ic_call_arrow;
- missed = r.getDrawable(iconId).mutate();
+ iconId = R.drawable.quantum_ic_call_missed_white_24;
+ missed = largeIcons ? r.getDrawable(iconId) : getScaledBitmap(context, iconId);
missed.setColorFilter(r.getColor(R.color.missed_call), PorterDuff.Mode.MULTIPLY);
iconId = R.drawable.quantum_ic_voicemail_white_24;
voicemail = largeIcons ? r.getDrawable(iconId) : getScaledBitmap(context, iconId);
- voicemail.setColorFilter(
- r.getColor(R.color.dialer_secondary_text_color), PorterDuff.Mode.MULTIPLY);
+ voicemail.setColorFilter(r.getColor(R.color.call_type_icon_color), PorterDuff.Mode.MULTIPLY);
iconId = R.drawable.quantum_ic_block_white_24;
blocked = largeIcons ? r.getDrawable(iconId) : getScaledBitmap(context, iconId);
@@ -268,17 +262,15 @@ public class CallTypeIconsView extends View {
iconId = R.drawable.quantum_ic_videocam_white_24;
videoCall = largeIcons ? r.getDrawable(iconId) : getScaledBitmap(context, iconId);
- videoCall.setColorFilter(
- r.getColor(R.color.dialer_secondary_text_color), PorterDuff.Mode.MULTIPLY);
+ videoCall.setColorFilter(r.getColor(R.color.call_type_icon_color), PorterDuff.Mode.MULTIPLY);
iconId = R.drawable.quantum_ic_hd_white_24;
hdCall = largeIcons ? r.getDrawable(iconId) : getScaledBitmap(context, iconId);
- hdCall.setColorFilter(
- r.getColor(R.color.dialer_secondary_text_color), PorterDuff.Mode.MULTIPLY);
+ hdCall.setColorFilter(r.getColor(R.color.call_type_icon_color), PorterDuff.Mode.MULTIPLY);
- wifiCall = getScaledBitmap(context, R.drawable.quantum_ic_signal_wifi_4_bar_white_24);
- wifiCall.setColorFilter(
- r.getColor(R.color.dialer_secondary_text_color), PorterDuff.Mode.MULTIPLY);
+ iconId = R.drawable.quantum_ic_signal_wifi_4_bar_white_24;
+ wifiCall = largeIcons ? r.getDrawable(iconId) : getScaledBitmap(context, iconId);
+ wifiCall.setColorFilter(r.getColor(R.color.call_type_icon_color), PorterDuff.Mode.MULTIPLY);
iconMargin = largeIcons ? 0 : r.getDimensionPixelSize(R.dimen.call_log_icon_margin);
}
diff --git a/java/com/android/dialer/calllogutils/PhoneCallDetails.java b/java/com/android/dialer/calllogutils/PhoneCallDetails.java
index ba05a87e2..6fa507325 100644
--- a/java/com/android/dialer/calllogutils/PhoneCallDetails.java
+++ b/java/com/android/dialer/calllogutils/PhoneCallDetails.java
@@ -27,6 +27,7 @@ import android.text.TextUtils;
import com.android.contacts.common.ContactsUtils.UserType;
import com.android.contacts.common.preference.ContactsPreferences;
import com.android.contacts.common.util.ContactDisplayUtils;
+import com.android.dialer.phonenumbercache.CachedNumberLookupService.CachedContactInfo.ContactSourceType;
import com.android.dialer.phonenumbercache.ContactInfo;
/** The details of a phone call to be shown in the UI. */
@@ -81,7 +82,7 @@ public class PhoneCallDetails {
public Uri photoUri;
// The source type of the contact associated with this call.
- public int sourceType;
+ public @ContactSourceType int sourceType;
// The object id type of the contact associated with this call.
public String objectId;
diff --git a/java/com/android/dialer/common/Assert.java b/java/com/android/dialer/common/Assert.java
index 943e1ddcf..189d209c8 100644
--- a/java/com/android/dialer/common/Assert.java
+++ b/java/com/android/dialer/common/Assert.java
@@ -30,6 +30,10 @@ public class Assert {
Assert.areThreadAssertsEnabled = areThreadAssertsEnabled;
}
+ public static boolean areThreadAssertsEnabled() {
+ return areThreadAssertsEnabled;
+ }
+
/**
* Called when a truly exceptional case occurs.
*
diff --git a/java/com/android/dialer/common/concurrent/AsyncTaskExecutors.java b/java/com/android/dialer/common/concurrent/AsyncTaskExecutors.java
index fd358328e..a25e9fbf5 100644
--- a/java/com/android/dialer/common/concurrent/AsyncTaskExecutors.java
+++ b/java/com/android/dialer/common/concurrent/AsyncTaskExecutors.java
@@ -74,7 +74,7 @@ public final class AsyncTaskExecutors {
AsyncTaskExecutor createAsyncTaskExeuctor();
}
- private static class SimpleAsyncTaskExecutor implements AsyncTaskExecutor {
+ static class SimpleAsyncTaskExecutor implements AsyncTaskExecutor {
private final Executor mExecutor;
diff --git a/java/com/android/dialer/common/concurrent/DefaultDialerExecutorFactory.java b/java/com/android/dialer/common/concurrent/DefaultDialerExecutorFactory.java
new file mode 100644
index 000000000..80ed725bc
--- /dev/null
+++ b/java/com/android/dialer/common/concurrent/DefaultDialerExecutorFactory.java
@@ -0,0 +1,255 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.app.FragmentManager;
+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.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.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadFactory;
+
+/** The production {@link DialerExecutorFactory}. */
+public class DefaultDialerExecutorFactory implements DialerExecutorFactory {
+
+ @Override
+ @NonNull
+ public <InputT, OutputT> DialerExecutor.Builder<InputT, OutputT> createUiTaskBuilder(
+ @NonNull FragmentManager fragmentManager,
+ @NonNull String taskId,
+ @NonNull Worker<InputT, OutputT> worker) {
+ return new UiTaskBuilder<>(
+ Assert.isNotNull(fragmentManager), Assert.isNotNull(taskId), Assert.isNotNull(worker));
+ }
+
+ @Override
+ @NonNull
+ public <InputT, OutputT> DialerExecutor.Builder<InputT, OutputT> createNonUiTaskBuilder(
+ @NonNull Worker<InputT, OutputT> worker) {
+ return new NonUiTaskBuilder<>(Assert.isNotNull(worker));
+ }
+
+ private abstract static class BaseTaskBuilder<InputT, OutputT>
+ implements DialerExecutor.Builder<InputT, OutputT> {
+
+ private final Worker<InputT, OutputT> worker;
+ private SuccessListener<OutputT> successListener = output -> {};
+ private FailureListener failureListener =
+ throwable -> {
+ throw new RuntimeException(throwable);
+ };
+ @Nullable final ExecutorService serialExecutorService;
+ @Nullable final ExecutorService parallelExecutorService;
+
+ BaseTaskBuilder(
+ Worker<InputT, OutputT> worker,
+ @Nullable ExecutorService serialExecutorService,
+ @Nullable ExecutorService parallelExecutorService) {
+ this.worker = worker;
+ this.serialExecutorService = serialExecutorService;
+ this.parallelExecutorService = parallelExecutorService;
+ }
+
+ @NonNull
+ @Override
+ public Builder<InputT, OutputT> onSuccess(@NonNull SuccessListener<OutputT> successListener) {
+ this.successListener = Assert.isNotNull(successListener);
+ return this;
+ }
+
+ @NonNull
+ @Override
+ public Builder<InputT, OutputT> onFailure(@NonNull FailureListener failureListener) {
+ this.failureListener = Assert.isNotNull(failureListener);
+ return this;
+ }
+ }
+
+ /** Convenience class for use by {@link DialerExecutorFactory} implementations. */
+ public static class UiTaskBuilder<InputT, OutputT> extends BaseTaskBuilder<InputT, OutputT> {
+
+ private final FragmentManager fragmentManager;
+ private final String id;
+
+ private DialerUiTaskFragment<InputT, OutputT> dialerUiTaskFragment;
+
+ UiTaskBuilder(FragmentManager fragmentManager, String id, Worker<InputT, OutputT> worker) {
+ this(
+ fragmentManager,
+ id,
+ worker,
+ null /* serialExecutorService */,
+ null /* parallelExecutorService */);
+ }
+
+ public UiTaskBuilder(
+ FragmentManager fragmentManager,
+ String id,
+ Worker<InputT, OutputT> worker,
+ ExecutorService serialExecutor,
+ ExecutorService parallelExecutor) {
+ super(worker, serialExecutor, parallelExecutor);
+ this.fragmentManager = fragmentManager;
+ this.id = id;
+ }
+
+ @NonNull
+ @Override
+ public DialerExecutor<InputT> build() {
+ dialerUiTaskFragment = DialerUiTaskFragment.create(
+ fragmentManager,
+ id,
+ super.worker,
+ super.successListener,
+ super.failureListener,
+ serialExecutorService,
+ parallelExecutorService);
+ 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(
+ new ThreadFactory() {
+ @Override
+ public Thread newThread(Runnable runnable) {
+ LogUtil.i("NonUiTaskBuilder.newThread", "creating serial thread");
+ Thread thread = new Thread(runnable, "NonUiTaskBuilder");
+ thread.setPriority(4); // Corresponds to Process.THREAD_PRIORITY_BACKGROUND
+ return thread;
+ }
+ });
+
+ private static final ExecutorService defaultParallelExecutorService =
+ 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.setPriority(4); // Corresponds to Process.THREAD_PRIORITY_BACKGROUND
+ return thread;
+ }
+ });
+
+ NonUiTaskBuilder(Worker<InputT, OutputT> worker) {
+ this(worker, defaultSerialExecutorService, defaultParallelExecutorService);
+ }
+
+ public NonUiTaskBuilder(
+ Worker<InputT, OutputT> worker,
+ @NonNull ExecutorService serialExecutor,
+ @NonNull ExecutorService parallelExecutor) {
+ super(worker, Assert.isNotNull(serialExecutor), Assert.isNotNull(parallelExecutor));
+ }
+
+ @NonNull
+ @Override
+ public DialerExecutor<InputT> build() {
+ return new NonUiDialerExecutor<>(
+ super.worker,
+ super.successListener,
+ super.failureListener,
+ serialExecutorService,
+ parallelExecutorService);
+ }
+ }
+
+ private static class UiDialerExecutor<InputT, OutputT> implements DialerExecutor<InputT> {
+
+ private final DialerUiTaskFragment<InputT, OutputT> dialerUiTaskFragment;
+
+ UiDialerExecutor(DialerUiTaskFragment<InputT, OutputT> dialerUiTaskFragment) {
+ this.dialerUiTaskFragment = dialerUiTaskFragment;
+ }
+
+ @Override
+ public void executeSerial(@Nullable InputT input) {
+ dialerUiTaskFragment.executeSerial(input);
+ }
+
+ @Override
+ public void executeParallel(@Nullable InputT input) {
+ dialerUiTaskFragment.executeParallel(input);
+ }
+
+ @Override
+ public void executeOnCustomExecutorService(
+ @NonNull ExecutorService executorService, @Nullable InputT input) {
+ dialerUiTaskFragment.executeOnCustomExecutor(Assert.isNotNull(executorService), input);
+ }
+ }
+
+ private static class NonUiDialerExecutor<InputT, OutputT> implements DialerExecutor<InputT> {
+
+ private final Worker<InputT, OutputT> worker;
+ private final SuccessListener<OutputT> successListener;
+ private final FailureListener failureListener;
+
+ private final ExecutorService serialExecutorService;
+ private final ExecutorService parallelExecutorService;
+
+ NonUiDialerExecutor(
+ Worker<InputT, OutputT> worker,
+ SuccessListener<OutputT> successListener,
+ FailureListener failureListener,
+ ExecutorService serialExecutorService,
+ ExecutorService parallelExecutorService) {
+ this.worker = worker;
+ this.successListener = successListener;
+ this.failureListener = failureListener;
+ this.serialExecutorService = serialExecutorService;
+ this.parallelExecutorService = parallelExecutorService;
+ }
+
+ @Override
+ public void executeSerial(@Nullable InputT input) {
+ executeOnCustomExecutorService(serialExecutorService, input);
+ }
+
+ @Override
+ public void executeParallel(@Nullable InputT input) {
+ executeOnCustomExecutorService(parallelExecutorService, 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));
+ });
+ }
+ }
+}
diff --git a/java/com/android/dialer/common/concurrent/DialerExecutor.java b/java/com/android/dialer/common/concurrent/DialerExecutor.java
new file mode 100644
index 000000000..b0d1eac66
--- /dev/null
+++ b/java/com/android/dialer/common/concurrent/DialerExecutor.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.support.annotation.MainThread;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.annotation.WorkerThread;
+import java.util.concurrent.ExecutorService;
+
+/**
+ * Provides a consistent interface for doing background work in either UI or non-UI contexts.
+ *
+ * <p>See {@link DialerExecutors} for usage examples.
+ */
+public interface DialerExecutor<InputT> {
+
+ /** Functional interface for doing work in the background. */
+ interface Worker<InputT, OutputT> {
+ @WorkerThread
+ @Nullable
+ OutputT doInBackground(@Nullable InputT input);
+ }
+
+ /** Functional interface for handling the result of background work. */
+ interface SuccessListener<OutputT> {
+ @MainThread
+ void onSuccess(@Nullable OutputT output);
+ }
+
+ /** Functional interface for handling an error produced while performing background work. */
+ interface FailureListener {
+ @MainThread
+ void onFailure(@NonNull Throwable throwable);
+ }
+
+ /** Builder for {@link DialerExecutor}. */
+ interface Builder<InputT, OutputT> {
+
+ /**
+ * Optional. Default is no-op.
+ *
+ * @param successListener a function executed on the main thread upon task success. There are no
+ * restraints on this as it is executed on the main thread, so lambdas, anonymous, or inner
+ * classes of your activity or fragment are all fine.
+ */
+ @NonNull
+ Builder<InputT, OutputT> onSuccess(@NonNull SuccessListener<OutputT> successListener);
+
+ /**
+ * Optional. If this is not set and your worker throws an exception, the application will crash.
+ *
+ * @param failureListener a function executed on the main thread upon task failure. There are no
+ * restraints on this as it is executed on the main thread, so lambdas, anonymous, or inner
+ * classes of your activity or fragment are all fine.
+ */
+ @NonNull
+ Builder<InputT, OutputT> onFailure(@NonNull FailureListener failureListener);
+
+ /**
+ * Builds the {@link DialerExecutor} which can be used to execute your task (repeatedly with
+ * differing inputs if desired).
+ */
+ @NonNull
+ DialerExecutor<InputT> build();
+ }
+
+ /** Executes the task such that repeated executions for this executor are serialized. */
+ @MainThread
+ void executeSerial(@Nullable InputT input);
+
+ /**
+ * Executes the task on a thread pool shared across the application. Multiple calls using this
+ * method may result in tasks being executed in parallel.
+ */
+ @MainThread
+ void executeParallel(@Nullable InputT input);
+
+ /**
+ * Executes the task on a custom executor service. This should rarely be used; instead prefer
+ * {@link #executeSerial(Object)} or {@link #executeParallel(Object)}.
+ */
+ @MainThread
+ void executeOnCustomExecutorService(
+ @NonNull ExecutorService executorService, @Nullable InputT input);
+}
diff --git a/java/com/android/dialer/common/concurrent/DialerExecutorFactory.java b/java/com/android/dialer/common/concurrent/DialerExecutorFactory.java
new file mode 100644
index 000000000..82f8c7c3d
--- /dev/null
+++ b/java/com/android/dialer/common/concurrent/DialerExecutorFactory.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.common.concurrent;
+
+import android.app.FragmentManager;
+import android.support.annotation.NonNull;
+import com.android.dialer.common.concurrent.DialerExecutor.Worker;
+
+/**
+ * Factory interface for creating {@link DialerExecutor} objects.
+ *
+ * <p>Factory instances may be used instead of the static methods in {@link DialerExecutors} in
+ * order to improve testability.
+ *
+ * @see DialerExecutors
+ */
+public interface DialerExecutorFactory {
+
+ /**
+ * Must be called from onCreate of your activity or fragment.
+ *
+ * @param taskId used for the headless fragment ID and task ID
+ * @param worker a function executed on a worker thread which accepts an {@link InputT} and
+ * returns an {@link OutputT}. It should ideally not be an inner class of your (meaning it
+ * should not be a lambda, anonymous, or non-static) but it can be a static nested class. The
+ * static nested class should not contain any reference to UI, including any activity or
+ * fragment or activity context, though it may reference some threadsafe system objects such
+ * as the application context.
+ */
+ @NonNull
+ <InputT, OutputT> DialerExecutor.Builder<InputT, OutputT> createUiTaskBuilder(
+ @NonNull FragmentManager fragmentManager,
+ @NonNull String taskId,
+ @NonNull Worker<InputT, OutputT> worker);
+
+ /**
+ * Create a task from a non-UI context.
+ *
+ * @param worker a function executed on a worker thread which accepts an {@link InputT} and
+ * returns an {@link OutputT}. It should ideally not be an inner class of your (meaning it
+ * should not be a lambda, anonymous, or non-static) but it can be a static nested class. The
+ * static nested class should not contain any reference to UI, including any activity or
+ * fragment or activity context, though it may reference some threadsafe system objects such
+ * as the application context.
+ */
+ @NonNull
+ <InputT, OutputT> DialerExecutor.Builder<InputT, OutputT> createNonUiTaskBuilder(
+ @NonNull Worker<InputT, OutputT> worker);
+}
diff --git a/java/com/android/dialer/common/concurrent/DialerExecutors.java b/java/com/android/dialer/common/concurrent/DialerExecutors.java
new file mode 100644
index 000000000..148d8660c
--- /dev/null
+++ b/java/com/android/dialer/common/concurrent/DialerExecutors.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.app.FragmentManager;
+import android.support.annotation.NonNull;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.concurrent.DialerExecutor.Worker;
+
+/**
+ * Factory methods for creating {@link DialerExecutor} objects for doing background work.
+ *
+ * <p>You may create an executor from a UI component (activity or fragment) or a non-UI component.
+ * Using this class provides a number of benefits:
+ *
+ * <ul>
+ * <li>Ensures that UI tasks keep running across configuration changes by using a headless
+ * fragment.
+ * <li>Forces exceptions to crash the application, unless the user implements their own onFailure
+ * method.
+ * <li>Checks for dead UI components which can be encountered if a UI task runs longer than its
+ * UI. If a dead UI component is encountered, onSuccess/onFailure are not called (because they
+ * can't be) but a message is logged.
+ * <li>Helps prevents memory leaks in UI tasks by ensuring that callbacks are nulled out when the
+ * headless fragment is detached.
+ * <li>UI and non-UI threads are shared across the application and run at reasonable priorities
+ * </ul>
+ *
+ * <p>Executors accept a single input and output parameter which should be immutable data objects.
+ * If you don't require an input or output, use Void and null as needed.
+ *
+ * <p>You may optionally specify onSuccess and onFailure listeners; the default behavior on success
+ * is a no-op and the default behavior on failure is to crash the application.
+ *
+ * <p>To use an executor from a UI component, you must create it in your onCreate method and then
+ * use it from anywhere:
+ *
+ * <pre><code>
+ *
+ * public class MyActivity extends Activity {
+ *
+ * private final DialerExecutor&lt;MyInputType&gt; myExecutor;
+ *
+ * public void onCreate(Bundle state) {
+ * super.onCreate(bundle);
+ *
+ * // Must be called in onCreate; don't use non-static or anonymous inner classes for worker!
+ * myExecutor = DialerExecutors.createUiTaskBuilder(fragmentManager, taskId, worker)
+ * .onSuccess(this::onSuccess) // Lambdas, anonymous, or non-static inner classes all fine
+ * .onFailure(this::onFailure) // Lambdas, anonymous, or non-static inner classes all fine
+ * .build();
+ * );
+ * }
+ *
+ * private static class MyWorker implements Worker&lt;MyInputType, MyOutputType&gt; {
+ * MyOutputType doInBackground(MyInputType input) { ... }
+ * }
+ * private void onSuccess(MyOutputType output) { ... }
+ * private void onFailure(Throwable throwable) { ... }
+ *
+ * private void userDidSomething() { myExecutor.executeParallel(input); }
+ * }
+ * </code></pre>
+ *
+ * <p>Usage for non-UI tasks is the same, except that tasks can be created from anywhere instead of
+ * in onCreate. Non-UI tasks use low-priority threads separate from the UI task threads so as not to
+ * compete with more critical UI tasks.
+ *
+ * <pre><code>
+ *
+ * public class MyManager {
+ *
+ * private final DialerExecutor&lt;MyInputType&gt; myExecutor;
+ *
+ * public void init() {
+ * // Don't use non-static or anonymous inner classes for worker!
+ * myExecutor = DialerExecutors.createNonUiTaskBuilder(worker)
+ * .onSuccess(this::onSuccess) // Lambdas, anonymous, or non-static inner classes all fine
+ * .onFailure(this::onFailure) // Lambdas, anonymous, or non-static inner classes all fine
+ * .build();
+ * );
+ * }
+ *
+ * private static class MyWorker implements Worker&lt;MyInputType, MyOutputType&gt; {
+ * MyOutputType doInBackground(MyInputType input) { ... }
+ * }
+ * private void onSuccess(MyOutputType output) { ... }
+ * private void onFailure(Throwable throwable) { ... }
+ *
+ * private void userDidSomething() { myExecutor.executeParallel(input); }
+ * }
+ * </code></pre>
+ *
+ * Note that non-UI tasks are intended to be relatively quick; for example reading/writing shared
+ * preferences or doing simple database work. If you submit long running non-UI tasks you may
+ * saturate the shared application threads and block other tasks. Also, this class does not create
+ * any wakelocks, so a long running task could be killed if the device goes to sleep while your task
+ * is still running. If you have to do long running or periodic work, consider using a job
+ * scheduler.
+ */
+public final class DialerExecutors {
+
+ /** @see DialerExecutorFactory#createUiTaskBuilder(FragmentManager, String, Worker) */
+ @NonNull
+ public static <InputT, OutputT> DialerExecutor.Builder<InputT, OutputT> createUiTaskBuilder(
+ @NonNull FragmentManager fragmentManager,
+ @NonNull String taskId,
+ @NonNull Worker<InputT, OutputT> worker) {
+ return new DefaultDialerExecutorFactory()
+ .createUiTaskBuilder(
+ Assert.isNotNull(fragmentManager), Assert.isNotNull(taskId), Assert.isNotNull(worker));
+ }
+
+ /** @see DialerExecutorFactory#createNonUiTaskBuilder(Worker) */
+ @NonNull
+ public static <InputT, OutputT> DialerExecutor.Builder<InputT, OutputT> createNonUiTaskBuilder(
+ @NonNull Worker<InputT, OutputT> worker) {
+ return new DefaultDialerExecutorFactory().createNonUiTaskBuilder(Assert.isNotNull(worker));
+ }
+}
diff --git a/java/com/android/dialer/common/concurrent/DialerAsyncTaskHelper.java b/java/com/android/dialer/common/concurrent/DialerUiTaskFragment.java
index 65b408094..627336895 100644
--- a/java/com/android/dialer/common/concurrent/DialerAsyncTaskHelper.java
+++ b/java/com/android/dialer/common/concurrent/DialerUiTaskFragment.java
@@ -21,89 +21,33 @@ import android.app.FragmentManager;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.MainThread;
-import android.support.annotation.WorkerThread;
+import android.support.annotation.Nullable;
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.ExecutorService;
/**
- * Helps use async task properly.
- *
- * <p>This provides a number of benefits over using AsyncTask directly:
- *
- * <ul>
- * <li>Ensures that tasks keep running across configuration changes by using a headless fragment.
- * <li>Propagates exceptions to users, who must implement both onSuccess and onFailure methods.
- * <li>Checks for dead UI components which can be encountered if a task runs longer than its UI.
- * If a dead UI component is encountered, onSuccess/onFailure are not called (because they
- * can't be) but a message is logged.
- * <li>Helps prevents memory leaks by ensuring that callbacks are nulled out when the headless
- * fragment is detached.
- * </ul>
- *
- * <p>In your activity or fragment:
- *
- * <pre><code>
- *
- * public class MyActivity extends Activity {
- *
- * private final DialerAsyncTaskHelper&lt;MyInputType, MyOutputType&gt; myTaskHelper;
- *
- * public void onCreate(Bundle state) {
- * super.onCreate(bundle);
- *
- * // Must be called in onCreate
- * myTaskHelper = DialerAsyncTaskHelper.create(
- * fragmentManager,
- * taskId,
- * new MyWorker(), # Don't use non-static or anonymous inner classes!
- * this::onSuccess, # Lambdas, anonymous, or non-static inner classes all fine
- * this::onFailure # Lambdas, anonymous, or non-static inner classes all fine
- * );
- * }
- *
- * private static class MyWorker implements Worker&lt;MyInputType, MyOutputType&gt; {
- * MyOutputType doInBackground(MyInputType input) { ... }
- * }
- * private void onSuccess(MyOutputType output) { ... }
- * private void onFailure(Throwable throwable) { ... }
- *
- * private void userDidSomething() { myTaskHelper.execute(executor, input); }
- * }
- * </code></pre>
+ * Do not use this class directly. Instead use {@link DialerExecutors}.
*
* @param <InputT> the type of the object sent to the task upon execution
* @param <OutputT> the type of the result of the background computation
*/
-public final class DialerAsyncTaskHelper<InputT, OutputT> extends Fragment {
+public final class DialerUiTaskFragment<InputT, OutputT> extends Fragment {
private String taskId;
private Worker<InputT, OutputT> worker;
private SuccessListener<OutputT> successListener;
private FailureListener failureListener;
- private final AsyncTaskExecutor serialExecutor = AsyncTaskExecutors.createAsyncTaskExecutor();
- private final AsyncTaskExecutor parallelExecutor = AsyncTaskExecutors.createThreadPoolExecutor();
-
- /** Functional interface for doing work in the background. */
- public interface Worker<InputT, OutputT> {
- @WorkerThread
- OutputT doInBackground(InputT input);
- }
-
- /** Functional interface for handling the result of background work. */
- public interface SuccessListener<OutputT> {
- @MainThread
- void onSuccess(OutputT output);
- }
-
- /** Functional interface for handling an error produced while performing background work. */
- public interface FailureListener {
- @MainThread
- void onFailure(Throwable throwable);
- }
+ private AsyncTaskExecutor serialExecutor = AsyncTaskExecutors.createAsyncTaskExecutor();
+ private AsyncTaskExecutor parallelExecutor = AsyncTaskExecutors.createThreadPoolExecutor();
/**
- * Creates a new {@link DialerAsyncTaskHelper} or gets an existing one in the event that a
+ * Creates a new {@link DialerUiTaskFragment} or gets an existing one in the event that a
* configuration change occurred while the previous activity's task was still running. Must be
* called from onCreate of your activity or fragment.
*
@@ -123,30 +67,38 @@ public final class DialerAsyncTaskHelper<InputT, OutputT> extends Fragment {
* fragment are all fine.
* @param <InputT> the type of the object sent to the task upon execution
* @param <OutputT> the type of the result of the background computation
- * @return a {@link DialerAsyncTaskHelper} which may be used to call the "execute*" methods
+ * @return a {@link DialerUiTaskFragment} which may be used to call the "execute*" methods
*/
@MainThread
- public static <InputT, OutputT> DialerAsyncTaskHelper<InputT, OutputT> create(
+ static <InputT, OutputT> DialerUiTaskFragment<InputT, OutputT> create(
FragmentManager fragmentManager,
String taskId,
Worker<InputT, OutputT> worker,
SuccessListener<OutputT> successListener,
- FailureListener failureListener) {
+ FailureListener failureListener,
+ @Nullable ExecutorService serialExecutorService,
+ @Nullable ExecutorService parallelExecutorService) {
Assert.isMainThread();
- DialerAsyncTaskHelper<InputT, OutputT> helperFragment =
- (DialerAsyncTaskHelper<InputT, OutputT>) fragmentManager.findFragmentByTag(taskId);
+ DialerUiTaskFragment<InputT, OutputT> fragment =
+ (DialerUiTaskFragment<InputT, OutputT>) fragmentManager.findFragmentByTag(taskId);
- if (helperFragment == null) {
- LogUtil.i("DialerAsyncTaskHelper.create", "creating new helper fragment");
- helperFragment = new DialerAsyncTaskHelper<>();
- fragmentManager.beginTransaction().add(helperFragment, taskId).commit();
+ if (fragment == null) {
+ LogUtil.i("DialerUiTaskFragment.create", "creating new DialerUiTaskFragment");
+ 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);
}
- helperFragment.taskId = taskId;
- helperFragment.worker = worker;
- helperFragment.successListener = successListener;
- helperFragment.failureListener = failureListener;
- return helperFragment;
+ if (parallelExecutorService != null) {
+ fragment.parallelExecutor = new SimpleAsyncTaskExecutor(parallelExecutorService);
+ }
+ return fragment;
}
@Override
@@ -158,40 +110,22 @@ public final class DialerAsyncTaskHelper<InputT, OutputT> extends Fragment {
@Override
public void onDetach() {
super.onDetach();
- LogUtil.enterBlock("DialerAsyncTaskHelper.onDetach");
+ LogUtil.enterBlock("DialerUiTaskFragment.onDetach");
taskId = null;
successListener = null;
failureListener = null;
}
- /**
- * Executes the task on a single thread global to the process. Multiple calls using this method
- * will result in tasks being executed serially.
- */
- @MainThread
- public void executeSerial(InputT input) {
- Assert.isMainThread();
+ void executeSerial(InputT input) {
serialExecutor.submit(taskId, new InternalTask(), input);
}
- /**
- * Executes the task on a thread pool shared across the application. Multiple calls using this
- * method may result in tasks being executed in parallel.
- */
- @MainThread
- public void executeParallel(InputT input) {
- Assert.isMainThread();
+ void executeParallel(InputT input) {
parallelExecutor.submit(taskId, new InternalTask(), input);
}
- /**
- * Executes the task on a custom executor. This should rarely be used; instead prefer {@link
- * #executeSerial(Object)} or {@link #executeParallel(Object)}.
- */
- @MainThread
- public void executeOnCustomExecutor(AsyncTaskExecutor executor, InputT input) {
- Assert.isMainThread();
- executor.submit(taskId, new InternalTask(), input);
+ void executeOnCustomExecutor(ExecutorService executor, InputT input) {
+ new SimpleAsyncTaskExecutor(executor).submit(taskId, new InternalTask(), input);
}
private final class InternalTask extends AsyncTask<InputT, Void, InternalTaskResult<OutputT>> {
diff --git a/java/com/android/dialer/common/concurrent/ThreadUtil.java b/java/com/android/dialer/common/concurrent/ThreadUtil.java
new file mode 100644
index 000000000..21cf4634e
--- /dev/null
+++ b/java/com/android/dialer/common/concurrent/ThreadUtil.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.common.concurrent;
+
+import android.os.Handler;
+import android.os.Looper;
+
+/** Application-wide utility methods for working with threads. */
+public class ThreadUtil {
+ private static volatile Handler mainThreadHandler;
+
+ /** Posts a runnable to the UI thread. */
+ public static void postOnUiThread(Runnable runnable) {
+ getUiThreadHandler().post(runnable);
+ }
+
+ /** Gets a handler which uses the main looper. */
+ public static Handler getUiThreadHandler() {
+ if (mainThreadHandler == null) {
+ mainThreadHandler = new Handler(Looper.getMainLooper());
+ }
+ return mainThreadHandler;
+ }
+}
diff --git a/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_close_black_24dp.png b/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_close_black_24dp.png
deleted file mode 100644
index 1a9cd75a0..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_close_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_dialpad_delete.png b/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_dialpad_delete.png
deleted file mode 100644
index e588d90e9..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_dialpad_delete.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_dialpad_voicemail.png b/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_dialpad_voicemail.png
deleted file mode 100644
index 4706112d6..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_dialpad_voicemail.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_overflow_menu.png b/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_overflow_menu.png
deleted file mode 100644
index 262e9df91..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-hdpi/ic_overflow_menu.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_close_black_24dp.png b/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_close_black_24dp.png
deleted file mode 100644
index 40a1a84e3..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_close_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_dialpad_delete.png b/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_dialpad_delete.png
deleted file mode 100644
index 64a52d030..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_dialpad_delete.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_dialpad_voicemail.png b/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_dialpad_voicemail.png
deleted file mode 100644
index e84d8f4a8..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_dialpad_voicemail.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_overflow_menu.png b/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_overflow_menu.png
deleted file mode 100644
index 0e720ddbd..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-mdpi/ic_overflow_menu.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_close_black_24dp.png b/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_close_black_24dp.png
deleted file mode 100644
index 6bc437298..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_close_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_dialpad_delete.png b/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_dialpad_delete.png
deleted file mode 100644
index 87bc11364..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_dialpad_delete.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_dialpad_voicemail.png b/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_dialpad_voicemail.png
deleted file mode 100644
index 0b4e18389..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_dialpad_voicemail.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_overflow_menu.png b/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_overflow_menu.png
deleted file mode 100644
index 915607633..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-xhdpi/ic_overflow_menu.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_close_black_24dp.png b/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_close_black_24dp.png
deleted file mode 100644
index 51b4401ca..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_close_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_dialpad_delete.png b/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_dialpad_delete.png
deleted file mode 100644
index 186508a9f..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_dialpad_delete.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_dialpad_voicemail.png b/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_dialpad_voicemail.png
deleted file mode 100644
index a0a7c9d28..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_dialpad_voicemail.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_overflow_menu.png b/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_overflow_menu.png
deleted file mode 100644
index 92526f5a6..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-xxhdpi/ic_overflow_menu.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-xxxhdpi/ic_close_black_24dp.png b/java/com/android/dialer/dialpadview/res/drawable-xxxhdpi/ic_close_black_24dp.png
deleted file mode 100644
index df42feecb..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-xxxhdpi/ic_close_black_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-xxxhdpi/ic_dialpad_delete.png b/java/com/android/dialer/dialpadview/res/drawable-xxxhdpi/ic_dialpad_delete.png
deleted file mode 100644
index c974a8005..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-xxxhdpi/ic_dialpad_delete.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-xxxhdpi/ic_dialpad_voicemail.png b/java/com/android/dialer/dialpadview/res/drawable-xxxhdpi/ic_dialpad_voicemail.png
deleted file mode 100644
index c6e8be023..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-xxxhdpi/ic_dialpad_voicemail.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/drawable-xxxhdpi/ic_overflow_menu.png b/java/com/android/dialer/dialpadview/res/drawable-xxxhdpi/ic_overflow_menu.png
deleted file mode 100644
index 9028bd437..000000000
--- a/java/com/android/dialer/dialpadview/res/drawable-xxxhdpi/ic_overflow_menu.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/dialpadview/res/layout-land/dialpad_key_one.xml b/java/com/android/dialer/dialpadview/res/layout-land/dialpad_key_one.xml
index 65a2308fc..6f178f0e1 100644
--- a/java/com/android/dialer/dialpadview/res/layout-land/dialpad_key_one.xml
+++ b/java/com/android/dialer/dialpadview/res/layout-land/dialpad_key_one.xml
@@ -37,7 +37,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="fitCenter"
- android:src="@drawable/ic_dialpad_voicemail"
+ android:src="@drawable/quantum_ic_voicemail_white_24"
android:tint="@color/dialpad_voicemail_tint"/>
</FrameLayout>
</LinearLayout>
diff --git a/java/com/android/dialer/dialpadview/res/layout/dialpad_key_one.xml b/java/com/android/dialer/dialpadview/res/layout/dialpad_key_one.xml
index 36f62c85d..88594401f 100644
--- a/java/com/android/dialer/dialpadview/res/layout/dialpad_key_one.xml
+++ b/java/com/android/dialer/dialpadview/res/layout/dialpad_key_one.xml
@@ -32,7 +32,7 @@
android:layout_centerInParent="true"
android:paddingTop="@dimen/dialpad_voicemail_icon_padding_top"
android:scaleType="fitCenter"
- android:src="@drawable/ic_dialpad_voicemail"
+ android:src="@drawable/quantum_ic_voicemail_white_24"
android:tint="?attr/dialpad_voicemail_tint"/>
<!-- Place empty text view so vertical height is same as other dialpad keys. -->
<TextView style="@style/DialpadKeyLettersStyle"/>
diff --git a/java/com/android/dialer/dialpadview/res/layout/dialpad_view_unthemed.xml b/java/com/android/dialer/dialpadview/res/layout/dialpad_view_unthemed.xml
index 4b08c6de7..9f69f983a 100644
--- a/java/com/android/dialer/dialpadview/res/layout/dialpad_view_unthemed.xml
+++ b/java/com/android/dialer/dialpadview/res/layout/dialpad_view_unthemed.xml
@@ -80,7 +80,7 @@
android:background="@drawable/btn_dialpad_key"
android:contentDescription="@string/description_dialpad_back"
android:gravity="center"
- android:src="@drawable/ic_close_black_24dp"
+ android:src="@drawable/quantum_ic_close_white_24"
android:tint="?attr/dialpad_icon_tint"
android:tintMode="src_in"
android:visibility="gone"/>
@@ -95,7 +95,7 @@
android:background="@drawable/btn_dialpad_key"
android:contentDescription="@string/description_dialpad_overflow"
android:gravity="center"
- android:src="@drawable/ic_overflow_menu"
+ android:src="@drawable/quantum_ic_more_vert_white_24"
android:tint="?attr/dialpad_icon_tint"
android:tintMode="src_in"
android:visibility="gone"/>
@@ -129,7 +129,7 @@
android:paddingRight="@dimen/dialpad_digits_padding"
android:background="@drawable/btn_dialpad_key"
android:contentDescription="@string/description_delete_button"
- android:src="@drawable/ic_dialpad_delete"
+ android:src="@drawable/quantum_ic_backspace_white_24"
android:state_enabled="false"
android:tint="?attr/dialpad_icon_tint"
android:tintMode="src_in"/>
diff --git a/java/com/android/dialer/dialpadview/res/values-de/strings.xml b/java/com/android/dialer/dialpadview/res/values-de/strings.xml
index b3b13fb2f..c93ce4d4f 100644
--- a/java/com/android/dialer/dialpadview/res/values-de/strings.xml
+++ b/java/com/android/dialer/dialpadview/res/values-de/strings.xml
@@ -21,5 +21,5 @@
<string name="description_dialpad_overflow" msgid="5984341386518189787">"Mehr Optionen"</string>
<string name="description_delete_button" msgid="8431313818404527096">"Rücktaste"</string>
<string name="description_image_button_plus" msgid="8936338119824589388">"Plus"</string>
- <string name="description_voicemail_button" msgid="4187006295368768215">"Mailbox-Nachricht"</string>
+ <string name="description_voicemail_button" msgid="4187006295368768215">"Mailboxnachricht"</string>
</resources>
diff --git a/java/com/android/dialer/interactions/PhoneNumberInteraction.java b/java/com/android/dialer/interactions/PhoneNumberInteraction.java
index b797629dc..f333419ba 100644
--- a/java/com/android/dialer/interactions/PhoneNumberInteraction.java
+++ b/java/com/android/dialer/interactions/PhoneNumberInteraction.java
@@ -193,14 +193,13 @@ public class PhoneNumberInteraction implements OnLoadCompleteListener<Cursor> {
* numbers have been queried for. The activity must implement {@link InteractionErrorListener}
* and {@link DisambigDialogDismissedListener}.
* @param isVideoCall {@code true} if the call is a video call, {@code false} otherwise.
- * @return true if the necessary permissions were found to start the interaction, false otherwise
*/
- public static boolean startInteractionForPhoneCall(
+ public static void startInteractionForPhoneCall(
TransactionSafeActivity activity,
Uri uri,
boolean isVideoCall,
CallSpecificAppData callSpecificAppData) {
- return new PhoneNumberInteraction(
+ new PhoneNumberInteraction(
activity, ContactDisplayUtils.INTERACTION_CALL, isVideoCall, callSpecificAppData)
.startInteraction(uri);
}
@@ -214,9 +213,8 @@ public class PhoneNumberInteraction implements OnLoadCompleteListener<Cursor> {
* Initiates the interaction to result in either a phone call or sms message for a contact.
*
* @param uri Contact Uri
- * @return true if the necessary permissions were found to start the interaction, false otherwise
*/
- private boolean startInteraction(Uri uri) {
+ private void startInteraction(Uri uri) {
// It's possible for a shortcut to have been created, and then permissions revoked. To avoid a
// crash when the user tries to use such a shortcut, check for this condition and ask the user
// for the permission.
@@ -225,7 +223,7 @@ public class PhoneNumberInteraction implements OnLoadCompleteListener<Cursor> {
LogUtil.i("PhoneNumberInteraction.startInteraction", "No phone permissions");
ActivityCompat.requestPermissions(
(Activity) mContext, new String[] {Manifest.permission.CALL_PHONE}, REQUEST_CALL_PHONE);
- return false;
+ return;
}
if (ContextCompat.checkSelfPermission(mContext, Manifest.permission.READ_CONTACTS)
!= PackageManager.PERMISSION_GRANTED) {
@@ -234,7 +232,7 @@ public class PhoneNumberInteraction implements OnLoadCompleteListener<Cursor> {
(Activity) mContext,
new String[] {Manifest.permission.READ_CONTACTS},
REQUEST_READ_CONTACTS);
- return false;
+ return;
}
if (mLoader != null) {
@@ -260,7 +258,6 @@ public class PhoneNumberInteraction implements OnLoadCompleteListener<Cursor> {
mContext, queryUri, PHONE_NUMBER_PROJECTION, PHONE_NUMBER_SELECTION, null, null);
mLoader.registerListener(0, this);
mLoader.startLoading();
- return true;
}
@Override
@@ -353,6 +350,7 @@ public class PhoneNumberInteraction implements OnLoadCompleteListener<Cursor> {
final Activity activity = (Activity) mContext;
if (activity.isDestroyed()) {
// Check whether the activity is still running
+ LogUtil.i("PhoneNumberInteraction.showDisambiguationDialog", "activity destroyed");
return;
}
try {
@@ -365,6 +363,7 @@ public class PhoneNumberInteraction implements OnLoadCompleteListener<Cursor> {
} catch (IllegalStateException e) {
// ignore to be safe. Shouldn't happen because we checked the
// activity wasn't destroyed, but to be safe.
+ LogUtil.e("PhoneNumberInteraction.showDisambiguationDialog", "caught exception", e);
}
}
diff --git a/java/com/android/dialer/lightbringer/Lightbringer.java b/java/com/android/dialer/lightbringer/Lightbringer.java
new file mode 100644
index 000000000..8caafda7e
--- /dev/null
+++ b/java/com/android/dialer/lightbringer/Lightbringer.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.dialer.lightbringer;
+
+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;
+
+public interface Lightbringer {
+
+ @MainThread
+ boolean isReachable(@NonNull Context context, @NonNull String number);
+
+ @MainThread
+ Intent getIntent(@NonNull Context context, @NonNull String number);
+
+ @MainThread
+ void registerListener(@NonNull LightbringerListener listener);
+
+ @MainThread
+ void unregisterListener(@NonNull LightbringerListener listener);
+
+ @Nullable
+ @MainThread
+ ComponentName getPhoneAccountComponentName(@NonNull Context context);
+
+ @NonNull
+ @MainThread
+ String getPackageName(@NonNull Context context);
+}
diff --git a/java/com/android/dialer/lightbringer/LightbringerComponent.java b/java/com/android/dialer/lightbringer/LightbringerComponent.java
new file mode 100644
index 000000000..5bb342406
--- /dev/null
+++ b/java/com/android/dialer/lightbringer/LightbringerComponent.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.lightbringer;
+
+import android.content.Context;
+import android.support.annotation.NonNull;
+import com.android.dialer.inject.HasRootComponent;
+import dagger.Subcomponent;
+
+/**
+ */
+@Subcomponent
+public abstract class LightbringerComponent {
+
+ @NonNull
+ public abstract Lightbringer getLightbringer();
+
+ public static LightbringerComponent get(Context context) {
+ return ((HasComponent) ((HasRootComponent) context.getApplicationContext()).component())
+ .lightbringerComponent();
+ }
+
+ /** Used to refer to the root application component. */
+ public interface HasComponent {
+ LightbringerComponent lightbringerComponent();
+ }
+}
diff --git a/java/com/android/dialer/lightbringer/LightbringerListener.java b/java/com/android/dialer/lightbringer/LightbringerListener.java
new file mode 100644
index 000000000..90fffb349
--- /dev/null
+++ b/java/com/android/dialer/lightbringer/LightbringerListener.java
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.lightbringer;
+
+public interface LightbringerListener {
+ void onLightbringerStateChanged();
+}
diff --git a/java/com/android/dialer/lightbringer/stub/LightbringerStub.java b/java/com/android/dialer/lightbringer/stub/LightbringerStub.java
new file mode 100644
index 000000000..f9bb4cd6c
--- /dev/null
+++ b/java/com/android/dialer/lightbringer/stub/LightbringerStub.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.dialer.lightbringer.stub;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.support.annotation.NonNull;
+import com.android.dialer.common.Assert;
+import com.android.dialer.lightbringer.Lightbringer;
+import com.android.dialer.lightbringer.LightbringerListener;
+import javax.inject.Inject;
+
+public class LightbringerStub implements Lightbringer {
+
+ @Inject
+ public LightbringerStub() {}
+
+ @Override
+ public boolean isReachable(Context context, String number) {
+ return false;
+ }
+
+ @Override
+ public Intent getIntent(Context context, String number) {
+ return null;
+ }
+
+ @Override
+ public void registerListener(LightbringerListener listener) {}
+
+ @Override
+ public void unregisterListener(LightbringerListener listener) {}
+
+ @Override
+ public ComponentName getPhoneAccountComponentName(Context context) {
+ return null;
+ }
+
+ @NonNull
+ @Override
+ public String getPackageName(@NonNull Context context) {
+ throw Assert.createUnsupportedOperationFailException();
+ }
+}
diff --git a/java/com/android/dialer/lightbringer/stub/StubLightbringerModule.java b/java/com/android/dialer/lightbringer/stub/StubLightbringerModule.java
new file mode 100644
index 000000000..e0be0a270
--- /dev/null
+++ b/java/com/android/dialer/lightbringer/stub/StubLightbringerModule.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.lightbringer.stub;
+
+import com.android.dialer.lightbringer.Lightbringer;
+import dagger.Binds;
+import dagger.Module;
+import javax.inject.Singleton;
+
+@Module
+public abstract class StubLightbringerModule {
+
+ @Binds
+ @Singleton
+ public abstract Lightbringer bindsLightbringer(LightbringerStub lightbringer);
+}
diff --git a/java/com/android/dialer/logging/nano/DialerImpression.java b/java/com/android/dialer/logging/nano/DialerImpression.java
index 717b43903..9f3f96116 100644
--- a/java/com/android/dialer/logging/nano/DialerImpression.java
+++ b/java/com/android/dialer/logging/nano/DialerImpression.java
@@ -179,6 +179,18 @@ public final class DialerImpression
public static final int VVM_TRANSCRIPTION_DOWNLOADED = 1159;
public static final int VVM_CHANGE_AIRPLANE_MODE_CLICKED = 1160;
public static final int VVM_CALL_VOICEMAIL_CLICKED = 1161;
+ public static final int VVM_QUOTA_CHECK_UNAVAILABLE = 1162;
+ public static final int EMERGENCY_NEW_EMERGENCY_CALL = 1163;
+ public static final int EMERGENCY_CALLBACK = 1164;
+ public static final int EMERGENCY_NO_LOCATION_PERMISSION = 1165;
+ public static final int EMERGENCY_BATTERY_TOO_LOW_TO_GET_LOCATION = 1166;
+ public static final int EMERGENCY_CANT_GET_LOCATION = 1167;
+ public static final int EMERGENCY_STALE_LOCATION = 1168;
+ public static final int EMERGENCY_INACCURATE_LOCATION = 1169;
+ public static final int EMERGENCY_GOT_LOCATION = 1170;
+ public static final int EMERGENCY_GOT_ADDRESS = 1171;
+ public static final int EMERGENCY_GOT_MAP = 1172;
+ public static final int EMERGENCY_LAUNCHED_MAP = 1173;
}
private static volatile DialerImpression[] _emptyArray;
diff --git a/java/com/android/dialer/notification/GroupedNotificationUtil.java b/java/com/android/dialer/notification/GroupedNotificationUtil.java
index 63ea51739..3925248d5 100644
--- a/java/com/android/dialer/notification/GroupedNotificationUtil.java
+++ b/java/com/android/dialer/notification/GroupedNotificationUtil.java
@@ -41,7 +41,7 @@ public final class GroupedNotificationUtil {
int id,
@NonNull String summaryTag) {
if (tag == null) {
- // Clear all missed call notifications
+ // Clear all grouped notifications
for (StatusBarNotification notification : notificationManager.getActiveNotifications()) {
if (notification.getId() == id) {
notificationManager.cancel(notification.getTag(), id);
@@ -50,7 +50,7 @@ public final class GroupedNotificationUtil {
} else {
notificationManager.cancel(tag, id);
- // See if other non-summary missed call notifications exist, and if not then clear the summary
+ // 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())) {
diff --git a/java/com/android/dialer/notification/NotificationChannelManager.java b/java/com/android/dialer/notification/NotificationChannelManager.java
index 5cae3d8c8..f23c02ad3 100644
--- a/java/com/android/dialer/notification/NotificationChannelManager.java
+++ b/java/com/android/dialer/notification/NotificationChannelManager.java
@@ -53,25 +53,15 @@ public 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).
*
- * <p>phoneAccount should only be null if channelName is {@link Channel#MISC}.
+ * <p>phoneAccount should only be null if channelName is {@link Channel#MISC} or {@link
+ * Channel#MISSED_CALL} since these do not have account-specific settings.
*/
public static void applyChannel(
@NonNull Notification.Builder notification,
@NonNull Context context,
@Channel String channelName,
@Nullable PhoneAccountHandle phoneAccount) {
- if (phoneAccount == null) {
- if (!Channel.MISC.equals(channelName)) {
- IllegalArgumentException exception =
- new IllegalArgumentException(
- "Phone account handle must not be null unless on Channel.MISC");
- if (BuildType.get() >= BuildType.RELEASE) {
- LogUtil.e("NotificationChannelManager.applyChannel", null, exception);
- } else {
- throw exception;
- }
- }
- }
+ checkNullity(channelName, phoneAccount);
if (BuildCompat.isAtLeastO()) {
NotificationChannel channel =
@@ -80,6 +70,33 @@ public class NotificationChannelManager {
}
}
+ 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.MISC:
+ case Channel.MISSED_CALL:
+ return true;
+ default:
+ return false;
+ }
+ }
+
/** The base Channel IDs for {@link NotificationChannel} */
@Retention(RetentionPolicy.SOURCE)
@StringDef({
@@ -136,7 +153,7 @@ public class NotificationChannelManager {
(account == null) ? phoneAccountHandle.getId() : account.getLabel().toString());
getNotificationManager(context)
.createNotificationChannelGroup(group); // No-op if already exists
- } else if (!Channel.MISC.equals(channelName)) {
+ } else if (!channelAllowsNullPhoneAccountHandle(channelName)) {
LogUtil.w(
"NotificationChannelManager.createChannel",
"Null PhoneAccountHandle with channel " + channelName);
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 a9dbd5b94..18a41291f 100644
--- a/java/com/android/dialer/notification/res/values-de/strings.xml
+++ b/java/com/android/dialer/notification/res/values-de/strings.xml
@@ -20,7 +20,7 @@
<string name="notification_channel_incoming_call" msgid="2478740764736158630">"Eingehende Anrufe"</string>
<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">"Mailbox-Nachrichten"</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="5181419532951960166">"Sonstiges"</string>
</resources>
diff --git a/java/com/android/dialer/oem/AndroidManifest.xml b/java/com/android/dialer/oem/AndroidManifest.xml
index 685bc3d20..9e0373ab4 100644
--- a/java/com/android/dialer/oem/AndroidManifest.xml
+++ b/java/com/android/dialer/oem/AndroidManifest.xml
@@ -13,6 +13,9 @@
limitations under the License.
-->
-<manifest
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.dialer.oem">
+ <!-- This is used for querying Cequint caller id. -->
+ <uses-permission android:name="com.cequint.ecid.CALLER_ID_LOOKUP"/>
+
</manifest> \ No newline at end of file
diff --git a/java/com/android/dialer/oem/CequintCallerIdManager.java b/java/com/android/dialer/oem/CequintCallerIdManager.java
index 094cc842d..c8e6010a3 100644
--- a/java/com/android/dialer/oem/CequintCallerIdManager.java
+++ b/java/com/android/dialer/oem/CequintCallerIdManager.java
@@ -22,6 +22,7 @@ import android.database.ContentObserver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Build.VERSION_CODES;
+import android.support.annotation.AnyThread;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.WorkerThread;
@@ -57,6 +58,8 @@ public class CequintCallerIdManager {
private static final Uri CONTENT_URI_FOR_INCALL =
Uri.parse("content://" + PROVIDER_NAME + "/incalllookup");
+ private static final String[] EMPTY_PROJECTION = new String[] {};
+
// Column names in Cequint provider.
private static final String CITY_NAME = "cid_pCityName";
private static final String STATE_NAME = "cid_pStateName";
@@ -72,9 +75,9 @@ public class CequintCallerIdManager {
// TODO: Revisit it and maybe remove it if it's not necessary.
private static final ConcurrentHashMap<String, CequintCallerIdContact> callLogCache =
new ConcurrentHashMap<>();
- // Cache for incall lookup. Key is phone number + "i" for incoming call or "o" for outgoing call.
- // TODO: Revisit it and maybe remove it if it's not necessary.
- private static final ConcurrentHashMap<String, CequintCallerIdContact> incallCache =
+ 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;
@@ -94,6 +97,7 @@ public class CequintCallerIdManager {
}
/** Check whether Cequint Caller Id provider package is available and enabled. */
+ @AnyThread
public static synchronized boolean isCequintCallerIdEnabled(@NonNull Context context) {
if (!ConfigProviderBindings.get(context).getBoolean(CONFIG_CALLER_ID_ENABLED, true)) {
return false;
@@ -113,13 +117,13 @@ public class CequintCallerIdManager {
}
@WorkerThread
+ @Nullable
public static CequintCallerIdContact getCequintCallerIdContact(Context context, String number) {
Assert.isWorkerThread();
LogUtil.d(
"CequintCallerIdManager.getCequintCallerIdContact",
"number: %s",
LogUtil.sanitizePhoneNumber(number));
- registerContentObserver(context);
if (callLogCache.containsKey(number)) {
return callLogCache.get(number);
}
@@ -136,6 +140,7 @@ public class CequintCallerIdManager {
}
@WorkerThread
+ @Nullable
public static CequintCallerIdContact getCequintCallerIdContactForInCall(
Context context, String number, String cnapName, boolean isIncoming) {
Assert.isWorkerThread();
@@ -146,9 +151,10 @@ public class CequintCallerIdManager {
LogUtil.sanitizePii(cnapName),
isIncoming);
registerContentObserver(context);
- String key = number + (isIncoming ? "i" : "o");
- if (incallCache.containsKey(key)) {
- return incallCache.get(key);
+ if (isIncoming && incallIncomingCallCache.containsKey(number)) {
+ return incallIncomingCallCache.get(number);
+ } else if (!isIncoming && incallOutgoingCallCache.containsKey(number)) {
+ return incallOutgoingCallCache.get(number);
}
int flag = 0;
if (isIncoming) {
@@ -161,7 +167,11 @@ public class CequintCallerIdManager {
CequintCallerIdContact cequintCallerIdContact =
lookup(context, CONTENT_URI_FOR_INCALL, number, flags);
if (cequintCallerIdContact != null) {
- incallCache.put(key, cequintCallerIdContact);
+ if (isIncoming) {
+ incallIncomingCallCache.put(number, cequintCallerIdContact);
+ } else {
+ incallOutgoingCallCache.put(number, cequintCallerIdContact);
+ }
}
return cequintCallerIdContact;
}
@@ -169,11 +179,13 @@ public class CequintCallerIdManager {
@WorkerThread
@Nullable
private static CequintCallerIdContact lookup(
- Context context, Uri uri, String number, String[] flags) {
+ Context context, Uri uri, @NonNull String number, String[] flags) {
Assert.isWorkerThread();
+ Assert.isNotNull(number);
// Cequint is using custom arguments for content provider. See more details in b/35766080.
- try (Cursor cursor = context.getContentResolver().query(uri, null, number, flags, null)) {
+ try (Cursor cursor =
+ context.getContentResolver().query(uri, EMPTY_PROJECTION, number, flags, null)) {
if (cursor != null && cursor.moveToFirst()) {
String city = getString(cursor, cursor.getColumnIndex(CITY_NAME));
String state = getString(cursor, cursor.getColumnIndex(STATE_NAME));
@@ -203,6 +215,9 @@ public class CequintCallerIdManager {
LogUtil.d("CequintCallerIdManager.lookup", "No CequintCallerIdContact found");
return null;
}
+ } catch (Exception e) {
+ LogUtil.e("CequintCallerIdManager.lookup", "exception on query", e);
+ return null;
}
}
@@ -269,7 +284,7 @@ public class CequintCallerIdManager {
return geoDescription;
}
- private static void registerContentObserver(Context context) {
+ private static synchronized void registerContentObserver(Context context) {
if (hasRegisteredContentObserver) {
return;
}
@@ -281,7 +296,6 @@ public class CequintCallerIdManager {
}
};
- context.getContentResolver().registerContentObserver(CONTENT_URI, true, contentObserver);
context
.getContentResolver()
.registerContentObserver(CONTENT_URI_FOR_INCALL, true, contentObserver);
@@ -289,8 +303,8 @@ public class CequintCallerIdManager {
}
private static void invalidateCache() {
- callLogCache.clear();
- incallCache.clear();
+ incallIncomingCallCache.clear();
+ incallOutgoingCallCache.clear();
}
private CequintCallerIdManager() {}
diff --git a/java/com/android/dialer/oem/MotorolaUtils.java b/java/com/android/dialer/oem/MotorolaUtils.java
index d0589103d..db2b8909a 100644
--- a/java/com/android/dialer/oem/MotorolaUtils.java
+++ b/java/com/android/dialer/oem/MotorolaUtils.java
@@ -41,10 +41,10 @@ public class MotorolaUtils {
private static final String WIFI_CALL_PACKAGE_NAME = "com.motorola.sprintwfc";
// Feature flag indicates it's a HD call, currently this is only used by Motorola system build.
- // TODO(b/35359461): Upstream and move it to android.provider.CallLog.
- private static final int FEATURES_HD_CALL = 0x10000000;
+ // TODO(b/35359461): Use reference to android.provider.CallLog once it's in new SDK.
+ private static final int FEATURES_HD_CALL = 0x4;
// Feature flag indicates it's a WiFi call, currently this is only used by Motorola system build.
- private static final int FEATURES_WIFI = 0x80000000;
+ private static final int FEATURES_WIFI = 0x8;
private static boolean hasCheckedSprintWifiCall;
private static boolean supportSprintWifiCall;
diff --git a/java/com/android/dialer/persistentlog/PersistentLogFileHandler.java b/java/com/android/dialer/persistentlog/PersistentLogFileHandler.java
new file mode 100644
index 000000000..bb51fa881
--- /dev/null
+++ b/java/com/android/dialer/persistentlog/PersistentLogFileHandler.java
@@ -0,0 +1,198 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.persistentlog;
+
+import android.annotation.TargetApi;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.os.Build.VERSION_CODES;
+import android.preference.PreferenceManager;
+import android.support.annotation.AnyThread;
+import android.support.annotation.MainThread;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.annotation.WorkerThread;
+import java.io.ByteArrayInputStream;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.RandomAccessFile;
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * Handles serialization of byte arrays and read/write them to multiple rotating files. If a logText
+ * file exceeds {@code fileSizeLimit} after a write, a new file will be used. if the total number of
+ * files exceeds {@code fileCountLimit} the oldest ones will be deleted. The logs are stored in the
+ * cache but the file index is stored in the data (clearing data will also clear the cache). The
+ * logs will be stored under /cache_dir/persistent_log/{@code subfolder}, so multiple independent
+ * logs can be created.
+ *
+ * <p>This class is NOT thread safe. All methods expect the constructor must be called on the same
+ * worker thread.
+ */
+@SuppressWarnings("AndroidApiChecker") // lambdas
+@TargetApi(VERSION_CODES.N)
+final class PersistentLogFileHandler {
+
+ private static final String LOG_DIRECTORY = "persistent_log";
+ private static final String NEXT_FILE_INDEX_PREFIX = "persistent_long_next_file_index_";
+
+ private File logDirectory;
+ private final String subfolder;
+ private final int fileSizeLimit;
+ private final int fileCountLimit;
+
+ private SharedPreferences sharedPreferences;
+
+ private File outputFile;
+
+ @MainThread
+ PersistentLogFileHandler(String subfolder, int fileSizeLimit, int fileCountLimit) {
+ this.subfolder = subfolder;
+ this.fileSizeLimit = fileSizeLimit;
+ this.fileCountLimit = fileCountLimit;
+ }
+
+ /** Must be called right after the logger thread is created. */
+ @WorkerThread
+ void initialize(Context context) {
+ logDirectory = new File(new File(context.getCacheDir(), LOG_DIRECTORY), subfolder);
+ sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+ }
+
+ /**
+ * Write the list of byte arrays to the current log file, prefixing each entry with its' length. A
+ * new file will only be selected when the batch is completed, so the resulting file might be
+ * larger then {@code fileSizeLimit}
+ */
+ @WorkerThread
+ void writeLogs(List<byte[]> logs) throws IOException {
+ if (outputFile == null) {
+ selectNextFileToWrite();
+ }
+ outputFile.createNewFile();
+ try (DataOutputStream outputStream =
+ new DataOutputStream(new FileOutputStream(outputFile, true))) {
+ for (byte[] log : logs) {
+ outputStream.writeInt(log.length);
+ outputStream.write(log);
+ }
+ outputStream.close();
+ if (outputFile.length() > fileSizeLimit) {
+ selectNextFileToWrite();
+ }
+ }
+ }
+
+ /** Concatenate all log files in chronicle order and return a byte array. */
+ @WorkerThread
+ @NonNull
+ private byte[] readBlob() throws IOException {
+ File[] files = getLogFiles();
+
+ ByteBuffer byteBuffer =
+ ByteBuffer.allocate(Arrays.stream(files).mapToInt(file -> (int) file.length()).sum());
+ for (File file : files) {
+ byteBuffer.put(readAllBytes(file));
+ }
+ return byteBuffer.array();
+ }
+
+ /** Parses the content of all files back to individual byte arrays. */
+ @WorkerThread
+ @NonNull
+ List<byte[]> getLogs() throws IOException {
+ byte[] blob = readBlob();
+ List<byte[]> logs = new ArrayList<>();
+ try (DataInputStream input = new DataInputStream(new ByteArrayInputStream(blob))) {
+ byte[] log = readLog(input);
+ while (log != null) {
+ logs.add(log);
+ log = readLog(input);
+ }
+ }
+ return logs;
+ }
+
+ @WorkerThread
+ private void selectNextFileToWrite() throws IOException {
+ File[] files = getLogFiles();
+
+ if (files.length == 0 || files[files.length - 1].length() > fileSizeLimit) {
+ if (files.length >= fileCountLimit) {
+ for (int i = 0; i <= files.length - fileCountLimit; i++) {
+ files[i].delete();
+ }
+ }
+ outputFile = new File(logDirectory, String.valueOf(getAndIncrementNextFileIndex()));
+ } else {
+ outputFile = files[files.length - 1];
+ }
+ }
+
+ @NonNull
+ @WorkerThread
+ private File[] getLogFiles() {
+ logDirectory.mkdirs();
+ File[] files = logDirectory.listFiles();
+ Arrays.sort(
+ files,
+ (File lhs, File rhs) ->
+ Long.compare(Long.valueOf(lhs.getName()), Long.valueOf(rhs.getName())));
+ return files;
+ }
+
+ @Nullable
+ @WorkerThread
+ private static byte[] readLog(DataInputStream inputStream) throws IOException {
+ try {
+ byte[] data = new byte[inputStream.readInt()];
+ inputStream.read(data);
+ return data;
+ } catch (EOFException e) {
+ return null;
+ }
+ }
+
+ @NonNull
+ @WorkerThread
+ private static byte[] readAllBytes(File file) throws IOException {
+ byte[] result = new byte[(int) file.length()];
+ try (RandomAccessFile randomAccessFile = new RandomAccessFile(file, "r")) {
+ randomAccessFile.readFully(result);
+ }
+ return result;
+ }
+
+ @WorkerThread
+ private int getAndIncrementNextFileIndex() {
+ int index = sharedPreferences.getInt(getNextFileKey(), 0);
+ sharedPreferences.edit().putInt(getNextFileKey(), index + 1).commit();
+ return index;
+ }
+
+ @AnyThread
+ private String getNextFileKey() {
+ return NEXT_FILE_INDEX_PREFIX + subfolder;
+ }
+}
diff --git a/java/com/android/dialer/persistentlog/PersistentLogger.java b/java/com/android/dialer/persistentlog/PersistentLogger.java
new file mode 100644
index 000000000..049eb9687
--- /dev/null
+++ b/java/com/android/dialer/persistentlog/PersistentLogger.java
@@ -0,0 +1,170 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.persistentlog;
+
+import android.content.Context;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.support.annotation.AnyThread;
+import android.support.annotation.NonNull;
+import android.support.annotation.VisibleForTesting;
+import android.support.annotation.WorkerThread;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.List;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.LinkedBlockingQueue;
+
+/**
+ * Logs data that is persisted across app termination and device reboot. The logs are stored as
+ * rolling files in cache with a limit of {@link #LOG_FILE_SIZE_LIMIT} * {@link
+ * #LOG_FILE_COUNT_LIMIT}. The log writing is batched and there is a {@link #FLUSH_DELAY_MILLIS}
+ * delay before the logs are committed to disk to avoid excessive IO. If the app is terminated
+ * before the logs are committed it will be lost. {@link
+ * com.google.android.apps.dialer.crashreporter.SilentCrashReporter} is expected to handle such
+ * cases.
+ *
+ * <p>{@link #logText(String, String)} should be used to log ad-hoc text logs. TODO: switch
+ * to structured logging
+ */
+public final class PersistentLogger {
+
+ private static final int FLUSH_DELAY_MILLIS = 200;
+ private static final String LOG_FOLDER = "plain_text";
+ private static final int MESSAGE_FLUSH = 1;
+
+ @VisibleForTesting static final int LOG_FILE_SIZE_LIMIT = 64 * 1024;
+ @VisibleForTesting static final int LOG_FILE_COUNT_LIMIT = 8;
+
+ private static PersistentLogFileHandler fileHandler;
+
+ private static HandlerThread loggerThread;
+ private static Handler loggerThreadHandler;
+
+ private static final LinkedBlockingQueue<byte[]> messageQueue = new LinkedBlockingQueue<>();
+
+ private PersistentLogger() {}
+
+ public static void initialize(Context context) {
+ fileHandler =
+ new PersistentLogFileHandler(LOG_FOLDER, LOG_FILE_SIZE_LIMIT, LOG_FILE_COUNT_LIMIT);
+ loggerThread = new HandlerThread("PersistentLogger");
+ loggerThread.start();
+ loggerThreadHandler =
+ new Handler(
+ loggerThread.getLooper(),
+ (message) -> {
+ if (message.what == MESSAGE_FLUSH) {
+ if (messageQueue.isEmpty()) {
+ return true;
+ }
+ loggerThreadHandler.removeMessages(MESSAGE_FLUSH);
+ List<byte[]> messages = new ArrayList<>();
+ messageQueue.drainTo(messages);
+ try {
+ fileHandler.writeLogs(messages);
+ } catch (IOException e) {
+ LogUtil.e("PersistentLogger.MESSAGE_FLUSH", "error writing message", e);
+ }
+ }
+ return true;
+ });
+ loggerThreadHandler.post(() -> fileHandler.initialize(context));
+ }
+
+ static HandlerThread getLoggerThread() {
+ return loggerThread;
+ }
+
+ @AnyThread
+ public static void logText(String tag, String string) {
+ log(buildTextLog(tag, string));
+ }
+
+ @VisibleForTesting
+ @AnyThread
+ static void log(byte[] data) {
+ messageQueue.add(data);
+ loggerThreadHandler.sendEmptyMessageDelayed(MESSAGE_FLUSH, FLUSH_DELAY_MILLIS);
+ }
+
+ /** Dump the log as human readable string. Blocks until the dump is finished. */
+ @NonNull
+ @WorkerThread
+ public static String dumpLogToString() {
+ Assert.isWorkerThread();
+ DumpStringRunnable dumpStringRunnable = new DumpStringRunnable();
+ loggerThreadHandler.post(dumpStringRunnable);
+ try {
+ return dumpStringRunnable.get();
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ return "Cannot dump logText: " + e;
+ }
+ }
+
+ private static class DumpStringRunnable implements Runnable {
+ private String result;
+ private final CountDownLatch latch = new CountDownLatch(1);
+
+ @Override
+ public void run() {
+ result = dumpLogToStringInternal();
+ latch.countDown();
+ }
+
+ public String get() throws InterruptedException {
+ latch.await();
+ return result;
+ }
+ }
+
+ @NonNull
+ @WorkerThread
+ private static String dumpLogToStringInternal() {
+ StringBuilder result = new StringBuilder();
+ List<byte[]> logs;
+ try {
+ logs = readLogs();
+ } catch (IOException e) {
+ return "Cannot dump logText: " + e;
+ }
+
+ for (byte[] log : logs) {
+ result.append(new String(log, StandardCharsets.UTF_8)).append("\n");
+ }
+ return result.toString();
+ }
+
+ @NonNull
+ @WorkerThread
+ @VisibleForTesting
+ static List<byte[]> readLogs() throws IOException {
+ Assert.isWorkerThread();
+ return fileHandler.getLogs();
+ }
+
+ private static byte[] buildTextLog(String tag, String string) {
+ Calendar c = Calendar.getInstance();
+ return String.format("%tm-%td %tH:%tM:%tS.%tL - %s - %s", c, c, c, c, c, c, tag, string)
+ .getBytes(StandardCharsets.UTF_8);
+ }
+}
diff --git a/java/com/android/dialer/phonenumbercache/CachedNumberLookupService.java b/java/com/android/dialer/phonenumbercache/CachedNumberLookupService.java
index f443d56fb..e589a6882 100644
--- a/java/com/android/dialer/phonenumbercache/CachedNumberLookupService.java
+++ b/java/com/android/dialer/phonenumbercache/CachedNumberLookupService.java
@@ -18,10 +18,13 @@ package com.android.dialer.phonenumbercache;
import android.content.Context;
import android.net.Uri;
+import android.support.annotation.IntDef;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.WorkerThread;
import java.io.InputStream;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
public interface CachedNumberLookupService {
@@ -66,11 +69,23 @@ public interface CachedNumberLookupService {
int SOURCE_TYPE_PLACES = 3;
int SOURCE_TYPE_PROFILE = 4;
int SOURCE_TYPE_CNAP = 5;
+ int SOURCE_TYPE_CEQUINT_CALLER_ID = 6;
+
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef({
+ SOURCE_TYPE_DIRECTORY,
+ SOURCE_TYPE_EXTENDED,
+ SOURCE_TYPE_PLACES,
+ SOURCE_TYPE_PROFILE,
+ SOURCE_TYPE_CNAP,
+ SOURCE_TYPE_CEQUINT_CALLER_ID
+ })
+ public @interface ContactSourceType {}
@NonNull
ContactInfo getContactInfo();
- void setSource(int sourceType, String name, long directoryId);
+ void setSource(@ContactSourceType int sourceType, String name, long directoryId);
void setDirectorySource(String name, long directoryId);
diff --git a/java/com/android/dialer/phonenumbercache/ContactInfo.java b/java/com/android/dialer/phonenumbercache/ContactInfo.java
index 03240cc62..dab5e4b4c 100644
--- a/java/com/android/dialer/phonenumbercache/ContactInfo.java
+++ b/java/com/android/dialer/phonenumbercache/ContactInfo.java
@@ -20,6 +20,7 @@ import android.net.Uri;
import android.text.TextUtils;
import com.android.contacts.common.ContactsUtils.UserType;
import com.android.contacts.common.util.UriUtils;
+import com.android.dialer.phonenumbercache.CachedNumberLookupService.CachedContactInfo.ContactSourceType;
/** Information for a contact as needed by the Call Log. */
public class ContactInfo {
@@ -57,7 +58,7 @@ public class ContactInfo {
public boolean isBadData;
public String objectId;
public @UserType long userType;
- public int sourceType = 0;
+ public @ContactSourceType int sourceType = 0;
/** @see android.provider.ContactsContract.CommonDataKinds.Phone#CARRIER_PRESENCE */
public int carrierPresence;
diff --git a/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java b/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
index 66ddd06fd..dc11c1b21 100644
--- a/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
+++ b/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
@@ -31,6 +31,7 @@ import android.provider.ContactsContract.Directory;
import android.provider.ContactsContract.DisplayNameSources;
import android.provider.ContactsContract.PhoneLookup;
import android.support.annotation.Nullable;
+import android.support.annotation.WorkerThread;
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
import com.android.contacts.common.ContactsUtils;
@@ -38,6 +39,7 @@ import com.android.contacts.common.ContactsUtils.UserType;
import com.android.contacts.common.compat.DirectoryCompat;
import com.android.contacts.common.util.Constants;
import com.android.contacts.common.util.UriUtils;
+import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.oem.CequintCallerIdManager;
import com.android.dialer.oem.CequintCallerIdManager.CequintCallerIdContact;
@@ -596,7 +598,9 @@ public class ContactInfoHelper {
* Update ContactInfo by querying to Cequint Caller ID. Only name, geoDescription and photo uri
* will be updated if available.
*/
+ @WorkerThread
public void updateFromCequintCallerId(ContactInfo info, String number) {
+ Assert.isWorkerThread();
if (!CequintCallerIdManager.isCequintCallerIdEnabled(mContext)) {
return;
}
@@ -605,13 +609,14 @@ public class ContactInfoHelper {
if (cequintCallerIdContact == null) {
return;
}
- if (!TextUtils.isEmpty(cequintCallerIdContact.name)) {
+ if (TextUtils.isEmpty(info.name) && !TextUtils.isEmpty(cequintCallerIdContact.name)) {
info.name = cequintCallerIdContact.name;
}
if (!TextUtils.isEmpty(cequintCallerIdContact.geoDescription)) {
info.geoDescription = cequintCallerIdContact.geoDescription;
+ info.sourceType = CachedContactInfo.SOURCE_TYPE_CEQUINT_CALLER_ID;
}
- if (cequintCallerIdContact.imageUrl != null) {
+ if (info.photoUri == null && cequintCallerIdContact.imageUrl != null) {
info.photoUri = UriUtils.parseUriOrNull(cequintCallerIdContact.imageUrl);
}
}
diff --git a/java/com/android/dialer/postcall/PostCallActivity.java b/java/com/android/dialer/postcall/PostCallActivity.java
index 8da03dcd1..28cf5709e 100644
--- a/java/com/android/dialer/postcall/PostCallActivity.java
+++ b/java/com/android/dialer/postcall/PostCallActivity.java
@@ -27,13 +27,13 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.telephony.SmsManager;
-import android.widget.Toolbar;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.enrichedcall.EnrichedCallCapabilities;
import com.android.dialer.enrichedcall.EnrichedCallComponent;
import com.android.dialer.enrichedcall.EnrichedCallManager;
import com.android.dialer.util.PermissionsUtil;
+import com.android.dialer.widget.DialerToolbar;
import com.android.dialer.widget.MessageFragment;
/** Activity used to send post call messages after a phone call. */
@@ -56,10 +56,7 @@ public class PostCallActivity extends AppCompatActivity implements MessageFragme
super.onCreate(bundle);
setContentView(R.layout.post_call_activity);
- Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- toolbar.setTitle(getString(R.string.post_call_message));
- toolbar.setNavigationOnClickListener(v -> finish());
-
+ ((DialerToolbar) findViewById(R.id.toolbar)).setTitle(R.string.post_call_message);
useRcs = canUseRcs(getIntent().getStringExtra(KEY_PHONE_NUMBER));
LogUtil.i("PostCallActivity.onCreate", "useRcs: %b", useRcs);
diff --git a/java/com/android/dialer/postcall/res/layout/post_call_activity.xml b/java/com/android/dialer/postcall/res/layout/post_call_activity.xml
index 6ea8126c5..256c110b9 100644
--- a/java/com/android/dialer/postcall/res/layout/post_call_activity.xml
+++ b/java/com/android/dialer/postcall/res/layout/post_call_activity.xml
@@ -26,13 +26,8 @@
android:layout_alignParentBottom="true"
android:background="@color/background_dialer_white"/>
- <Toolbar
- android:id="@+id/toolbar"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:minHeight="?attr/actionBarSize"
- android:titleTextAppearance="@style/toolbar_title_text"
- android:subtitleTextAppearance="@style/toolbar_subtitle_text"
- android:navigationIcon="@drawable/quantum_ic_close_white_24"
- android:background="@color/dialer_theme_color"/>
+ <com.android.dialer.widget.DialerToolbar
+ android:id="@+id/toolbar"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
</RelativeLayout> \ No newline at end of file
diff --git a/java/com/android/dialer/shortcuts/CallContactActivity.java b/java/com/android/dialer/shortcuts/CallContactActivity.java
index 40bf97b87..d2c9a760d 100644
--- a/java/com/android/dialer/shortcuts/CallContactActivity.java
+++ b/java/com/android/dialer/shortcuts/CallContactActivity.java
@@ -56,6 +56,12 @@ public class CallContactActivity extends TransactionSafeActivity
}
}
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ LogUtil.enterBlock("CallContactActivity.onDestroy");
+ }
+
/**
* Attempt to make a call, finishing the activity if the required permissions are already granted.
* If the required permissions are not already granted, the activity is not finished so that the
@@ -64,12 +70,8 @@ public class CallContactActivity extends TransactionSafeActivity
private void makeCall() {
CallSpecificAppData callSpecificAppData = new CallSpecificAppData();
callSpecificAppData.callInitiationType = CallInitiationType.Type.LAUNCHER_SHORTCUT;
- boolean interactionStarted =
- PhoneNumberInteraction.startInteractionForPhoneCall(
- this, contactUri, false /* isVideoCall */, callSpecificAppData);
- if (interactionStarted) {
- finish();
- }
+ PhoneNumberInteraction.startInteractionForPhoneCall(
+ this, contactUri, false /* isVideoCall */, callSpecificAppData);
}
@Override
diff --git a/java/com/android/dialer/shortcuts/res/values/themes.xml b/java/com/android/dialer/shortcuts/res/values/themes.xml
index 085854d89..d38a09a51 100644
--- a/java/com/android/dialer/shortcuts/res/values/themes.xml
+++ b/java/com/android/dialer/shortcuts/res/values/themes.xml
@@ -26,7 +26,7 @@
<style name="CallContactsTheme" parent="Theme.AppCompat.Light">
<item name="android:windowNoTitle">true</item>
<item name="android:backgroundDimEnabled">false</item>
- <item name="android:windowBackground">@null</item>
+ <item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@null</item>
diff --git a/java/com/android/dialer/simulator/impl/SimulatorActionProvider.java b/java/com/android/dialer/simulator/impl/SimulatorActionProvider.java
index 4acb548a6..8257d9853 100644
--- a/java/com/android/dialer/simulator/impl/SimulatorActionProvider.java
+++ b/java/com/android/dialer/simulator/impl/SimulatorActionProvider.java
@@ -21,17 +21,30 @@ import android.content.Intent;
import android.os.AsyncTask;
import android.provider.VoicemailContract;
import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
import android.view.ActionProvider;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
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.persistentlog.PersistentLogger;
/** Implements the simulator submenu. */
final class SimulatorActionProvider extends ActionProvider {
@NonNull private final Context context;
+ private static class ShareLogWorker implements Worker<Void, String> {
+
+ @Nullable
+ @Override
+ public String doInBackground(Void unused) {
+ return PersistentLogger.dumpLogToString();
+ }
+ }
+
public SimulatorActionProvider(@NonNull Context context) {
super(Assert.isNotNull(context));
this.context = context;
@@ -82,6 +95,25 @@ final class SimulatorActionProvider extends ActionProvider {
context.sendBroadcast(intent);
return true;
});
+
+ subMenu
+ .add("Share persistent log")
+ .setOnMenuItemClickListener(
+ (item) -> {
+ DialerExecutors.createNonUiTaskBuilder(new ShareLogWorker())
+ .onSuccess(
+ (String log) -> {
+ Intent intent = new Intent(Intent.ACTION_SEND);
+ intent.setType("text/plain");
+ intent.putExtra(Intent.EXTRA_TEXT, log);
+ if (intent.resolveActivity(context.getPackageManager()) != null) {
+ context.startActivity(intent);
+ }
+ })
+ .build()
+ .executeSerial(null);
+ return true;
+ });
}
private void populateDatabase() {
diff --git a/java/com/android/dialer/speeddial/AndroidManifest.xml b/java/com/android/dialer/speeddial/AndroidManifest.xml
new file mode 100644
index 000000000..f4f0d82eb
--- /dev/null
+++ b/java/com/android/dialer/speeddial/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.speeddial"/>
diff --git a/java/com/android/dialer/speeddial/SpeedDialFragment.java b/java/com/android/dialer/speeddial/SpeedDialFragment.java
new file mode 100644
index 000000000..68ee3888b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/SpeedDialFragment.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.speeddial;
+
+import android.app.Fragment;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+/** Favorites fragment. Contents TBD. TODO */
+public class SpeedDialFragment extends Fragment {
+
+ public static SpeedDialFragment newInstance() {
+ return new SpeedDialFragment();
+ }
+
+ @Nullable
+ @Override
+ public View onCreateView(
+ LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ return inflater.inflate(R.layout.fragment_speed_dial, container, false);
+ }
+
+ public boolean hasFrequents() {
+ // TODO
+ return false;
+ }
+}
diff --git a/java/com/android/dialer/speeddial/res/layout/fragment_speed_dial.xml b/java/com/android/dialer/speeddial/res/layout/fragment_speed_dial.xml
new file mode 100644
index 000000000..04e230e4d
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/layout/fragment_speed_dial.xml
@@ -0,0 +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
+ -->
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent"/>
diff --git a/java/com/android/dialer/speeddial/res/values-af/strings.xml b/java/com/android/dialer/speeddial/res/values-af/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-af/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-am/strings.xml b/java/com/android/dialer/speeddial/res/values-am/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-am/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-ar/strings.xml b/java/com/android/dialer/speeddial/res/values-ar/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-ar/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-az/strings.xml b/java/com/android/dialer/speeddial/res/values-az/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-az/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-be/strings.xml b/java/com/android/dialer/speeddial/res/values-be/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-be/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-bg/strings.xml b/java/com/android/dialer/speeddial/res/values-bg/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-bg/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-bn/strings.xml b/java/com/android/dialer/speeddial/res/values-bn/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-bn/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-bs/strings.xml b/java/com/android/dialer/speeddial/res/values-bs/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-bs/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-ca/strings.xml b/java/com/android/dialer/speeddial/res/values-ca/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-ca/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-cs/strings.xml b/java/com/android/dialer/speeddial/res/values-cs/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-cs/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-da/strings.xml b/java/com/android/dialer/speeddial/res/values-da/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-da/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-de/strings.xml b/java/com/android/dialer/speeddial/res/values-de/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-de/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-el/strings.xml b/java/com/android/dialer/speeddial/res/values-el/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-el/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-en-rAU/strings.xml b/java/com/android/dialer/speeddial/res/values-en-rAU/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-en-rAU/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-en-rGB/strings.xml b/java/com/android/dialer/speeddial/res/values-en-rGB/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-en-rGB/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-en-rIN/strings.xml b/java/com/android/dialer/speeddial/res/values-en-rIN/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-en-rIN/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-es-rUS/strings.xml b/java/com/android/dialer/speeddial/res/values-es-rUS/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-es-rUS/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-es/strings.xml b/java/com/android/dialer/speeddial/res/values-es/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-es/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-et/strings.xml b/java/com/android/dialer/speeddial/res/values-et/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-et/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-eu/strings.xml b/java/com/android/dialer/speeddial/res/values-eu/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-eu/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-fa/strings.xml b/java/com/android/dialer/speeddial/res/values-fa/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-fa/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-fi/strings.xml b/java/com/android/dialer/speeddial/res/values-fi/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-fi/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-fr-rCA/strings.xml b/java/com/android/dialer/speeddial/res/values-fr-rCA/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-fr-rCA/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-fr/strings.xml b/java/com/android/dialer/speeddial/res/values-fr/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-fr/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-gl/strings.xml b/java/com/android/dialer/speeddial/res/values-gl/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-gl/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-gu/strings.xml b/java/com/android/dialer/speeddial/res/values-gu/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-gu/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-hi/strings.xml b/java/com/android/dialer/speeddial/res/values-hi/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-hi/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-hr/strings.xml b/java/com/android/dialer/speeddial/res/values-hr/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-hr/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-hu/strings.xml b/java/com/android/dialer/speeddial/res/values-hu/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-hu/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-hy/strings.xml b/java/com/android/dialer/speeddial/res/values-hy/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-hy/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-in/strings.xml b/java/com/android/dialer/speeddial/res/values-in/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-in/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-is/strings.xml b/java/com/android/dialer/speeddial/res/values-is/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-is/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-it/strings.xml b/java/com/android/dialer/speeddial/res/values-it/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-it/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-iw/strings.xml b/java/com/android/dialer/speeddial/res/values-iw/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-iw/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-ja/strings.xml b/java/com/android/dialer/speeddial/res/values-ja/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-ja/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-ka/strings.xml b/java/com/android/dialer/speeddial/res/values-ka/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-ka/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-kk/strings.xml b/java/com/android/dialer/speeddial/res/values-kk/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-kk/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-km/strings.xml b/java/com/android/dialer/speeddial/res/values-km/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-km/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-kn/strings.xml b/java/com/android/dialer/speeddial/res/values-kn/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-kn/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-ko/strings.xml b/java/com/android/dialer/speeddial/res/values-ko/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-ko/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-ky/strings.xml b/java/com/android/dialer/speeddial/res/values-ky/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-ky/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-lo/strings.xml b/java/com/android/dialer/speeddial/res/values-lo/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-lo/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-lt/strings.xml b/java/com/android/dialer/speeddial/res/values-lt/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-lt/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-lv/strings.xml b/java/com/android/dialer/speeddial/res/values-lv/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-lv/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-mk/strings.xml b/java/com/android/dialer/speeddial/res/values-mk/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-mk/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-ml/strings.xml b/java/com/android/dialer/speeddial/res/values-ml/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-ml/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-mn/strings.xml b/java/com/android/dialer/speeddial/res/values-mn/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-mn/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-mr/strings.xml b/java/com/android/dialer/speeddial/res/values-mr/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-mr/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-ms/strings.xml b/java/com/android/dialer/speeddial/res/values-ms/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-ms/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-my/strings.xml b/java/com/android/dialer/speeddial/res/values-my/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-my/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-nb/strings.xml b/java/com/android/dialer/speeddial/res/values-nb/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-nb/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-ne/strings.xml b/java/com/android/dialer/speeddial/res/values-ne/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-ne/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-nl/strings.xml b/java/com/android/dialer/speeddial/res/values-nl/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-nl/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-no/strings.xml b/java/com/android/dialer/speeddial/res/values-no/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-no/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-pa/strings.xml b/java/com/android/dialer/speeddial/res/values-pa/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-pa/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-pl/strings.xml b/java/com/android/dialer/speeddial/res/values-pl/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-pl/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-pt-rBR/strings.xml b/java/com/android/dialer/speeddial/res/values-pt-rBR/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-pt-rBR/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-pt-rPT/strings.xml b/java/com/android/dialer/speeddial/res/values-pt-rPT/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-pt-rPT/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-pt/strings.xml b/java/com/android/dialer/speeddial/res/values-pt/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-pt/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-ro/strings.xml b/java/com/android/dialer/speeddial/res/values-ro/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-ro/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-ru/strings.xml b/java/com/android/dialer/speeddial/res/values-ru/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-ru/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-si/strings.xml b/java/com/android/dialer/speeddial/res/values-si/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-si/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-sk/strings.xml b/java/com/android/dialer/speeddial/res/values-sk/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-sk/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-sl/strings.xml b/java/com/android/dialer/speeddial/res/values-sl/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-sl/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-sq/strings.xml b/java/com/android/dialer/speeddial/res/values-sq/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-sq/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-sr/strings.xml b/java/com/android/dialer/speeddial/res/values-sr/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-sr/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-sv/strings.xml b/java/com/android/dialer/speeddial/res/values-sv/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-sv/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-sw/strings.xml b/java/com/android/dialer/speeddial/res/values-sw/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-sw/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-ta/strings.xml b/java/com/android/dialer/speeddial/res/values-ta/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-ta/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-te/strings.xml b/java/com/android/dialer/speeddial/res/values-te/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-te/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-th/strings.xml b/java/com/android/dialer/speeddial/res/values-th/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-th/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-tl/strings.xml b/java/com/android/dialer/speeddial/res/values-tl/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-tl/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-tr/strings.xml b/java/com/android/dialer/speeddial/res/values-tr/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-tr/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-uk/strings.xml b/java/com/android/dialer/speeddial/res/values-uk/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-uk/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-ur/strings.xml b/java/com/android/dialer/speeddial/res/values-ur/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-ur/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-uz/strings.xml b/java/com/android/dialer/speeddial/res/values-uz/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-uz/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-vi/strings.xml b/java/com/android/dialer/speeddial/res/values-vi/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-vi/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-zh-rCN/strings.xml b/java/com/android/dialer/speeddial/res/values-zh-rCN/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-zh-rCN/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-zh-rHK/strings.xml b/java/com/android/dialer/speeddial/res/values-zh-rHK/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-zh-rHK/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-zh-rTW/strings.xml b/java/com/android/dialer/speeddial/res/values-zh-rTW/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-zh-rTW/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/dialer/speeddial/res/values-zu/strings.xml b/java/com/android/dialer/speeddial/res/values-zu/strings.xml
new file mode 100644
index 000000000..b0c27bc7b
--- /dev/null
+++ b/java/com/android/dialer/speeddial/res/values-zu/strings.xml
@@ -0,0 +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">
+</resources>
diff --git a/java/com/android/contacts/common/res/drawable/ic_call.xml b/java/com/android/dialer/speeddial/res/values/colors.xml
index 0fedd452f..5929df8dd 100644
--- a/java/com/android/contacts/common/res/drawable/ic_call.xml
+++ b/java/com/android/dialer/speeddial/res/values/colors.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,6 +14,5 @@
~ 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_call_24dp"/>
+<resources>
+</resources> \ No newline at end of file
diff --git a/java/com/android/contacts/common/res/drawable/ic_message_24dp.xml b/java/com/android/dialer/speeddial/res/values/dimens.xml
index 3c6c8b534..5929df8dd 100644
--- a/java/com/android/contacts/common/res/drawable/ic_message_24dp.xml
+++ b/java/com/android/dialer/speeddial/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,6 +14,5 @@
~ 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_message_24dp"/>
+<resources>
+</resources> \ No newline at end of file
diff --git a/java/com/android/dialer/app/res/drawable/overflow_menu.xml b/java/com/android/dialer/speeddial/res/values/strings.xml
index 81be5dcd5..5929df8dd 100644
--- a/java/com/android/dialer/app/res/drawable/overflow_menu.xml
+++ b/java/com/android/dialer/speeddial/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,5 @@
~ 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_overflow_menu"
- android:tint="@color/actionbar_icon_color"/>
+<resources>
+</resources> \ No newline at end of file
diff --git a/java/com/android/dialer/theme/res/drawable-hdpi/ic_block_24dp.png b/java/com/android/dialer/theme/res/drawable-hdpi/ic_block_24dp.png
deleted file mode 100644
index 2ccc89d24..000000000
--- a/java/com/android/dialer/theme/res/drawable-hdpi/ic_block_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/theme/res/drawable-hdpi/ic_call_arrow.png b/java/com/android/dialer/theme/res/drawable-hdpi/ic_call_arrow.png
deleted file mode 100644
index 14a33e39f..000000000
--- a/java/com/android/dialer/theme/res/drawable-hdpi/ic_call_arrow.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/theme/res/drawable-mdpi/ic_block_24dp.png b/java/com/android/dialer/theme/res/drawable-mdpi/ic_block_24dp.png
deleted file mode 100644
index ec1b33f0e..000000000
--- a/java/com/android/dialer/theme/res/drawable-mdpi/ic_block_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/theme/res/drawable-mdpi/ic_call_arrow.png b/java/com/android/dialer/theme/res/drawable-mdpi/ic_call_arrow.png
deleted file mode 100644
index 169cf2934..000000000
--- a/java/com/android/dialer/theme/res/drawable-mdpi/ic_call_arrow.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/theme/res/drawable-xhdpi/ic_block_24dp.png b/java/com/android/dialer/theme/res/drawable-xhdpi/ic_block_24dp.png
deleted file mode 100644
index 7aba97b65..000000000
--- a/java/com/android/dialer/theme/res/drawable-xhdpi/ic_block_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/theme/res/drawable-xhdpi/ic_call_arrow.png b/java/com/android/dialer/theme/res/drawable-xhdpi/ic_call_arrow.png
deleted file mode 100644
index 6f1366018..000000000
--- a/java/com/android/dialer/theme/res/drawable-xhdpi/ic_call_arrow.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/theme/res/drawable-xxhdpi/ic_block_24dp.png b/java/com/android/dialer/theme/res/drawable-xxhdpi/ic_block_24dp.png
deleted file mode 100644
index fddfa54b8..000000000
--- a/java/com/android/dialer/theme/res/drawable-xxhdpi/ic_block_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/theme/res/drawable-xxhdpi/ic_call_arrow.png b/java/com/android/dialer/theme/res/drawable-xxhdpi/ic_call_arrow.png
deleted file mode 100644
index 0364ee015..000000000
--- a/java/com/android/dialer/theme/res/drawable-xxhdpi/ic_call_arrow.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/theme/res/drawable-xxxhdpi/ic_block_24dp.png b/java/com/android/dialer/theme/res/drawable-xxxhdpi/ic_block_24dp.png
deleted file mode 100644
index 0378d1bed..000000000
--- a/java/com/android/dialer/theme/res/drawable-xxxhdpi/ic_block_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/theme/res/drawable-xxxhdpi/ic_call_arrow.png b/java/com/android/dialer/theme/res/drawable-xxxhdpi/ic_call_arrow.png
deleted file mode 100644
index 8243c2536..000000000
--- a/java/com/android/dialer/theme/res/drawable-xxxhdpi/ic_call_arrow.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/theme/res/values/colors.xml b/java/com/android/dialer/theme/res/values/colors.xml
index 755c3dbe2..a31a75e4e 100644
--- a/java/com/android/dialer/theme/res/values/colors.xml
+++ b/java/com/android/dialer/theme/res/values/colors.xml
@@ -63,4 +63,7 @@
<color name="titlebar_in_recents_background_color">@color/dialer_theme_color_dark</color>
<color name="blue_grey_100">#CFD8DC</color>
+
+ <!-- Color of call type icons in call log, e.g. voicemail, video, WiFi, HD etc. -->
+ <color name="call_type_icon_color">#89000000</color>
</resources>
diff --git a/java/com/android/dialer/theme/res/values/dimens.xml b/java/com/android/dialer/theme/res/values/dimens.xml
index 373b33dfc..8b8e61f11 100644
--- a/java/com/android/dialer/theme/res/values/dimens.xml
+++ b/java/com/android/dialer/theme/res/values/dimens.xml
@@ -26,8 +26,5 @@
<dimen name="actionbar_and_tab_height">107dp</dimen>
<dimen name="actionbar_contentInsetStart">72dp</dimen>
- <dimen name="toolbar_title_text_size">14sp</dimen>
- <dimen name="toolbar_subtitle_text_size">12sp</dimen>
-
- <dimen name="call_log_icon_margin">4dp</dimen>
+ <dimen name="call_log_icon_margin">2dp</dimen>
</resources>
diff --git a/java/com/android/dialer/theme/res/values/styles.xml b/java/com/android/dialer/theme/res/values/styles.xml
index b5e89ff48..ac94d0687 100644
--- a/java/com/android/dialer/theme/res/values/styles.xml
+++ b/java/com/android/dialer/theme/res/values/styles.xml
@@ -53,15 +53,4 @@
<item name="android:background">@color/actionbar_background_color</item>
<item name="background">@color/actionbar_background_color</item>
</style>
-
- <style name="toolbar_title_text">
- <item name="android:textSize">@dimen/toolbar_title_text_size</item>
- <item name="android:textColor">@color/background_dialer_white</item>
- <item name="android:fontFamily">sans-serif-medium</item>
- </style>
-
- <style name="toolbar_subtitle_text">
- <item name="android:textSize">@dimen/toolbar_subtitle_text_size</item>
- <item name="android:textColor">@color/background_dialer_white</item>
- </style>
</resources>
diff --git a/java/com/android/dialer/theme/res/values/themes.xml b/java/com/android/dialer/theme/res/values/themes.xml
index 452b36929..0d0c45f90 100644
--- a/java/com/android/dialer/theme/res/values/themes.xml
+++ b/java/com/android/dialer/theme/res/values/themes.xml
@@ -18,4 +18,12 @@
<item name="android:actionBarSize">@dimen/action_bar_height</item>
<item name="actionBarSize">@dimen/action_bar_height</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>
+ <item name="android:colorBackgroundCacheHint">@null</item>
+ <item name="android:windowIsTranslucent">true</item>
+ <item name="android:windowAnimationStyle">@android:style/Animation</item>
+ </style>
</resources>
diff --git a/java/com/android/dialer/voicemailstatus/res/values-de/strings.xml b/java/com/android/dialer/voicemailstatus/res/values-de/strings.xml
index 75a5a0742..1c1ede17b 100644
--- a/java/com/android/dialer/voicemailstatus/res/values-de/strings.xml
+++ b/java/com/android/dialer/voicemailstatus/res/values-de/strings.xml
@@ -18,7 +18,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="voicemail_status_voicemail_not_available" msgid="5853033558114540057">"Keine Mailbox-Aktualisierungen verfügbar"</string>
- <string name="voicemail_status_messages_waiting" msgid="8900895357460505877">"Neue Mailbox-Nachricht wartet. Laden momentan nicht möglich."</string>
+ <string name="voicemail_status_messages_waiting" msgid="8900895357460505877">"Neue Mailboxnachricht wartet. Laden momentan nicht möglich."</string>
<string name="voicemail_status_configure_voicemail" msgid="8642831215097798709">"Richte deine Mailbox ein."</string>
<string name="voicemail_status_audio_not_available" msgid="2341871147130931237">"Audio nicht verfügbar"</string>
<string name="voicemail_status_action_configure" msgid="4445818528232235329">"Einrichten"</string>
diff --git a/java/com/android/dialer/widget/DialerToolbar.java b/java/com/android/dialer/widget/DialerToolbar.java
new file mode 100644
index 000000000..715a27701
--- /dev/null
+++ b/java/com/android/dialer/widget/DialerToolbar.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.widget;
+
+import android.app.Activity;
+import android.content.Context;
+import android.support.annotation.Nullable;
+import android.support.annotation.StringRes;
+import android.support.v7.widget.Toolbar;
+import android.util.AttributeSet;
+import android.widget.TextView;
+
+/** Toolbar widget for Dialer. */
+public class DialerToolbar extends Toolbar {
+
+ private final TextView title;
+ private final TextView subtitle;
+
+ public DialerToolbar(Context context, @Nullable AttributeSet attributeSet) {
+ super(context, attributeSet);
+ inflate(context, R.layout.dialer_toolbar, this);
+ title = (TextView) findViewById(R.id.title);
+ subtitle = (TextView) findViewById(R.id.subtitle);
+
+ setElevation(getResources().getDimensionPixelSize(R.dimen.toolbar_elevation));
+ setBackgroundColor(getResources().getColor(R.color.dialer_theme_color));
+ setNavigationIcon(R.drawable.quantum_ic_close_white_24);
+ setNavigationOnClickListener(v -> ((Activity) context).finish());
+ }
+
+ @Override
+ public void setTitle(@StringRes int id) {
+ setTitle(getResources().getString(id));
+ }
+
+ @Override
+ public void setTitle(CharSequence charSequence) {
+ title.setText(charSequence);
+ }
+
+ @Override
+ public void setSubtitle(@StringRes int id) {
+ setSubtitle(getResources().getString(id));
+ }
+
+ @Override
+ public void setSubtitle(CharSequence charSequence) {
+ if (charSequence != null) {
+ subtitle.setText(charSequence);
+ subtitle.setVisibility(VISIBLE);
+ }
+ }
+}
diff --git a/java/com/android/dialer/widget/res/layout/dialer_toolbar.xml b/java/com/android/dialer/widget/res/layout/dialer_toolbar.xml
new file mode 100644
index 000000000..c4aac65fb
--- /dev/null
+++ b/java/com/android/dialer/widget/res/layout/dialer_toolbar.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2017 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT 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">
+
+ <LinearLayout
+ android:orientation="vertical"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical">
+
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="top"
+ android:textSize="@dimen/toolbar_title_text_size"
+ android:textColor="@color/background_dialer_white"
+ android:fontFamily="sans-serif-medium"/>
+
+ <TextView
+ android:id="@+id/subtitle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="@dimen/toolbar_subtitle_text_size"
+ android:textColor="@color/background_dialer_white"
+ android:visibility="gone"/>
+ </LinearLayout>
+</merge> \ 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 6c4ea604f..0b1c1f15b 100644
--- a/java/com/android/dialer/widget/res/values/dimens.xml
+++ b/java/com/android/dialer/widget/res/values/dimens.xml
@@ -20,4 +20,9 @@
<dimen name="textview_item_padding">16dp</dimen>
<dimen name="message_remaining_char_text_size">12sp</dimen>
<dimen name="message_divider_height">1dp</dimen>
+
+ <dimen name="toolbar_title_text_size">20sp</dimen>
+ <dimen name="toolbar_title_small_text_size">14sp</dimen>
+ <dimen name="toolbar_subtitle_text_size">12sp</dimen>
+ <dimen name="toolbar_elevation">4dp</dimen>
</resources> \ No newline at end of file
diff --git a/java/com/android/incallui/AndroidManifest.xml b/java/com/android/incallui/AndroidManifest.xml
index 4ddaa6ab5..276b47a5e 100644
--- a/java/com/android/incallui/AndroidManifest.xml
+++ b/java/com/android/incallui/AndroidManifest.xml
@@ -37,10 +37,6 @@
<!-- Testing location -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
- <!-- This is used for querying Cequint caller id.
- TODO(b/36600947): Move to oem package. -->
- <uses-permission android:name="com.cequint.ecid.CALLER_ID_LOOKUP" />
-
<!-- Set android:taskAffinity="com.android.incallui" for all activities to ensure proper
navigation. Otherwise system could bring up DialtactsActivity instead, e.g. when user unmerge a
call.
diff --git a/java/com/android/incallui/AnswerScreenPresenter.java b/java/com/android/incallui/AnswerScreenPresenter.java
index 77b472b39..f48413d92 100644
--- a/java/com/android/incallui/AnswerScreenPresenter.java
+++ b/java/com/android/incallui/AnswerScreenPresenter.java
@@ -101,10 +101,10 @@ public class AnswerScreenPresenter
@Override
public void onAnswerAndReleaseCall() {
- Log.i("AnswerScreenPresenter.onAnswerAndReleaseCall", "enterBlock");
+ LogUtil.enterBlock("AnswerScreenPresenter.onAnswerAndReleaseCall");
DialerCall activeCall = CallList.getInstance().getActiveCall();
if (activeCall == null) {
- Log.i("AnswerScreenPresenter.onAnswerAndReleaseCall", "activeCall == null");
+ LogUtil.i("AnswerScreenPresenter.onAnswerAndReleaseCall", "activeCall == null");
onAnswer(false);
} else {
activeCall.addListener(new AnswerOnDisconnected(activeCall));
@@ -137,7 +137,8 @@ public class AnswerScreenPresenter
@Override
public void onDialerCallDisconnect() {
- Log.i("AnswerScreenPresenter.AnswerOnDisconnected", "Call disconnected, answering new call");
+ LogUtil.i(
+ "AnswerScreenPresenter.AnswerOnDisconnected", "call disconnected, answering new call");
call.answer();
disconnectingCall.removeListener(this);
}
diff --git a/java/com/android/incallui/CallButtonPresenter.java b/java/com/android/incallui/CallButtonPresenter.java
index 69e25ff97..d2bd31998 100644
--- a/java/com/android/incallui/CallButtonPresenter.java
+++ b/java/com/android/incallui/CallButtonPresenter.java
@@ -427,7 +427,7 @@ public class CallButtonPresenter
}
private boolean hasVideoCallCapabilities(DialerCall call) {
- return call.getVideoTech().isAvailable();
+ return call.getVideoTech().isAvailable(mContext);
}
/**
diff --git a/java/com/android/incallui/CallCardPresenter.java b/java/com/android/incallui/CallCardPresenter.java
index 8cd9a07c4..6a34688e8 100644
--- a/java/com/android/incallui/CallCardPresenter.java
+++ b/java/com/android/incallui/CallCardPresenter.java
@@ -50,6 +50,8 @@ 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.logging.Logger;
+import com.android.dialer.logging.nano.DialerImpression;
import com.android.dialer.multimedia.MultimediaData;
import com.android.dialer.oem.MotorolaUtils;
import com.android.incallui.ContactInfoCache.ContactCacheEntry;
@@ -182,8 +184,6 @@ public class CallCardPresenter
mContactsPreferences.refreshValue(ContactsPreferences.DISPLAY_ORDER_KEY);
}
- EnrichedCallComponent.get(mContext).getEnrichedCallManager().registerStateChangedListener(this);
-
// Contact search may have completed before ui is ready.
if (mPrimaryContactInfo != null) {
updatePrimaryDisplayInfo();
@@ -196,9 +196,26 @@ public class CallCardPresenter
InCallPresenter.getInstance().addInCallEventListener(this);
isInCallScreenReady = true;
+ // Log location impressions
+ if (isOutgoingEmergencyCall(mPrimary)) {
+ Logger.get(mContext).logImpression(DialerImpression.Type.EMERGENCY_NEW_EMERGENCY_CALL);
+ } else if (isIncomingEmergencyCall(mPrimary) || isIncomingEmergencyCall(mSecondary)) {
+ Logger.get(mContext).logImpression(DialerImpression.Type.EMERGENCY_CALLBACK);
+ }
+
// Showing the location may have been skipped if the UI wasn't ready during previous layout.
if (shouldShowLocation()) {
updatePrimaryDisplayInfo();
+
+ // Log location impressions
+ if (!hasLocationPermission()) {
+ Logger.get(mContext).logImpression(DialerImpression.Type.EMERGENCY_NO_LOCATION_PERMISSION);
+ } else if (isBatteryTooLowForEmergencyLocation()) {
+ Logger.get(mContext)
+ .logImpression(DialerImpression.Type.EMERGENCY_BATTERY_TOO_LOW_TO_GET_LOCATION);
+ } else if (!callLocation.canGetLocation(mContext)) {
+ Logger.get(mContext).logImpression(DialerImpression.Type.EMERGENCY_CANT_GET_LOCATION);
+ }
}
}
@@ -207,9 +224,6 @@ public class CallCardPresenter
LogUtil.i("CallCardController.onInCallScreenUnready", null);
Assert.checkState(isInCallScreenReady);
- EnrichedCallComponent.get(mContext)
- .getEnrichedCallManager()
- .unregisterStateChangedListener(this);
// stop getting call state changes
InCallPresenter.getInstance().removeListener(this);
InCallPresenter.getInstance().removeIncomingCallListener(this);
@@ -714,7 +728,9 @@ public class CallCardPresenter
number,
name,
nameIsNumber,
- mPrimaryContactInfo.location,
+ shouldShowLocationAsLabel(nameIsNumber, mPrimaryContactInfo.shouldShowLocation)
+ ? mPrimaryContactInfo.location
+ : null,
isChildNumberShown || isCallSubjectShown ? null : mPrimaryContactInfo.label,
mPrimaryContactInfo.photo,
mPrimaryContactInfo.photoType,
@@ -739,6 +755,17 @@ public class CallCardPresenter
}
}
+ private static boolean shouldShowLocationAsLabel(
+ boolean nameIsNumber, boolean shouldShowLocation) {
+ if (nameIsNumber) {
+ return true;
+ }
+ if (shouldShowLocation) {
+ return true;
+ }
+ return false;
+ }
+
private Fragment getLocationFragment() {
if (!ConfigProviderBindings.get(mContext)
.getBoolean(CONFIG_ENABLE_EMERGENCY_LOCATION, CONFIG_ENABLE_EMERGENCY_LOCATION_DEFAULT)) {
@@ -1031,11 +1058,21 @@ public class CallCardPresenter
@Override
public void onInCallScreenResumed() {
+ EnrichedCallComponent.get(mContext).getEnrichedCallManager().registerStateChangedListener(this);
+ updatePrimaryDisplayInfo();
+
if (shouldSendAccessibilityEvent) {
handler.postDelayed(sendAccessibilityEventRunnable, ACCESSIBILITY_ANNOUNCEMENT_DELAY_MILLIS);
}
}
+ @Override
+ public void onInCallScreenPaused() {
+ EnrichedCallComponent.get(mContext)
+ .getEnrichedCallManager()
+ .unregisterStateChangedListener(this);
+ }
+
static boolean sendAccessibilityEvent(Context context, InCallScreen inCallScreen) {
AccessibilityManager am =
(AccessibilityManager) context.getSystemService(Context.ACCESSIBILITY_SERVICE);
diff --git a/java/com/android/incallui/CallerInfo.java b/java/com/android/incallui/CallerInfo.java
index 473bb8f4e..f0dbe9179 100644
--- a/java/com/android/incallui/CallerInfo.java
+++ b/java/com/android/incallui/CallerInfo.java
@@ -105,6 +105,7 @@ public class CallerInfo {
public String normalizedNumber;
public String forwardingNumber;
public String geoDescription;
+ boolean shouldShowGeoDescription;
public String cnapName;
public int numberPresentation;
public int namePresentation;
diff --git a/java/com/android/incallui/ContactInfoCache.java b/java/com/android/incallui/ContactInfoCache.java
index 4c8963a98..9e696b55e 100644
--- a/java/com/android/incallui/ContactInfoCache.java
+++ b/java/com/android/incallui/ContactInfoCache.java
@@ -22,7 +22,6 @@ import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.media.RingtoneManager;
import android.net.Uri;
-import android.os.AsyncTask;
import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.os.SystemClock;
@@ -33,6 +32,7 @@ import android.provider.ContactsContract.DisplayNameSources;
import android.support.annotation.AnyThread;
import android.support.annotation.MainThread;
import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
import android.support.annotation.WorkerThread;
import android.support.v4.os.UserManagerCompat;
import android.telecom.TelecomManager;
@@ -42,6 +42,9 @@ import android.util.ArrayMap;
import android.util.ArraySet;
import com.android.contacts.common.ContactsUtils;
import com.android.dialer.common.Assert;
+import com.android.dialer.common.concurrent.DialerExecutor;
+import com.android.dialer.common.concurrent.DialerExecutor.Worker;
+import com.android.dialer.common.concurrent.DialerExecutors;
import com.android.dialer.logging.nano.ContactLookupResult;
import com.android.dialer.oem.CequintCallerIdManager;
import com.android.dialer.oem.CequintCallerIdManager.CequintCallerIdContact;
@@ -83,6 +86,44 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
private Drawable mDefaultContactPhotoDrawable;
private Drawable mConferencePhotoDrawable;
private int mQueryId;
+ private final DialerExecutor<CnapInformationWrapper> cachedNumberLookupExecutor =
+ DialerExecutors.createNonUiTaskBuilder(new CachedNumberLookupWorker()).build();
+
+ private static class CachedNumberLookupWorker implements Worker<CnapInformationWrapper, Void> {
+ @Nullable
+ @Override
+ public Void doInBackground(@Nullable CnapInformationWrapper input) {
+ if (input == null) {
+ return null;
+ }
+ ContactInfo contactInfo = new ContactInfo();
+ CachedContactInfo cacheInfo = input.service.buildCachedContactInfo(contactInfo);
+ cacheInfo.setSource(CachedContactInfo.SOURCE_TYPE_CNAP, "CNAP", 0);
+ contactInfo.name = input.cnapName;
+ contactInfo.number = input.number;
+ contactInfo.type = ContactsContract.CommonDataKinds.Phone.TYPE_MAIN;
+ try {
+ final JSONObject contactRows =
+ new JSONObject()
+ .put(
+ Phone.CONTENT_ITEM_TYPE,
+ new JSONObject()
+ .put(Phone.NUMBER, contactInfo.number)
+ .put(Phone.TYPE, Phone.TYPE_MAIN));
+ final String jsonString =
+ new JSONObject()
+ .put(Contacts.DISPLAY_NAME, contactInfo.name)
+ .put(Contacts.DISPLAY_NAME_SOURCE, DisplayNameSources.STRUCTURED_NAME)
+ .put(Contacts.CONTENT_ITEM_TYPE, contactRows)
+ .toString();
+ cacheInfo.setLookupKey(jsonString);
+ } catch (JSONException e) {
+ Log.w(TAG, "Creation of lookup key failed when caching CNAP information");
+ }
+ input.service.addContact(input.context.getApplicationContext(), cacheInfo);
+ return null;
+ }
+ }
private ContactInfoCache(Context context) {
mContext = context;
@@ -117,7 +158,6 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
Objects.requireNonNull(info);
String displayName = null;
String displayNumber = null;
- String displayLocation = null;
String label = null;
boolean isSipCall = false;
@@ -188,23 +228,11 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
// dialpad.
displayNumber = PhoneNumberHelper.formatNumber(number, context);
- // Display a geographical description string if available
- // (but only for incoming calls.)
- if (isIncoming) {
- // TODO (CallerInfoAsyncQuery cleanup): Fix the CallerInfo
- // query to only do the geoDescription lookup in the first
- // place for incoming calls.
- displayLocation = info.geoDescription; // may be null
- Log.d(TAG, "Geodescrption: " + info.geoDescription);
- }
-
Log.d(
TAG,
" ==> no name; falling back to number:"
+ " displayNumber '"
+ Log.pii(displayNumber)
- + "', displayLocation '"
- + displayLocation
+ "'");
}
} else {
@@ -237,11 +265,12 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
cce.namePrimary = displayName;
cce.number = displayNumber;
- cce.location = displayLocation;
+ cce.location = info.geoDescription;
cce.label = label;
cce.isSipCall = isSipCall;
cce.userType = info.userType;
cce.originalPhoneNumber = info.phoneNumber;
+ cce.shouldShowLocation = info.shouldShowGeoDescription;
if (info.contactExists) {
cce.contactLookupResult = ContactLookupResult.Type.LOCAL_CONTACT;
@@ -271,6 +300,21 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
return mInfoMap.get(callId);
}
+ private static final class CnapInformationWrapper {
+ final String number;
+ final String cnapName;
+ final Context context;
+ final CachedNumberLookupService service;
+
+ CnapInformationWrapper(
+ String number, String cnapName, Context context, CachedNumberLookupService service) {
+ this.number = number;
+ this.cnapName = cnapName;
+ this.context = context;
+ this.service = service;
+ }
+ }
+
void maybeInsertCnapInformationIntoCache(
Context context, final DialerCall call, final CallerInfo info) {
final CachedNumberLookupService cachedNumberLookupService =
@@ -284,39 +328,11 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
|| mInfoMap.get(call.getId()) != null) {
return;
}
- final Context applicationContext = context.getApplicationContext();
Log.i(TAG, "Found contact with CNAP name - inserting into cache");
- new AsyncTask<Void, Void, Void>() {
- @Override
- protected Void doInBackground(Void... params) {
- ContactInfo contactInfo = new ContactInfo();
- CachedContactInfo cacheInfo = cachedNumberLookupService.buildCachedContactInfo(contactInfo);
- cacheInfo.setSource(CachedContactInfo.SOURCE_TYPE_CNAP, "CNAP", 0);
- contactInfo.name = info.cnapName;
- contactInfo.number = call.getNumber();
- contactInfo.type = ContactsContract.CommonDataKinds.Phone.TYPE_MAIN;
- try {
- final JSONObject contactRows =
- new JSONObject()
- .put(
- Phone.CONTENT_ITEM_TYPE,
- new JSONObject()
- .put(Phone.NUMBER, contactInfo.number)
- .put(Phone.TYPE, Phone.TYPE_MAIN));
- final String jsonString =
- new JSONObject()
- .put(Contacts.DISPLAY_NAME, contactInfo.name)
- .put(Contacts.DISPLAY_NAME_SOURCE, DisplayNameSources.STRUCTURED_NAME)
- .put(Contacts.CONTENT_ITEM_TYPE, contactRows)
- .toString();
- cacheInfo.setLookupKey(jsonString);
- } catch (JSONException e) {
- Log.w(TAG, "Creation of lookup key failed when caching CNAP information");
- }
- cachedNumberLookupService.addContact(applicationContext, cacheInfo);
- return null;
- }
- }.execute();
+
+ cachedNumberLookupExecutor.executeParallel(
+ new CnapInformationWrapper(
+ call.getNumber(), info.cnapName, context, cachedNumberLookupService));
}
/**
@@ -383,7 +399,7 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
CallerInfoUtils.getCallerInfoForCall(
mContext,
call,
- new DialerCallCookieWrapper(callId, call.getNumberPresentation()),
+ new DialerCallCookieWrapper(callId, call.getNumberPresentation(), call.getCnapName()),
new FindInfoCallback(isIncoming, queryToken));
if (cacheEntry != null) {
@@ -478,22 +494,34 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
return cacheEntry;
}
- private void maybeUpdateFromCequintCallerId(CallerInfo callerInfo, boolean isIncoming) {
+ private void maybeUpdateFromCequintCallerId(
+ CallerInfo callerInfo, String cnapName, boolean isIncoming) {
if (!CequintCallerIdManager.isCequintCallerIdEnabled(mContext)) {
return;
}
+ if (callerInfo.phoneNumber == null) {
+ return;
+ }
CequintCallerIdContact cequintCallerIdContact =
CequintCallerIdManager.getCequintCallerIdContactForInCall(
- mContext, callerInfo.phoneNumber, callerInfo.cnapName, isIncoming);
+ mContext, callerInfo.phoneNumber, cnapName, isIncoming);
+
+ if (cequintCallerIdContact == null) {
+ return;
+ }
- if (!TextUtils.isEmpty(cequintCallerIdContact.name)) {
+ if (TextUtils.isEmpty(callerInfo.name) && !TextUtils.isEmpty(cequintCallerIdContact.name)) {
callerInfo.name = cequintCallerIdContact.name;
+ callerInfo.contactExists = true;
}
if (!TextUtils.isEmpty(cequintCallerIdContact.geoDescription)) {
callerInfo.geoDescription = cequintCallerIdContact.geoDescription;
+ callerInfo.shouldShowGeoDescription = true;
+ callerInfo.contactExists = true;
}
- if (cequintCallerIdContact.imageUrl != null) {
+ if (callerInfo.contactDisplayPhotoUri == null && cequintCallerIdContact.imageUrl != null) {
callerInfo.contactDisplayPhotoUri = Uri.parse(cequintCallerIdContact.imageUrl);
+ callerInfo.contactExists = true;
}
}
@@ -691,6 +719,7 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
int queryId;
/** The phone number without any changes to display to the user (ex: cnap...) */
String originalPhoneNumber;
+ boolean shouldShowLocation;
boolean isBusiness;
@@ -730,17 +759,21 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
+ queryId
+ ", originalPhoneNumber="
+ originalPhoneNumber
+ + ", shouldShowLocation="
+ + shouldShowLocation
+ '}';
}
}
private static final class DialerCallCookieWrapper {
- public final String callId;
- public final int numberPresentation;
+ final String callId;
+ final int numberPresentation;
+ final String cnapName;
- public DialerCallCookieWrapper(String callId, int numberPresentation) {
+ DialerCallCookieWrapper(String callId, int numberPresentation, String cnapName) {
this.callId = callId;
this.numberPresentation = numberPresentation;
+ this.cnapName = cnapName;
}
}
@@ -749,7 +782,7 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
private final boolean mIsIncoming;
private final CallerInfoQueryToken mQueryToken;
- public FindInfoCallback(boolean isIncoming, CallerInfoQueryToken queryToken) {
+ FindInfoCallback(boolean isIncoming, CallerInfoQueryToken queryToken) {
mIsIncoming = isIncoming;
mQueryToken = queryToken;
}
@@ -762,7 +795,7 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
return;
}
long start = SystemClock.uptimeMillis();
- maybeUpdateFromCequintCallerId(ci, mIsIncoming);
+ maybeUpdateFromCequintCallerId(ci, cw.cnapName, mIsIncoming);
long time = SystemClock.uptimeMillis() - start;
Log.d(TAG, "Cequint Caller Id look up takes " + time + " ms.");
updateCallerInfoInCacheOnAnyThread(
@@ -844,6 +877,7 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
// field is no longer used; it is persisted here in case
// the UI is ever changed to use it.
entry.location = oldEntry.location;
+ entry.shouldShowLocation = oldEntry.shouldShowLocation;
// Contact specific ringtone is obtained from local lookup.
entry.contactRingtoneUri = oldEntry.contactRingtoneUri;
}
diff --git a/java/com/android/incallui/InCallPresenter.java b/java/com/android/incallui/InCallPresenter.java
index db4d88486..d3d839909 100644
--- a/java/com/android/incallui/InCallPresenter.java
+++ b/java/com/android/incallui/InCallPresenter.java
@@ -40,6 +40,7 @@ import com.android.dialer.blocking.FilteredNumberAsyncQueryHandler;
import com.android.dialer.blocking.FilteredNumberAsyncQueryHandler.OnCheckBlockedListener;
import com.android.dialer.blocking.FilteredNumbersUtil;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.enrichedcall.EnrichedCallComponent;
import com.android.dialer.logging.Logger;
import com.android.dialer.logging.nano.InteractionEvent;
import com.android.dialer.postcall.PostCall;
@@ -320,6 +321,9 @@ public class InCallPresenter implements CallList.Listener {
mStatusBarNotifier = statusBarNotifier;
mExternalCallNotifier = externalCallNotifier;
addListener(mStatusBarNotifier);
+ EnrichedCallComponent.get(mContext)
+ .getEnrichedCallManager()
+ .registerStateChangedListener(mStatusBarNotifier);
mProximitySensor = proximitySensor;
addListener(mProximitySensor);
@@ -1003,7 +1007,10 @@ public class InCallPresenter implements CallList.Listener {
void onActivityStarted() {
Log.d(this, "onActivityStarted");
notifyVideoPauseController(true);
- mStatusBarNotifier.updateNotification(mCallList);
+ if (mStatusBarNotifier != null) {
+ // TODO - b/36649622: Investigate this redundant call
+ mStatusBarNotifier.updateNotification(mCallList);
+ }
}
/*package*/
@@ -1297,12 +1304,7 @@ public class InCallPresenter implements CallList.Listener {
} else if (startIncomingCallSequence) {
Log.i(this, "Start Full Screen in call UI");
- if (!startUi()) {
- // startUI refused to start the UI. This indicates that it needed to restart the
- // activity. When it finally restarts, it will call us back, so we do not actually
- // change the state yet (we return mInCallState instead of newState).
- return mInCallState;
- }
+ mStatusBarNotifier.updateNotification(mCallList);
} else if (newState == InCallState.NO_CALLS) {
// The new state is the no calls state. Tear everything down.
attemptFinishActivity();
@@ -1339,18 +1341,6 @@ public class InCallPresenter implements CallList.Listener {
}
}
- private boolean startUi() {
- boolean isCallWaiting =
- mCallList.getActiveCall() != null && mCallList.getIncomingCall() != null;
-
- if (isCallWaiting) {
- showInCall(false, false);
- } else {
- mStatusBarNotifier.updateNotification(mCallList);
- }
- return true;
- }
-
/**
* @return {@code true} if the InCallPresenter is ready to be torn down, {@code false} otherwise.
* Calling classes should use this as an indication whether to interact with the
@@ -1387,7 +1377,11 @@ public class InCallPresenter implements CallList.Listener {
if (mStatusBarNotifier != null) {
removeListener(mStatusBarNotifier);
+ EnrichedCallComponent.get(mContext)
+ .getEnrichedCallManager()
+ .unregisterStateChangedListener(mStatusBarNotifier);
}
+
if (mExternalCallNotifier != null && mExternalCallList != null) {
mExternalCallList.removeExternalCallListener(mExternalCallNotifier);
}
diff --git a/java/com/android/incallui/StatusBarNotifier.java b/java/com/android/incallui/StatusBarNotifier.java
index 6453d5b62..405eede34 100644
--- a/java/com/android/incallui/StatusBarNotifier.java
+++ b/java/com/android/incallui/StatusBarNotifier.java
@@ -66,6 +66,10 @@ 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.oem.MotorolaUtils;
@@ -86,7 +90,8 @@ import java.util.Locale;
import java.util.Objects;
/** This class adds Notifications to the status bar for the in-call experience. */
-public class StatusBarNotifier implements InCallPresenter.InCallStateListener {
+public class StatusBarNotifier
+ implements InCallPresenter.InCallStateListener, EnrichedCallManager.StateChangedListener {
// Notification types
// Indicates that no notification is currently showing.
@@ -116,7 +121,7 @@ public class StatusBarNotifier implements InCallPresenter.InCallStateListener {
private StatusBarCallListener mStatusBarCallListener;
private boolean mShowFullScreenIntent;
- StatusBarNotifier(@NonNull Context context, @NonNull ContactInfoCache contactInfoCache) {
+ public StatusBarNotifier(@NonNull Context context, @NonNull ContactInfoCache contactInfoCache) {
Objects.requireNonNull(context);
mContext = context;
mContactsPreferences = ContactsPreferencesFactory.newContactsPreferences(mContext);
@@ -181,6 +186,12 @@ public class StatusBarNotifier implements InCallPresenter.InCallStateListener {
updateNotification(callList);
}
+ @Override
+ public void onEnrichedCallStateChanged() {
+ LogUtil.enterBlock("StatusBarNotifier.onEnrichedCallStateChanged");
+ updateNotification(CallList.getInstance());
+ }
+
/**
* Updates the phone app's status bar notification *and* launches the incoming call UI in response
* to a new incoming call.
@@ -199,7 +210,7 @@ public class StatusBarNotifier implements InCallPresenter.InCallStateListener {
* @see #updateInCallNotification(CallList)
*/
@RequiresPermission(Manifest.permission.READ_PHONE_STATE)
- void updateNotification(CallList callList) {
+ public void updateNotification(CallList callList) {
updateInCallNotification(callList);
}
@@ -637,7 +648,7 @@ public class StatusBarNotifier implements InCallPresenter.InCallStateListener {
return R.drawable.ic_phone_paused_white_24dp;
} else if (call.getVideoTech().getSessionModificationState()
== SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
- return R.drawable.ic_videocam;
+ 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
@@ -671,14 +682,20 @@ public class StatusBarNotifier implements InCallPresenter.InCallStateListener {
}
if (isIncomingOrWaiting) {
- if (call.hasProperty(Details.PROPERTY_WIFI)) {
+ EnrichedCallManager manager = EnrichedCallComponent.get(mContext).getEnrichedCallManager();
+ Session session = null;
+ if (call.getNumber() != null) {
+ session = manager.getSession(call.getUniqueCallId(), call.getNumber());
+ }
+
+ if (call.isSpam()) {
+ resId = R.string.notification_incoming_spam_call;
+ } else if (session != null) {
+ resId = getECIncomingCallText(session);
+ } else if (call.hasProperty(Details.PROPERTY_WIFI)) {
resId = R.string.notification_incoming_call_wifi;
} else {
- if (call.isSpam()) {
- resId = R.string.notification_incoming_spam_call;
- } else {
- resId = R.string.notification_incoming_call;
- }
+ resId = R.string.notification_incoming_call;
}
} else if (call.getState() == DialerCall.State.ONHOLD) {
resId = R.string.notification_on_hold;
@@ -698,6 +715,66 @@ public class StatusBarNotifier implements InCallPresenter.InCallStateListener {
return mContext.getString(resId);
}
+ private int getECIncomingCallText(Session session) {
+ int resId;
+ MultimediaData data = session.getMultimediaData();
+ boolean hasImage = data.hasImageData();
+ boolean hasSubject = !TextUtils.isEmpty(data.getText());
+ boolean hasMap = data.getLocation() != null;
+ if (data.isImportant()) {
+ if (hasMap) {
+ if (hasImage) {
+ if (hasSubject) {
+ resId = R.string.important_notification_incoming_call_with_photo_message_location;
+ } else {
+ resId = R.string.important_notification_incoming_call_with_photo_location;
+ }
+ } else if (hasSubject) {
+ resId = R.string.important_notification_incoming_call_with_message_location;
+ } else {
+ resId = R.string.important_notification_incoming_call_with_location;
+ }
+ } else if (hasImage) {
+ if (hasSubject) {
+ resId = R.string.important_notification_incoming_call_with_photo_message;
+ } else {
+ resId = R.string.important_notification_incoming_call_with_photo;
+ }
+ } else {
+ resId = R.string.important_notification_incoming_call_with_message;
+ }
+ if (mContext.getString(resId).length() > 50) {
+ resId = R.string.important_notification_incoming_call_attachments;
+ }
+ } else {
+ if (hasMap) {
+ if (hasImage) {
+ if (hasSubject) {
+ resId = R.string.notification_incoming_call_with_photo_message_location;
+ } else {
+ resId = R.string.notification_incoming_call_with_photo_location;
+ }
+ } else if (hasSubject) {
+ resId = R.string.notification_incoming_call_with_message_location;
+ } else {
+ resId = R.string.notification_incoming_call_with_location;
+ }
+ } else if (hasImage) {
+ if (hasSubject) {
+ resId = R.string.notification_incoming_call_with_photo_message;
+ } else {
+ resId = R.string.notification_incoming_call_with_photo;
+ }
+ } else {
+ resId = R.string.notification_incoming_call_with_message;
+ }
+ }
+ if (mContext.getString(resId).length() > 50) {
+ resId = R.string.notification_incoming_call_attachments;
+ }
+ return resId;
+ }
+
/** Gets the most relevant call to display in the notification. */
private DialerCall getCallToShow(CallList callList) {
if (callList == null) {
@@ -755,7 +832,7 @@ public class StatusBarNotifier implements InCallPresenter.InCallStateListener {
createNotificationPendingIntent(mContext, ACTION_DECLINE_INCOMING_CALL);
builder.addAction(
new Notification.Action.Builder(
- Icon.createWithResource(mContext, R.drawable.ic_close_dk),
+ Icon.createWithResource(mContext, R.drawable.quantum_ic_close_white_24),
getActionText(
R.string.notification_action_dismiss, R.color.notification_action_dismiss),
declinePendingIntent)
@@ -785,7 +862,7 @@ public class StatusBarNotifier implements InCallPresenter.InCallStateListener {
createNotificationPendingIntent(mContext, ACTION_ANSWER_VIDEO_INCOMING_CALL);
builder.addAction(
new Notification.Action.Builder(
- Icon.createWithResource(mContext, R.drawable.ic_videocam),
+ Icon.createWithResource(mContext, R.drawable.quantum_ic_videocam_white_24),
getActionText(
R.string.notification_action_answer_video,
R.color.notification_action_answer_video),
@@ -801,7 +878,7 @@ public class StatusBarNotifier implements InCallPresenter.InCallStateListener {
createNotificationPendingIntent(mContext, ACTION_ACCEPT_VIDEO_UPGRADE_REQUEST);
builder.addAction(
new Notification.Action.Builder(
- Icon.createWithResource(mContext, R.drawable.ic_videocam),
+ Icon.createWithResource(mContext, R.drawable.quantum_ic_videocam_white_24),
getActionText(
R.string.notification_action_accept, R.color.notification_action_accept),
acceptVideoPendingIntent)
@@ -816,7 +893,7 @@ public class StatusBarNotifier implements InCallPresenter.InCallStateListener {
createNotificationPendingIntent(mContext, ACTION_DECLINE_VIDEO_UPGRADE_REQUEST);
builder.addAction(
new Notification.Action.Builder(
- Icon.createWithResource(mContext, R.drawable.ic_videocam),
+ Icon.createWithResource(mContext, R.drawable.quantum_ic_videocam_white_24),
getActionText(
R.string.notification_action_dismiss, R.color.notification_action_dismiss),
declineVideoPendingIntent)
diff --git a/java/com/android/incallui/VideoCallPresenter.java b/java/com/android/incallui/VideoCallPresenter.java
index 5d2138ee0..31999ef2e 100644
--- a/java/com/android/incallui/VideoCallPresenter.java
+++ b/java/com/android/incallui/VideoCallPresenter.java
@@ -154,8 +154,8 @@ public class VideoCallPresenter
/**
* Determines if the incoming video surface should be shown based on the current videoState and
- * callState. The video surface is shown when incoming video is not paused, the call is active,
- * and video reception is enabled.
+ * callState. The video surface is shown when incoming video is not paused, the call is active or
+ * dialing and video reception is enabled.
*
* @param videoState The current video state.
* @param callState The current call state.
@@ -168,8 +168,13 @@ public class VideoCallPresenter
boolean isPaused = VideoProfile.isPaused(videoState);
boolean isCallActive = callState == DialerCall.State.ACTIVE;
+ //Show incoming Video for dialing calls to support early media
+ boolean isCallOutgoingPending =
+ DialerCall.State.isDialing(callState) || callState == DialerCall.State.CONNECTING;
- return !isPaused && isCallActive && VideoProfile.isReceptionEnabled(videoState);
+ return !isPaused
+ && (isCallActive || isCallOutgoingPending)
+ && VideoProfile.isReceptionEnabled(videoState);
}
/**
diff --git a/java/com/android/incallui/answer/impl/AnswerFragment.java b/java/com/android/incallui/answer/impl/AnswerFragment.java
index 553856711..9eb29ace0 100644
--- a/java/com/android/incallui/answer/impl/AnswerFragment.java
+++ b/java/com/android/incallui/answer/impl/AnswerFragment.java
@@ -854,6 +854,12 @@ public class AnswerFragment extends Fragment
}
private void animateEntry(@NonNull View rootView) {
+ if (!isAdded()) {
+ LogUtil.i(
+ "AnswerFragment.animateEntry",
+ "Not currently added to Activity. Will not start entry animation.");
+ return;
+ }
contactGridManager.getContainerView().setAlpha(0f);
Animator alpha =
ObjectAnimator.ofFloat(contactGridManager.getContainerView(), View.ALPHA, 0, 1);
@@ -869,7 +875,8 @@ public class AnswerFragment extends Fragment
if (isShowingLocationUi()) {
builder.with(createTranslation(rootView.findViewById(R.id.incall_location_holder)));
}
- animatorSet.setDuration(getResources().getInteger(R.integer.answer_animate_entry_millis));
+ animatorSet.setDuration(
+ rootView.getResources().getInteger(R.integer.answer_animate_entry_millis));
animatorSet.addListener(
new AnimatorListenerAdapter() {
@Override
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-de/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-de/strings.xml
index 1de03a55c..acae6eb26 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-de/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-de/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="event_activated" msgid="4737012691463830969">"PAW-Modus aktiviert"</string>
- <string name="event_deactivated" msgid="4504516573331084650">"PAW-Modus deaktiviert"</string>
+ <string name="event_activated" msgid="4737012691463830969">"Tierpfoten-Modus aktiviert"</string>
+ <string name="event_deactivated" msgid="4504516573331084650">"Tierpfoten-Modus deaktiviert"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-es/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-es/strings.xml
index ebd8e2f0e..478da3e59 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-es/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-es/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="event_activated" msgid="4737012691463830969">"Modo PAW habilitado"</string>
- <string name="event_deactivated" msgid="4504516573331084650">"Modo PAW inhabilitado"</string>
+ <string name="event_activated" msgid="4737012691463830969">"Modo pata habilitado"</string>
+ <string name="event_deactivated" msgid="4504516573331084650">"Modo pata inhabilitado"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-hr/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-hr/strings.xml
index abbeaf15f..845326cfc 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-hr/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-hr/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="event_activated" msgid="4737012691463830969">"Omogućen PAW način rada"</string>
- <string name="event_deactivated" msgid="4504516573331084650">"Onemoguće način rada PAW"</string>
+ <string name="event_activated" msgid="4737012691463830969">"Omogućen način rada PAW"</string>
+ <string name="event_deactivated" msgid="4504516573331084650">"Onemogućen način rada PAW"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-ro/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-ro/strings.xml
index d0ef36f84..a1f2d59fa 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-ro/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-ro/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="event_activated" msgid="4737012691463830969">"Modul Paw a fost activat"</string>
- <string name="event_deactivated" msgid="4504516573331084650">"Modul Paw a fost dezactivat."</string>
+ <string name="event_activated" msgid="4737012691463830969">"Modul „lăbuță” a fost activat"</string>
+ <string name="event_deactivated" msgid="4504516573331084650">"Modul „lăbuță” a fost dezactivat."</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-ru/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-ru/strings.xml
index 913a362ec..bb002f382 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-ru/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-ru/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="event_activated" msgid="4737012691463830969">"Режим PAW включен"</string>
- <string name="event_deactivated" msgid="4504516573331084650">"Режим PAW отключен"</string>
+ <string name="event_activated" msgid="4737012691463830969">"Режим лапы включен"</string>
+ <string name="event_deactivated" msgid="4504516573331084650">"Режим лапы отключен"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-sr/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-sr/strings.xml
index eb78565a5..6be36feef 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-sr/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-sr/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="event_activated" msgid="4737012691463830969">"PAW режим је омогућен"</string>
- <string name="event_deactivated" msgid="4504516573331084650">"PAW режим је онемогућен"</string>
+ <string name="event_activated" msgid="4737012691463830969">"Омогућен је режим шапе"</string>
+ <string name="event_deactivated" msgid="4504516573331084650">"Онемогућен је режим шапе"</string>
</resources>
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 2c08f5fe1..5ca0a1e5b 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Swiep vanaf ikoon om as \'n oudio-oproep te antwoord"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Swiep op om te antwoord en die voortgesette oproep aan te hou"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Swiep op om te antwoord en die aangehoude oproep te beëindig"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Swiep van die ikoon af om die inkomende oproep te antwoord en die voortgesette oproep te beëindig"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Swiep van die ikoon af om te antwoord en die voortgesette oproep te beëindig"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Skryf jou eie …"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Selfoon"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Luidsprekerfoon"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Stuur"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Weier hierdie oproep met ’n boodskap"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Antwoord as oudio-oproep"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Antwoord die inkomende oproep en beëindig die voortgesette oproep"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Antwoord en beëindig die voortgesette oproep"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Weier met boodskap"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Antwoord as oudio-oproep"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Antwoord die inkomende oproep en beëindig die voortgesette oproep"</string>
+ <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="6477906345540334049">"Belangrike oproep"</string>
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 008273e21..31abea4de 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"እንደ ኦዲዮ ጥሪ ለመመለስ ከአዶ ያንሸራቱ"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"በመካሄድ ላይ ያለ ጥሪ ለመመለስ እና ለመያዝ ወደ ላይ ያንሸራትቱ"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"በይቆይ ላይ ያለ ጥሪ ለመመለስ እና ለመጨረስ ወደ ላይ ያንሸራትቱ"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"ገቢ ጥሪን ለመመለስና እየተካሄዳ ያለ ጥሪ ለመጨረስ ከአዶ ያንሸራቱ"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"ለመመለስ እና በመካሄድ ላይ ያለ ጥሪን ለመጨረስ ከአዶ ያንሸራትቱ"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"የእራስዎን ይጻፉ…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"የስልክ እጀታ"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"ባለድምጽማጉያ ስልክ"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"ላክ"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"መልዕክት በመላክ ይህን ጥሪ አይቀበሉ"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"እንደ ኦዲዮ ጥሪ ይመልሱ"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"ገቢ ጥሪን ይመልሱ እንዲሁም በመካሄድ ላይ ያለ ጥሪ ይጨርሱ"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"ይመልሱ እና በመካሄድ ላይ ያለ ጥሪን ይጨርሱ"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"መልዕክት በመላክ አይቀበሉ"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"እንደ ኦዲዮ ጥሪ ይመልሱ"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"ገቢ ጥሪን ይመልሱ እንዲሁም በመካሄድ ላይ ያለ ጥሪ ይጨርሱ"</string>
+ <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="6477906345540334049">"ተፈላጊ ጥሪ"</string>
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 eb0d45cd0..4ca9e01ec 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"مرّر بشكل سريع من الرمز للرد بمكالمة صوتية"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"التمرير السريع لأعلى للرد وتعليق المكالمة الجارية"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"التمرير السريع لأعلى للرد وإنهاء المكالمة قيد التعليق"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"التمرير السريع من الرمز للرد على المكالمات الواردة وإنهاء المكالمة الجارية"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"التمرير السريع على الرمز للرد وإنهاء مكالمة جارية"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"اكتب ردك…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"جوّال"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"مكبر الصوت"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"إرسال"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"رفض هذه المكالمة مع إرسال رسالة"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"الرد بمكالمة صوتية"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"الرد على مكالمة واردة وإنهاء مكالمة جارية"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"الرد وإنهاء مكالمة جارية"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"الرفض مع إرسال رسالة"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"الرد بمكالمة صوتية"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"الرد على مكالمة واردة وإنهاء مكالمة جارية"</string>
+ <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="6477906345540334049">"مكالمة مهمة"</string>
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 2bd02ac90..f0c800f5f 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Audio çağrı kimi cavab vermək üçün ikonadan sürüşdürün"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Cavab vermək üçün yuxarı sürüşdürün və gedən zəngi gözlədin"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Cavab vermək üçün yuxarı sürüşdürün və gözləmədə olan zəngi bitirin"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Gələn zəngə cavab vermək üçün ikonadan sürüşdürün və gedən zəngi bitirin"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Cavab vermək üçün ikonadan sürüşdürün və gedən zəngi bitirin"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Özünüzünkünü yazın…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Dəstək"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Spiker"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Göndərin"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Bu zəngi mesajla rədd edin"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Audio çağrı olaraq cavab verin"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Gələn zəngə cavab verin və gedən zəngi bitirin"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Cavab verin və gedən zəngi bitirin"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Mesaj ilə rədd edin"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Audio çağrı olaraq cavab verin"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Gələn zəngə cavab verin və gedən zəngi bitirin"</string>
+ <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="6477906345540334049">"Vacib zəng"</string>
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 52dc74ff9..975b63535 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Правядзіце пальцам ад значка, каб адказаць на аўдыявыклік"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Правядзіце пальцам уверх, каб адказаць і ўтрымаць бягучы выклік"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Правядзіце пальцам уверх, каб адказаць і завяршыць выклік на ўтрыманні"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Правядзіце пальцам ад значка, каб адказаць на ўваходны вынік і завяршыць бягучы выклік"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Правядзіце пальцам ад значка, каб адказаць і скончыць бягучы выклік"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Свой варыянт..."</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Тэлефон"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Вонкавы дынамік"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Адправіць"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Адхіліць гэты выклік, адправіўшы паведамленне"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Адказаць аўдыявыклікам"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Адказаць на ўваходны вынік і завяршыць бягучы выклік"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Адказаць і скончыць бягучы выклік"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Адхіліць, адправіўшы паведамленне"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Адказаць аўдыявыклікам"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Адказаць на ўваходны вынік і завяршыць бягучы выклік"</string>
+ <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="6477906345540334049">"Важны выклік"</string>
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 972ad5423..6d75a9f84 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Прекарайте пръст от иконата, за да отговорите като аудиообаждане"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Прекарайте пръст нагоре, за да отговорите и да задържите текущото обаждане"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Прекарайте пръст нагоре, за да отговорите и да завършите задържаното обаждане"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Прекарайте пръст нагоре, за да отговорите на входящото обаждане и да завършите текущото"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Прекарайте пръст от иконата, за да отговорите и да завършите текущото обаждане"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Напишете свое собствено…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Слушалка"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Високоговорител"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Изпращане"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Отхвърляне на това обаждане със съобщение"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Отговаряне като аудиообаждане"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Отговор на входящото обаждане и завършване на текущото"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Отговор и завършване на текущото обаждане"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Отхвърляне със съобщение"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Отговаряне като аудиообаждане"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Отговор на входящото обаждане и завършване на текущото"</string>
+ <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="6477906345540334049">"Важно обаждане"</string>
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 6ad8aaf3d..2143d34ca 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"একটি অডিও কল হিসেবে উত্তর দিতে আইকন থেকে সোয়াইপ করুন"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"উত্তর দিতে এবং চালু থাকা কল হোল্ড করতে উপরের দিকে সোয়াইপ করুন"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"উত্তর দিতে এবং হোল্ডে থাকা কল কেটে দিতে উপরের দিকে সোয়াইপ করুন"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"ইনকামিং কলের উত্তর দিতে এবং চালু থাকা কল কেটে দিতে আইকন থেকে সোয়াইপ করুন"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"উত্তর দিতে এবং চলছে এমন কল কেটে দিতে আইকন থেকে সোয়াইপ করুন"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"আপনার নিজের পছন্দ মত লিখুন…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"হ্যান্ডসেট"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"স্পিকারফোন"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"পাঠান"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"একটি বার্তা সহ এই কলটি প্রত্যাখ্যান করুন"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"অডিও কল হিসেবে উত্তর দিন"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"ইনকামিং কলের উত্তর এবং চালু থাকা কল কেটে দিন"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"উত্তর দিন এবং চলছে এমন কল কেটে দিন"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"বার্তা সহ প্রত্যাখ্যান করুন"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"অডিও কল হিসেবে উত্তর দিন"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"ইনকামিং কলের উত্তর এবং চালু থাকা কল কেটে দিন"</string>
+ <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="6477906345540334049">"গুরুত্বপূর্ণ কল"</string>
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 b8b131a3a..fae26362d 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Prevucite preko ikone da prihvatite kao audiopoziv"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Prevucite nagore da odgovorite na poziv koji je u toku i da ga stavite na čekanje"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Prevucite nagore da odgovorite na poziv i završite poziv koji je na čekanju"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Prevucite ikonu da odgovorite na dolazni poziv i završite poziv koji je u toku"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Prevucite ikonu da odgovorite na poziv i završite ga"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Napišite svoj…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Slušalice"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Zvučnik"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Pošalji"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Odbij poziv porukom"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Prihvati kao audiopoziv"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Odgovorite na dolazni poziv i završite poziv koji je u toku"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Odgovorite na poziv i završite ga"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Odbij porukom"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Prihvati kao audiopoziv"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Odgovorite na dolazni poziv i završite poziv koji je u toku"</string>
+ <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="6477906345540334049">"Važan poziv"</string>
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 7a9f1a88a..30e445799 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Llisca des de la icona per respondre amb una trucada d\'àudio"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Llisca cap amunt per respondre a la trucada i posar l\'actual en espera"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Llisca cap amunt per respondre a la trucada i finalitzar la que està en espera"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Llisca des de la icona per respondre a la trucada entrant i finalitzar l\'actual"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Llisca des de la icona per respondre a la trucada i finalitzar l\'actual"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Escriu la teva…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Auricular"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Telèfon amb altaveu"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Envia"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Rebutja aquesta trucada amb un missatge"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Respon amb una trucada d\'àudio"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Respon a la trucada entrant i finalitza l\'actual"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Respon a la trucada i finalitza l\'actual"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Rebutja amb un missatge"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Respon amb una trucada d\'àudio"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Respon a la trucada entrant i finalitza l\'actual"</string>
+ <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="6477906345540334049">"Trucada important"</string>
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 4672a340c..06dd6d0d3 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Přejetím prstem od ikony hovor přijmete jako hlasový hovor"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Přejetím prstem nahoru hovor přijmete a probíhající hovor podržíte"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Přejetím prstem nahoru hovor přijmete a podržený hovor ukončíte"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Přejetím prstem od ikony hovor přijmete a probíhající hovor ukončíte"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Přejetím prstem od ikony hovor přijmete a probíhající hovor ukončíte"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Napište vlastní odpověď…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Sluchátko"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Hlasitý odposlech"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Odeslat"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Odmítnout hovor a poslat zprávu"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Přijmout jako hlasový hovor"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Přijmout příchozí hovor a ukončit probíhající hovor"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Přijmout hovor a ukončit probíhající hovor"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Odmítnout a poslat zprávu"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Přijmout jako hlasový hovor"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Přijmout příchozí hovor a ukončit probíhající hovor"</string>
+ <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="6477906345540334049">"Důležitý hovor"</string>
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 904b88ce0..bfaebdf2f 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Stryg fra ikonet for at besvare som et taleopkald"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Stryg op for at besvare og sætte det igangværende opkald i venteposition"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Stryg op for at besvare og afslutte opkaldet i venteposition"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Stryg fra ikonet for at besvare det indgående opkald og afslutte opkaldet i venteposition"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Stryg fra ikonet for at besvare og afslutte det igangværende opkald"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Skriv dit eget…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Håndsæt"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Medhør"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Send"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Afvis dette opkald med en besked"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Besvar som taleopkald"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Besvar det indgående opkald, og afslut det igangværende opkald"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Besvar, og afslut det igangværende opkald"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Afvis med en besked"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Besvar som taleopkald"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Besvar det indgående opkald, og afslut det igangværende opkald"</string>
+ <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="6477906345540334049">"Vigtigt opkald"</string>
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 d4cab75ac..fc4b530d6 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Zum Annehmen als Sprachanruf vom Symbol wegwischen"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Wische nach oben, um den Anruf anzunehmen und den aktuellen Anruf zu halten"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Wische nach oben, um den Anruf anzunehmen und den gehaltenen Anruf zu beenden"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Wische vom Symbol weg, um den eingehenden Anruf anzunehmen und den aktuellen Anruf zu beenden"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Wische vom Symbol weg, um den Anruf anzunehmen und den aktuellen Anruf zu beenden"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Eigene Antwort schreiben…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Mobiltelefon"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Freisprechfunktion"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Senden"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Diesen Anruf mit einer Nachricht ablehnen"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Als Sprachanruf annehmen"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Nimm den eingehenden Anruf an und beende den aktuellen Anruf"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Nimm den Anruf an und beende den aktuellen Anruf"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Mit Nachricht ablehnen"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Als Sprachanruf annehmen"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Nimm den eingehenden Anruf an und beende den aktuellen Anruf"</string>
+ <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="6477906345540334049">"Wichtiger Anruf"</string>
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 bc1fa1b6c..8bf79b0a5 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Σύρετε από το εικονίδιο προς τα έξω για απάντηση ως φωνητική κλήση"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Σύρετε προς τα επάνω για απάντηση και κράτηση της κλήσης σε εξέλιξη"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Σύρετε προς τα επάνω για απάντηση και τερματισμό της κλήσης σε εξέλιξη"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Σύρετε από το εικονίδιο προς τα έξω για απάντηση της εισερχόμενης και τερματισμό της κλήσης σε εξέλιξη"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Σύρετε από το εικονίδιο προς τα έξω για απάντηση και τερματισμό της κλήσης σε εξέλιξη"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Συντάξτε το δικό σας…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Συσκευή"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Ανοιχτή ακρόαση"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Αποστολή"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Απόρριψη αυτής της κλήσης με μήνυμα"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Απάντηση ως φωνητική κλήση"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Απάντηση εισερχόμενης κλήσης και τερματισμός εκείνης σε εξέλιξη"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Απάντηση και τερματισμός κλήσης σε εξέλιξη"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Απόρριψη με μήνυμα"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Απάντηση ως φωνητική κλήση"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Απάντηση εισερχόμενης κλήσης και τερματισμός εκείνης σε εξέλιξη"</string>
+ <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="6477906345540334049">"Σημαντική κλήση"</string>
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 4566c4159..5381d2c2b 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Swipe from icon to answer as an audio call"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Swipe up to answer and hold ongoing call"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Swipe up to answer and end call on hold"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Swipe from icon to answer incoming call and end ongoing call"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Swipe from icon to answer and end ongoing call"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Write your own…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Handset"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Speakerphone"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Send"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Reject this call with a message"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Answer as an audio call"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Answer incoming call and end ongoing call"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Answer and end ongoing call"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Reject with a message"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Answer as an audio call"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Answer incoming call and end ongoing call"</string>
+ <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="6477906345540334049">"Important call"</string>
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 4566c4159..5381d2c2b 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Swipe from icon to answer as an audio call"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Swipe up to answer and hold ongoing call"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Swipe up to answer and end call on hold"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Swipe from icon to answer incoming call and end ongoing call"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Swipe from icon to answer and end ongoing call"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Write your own…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Handset"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Speakerphone"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Send"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Reject this call with a message"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Answer as an audio call"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Answer incoming call and end ongoing call"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Answer and end ongoing call"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Reject with a message"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Answer as an audio call"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Answer incoming call and end ongoing call"</string>
+ <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="6477906345540334049">"Important call"</string>
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 4566c4159..5381d2c2b 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Swipe from icon to answer as an audio call"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Swipe up to answer and hold ongoing call"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Swipe up to answer and end call on hold"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Swipe from icon to answer incoming call and end ongoing call"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Swipe from icon to answer and end ongoing call"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Write your own…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Handset"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Speakerphone"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Send"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Reject this call with a message"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Answer as an audio call"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Answer incoming call and end ongoing call"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Answer and end ongoing call"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Reject with a message"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Answer as an audio call"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Answer incoming call and end ongoing call"</string>
+ <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="6477906345540334049">"Important call"</string>
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 123f3c352..b5a8fc630 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Desliza desde el ícono para responder como una llamada de audio"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Desliza el dedo hacia arriba para responder y poner en espera la llamada en curso"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Desliza el dedo hacia arriba para responder y finalizar la llamada en espera"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Desliza el dedo desde el ícono para responder la llamada entrante y finalizar la llamada en curso"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Desliza el dedo desde el ícono para responder y finalizar la llamada en curso"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Escribe tu propia respuesta…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Auricular"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Altavoz"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Enviar"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Rechazar esta llamada con un mensaje"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Responder como llamada de audio"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Responder la llamada entrante y finalizar la llamada en curso"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Responder y finalizar la llamada en curso"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Rechazar con un mensaje"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Responder como llamada de audio"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Responder la llamada entrante y finalizar la llamada en curso"</string>
+ <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="6477906345540334049">"Llamada importante"</string>
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 8b6c9fa4c..1b2642cd1 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Desliza desde el icono para responder como una llamada de audio"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Desliza el dedo hacia arriba para responder a una llamada y para poner en espera la llamada en curso"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Desliza el dedo hacia arriba para responder a una llamada y para finalizar la llamada en espera"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Desliza el dedo desde el icono para responder a una llamada entrante y para finalizar la llamada en curso"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Desliza el dedo desde el icono para responder a una llamada y para finalizar otra en curso"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Escribe tu propia respuesta…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Auricular"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Altavoz"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Enviar"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Rechaza esta llamada con un mensaje"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Responde como llamada de audio"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Responder a una llamada entrante y finalizar una llamada en curso"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Responder a una llamada y finalizar otra en curso"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Rechaza con un mensaje"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Responde como llamada de audio"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Responder a una llamada entrante y finalizar una llamada en curso"</string>
+ <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="6477906345540334049">"Llamada importante"</string>
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 8448ddca7..ac9379910 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Helikõnena vastamiseks pühkige ikoonilt eemale"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Pühkige üles, et vastata ja käimasolev kõne ootele panna"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Pühkige üles, et vastata ja ootel kõne lõpetada"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Pühkige ikoonilt eemale, et sissetulevale kõnele vastata ja käimasolev kõne lõpetada"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Pühkige ikoonilt eemale, et vastata ja käimasolev kõne lõpetada"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Kirjutage ise …"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Käsitelefon"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Valjuhääldi"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Saada"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Keeldu kõnest ja saada sõnum"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Vasta helikõnena"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Vastake sissetulevale kõnele ja lõpetage käimasolev kõne"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Vastake ja lõpetage käimasolev kõne"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Keeldumine ja sõnumi saatmine"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Vastamine helikõnena"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Vastake sissetulevale kõnele ja lõpetage käimasolev kõne"</string>
+ <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="6477906345540334049">"Tähtis kõne"</string>
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 82d7efe44..341b9d2db 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Pasatu hatza ikonotik audio-dei gisa erantzuteko"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Pasatu hatza gorantz erantzuteko eta uneko deia zain jartzeko"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Pasatu hatza gorantz erantzuteko eta zain dagoen deia amaitzeko"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Pasatu hatza ikonotik deiari erantzuteko eta uneko deia amaitzeko"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Pasatu hatza ikonotik erantzuteko eta uneko deia amaitzeko"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Idatzi erantzuna…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Telefonoa"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Bozgorailua"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Bidali"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Baztertu dei hau eta bidali mezu bat"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Erantzun audio-dei gisa"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Erantzun deiari eta amaitu uneko deia"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Erantzun eta amaitu uneko deia"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Baztertu eta bidali mezu bat"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Erantzun audio-dei gisa"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Erantzun deiari eta amaitu uneko deia"</string>
+ <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="6477906345540334049">"Dei garrantzitsua"</string>
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 e39a01520..76725f25a 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"برای پاسخ دادن با تماس صوتی، انگشتتان را تند از روی نماد بکشید"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"برای پاسخ دادن و در انتظار نگه‌داشتن تماس درحال انجام، تند به بالا بکشید"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"برای پاسخ دادن و پایان دادن به تماس در انتظار، تند به بالا بکشید"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"برای پاسخ دادن به تماس ورودی و پایان دادن به تماس درحال انجام، صفحه را تند از نماد بکشید"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"برای پاسخ دادن به تماس درحال انجام و پایان دادن به آن، انگشتتان را تند از روی نماد بکشید"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"بنویسید..."</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"گوشی"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"بلندگوی تلفن"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"ارسال"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"رد کردن تماس با ارسال پیام"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"پاسخ با تماس صوتی"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"پاسخ دادن به تماس ورودی و پایان دادن به تماس درحال انجام"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"پاسخ دادن به تماس درحال انجام و پایان دادن به آن"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"رد کردن با ارسال پیام"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"پاسخ با تماس صوتی"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"پاسخ دادن به تماس ورودی و پایان دادن به تماس درحال انجام"</string>
+ <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="6477906345540334049">"تماس مهم"</string>
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 e227986c7..da7da4ae7 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Vastaa äänipuheluna pyyhkäisemällä kuvaketta."</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Laita nykyinen puhelu pitoon ja vastaa saapuvaan puheluun pyyhkäisemällä ylös"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Lopeta nykyinen puhelu ja vastaa saapuvaan puheluun pyyhkäisemällä ylös"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Lopeta nykyinen puhelu ja vastaa saapuvaan puheluun pyyhkäisemällä kuvakkeesta"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Vastaa puheluun ja lopeta nykyinen puhelu pyyhkäisemällä kuvakkeesta."</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Kirjoita oma…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Matkapuhelin"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Kaiutinpuhelin"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Lähetä"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Hylkää tämä puhelu viestillä."</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Vastaa ja aloita äänipuhelu."</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Lopeta nykyinen puhelu ja vastaa saapuvaan puheluun"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Vastaa puheluun ja lopeta nykyinen puhelu"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Hylkää viestillä"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Vastaa ja aloita äänipuhelu"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Lopeta nykyinen puhelu ja vastaa saapuvaan puheluun"</string>
+ <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="6477906345540334049">"Tärkeä puhelu"</string>
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 10a7a6a75..733dd4382 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Balayez à partir de l\'icône pour répondre par appel audio"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Balayez l\'écran vers le haut pour répondre et mettre en attente l\'appel en cours"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Balayez l\'écran vers le haut pour répondre et mettre fin à l\'appel en attente"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Balayez l\'écran à partir de l\'icône pour répondre à l\'appel entrant et mettre fin à l\'appel en cours"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Balayez l\'écran à partir de l\'icône pour répondre et mettre fin à l\'appel en cours"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Réponse personnalisée…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Combiné"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Téléphone à haut-parleur"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Envoyer"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Refuser l\'appel et envoyer un message à l\'appelant"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Répondre par appel audio"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Répondre à l\'appel entrant et mettre fin à l\'appel en cours"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Répondre et mettre fin à l\'appel en cours"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Refuser avec un message"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Répondre par appel audio"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Répondre à l\'appel entrant et mettre fin à l\'appel en cours"</string>
+ <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="6477906345540334049">"Appel important"</string>
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 cbd20c98d..88e5b829f 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Appuyer sur l\'icône, puis balayer l\'écran pour répondre via un appel audio"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Balayer l\'écran vers le haut pour répondre et mettre en attente l\'appel en cours"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Balayer l\'écran vers le haut pour répondre et mettre fin à l\'appel en attente"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Appuyer sur l\'icône, puis balayer l\'écran pour répondre à l\'appel entrant et mettre fin à l\'appel en cours"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Appuyer sur l\'icône, puis balayer l\'écran pour répondre ou mettre fin à l\'appel en cours"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Réponse personnalisée"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Combiné"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Haut-parleur"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Envoyer"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Refuser cet appel et envoyer un message à l\'appelant"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Répondre via un appel audio"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Répondre à l\'appel entrant et mettre fin à l\'appel en cours"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Répondre ou mettre fin à l\'appel en cours"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Refuser avec envoi de message"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Répondre via un appel audio"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Répondre à l\'appel entrant et mettre fin à l\'appel en cours"</string>
+ <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="6477906345540334049">"Appel important"</string>
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 2025f41d9..79cf1b114 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Pasar o dedo desde a icona para responder como chamada de audio"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Pasa o dedo cara arriba para responder e poñer en espera a chamada en curso"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Pasa o dedo cara arriba para responder e finalizar a chamada en espera"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Pasa o dedo desde a icona para responder á chamada entrante e finalizar a chamada en curso"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Pasa o dedo desde a icona para responder á chamada entrante e finalizar a chamada en curso"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Escribe a túa propia…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Teléfono"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Altofalante"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Enviar"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Rexeitar a chamada cunha mensaxe"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Responder como chamada de audio"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Responder á chamada entrante e finalizar chamada en curso"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Responde á chamada entrante e finaliza a chamada en curso"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Rexeitar con mensaxe"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Responder como chamada de audio"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Responde á chamada entrante e finaliza a chamada en curso"</string>
+ <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="6477906345540334049">"Chamada importante"</string>
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 7b7e41d0e..928228653 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ઑડિઓ કૉલનો જવાબ આપવા માટે આઇકનથી સ્વાઇપ કરો"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"જવાબ આપવા અને ચાલુ કૉલ હૉલ્ડ પર રાખવા માટે ઉપર સ્વાઇપ કરો"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"જવાબ આપવા અને હૉલ્ડ પરનો કૉલ સમાપ્ત કરવા માટે ઉપર સ્વાઇપ કરો"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"ઇનકમિંગ કૉલનો જવાબ આપવા અને ચાલુ કૉલ સમાપ્ત કરવા માટે આઇકનમાંથી સ્વાઇપ કરો"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"જવાબ આપવા અને ચાલુ કૉલ સમાપ્ત કરવા માટે આઇકનમાંથી સ્વાઇપ કરો"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"તમારો પોતાનો સંદેશ લખો…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"હેન્ડસેટ"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"સ્પીકરફોન"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"મોકલો"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"આ કૉલને સંદેશ સાથે નકારો"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ઑડિઓ કૉલ તરીકે જવાબ આપો"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"ઇનકમિંગ કૉલનો જવાબ આપો અને ચાલુ કૉલ સમાપ્ત કરો"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"જવાબ આપો અને ચાલુ કૉલ સમાપ્ત કરો"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"સંદેશ સાથે નકારો"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ઑડિઓ કૉલ તરીકે જવાબ આપો"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"ઇનકમિંગ કૉલનો જવાબ આપો અને ચાલુ કૉલ સમાપ્ત કરો"</string>
+ <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="6477906345540334049">"મહત્વપૂર્ણ કૉલ"</string>
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 6778511ed..88c0ad21c 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ऑडियो कॉल के रूप में उत्तर देने के लिए आइकन से स्वाइप करें"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"जवाब देने और जारी कॉल को होल्ड पर रखने के लिए ऊपर स्वाइप करें"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"जवाब देने और होल्ड पर रखा कॉल समाप्त करने के लिए ऊपर स्वाइप करें"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"इनकमिंग कॉल का जवाब देने और जारी कॉल समाप्त करने के लिए आइकन से स्वाइप करें"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"कॉल का जवाब देने और जारी कॉल समाप्त करने के लिए आइकन से स्वाइप करें"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"अपना स्वयं का लिखें…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"हैंडसेट"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"स्‍पीकर फ़ोन"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"भेजें"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"इस कॉल को संदेश के साथ अस्वीकार करें"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ऑडियो कॉल के रूप में उत्तर दें"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"इनकमिंग कॉल का जवाब दें और जारी कॉल समाप्त करें"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"कॉल का जवाब दें और जारी कॉल समाप्त करें"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"संदेश के साथ अस्वीकार करें"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ऑडियो कॉल के रूप में उत्तर दें"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"इनकमिंग कॉल का जवाब दें और जारी कॉल समाप्त करें"</string>
+ <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="6477906345540334049">"महत्वपूर्ण कॉल"</string>
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 5f2711020..a7524a34f 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Prijeđite prstom od ikone da biste prihvatili kao audiopoziv"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Prijeđite prstom prema gore za odgovor na poziv i stavljanje poziva u tijeku na čekanje"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Prijeđite prstom prema gore za odgovor na poziv i prekidanje poziva na čekanju"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Prijeđite prstom od ikone da biste prihvatili dolazni poziv i prekinuli poziv u tijeku"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Prijeđite prstom od ikone da biste prihvatili poziv i prekinuli poziv u tijeku"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Napišite vlastiti…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Slušalice"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Zvučnik"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Pošalji"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Odbijte ovaj poziv porukom"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Prihvatte kao audiopoziv"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Odgovorite na dolazni poziv i prekinite poziv u tijeku"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Odgovorite na poziv i prekinite poziv u tijeku"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Odbij pomoću poruke"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Prihvati kao audiopoziv"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Odgovorite na dolazni poziv i prekinite poziv u tijeku"</string>
+ <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="6477906345540334049">"Važan poziv"</string>
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 baf051c35..ced3e2763 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Csúsztassa el az ujját az ikonról a hanghívásként való fogadáshoz"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Csúsztassa felfelé az ujját a hívás fogadásához és a folyamatban lévő hívás tartásához"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Csúsztassa felfelé az ujját a hívás fogadásához és a várakoztatott hívás befejezéséhez"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Csúsztassa el az ujját az ikontól a bejövő hívás fogadásához és a folyamatban lévő hívás befejezéséhez"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Csúsztassa el az ujját az ikontól a hívásfogadáshoz és a folyamatban lévő hívás befejezéséhez"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Saját válasz írása…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Kézibeszélő"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Kihangosító"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Küldés"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Hívás elutasítása üzenettel"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Fogadás hanghívásként"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"A bejövő hívás fogadása és a folyamatban lévő hívás befejezése"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Hívásfogadás és a folyamatban lévő hívás befejezése"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Elutasítás üzenettel"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Fogadás hanghívásként"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"A bejövő hívás fogadása és a folyamatban lévő hívás befejezése"</string>
+ <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="6477906345540334049">"Fontos hívás"</string>
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 3fc30b6dd..dfa550be9 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Պատկերակից մատով մի կողմ սահեցրեք՝ զանգին անջատված տեսախցիկով պատասխանելու համար"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Սահեցրեք վերև՝ պատասխանելու և ընթացիկ զանգը պահելու համար"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Սահեցրեք վերև՝ պատասխանելու և սպասման մեջ գտնվող զանգն ավարտելու համար"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Պատկերակից մատով մի կողմ սահեցրեք՝ մուտքային զանգին պատասխանելու և ընթացիկ զանգն ավարտելու համար"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Պատկերակից մատով մի կողմ սահեցրեք՝ պատասխանելու և ընթացիկ զանգն ավարտելու համար"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Գրեք ձեր պատասխանը…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Լսափող"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Բարձրախոս"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Ուղարկել"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Մերժել զանգը՝ ուղարկելով հաղորդագրություն"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Պատասխանել անջատած տեսախցիկով"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Պատասխանել մուտքային զանգին և ավարտել ընթացիկ զանգը"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Պատասխանել և ավարտել ընթացիկ զանգը"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Մերժել՝ ուղարկելով հաղորդագրություն"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"պատասխանել անջատված տեսախցիկով"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Պատասխանել մուտքային զանգին և ավարտել ընթացիկ զանգը"</string>
+ <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="6477906345540334049">"Կարևոր զանգ"</string>
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 96e1f174d..16d3058c7 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Geser dari ikon untuk menjawab sebagai panggilan audio"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Geser ke atas untuk menjawab dan menangguhkan panggilan yang sedang berlangsung"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Geser ke atas untuk menjawab dan mengakhiri panggilan yang ditangguhkan"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Geser dari ikon untuk menjawab panggilan masuk dan mengakhiri panggilan yang sedang berlangsung"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Geser dari ikon untuk menjawab dan mengakhiri panggilan yang sedang berlangsung"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Tulis respons Anda sendiri…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Handset"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Speaker ponsel"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Kirim"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Tolak panggilan ini dengan pesan"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Jawab sebagai panggilan audio"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Menjawab panggilan masuk dan mengakhiri panggilan yang sedang berlangsung"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Menjawab dan mengakhiri panggilan yang sedang berlangsung"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Tolak dengan pesan"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Jawab sebagai panggilan audio"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Menjawab panggilan masuk dan mengakhiri panggilan yang sedang berlangsung"</string>
+ <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="6477906345540334049">"Panggilan penting"</string>
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 47a4eecac..fe2a2be59 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Strjúktu frá tákninu til að svara sem símtali"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Strjúktu upp til að svara og setja yfirstandandi símtal í bið"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Strjúktu upp til að svara og ljúka símtali í bið"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Strjúktu frá tákninu til að svara símtali sem berst og ljúka yfirstandandi símtali"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Strjúktu frá tákninu til að svara og ljúka yfirstandandi símtali"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Skrifaðu þitt eigið…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Símtól"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Hátalari"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Senda"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Hafna símtalinu með skilaboðum"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Svara sem símtali"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Svara símtali sem berst og ljúka yfirstandandi símtali"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Svara og ljúka yfirstandandi símtali"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Hafna með skilaboðum"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Svara sem símtali"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Svara símtali sem berst og ljúka yfirstandandi símtali"</string>
+ <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="6477906345540334049">"Mikilvægt símtal"</string>
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 a8fc7cc0f..ab69bb9bf 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Fai scorrere dall\'icona per rispondere con una chiamata audio"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Fai scorrere verso l\'alto per rispondere e mettere in attesa la chiamata in corso"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Fai scorrere verso l\'alto per rispondere e terminare la chiamata in attesa"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Fai scorrere dall\'icona per rispondere alla chiamata in arrivo e terminare la chiamata in corso"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Fai scorrere dall\'icona per rispondere e terminare la chiamata in corso"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Scrivi risposta personale…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Ricevitore"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Vivavoce"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Invia"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Rifiuta questa chiamata con un messaggio"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Rispondi con chiamata audio"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Rispondi alla chiamata in arrivo e termina la chiamata in corso"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Rispondi e termina la chiamata in corso"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Rifiuta con messaggio"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Rispondi con chiamata audio"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Rispondi alla chiamata in arrivo e termina la chiamata in corso"</string>
+ <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="6477906345540334049">"Chiamata importante"</string>
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 19321c7cb..7acc3f4bc 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"החלק מהסמל כדי לענות כשיחת אודיו"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"החלק למעלה כדי לענות ולהעביר את השיחה הנוכחית להמתנה"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"החלק למעלה כדי לענות ולסיים את השיחה שבהמתנה"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"החלק מהסמל כדי לענות לשיחה הנכנסת ולסיים את השיחה הנוכחית"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"החלק מהסמל כדי לענות ולסיים שיחה"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"כתוב אחת משלך…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"אוזניה"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"רמקול"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"שלח"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"דחה את השיחה הזו עם הודעה"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ענה כשיחת אודיו"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"מענה לשיחה הנכנסת וסיום השיחה הנוכחית"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"מענה וסיום שיחה"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"דחה עם הודעה"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ענה כשיחת אודיו"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"מענה לשיחה הנכנסת וסיום השיחה הנוכחית"</string>
+ <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="6477906345540334049">"שיחה חשובה"</string>
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 7e573071d..a3513e2f2 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"アイコンをスワイプして音声通話として応答"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"上にスワイプして通話に応答し、進行中の通話を保留"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"上にスワイプして通話に応答し、保留中の通話を終了"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"アイコンをスワイプして着信中の通話に応答し、進行中の通話を終了"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"アイコンをスワイプして通話に応答し、進行中の通話を終了"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"カスタム返信を作成…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"ハンドセット"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"スピーカーフォン"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"送信"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"この着信を拒否してメッセージを送信"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"音声通話として応答"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"着信中の通話に応答し、進行中の通話を終了"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"通話に応答し、進行中の通話を終了"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"拒否してメッセージを送信"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"音声通話として応答"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"着信中の通話に応答し、進行中の通話を終了"</string>
+ <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="6477906345540334049">"重要な通話"</string>
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 861e85ce3..662936ba8 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"გადაუსვით ხატულადან აუდიოზარით საპასუხოდ"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"მიმდინარე ზარის საპასუხოდ და შესაყოვნებლად გადაფურცლეთ ზემოთ"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"შეყოვნებული ზარის საპასუხოდ და დასასრულებლად გადაფურცლეთ ზემოთ"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"შემომავალი ზარის საპასუხოდ და მიმდინარე ზარის დასასრულებლად გადაუსვით ხატულას"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"მიმდინარე ზარის საპასუხოდ და დასასრულებლად გადაუსვით ხატულას"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"დაწერეთ თქვენი საკუთარი…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"ყურსასმენი"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"სპიკერები"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"გაგზავნა"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"ამ ზარის უარყოფა შეტყობინებით"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"პასუხი აუდიოზარის სახით"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"შემომავალ ზარზე პასუხი და მიმდინარე ზარის დასრულება"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"პასუხი და მიმდინარე ზარის დასრულება"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"უარყოფა შეტყობინებით"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"პასუხი აუდიოზარის სახით"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"შემომავალ ზარზე პასუხი და მიმდინარე ზარის დასრულება"</string>
+ <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="6477906345540334049">"მნიშვნელოვანი ზარი"</string>
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 5b6199ae7..b37695be9 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Аудио қоңырау ретінде жауап беру үшін, белгішеден әрі қарай сырғытыңыз"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Ағымдағы қоңырауға жауап беру және оны ұстап тұру үшін жоғары сырғытыңыз"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Күту күйіндегі қоңырауға жауап беру және оны аяқтау үшін жоғары сырғытыңыз"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Келген қоңырауға жауап беру және ағымдағы қоңырауды аяқтау үшін белгішеден сырғытыңыз"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Қоңырауға жауап беру үшін және ағымдағы қоңырауды аяқтау үшін белгішеден сырғытыңыз"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Өзіңіз жазыңыз…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Телефон"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Спикерфон"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Жіберу"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Бұл қоңырауды қабылдамай, хабар жіберу"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Аудио қоңырау ретінде жауап беру"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Келген қоңырауға жауап беріңіз және ағымдағы қоңырауды аяқтаңыз"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Қоңырауға жауап беру және ағымдағы қоңырауды аяқтау"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Қабылдамай, хабар жіберу"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Аудио қоңырау ретінде жауап беру"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Келген қоңырауға жауап беріңіз және ағымдағы қоңырауды аяқтаңыз"</string>
+ <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="6477906345540334049">"Маңызды қоңырау"</string>
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 6d021dff3..03e48e3be 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"អូស​ចេញ​ពី​រូបតំណាង​ដើម្បី​ឆ្លើយ​​​ជា​ការ​ហៅ​សំឡេង"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"អូស​ឡើង​លើ ដើម្បី​ឆ្លើយ និង​រង់ចាំ​ការ​ហៅ​ដែល​កំពុង​ដំណើរការ"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"អូស​ឡើង​លើ ដើម្បី​ឆ្លើយ និង​បញ្ចប់​ការ​ហៅ​ដែល​កំពុង​រង់ចាំ"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"អូស​ពី​រូបតំណាង ដើម្បី​ឆ្លើយ​ការ​ហៅ​ចូល និង​បញ្ចប់​ការ​ហៅ​ដែល​កំពុង​ដំណើរការ"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"អូស​ពី​រូបតំណាង ដើម្បី​ឆ្លើយ និង​បញ្ចប់​ការ​ហៅ​ទូរសព្ទ​ដែល​កំពុង​ដំណើរការ"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"សរសេរ​ផ្ទាល់ខ្លួន​​​អ្នក…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"ផ្នែកកាន់​​នៃ​ទូរសព្ទ"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"ឧបករណ៍​បំពង​សំឡេង​ទូរសព្ទ"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"ផ្ញើ"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"បដិសេធ​ការ​ហៅ​នេះ​​ដោយ​មាន​សារ​មួយ"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ឆ្លើយ​ជា​ការ​ហៅ​​​​សំឡេង"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"ឆ្លើយ​ការ​ហៅ​ចូល និង​បញ្ចប់​ការហៅ​ដែល​កំពុង​ដំណើរការ"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"ឆ្លើយ និង​បញ្ចប់​ការ​ហៅ​ទូរសព្ទ​ដែល​កំពុង​ដំណើរការ"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"បដិសេធ​​ដោយ​មាន​សារ"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ឆ្លើយ​ជា​ការ​ហៅ​​​​សំឡេង"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"ឆ្លើយ​ការ​ហៅ​ចូល និង​បញ្ចប់​ការ​ហៅ​​ដែល​កំពុង​ដំណើរការ"</string>
+ <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="6477906345540334049">"ការ​ហៅ​ដែល​សំខាន់"</string>
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 6e4ac93c5..8c8c7d5c0 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ಆಡಿಯೊ ಕರೆ ರೀತಿಯಲ್ಲಿ ಉತ್ತರಿಸಲು ಐಕಾನ್‌ನಿಂದ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"ಕರೆಯನ್ನು ಉತ್ತರಿಸಲು ಮತ್ತು ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆಯನ್ನು ಹೋಲ್ಡ್ ಮಾಡಲು ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"ಕರೆಯನ್ನು ಉತ್ತರಿಸಲು ಮತ್ತು ಹೋಲ್ಡ್‌ನಲ್ಲಿರುವ ಕರೆಯನ್ನು ಅಂತ್ಯಗೊಳಿಸಲು ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"ಒಳಬರುವ ಕರೆಗೆ ಉತ್ತರಿಸಲು ಮತ್ತು ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆಯನ್ನು ಅಂತ್ಯಗೊಳಿಸಲು ಐಕಾನ್‌ನಿಂದ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆಗೆ ಉತ್ತರಿಸಲು ಮತ್ತು ಅಂತ್ಯಗೊಳಿಸಲು ಐಕಾನ್‌ನಿಂದ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"ನಿಮ್ಮ ಸ್ವಂತದ್ದನ್ನು ಬರೆಯಿರಿ…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"ಹ್ಯಾಂಡ್‌ಸೆಟ್"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"ಸ್ಪೀಕರ್‌ಫೋನ್"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"ಕಳುಹಿಸು"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"ಸಂದೇಶದ ಮೂಲಕ ಈ ಕರೆಯನ್ನು ತಿರಸ್ಕರಿಸಿ"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ಆಡಿಯೊ ಕರೆಯಂತೆ ಉತ್ತರಿಸಿ"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"ಒಳಬರುವ ಕರೆಗೆ ಉತ್ತರಿಸಿ ಮತ್ತು ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆಯನ್ನು ಅಂತ್ಯಗೊಳಿಸಿ"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆಗೆ ಉತ್ತರಿಸಿ ಮತ್ತು ಅಂತ್ಯಗೊಳಿಸಿ"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"ಸಂದೇಶದೊಂದಿಗೆ ತಿರಸ್ಕರಿಸು"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ಆಡಿಯೊ ಕರೆಯಂತೆ ಉತ್ತರಿಸಿ"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"ಒಳಬರುವ ಕರೆಗೆ ಉತ್ತರಿಸಿ ಮತ್ತು ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆಯನ್ನು ಅಂತ್ಯಗೊಳಿಸಿ"</string>
+ <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="6477906345540334049">"ಪ್ರಮುಖ ಕರೆ"</string>
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 5ce6d929e..795b176ba 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"음성 통화로 받으려면 아이콘에서 스와이프하세요."</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"현재 통화를 끊지 않고 받으려면 위로 스와이프"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"대기 중 통화를 종료하고 받으려면 위로 스와이프"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"현재 통화를 종료하고 수신 전화를 받으려면 아이콘에서 스와이프"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"현재 통화를 종료하고 전화를 받으려면 아이콘에서 스와이프하세요."</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"직접 메시지 쓰기…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"핸드셋"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"스피커폰"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"보내기"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"메시지를 사용하여 이 전화 거부"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"음성 통화로 받기"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"현재 통화를 종료하고 수신 전화 받기"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"현재 통화를 종료하고 전화 받기"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"메시지를 사용하여 전화 거부"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"음성 통화로 받기"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"현재 통화를 종료하고 수신 전화 받기"</string>
+ <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="6477906345540334049">"중요 전화"</string>
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 f2f33bf51..b8e704ada 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Аудио чалуу катары жооп берүү үчүн сүрөтчөдөн сүрүңүз"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Жооп берүү жана учурдагы чалууну кармоо үчүн экранды өйдө сүрүп коюңуз"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Жооп берүү же кармалып турган чалууну бутүрүү үчүн экранды өйдө сүрүп коюңуз"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Кирүүчү чалууга жооп берүү же чалууну аяктоо үчүн сүрөтчөнү сүрүңүз"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Чалууга жооп берүү же чалууну аяктоо үчүн сүрөтчөнү сүрүңүз"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Сиздин жообуңуз..."</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Трубка"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Динамик"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Жөнөтүү"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Бул чалууну билдирүү менен четке кагуу"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Аудио чалуу катары жооп берүү"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Кирүүчү чалууга жооп бериңиз же учурдагы чалууну аяктаңыз"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Чалууга жооп бериңиз же учурдагы чалууну аяктаңыз"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Билдирүү менен четке кагуу"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Аудио чалуу катары жооп берүү"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Кирүүчү чалууга жооп бериңиз же учурдагы чалууну аяктаңыз"</string>
+ <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="6477906345540334049">"Маанилүү чалуу"</string>
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 096d6b1cc..df8fc043e 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ປັດຈາກໄອຄອນເພື່ອຮັບສາຍ"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"ປັດຂຶ້ນເພື່ອຮັບສາຍ ແລະ ພັກສາຍທີ່ກຳລັງໂທອອກໄວ້ກ່ອນ"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"ປັດຂຶ້ນເພື່ອຮັບສາຍ ແລະ ວາງສາຍທີ່ກຳລັງພັກຢູ່"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"ປັດຈາກໄອຄອນເພື່ອຮັບສາຍທີ່ໂທເຂົ້າ ແລະ ວາງສາຍທີ່ກຳລັງໂທອອກ"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"ປັດຈາກໄອຄອນເພື່ອຮັບສາຍ ແລະ ວາງສາຍທີ່ກຳລັງໂທອອກ"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"ຂຽນຂໍ້ຄວາມຂອງທ່ານເອງ..."</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"ຫູຟັງ"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"ລຳໂພງ"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"ສົ່ງ"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"ປະຕິເສດສາຍນີ້ພ້ອມສົ່ງຂໍ້ຄວາມ"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ຮັບສາຍສະເພາະສຽງ"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"ຮັບສາຍໂທເຂົ້າ ແລະ ວາງສາຍທີ່ກຳລັງໂທອອກ"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"ຮັບສາຍ ແລະ ວາງສາຍທີ່ກຳລັງໂທອອກ"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"ປະຕິເສດພ້ອມສົ່ງຂໍ້ຄວາມ"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ຮັບສາຍສະເພາະສຽງ"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"ຮັບສາຍໂທເຂົ້າ ແລະ ວາງສາຍທີ່ກຳລັງໂທອອກ"</string>
+ <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="6477906345540334049">"ການໂທສຳຄັນ"</string>
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 1579026e1..30ce82f2d 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Perbraukite iš piktogramos, kad atsilieptumėte kaip į garso skambutį"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Perbraukite aukštyn, kad atsakytumėte ir sulaikytumėte vykstantį skambutį"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Perbraukite aukštyn, kad atsakytumėte ir užbaigtumėte sulaikytą skambutį"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Perbraukite iš piktogramos, kad atsakytumėte gaunamąjį skambutį ir užbaigtumėte vykstantį"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Perbraukite iš piktogramos, kad atsakytumėte ir užbaigtumėte vykstantį skambutį"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Parašykite savo…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Telefono ragelis"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Garsiakalbis"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Siųsti"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Atmesti šį skambutį su pranešimu"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Atsiliepti kaip į garso skambutį"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Atsakykite į gaunamąjį skambutį ir užbaikite vykstantį"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Atsakykite ir užbaikite vykstantį skambutį"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Atmesti su pranešimu"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Atsiliepti kaip į garso skambutį"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Atsakykite į gaunamąjį skambutį ir užbaikite vykstantį"</string>
+ <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="6477906345540334049">"Svarbus skambutis"</string>
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 a87d9bc58..2f9f2de7e 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Lai atbildētu audiozvanā, velciet no ikonas"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Velciet augšup, lai atbildētu un aizturētu notiekošo zvanu"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Velciet augšup, lai atbildētu un beigtu aizturēto zvanu"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Velciet no ikonas, lai atbildētu uz ienākošo zvanu un beigtu notiekošo zvanu"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Velciet no ikonas, lai atbildētu un beigtu notiekošo zvanu"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Rakstīt savu…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Austiņas"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Skaļrunis"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Sūtīt"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Noraidīt šo zvanu, izmantojot ziņojumu"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Atbildēt audiozvanā"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Atbildiet uz ienākošo zvanu un beidziet notiekošo zvanu"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Atbildiet un beidziet notiekošo zvanu"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Noraidīt, izmantojot ziņojumu"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Atbildēt audiozvanā"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Atbildiet uz ienākošo zvanu un beidziet notiekošo zvanu"</string>
+ <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="6477906345540334049">"Svarīgs zvans"</string>
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 6e82ec1cc..d71e72fdd 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Повлечете од иконата за да одговорите на аудиоповик"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Повлечете нагоре за да одговорите и да ставите на чекање појдовен повик"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Повлечете нагоре за да одговорите и да завршите повик на чекање"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Повлечете од иконата за да одговорите на дојдовен повик и да завршите појдовен повик"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Повлечете од иконата за да одговорите и да го завршите тековниот повик"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Напишете сопствен…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Слушалка"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Звучник"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Испрати"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Одбијте го повиков со порака"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Одговорете со аудиоповик"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Одговорете на дојдовен повик и завршете појдовен повик"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Одговорете и завршете го тековниот повик"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Одбијте со порака"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Одговорете со аудиоповик"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Одговорете на дојдовен повик и завршете појдовен повик"</string>
+ <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="6477906345540334049">"Важен повик"</string>
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 725cddb7e..9b0c85ff8 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ഒരു ഓഡിയോ കോളായി മറുപടി നൽകാൻ ഐക്കണിൽ നിന്ന് സ്വൈപ്പുചെയ്യുക"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"നിലവിലുള്ള കോളിന് മറുപടി നൽകാനും അത് ഹോൾഡുചെയ്യാനും മുകളിലേക്ക് സ്വൈപ്പുചെയ്യുക"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"മറുപടി നൽകാനും ഹോൾഡിലുള്ള കോൾ അവസാനിപ്പിക്കാനും മുകളിലേക്ക് സ്വൈപ്പുചെയ്യുക"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"ഇൻകമിംഗ് കോളിന് മറുപടി നൽകാനും നിലവിലുള്ള കോൾ അവസാനിപ്പിക്കാനും ഐക്കണിൽ നിന്ന് സ്വൈപ്പുചെയ്യുക"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"മറുപടി നൽകാനും നിലവിലുള്ള കോൾ അവസാനിപ്പിക്കാനും ഐക്കണിൽ നിന്ന് സ്വൈപ്പുചെയ്യുക"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"നിങ്ങളുടേതായത് എഴുതുക…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"ഹാൻഡ്സെറ്റ്"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"സ്‌പീക്കർഫോൺ"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"അയയ്‌ക്കുക"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"ഒരു സന്ദേശം അയച്ചുകൊണ്ട് ഈ കോൾ നിരസിക്കുക"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ഓഡിയോ കോളായി മറുപടി നൽകുക"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"ഇൻകമിംഗ് കോളിന് മറുപടി നൽകുകയും നിലവിലുള്ള കോൾ അവസാനിപ്പിക്കുകയും ചെയ്യൂ"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"മറുപടി നൽകുകയും നിലവിലുള്ള കോൾ അവസാനിപ്പിക്കുകയും ചെയ്യൂ"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"ഒരു സന്ദേശം അയച്ചുകൊണ്ട് നിരസിക്കുക"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ഓഡിയോ കോളായി മറുപടി നൽകുക"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"ഇൻകമിംഗ് കോളിന് മറുപടി നൽകുകയും നിലവിലുള്ള കോൾ അവസാനിപ്പിക്കുകയും ചെയ്യൂ"</string>
+ <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="6477906345540334049">"പ്രധാനപ്പെട്ട കോൾ"</string>
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 e7c6ee6c4..06a2f1e25 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Аудио дуудлагаар хариулах бол дүрснээс шударна уу"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Дээш шударч дуудлагыг аваад, одоогийн дуудлагыг түр хүлээлгэх"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Дээш шударч дуудлагыг аваад, түр хүлээлгэсэн дуудлагыг таслах"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Дүрснээс шударч ирсэн дуудлагыг аваад залгасан дуудлагыг таслах"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Дүрснээс шударч ирсэн дуудлагыг аваад одоогийн дуудлагыг таслах"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Өөрийнхөөрөө бичнэ үү…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Чихэвч"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Чанга яригч"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Илгээх"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Энэ дуудлагыг зурвас бичиж таслах"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Аудио дуудлагаар хариулах"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Ирсэн дуудлагыг авч, залгасан дуудлагыг таслах"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Ирсэн дуудлагыг авч, одоогийн дуудлагыг таслах"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Зурвас бичиж таслах"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Аудио дуудлагаар хариулах"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Ирсэн дуудлагыг авч, залгасан дуудлагыг таслах"</string>
+ <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="6477906345540334049">"Чухал дуудлага"</string>
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 05c5d985d..dedb145f3 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ऑडिओ कॉल म्हणून उत्तर देण्यासाठी चिन्हावरुन स्वाइप करा"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"उत्तर देण्यासाठी आणि सुरु असलेला कॉल होल्ड करण्‍यासाठी वर स्वाइप करा"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"उत्तर देण्यासाठी आणि होल्ड केलेला कॉल बंद करण्‍यासाठी वर स्वाइप करा"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"येणार्‍या कॉलला उत्तर देण्‍यासाठी आणि सुरु असलेला कॉल बंद करण्‍यासाठी चिन्हावरून स्वाइप करा"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"उत्तर देण्‍यासाठी आणि सुरु असलेला कॉल बंद करण्‍यासाठी चिन्हावरून स्वाइप करा"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"आपण स्वतःच लिहा…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"हँडसेट"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"स्पीकरफोन"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"पाठवा"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"एका संदेशासह या कॉलला नकार द्या"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ऑडिओ कॉल म्हणून उत्तर द्या"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"येणार्‍या कॉलला उत्तर द्या आणि सुरु असलेला कॉल बंद करा"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"उत्तर द्या आणि सुरु असलेला कॉल बंद करा"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"संदेशासह नकार द्या"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ऑडिओ कॉल म्हणून उत्तर द्या"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"येणार्‍या कॉलला उत्तर द्या आणि सुरु असलेला कॉल बंद करा"</string>
+ <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="6477906345540334049">"महत्त्वाचा कॉल"</string>
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 8731bdef3..bb5be58c4 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Leret dari ikon untuk menjawab sebagai panggilan audio"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Leret ke atas untuk menjawab dan menahan panggilan aktif"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Leret ke atas untuk menjawab dan menamatkan panggilan yang ditahan"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Leret dari ikon untuk menjawab panggilan masuk dan menamatkan panggilan aktif"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Leret dari ikon untuk menjawab dan menamatkan panggilan yang sedang berlangsung"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Tulis mesej anda sendiri…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Telefon bimbit"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Fon pembesar suara"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Hantar"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Tolak panggilan ini dengan mesej"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Jawab sebagai panggilan audio"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Jawab panggilan masuk dan tamatkan panggilan aktif"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Jawab dan tamatkan panggilan yang sedang berlangsung"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Tolak dengan mesej"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Jawab sebagai panggilan audio"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Jawab panggilan masuk dan tamatkan panggilan aktif"</string>
+ <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="6477906345540334049">"Panggilan penting"</string>
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 704a3dd5c..4a33bb0f5 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"အသံခေါ်ဆိုမှုအဖြစ်ဖြေကြားရန် သင်္ကေတမှ ပွတ်ဆွဲပါ"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"ဖြေကြားရန် အပေါ်သို့ ပွတ်ဆွဲပြီး လက်ရှိခေါ်ဆိုမှုကို ခဏရပ်ထားပါ"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"ဖြေကြားရန် အပေါ်သို့ ပွတ်ဆွဲပြီး ကိုင်ထားသောခေါ်ဆိုမှုကို အပြီးသတ်ပါ"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"အဝင်ခေါ်ဆိုမှုကို ဖြေကြားရန် သင်္ကေတမှ ပွတ်ဆွဲပြီး လက်ရှိခေါ်ဆိုမှုကို အပြီးသတ်ပါ"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"ဖြေကြားရန် သင်္ကေတမှ ပွတ်ဆွဲပြီး လက်ရှိခေါ်ဆိုမှုကို အပြီးသတ်ပါ"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"သင့်ကိုယ်ပိုင်ရေးပါ…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"လက်ကိုင်ဖုန်း"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"စပီကာဖုန်း"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"ပို့ရန်"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"ဤခေါ်ဆိုမှုကို မက်ဆေ့ဂျ်ဖြင့် ငြင်းဆိုရန်"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"အသံခေါ်ဆိုမှုအဖြစ် ဖြေကြားရန်"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"အဝင်ခေါ်ဆိုမှုကို ဖြေကြားပြီး လက်ရှိခေါ်ဆိုမှုကို အပြီးသတ်ပါ"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"ဖြေကြားပြီး လက်ရှိခေါ်ဆိုမှုကို အပြီးသတ်ပါ"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"မက်ဆေ့ဂျ်ဖြင့် ငြင်းပယ်ရန်"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"အသံခေါ်ဆိုမှုအဖြစ် ဖြေကြားရန်"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"အဝင်ခေါ်ဆိုမှုကို ဖြေကြားပြီး လက်ရှိခေါ်ဆိုမှုကို အပြီးသတ်ပါ"</string>
+ <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="6477906345540334049">"အရေးကြီးခေါ်ဆိုမှု"</string>
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 b9cae7da9..fb3538f04 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Sveip fra ikonet for å svare med en lydsamtale"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Sveip oppover for å svare og sette samtalen som er i gang på vent"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Sveip oppover for å svare og avslutte samtalen som står på vent"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Sveip fra ikonet for å svare på det innkommende anropet og avslutte samtalen som er i gang"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Sveip fra ikonet for å svare – og avslutte samtalen som er i gang"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Skriv noe selv …"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Telefon"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Høyttaler"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Send"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Avvis anropet med en melding"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Svar med en lydsamtale"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Svar på det innkommende anropet og avslutt samtalen som er i gang"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Svar, og avslutt samtalen som er i gang"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Avvis med en melding"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Svar med en lydsamtale"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Svar på det innkommende anropet og avslutt samtalen som er i gang"</string>
+ <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="6477906345540334049">"Viktig samtale"</string>
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 76b9bcaed..644e9cc19 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"अडियो कलका रूपमा जवाफ फर्काउन आइकनबाट स्वाइप गर्नुहोस्"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"जारी कलको जवाफ दिन र होल्ड गर्न माथितिर स्वाइप गर्नुहोस्"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"जवाफ दिन र होल्डमा रहेको कल अन्त्य गर्न माथितिर स्वाइप गर्नुहोस्"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"आगमन कलको जवाफ फर्काउन र जारी कललाई अन्त्य गर्न आइकनबाट स्वाइप गर्नुहोस्"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"जवाफ फर्काउन र जारी कललाई अन्त्य गर्न आइकनबाट स्वाइप गर्नुहोस्"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"तपाईँको आफ्नै लेख्नुहोस्…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"ह्यान्डसेट"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"स्पिकरफोन"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"पठाउनुहोस्"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"एउटा सन्देश पठाउँदै यो कल अस्वीकार गर्नुहोस्"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"अडियो कलका रूपमा जवाफ दिनुहोस्"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"आगमन कलको जवाफ दिनुहोस् र जारी कल अन्त्य गर्नुहोस्"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"जवाफ फर्काउनुहोस् र जारी कललाई अन्त्य गर्नुहोस्"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"सन्देश सहित अस्वीकार गर्नुहोस्"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"अडियो कलका रूपमा जवाफ दिनुहोस्"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"आगमन कलको जवाफ दिनुहोस् र जारी कल अन्त्य गर्नुहोस्"</string>
+ <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="6477906345540334049">"महत्त्वपूर्ण कल"</string>
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 55f849999..830faecaf 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Veeg vanaf pictogram om te beantwoorden als audiogesprek"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Veeg omhoog om op te nemen en actieve oproep in de wacht te plaatsen"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Veeg omhoog om op te nemen en oproep in de wacht te beëindigen"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Veeg vanaf pictogram om inkomende oproep te beantwoorden en actieve oproep te beëindigen"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Veeg vanaf pictogram om op te nemen en actieve oproep te beëindigen"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Eigen bericht opstellen…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Handset"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Luidspreker"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Verzenden"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Deze oproep weigeren met een bericht"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Beantwoorden als audiogesprek"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Inkomende oproep beantwoorden en actieve oproep beëindigen"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Opnemen en actieve oproep beëindigen"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Weigeren met bericht"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Beantwoorden als audiogesprek"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Inkomende oproep beantwoorden en actieve oproep beëindigen"</string>
+ <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="6477906345540334049">"Belangrijke oproep"</string>
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 b9cae7da9..fb3538f04 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Sveip fra ikonet for å svare med en lydsamtale"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Sveip oppover for å svare og sette samtalen som er i gang på vent"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Sveip oppover for å svare og avslutte samtalen som står på vent"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Sveip fra ikonet for å svare på det innkommende anropet og avslutte samtalen som er i gang"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Sveip fra ikonet for å svare – og avslutte samtalen som er i gang"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Skriv noe selv …"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Telefon"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Høyttaler"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Send"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Avvis anropet med en melding"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Svar med en lydsamtale"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Svar på det innkommende anropet og avslutt samtalen som er i gang"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Svar, og avslutt samtalen som er i gang"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Avvis med en melding"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Svar med en lydsamtale"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Svar på det innkommende anropet og avslutt samtalen som er i gang"</string>
+ <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="6477906345540334049">"Viktig samtale"</string>
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 8a95bcdbf..bc38c3f96 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ਔਡੀਓ ਕਾਲ ਵਜੋਂ ਜਵਾਬ ਦੇਣ ਲਈ ਚਿੰਨ੍ਹ ਤੋਂ ਸਵਾਈਪ ਕਰੋ"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"ਜਵਾਬ ਦੇਣ ਲਈ ਅਤੇ ਜਾਰੀ ਕਾਲ ਨੂੰ ਰੋਕ ਕੇ ਰੱਖਣ ਲਈ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"ਜਵਾਬ ਦੇਣ ਲਈ ਅਤੇ ਰੋਕੀ ਗਈ ਕਾਲ ਸਮਾਪਤ ਕਰਨ ਲਈ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"ਇਨਕਮਿੰਗ ਕਾਲ ਦਾ ਜਵਾਬ ਦੇਣ ਲਈ ਅਤੇ ਜਾਰੀ ਕਾਲ ਨੂੰ ਸਮਾਪਤ ਕਰਨ ਲਈ ਪ੍ਰਤੀਕ ਤੋਂ ਸਵਾਈਪ ਕਰੋ"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"ਜਵਾਬ ਦੇਣ ਲਈ ਅਤੇ ਜਾਰੀ ਕਾਲ ਨੂੰ ਸਮਾਪਤ ਕਰਨ ਲਈ ਪ੍ਰਤੀਕ ਤੋਂ ਸਵਾਈਪ ਕਰੋ"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"ਆਪਣਾ ਖੁਦ ਦਾ ਲਿਖੋ..."</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"ਹੈਂਡਸੈੱਟ"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"ਸਪੀਕਰਫ਼ੋਨ"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"ਭੇਜੋ"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"ਇੱਕ ਸੁਨੇਹੇ ਨਾਲ ਇਸ ਕਾਲ ਨੂੰ ਰੱਦ ਕਰੋ"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ਔਡੀਓ ਕਾਲ ਵਜੋਂ ਜਵਾਬ ਦਿਓ"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"ਇਨਕਮਿੰਗ ਕਾਲ ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਜਾਰੀ ਕਾਲ ਨੂੰ ਸਮਾਪਤ ਕਰੋ"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"ਜਵਾਬ ਦਿਓ ਅਤੇ ਜਾਰੀ ਕਾਲ ਨੂੰ ਸਮਾਪਤ ਕਰੋ"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"ਸੁਨੇਹੇ ਨਾਲ ਰੱਦ ਕਰੋ"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ਔਡੀਓ ਕਾਲ ਵਜੋਂ ਜਵਾਬ ਦਿਓ"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"ਇਨਕਮਿੰਗ ਕਾਲ ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਜਾਰੀ ਕਾਲ ਨੂੰ ਸਮਾਪਤ ਕਰੋ"</string>
+ <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="6477906345540334049">"ਮਹੱਤਵਪੂਰਨ ਕਾਲ"</string>
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 c7f2e4a22..8f3a7c873 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Przesuń palcem od ikony, aby odebrać jako połączenie głosowe"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Przesuń w górę, aby odebrać połączenie i wstrzymać trwającą rozmowę"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Przesuń w górę, aby odebrać połączenie i zakończyć wstrzymaną rozmowę"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Przesuń palcem od ikony, aby odebrać połączenie i zakończyć trwającą rozmowę"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Przesuń palcem od ikony, aby odebrać połączenie i zakończyć trwającą rozmowę"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Napisz własną…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Słuchawka"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Głośnik"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Wyślij"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Odrzuć to połączenie, wysyłając wiadomość"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Odbierz jako połączenie głosowe"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Odbierz połączenie i zakończ trwającą rozmowę"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Odbierz połączenie i zakończ trwającą rozmowę"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Odrzuć, wysyłając wiadomość"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Odbierz jako połączenie głosowe"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Odbierz połączenie i zakończ trwającą rozmowę"</string>
+ <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="6477906345540334049">"Ważne połączenie"</string>
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 8e4506bfc..1f3e1fa9e 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Deslize a partir do ícone para atender como uma chamada de áudio"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Deslize para cima para atender uma chamada e colocar a outra em espera"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Deslize para cima para atender e encerrar a chamada em espera"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Deslize a partir do ícone para atender a chamada recebida e encerrar a chamada em andamento"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Deslize a partir do ícone para atender e encerrar a chamada em andamento"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Escreva sua resposta..."</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Aparelho"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Viva-voz"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Enviar"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Rejeitar esta chamada com uma mensagem"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Atender como chamada de áudio"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Atender a chamada recebida e encerrar a chamada em andamento"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Atender e encerrar a chamada em andamento"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Rejeitar com mensagem"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Atender como chamada de áudio"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Atender a chamada recebida e encerrar a chamada em andamento"</string>
+ <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="6477906345540334049">"Chamada importante"</string>
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 d3bdb1317..1f4cbf8a9 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Deslize rapidamente a partir do ícone para atender como uma chamada de voz"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Deslize rapidamente para cima para atender e colocar em espera uma chamada em curso"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Deslize rapidamente para cima para atender e terminar uma chamada em espera"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Deslize rapidamente a partir do ícone para atender uma chamada recebida e terminar uma chamada em curso"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Deslizar rapidamente a partir do ícone para atender e terminar uma chamada em curso"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Escreva a sua própria…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Dispositivo"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Altifalante"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Enviar"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Rejeitar esta chamada com uma mensagem"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Atender como chamada de voz"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Atender chamada recebida e terminar chamada em curso"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Atender e terminar uma chamada em curso"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Rejeitar com mensagem"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Atender como chamada de voz"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Atender chamada recebida e terminar chamada em curso"</string>
+ <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="6477906345540334049">"Chamada importante"</string>
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 8e4506bfc..1f3e1fa9e 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Deslize a partir do ícone para atender como uma chamada de áudio"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Deslize para cima para atender uma chamada e colocar a outra em espera"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Deslize para cima para atender e encerrar a chamada em espera"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Deslize a partir do ícone para atender a chamada recebida e encerrar a chamada em andamento"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Deslize a partir do ícone para atender e encerrar a chamada em andamento"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Escreva sua resposta..."</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Aparelho"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Viva-voz"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Enviar"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Rejeitar esta chamada com uma mensagem"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Atender como chamada de áudio"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Atender a chamada recebida e encerrar a chamada em andamento"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Atender e encerrar a chamada em andamento"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Rejeitar com mensagem"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Atender como chamada de áudio"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Atender a chamada recebida e encerrar a chamada em andamento"</string>
+ <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="6477906345540334049">"Chamada importante"</string>
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 f2e3dcb6f..6d54f3c57 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Glisați de pe pictogramă pentru a răspunde ca apel audio"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Glisați în sus ca să răspundeți și să puneți apelul actual în așteptare."</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Glisați în sus ca să răspundeți și să încheiați apelul în așteptare."</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Glisați din pictogramă ca să răspundeți la apelul primit și să încheiați apelul în curs."</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Glisați din pictogramă ca să răspundeți și să încheiați apelul în curs"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Scrieți propriul răspuns…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Receptor"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Difuzor"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Trimiteți"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Respingeți apelul cu un mesaj"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Răspundeți ca apel audio"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Răspundeți la apelul primit și încheiați apelul în curs"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Răspundeți și încheiați apelul în curs"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Respingeți cu un mesaj"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Răspundeți ca apel audio"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Răspundeți la apelul primit și încheiați apelul în curs"</string>
+ <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="6477906345540334049">"Apel important"</string>
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 6b9eba581..f2e6cfaf2 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Чтобы ответить в режиме голосового вызова, проведите пальцем от значка"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Чтобы ответить и поставить текущий вызов на удержание, проведите по экрану вверх"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Чтобы ответить и завершить вызов на удержании, проведите по экрану вверх"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Чтобы ответить на входящий вызов и завершить текущий, проведите пальцем от значка"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Чтобы ответить и завершить текущий вызов, проведите пальцем от значка"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Ваш ответ…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Телефон"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Спикерфон"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Отправить"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Отклонить вызов и отправить SMS"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Ответить в режиме голосового вызова"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Ответить на входящий вызов и завершить текущий"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Ответить и завершить текущий вызов"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Отклонить вызов и отправить SMS"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Ответить в режиме голосового вызова"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Ответить на входящий вызов и завершить текущий"</string>
+ <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="6477906345540334049">"Важный вызов"</string>
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 bb7a13909..269fffabe 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ශ්‍රව්‍ය ඇමතුමක් ලෙස පිළිතුරු දීමට නිරූපකයේ සිට ස්වයිප් කරන්න"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"කෙරෙමින් පවතින ඇමතුමට පිළිතුරු දීමට සහ රඳවා තබා ගැනීමට ඉහළට ස්වයිප් කරන්න"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"රඳවා තබා ගෙන සිටින ඇමතුමට පිළිතුරු දීමට සහ අවසන් කිරීමට ඉහළට ස්වයිප් කරන්න"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"එන ඇමතුමට පිළිතුරු දීමට සහ යන ඇමතුම අවසන් කිරීමට නිරූපකයෙන් ස්වයිප් කරන්න"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"යන ඇමතුමට පිළිතුරු දී අවසන් කිරීමට නිරූපකයෙන් ස්වයිප් කරන්න"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"ඔබෙම එක ලියන්න…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"හෑන්ඩ්සෙට්"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"ස්පීකර්ෆෝන්"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"යවන්න"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"පණිවිඩයකින් මෙම ඇමතුම ප්‍රතික්ෂේප කරන්න"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ශ්‍රව්‍ය ඇමතුමක් ලෙස පිළිතුරු දෙන්න"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"එන ඇමතුමට පිළිතුරු දෙන්න එමෙන්ම යන අැමතුම අවසන් කරන්න"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"යන අැමතුමට පිළිතරු දී අවසන් කරන්න"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"පණිවිඩයකින් ප්‍රතික්ෂේප කරන්න"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ශ්‍රව්‍ය ඇමතුමක් ලෙස පිළිතුරු දෙන්න"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"එන ඇමතුමට පිළිතුරු දෙන්න එමෙන්ම යන ඇමතුම අවසන් කරන්න"</string>
+ <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="6477906345540334049">"වැදගත් ඇමතුම"</string>
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 3280117f7..ef6add1ba 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Prejdením prstom od ikony prijať ako zvukový hovor"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Prejdením prstom nahor prijmete hovor a podržíte prebiehajúci hovor"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Prejdením prstom nahor prijmete hovor a ukončíte podržaný hovor"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Prejdením prstom od ikony prijmete prichádzajúci hovor a ukončíte prebiehajúci hovor"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Prejdením prstom od ikony hovor prijmete a ukončíte prebiehajúci hovor"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Napíšte vlastnú…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Slúchadlo"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Reproduktor"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Odoslať"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Odmietnuť tento hovor so správou"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Prijať ako zvukový hovor"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Prijať prichádzajúci hovor a ukončiť prebiehajúci hovor"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Prijať hovor a ukončiť prebiehajúci hovor"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Odmietnuť so správou"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Prijať ako zvukový hovor"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Prijať prichádzajúci hovor a ukončiť prebiehajúci hovor"</string>
+ <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="6477906345540334049">"Dôležitý hovor"</string>
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 67f31f393..819999aaf 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Povlecite z ikone, da klic sprejmete kot zvočni klic"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Povlecite navzgor, da sprejmete klic in zadržite aktivni klic"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Povlecite navzgor, da sprejmete klic in končate zadržani klic"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Povlecite z ikone, da sprejmete dohodni klic in končate aktivni klic"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Povlecite z ikone, da sprejmete klic in končate aktivni klic"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Napišite lastno besedilo …"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Slušalka"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Zvočnik"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Pošlji"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Zavrnite ta klic s sporočilom"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Sprejmite kot zvočni klic"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Sprejmi dohodni klic in končaj aktivni klic"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Sprejmi klic in končaj aktivni klic"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Zavrnitev s sporočilom"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Sprejmite kot zvočni klic"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Sprejmi dohodni klic in končaj aktivni klic"</string>
+ <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="6477906345540334049">"Pomemben klic"</string>
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 14f8444db..f0c874ac1 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Rrëshqite nga ikona për t\'u përgjigjur si telefonatë me audio"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Rrëshqit shpejt lart për t\'u përgjigjur dhe për të vendosur në pritje telefonatën në vazhdim"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Rrëshqit shpejt lart për t\'u përgjigjur dhe për të mbyllur telefonatën në pritje"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Rrëshqit shpejt nga ikona për t\'iu përgjigjur telefonatës hyrëse dhe për të mbyllur telefonatën në vazhdim"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Rrëshqit shpejt nga ikona për t\'u përgjigjur dhe për të mbyllur telefonatën në vazhdim"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Shkruaj tënden…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Kufje"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Altoparlanti"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Dërgo"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Refuzo këtë telefonatë me një mesazh"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Përgjigju si telefonatë me audio"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Përgjigjju telefonatës hyrëse dhe mbyll telefonatën në vazhdim"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Përgjigju dhe mbyll telefonatën në vazhdim"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Refuzo me mesazh"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Përgjigju si telefonatë me audio"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Përgjigjju telefonatës hyrëse dhe mbyll telefonatën në vazhdim"</string>
+ <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="6477906345540334049">"Telefonatë e rëndësishme"</string>
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 e1aace2c8..dc736102c 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Превуците од иконе да бисте одговорили аудио позивом"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Превуците нагоре да бисте одговорили и задржали позив који је у току"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Превуците нагоре да бисте одговорили и завршили позив који је на чекању"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Превуците од иконе да бисте одговорили на долазни позив и завршили позив који је у току"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Превуците од иконе да бисте се јавили и завршили позив који је у току"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Напишите сами…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Телефон"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Спикерфон"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Пошаљи"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Одбијте овај позив поруком"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Одговорите аудио позивом"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Одговорите на долазни позив и завршите позив који је у току"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Јавите се и завршите позив који је у току"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Одбијте поруком"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Одговорите аудио позивом"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Одговорите на долазни позив и завршите позив који је у току"</string>
+ <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="6477906345540334049">"Важан позив"</string>
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 0093b8c82..cd96908dc 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Svep från ikonen för att svara som röstsamtal"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Svep uppåt för att svara och parkera pågående samtal"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Svep uppåt för att svara och avsluta parkerat samtal"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Svep från ikonen för att svara på inkommande samtal och avsluta pågående samtal"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Svep från ikonen för att svara och avsluta pågående samtal"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Skriv eget …"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Telefonlur"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Högtalartelefon"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Skicka"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Avvisa det här samtalet med ett meddelande"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Svara som röstsamtal"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Svara på inkommande samtal och avsluta pågående samtal"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Svara och avsluta pågående samtal"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Avvisa med meddelande"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Svara som röstsamtal"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Svara på inkommande samtal och avsluta pågående samtal"</string>
+ <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="6477906345540334049">"Viktigt samtal"</string>
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 025010d82..6ef801fc2 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Telezesha kidole ukianzia kwenye aikoni ili uijibu kama simu ya sauti"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Telezesha kidole ili upokee na usitishe kidogo simu inayoendelea"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Telezesha kidole ili upokee na ukate simu iliyositishwa"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Telezesha kidole ukianzia kwenye aikoni ili ujibu simu inayoingia na ukate simu inayoendelea"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Telezesha kidole ukianzia kwenye aikoni ili ujibu na ukate simu inayoendelea"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Andika yako mwenyewe…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Spika ya masikioni"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Spika ya simu"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Tuma"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Kataa simu hii na utume ujumbe wa kueleza"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Ijibu kama simu ya sauti"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Jibu simu inayoingia na ukate simu inayoendelea"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Jibu na ukate simu inayoendelea"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Kataa na utume ujumbe"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Ijibu kama simu ya sauti"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Jibu simu inayoingia na ukate simu inayoendelea"</string>
+ <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="6477906345540334049">"Simu muhimu"</string>
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 5631afa54..273aa21fe 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ஆடியோ அழைப்பில் பதிலளிக்க, ஐகானிலிருந்து ஸ்வைப் செய்யவும்"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"உள்வரும் அழைப்பிற்குப் பதிலளித்து, செயலிலுள்ள அழைப்பை ஹோல்டில் வைக்க, மேலே ஸ்வைப் செய்யவும்"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"உள்வரும் அழைப்பிற்குப் பதிலளித்து, ஹோல்டில் உள்ள அழைப்பை முடிக்க, மேலே ஸ்வைப் செய்யவும்"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"உள்வரும் அழைப்பிற்குப் பதிலளித்து, செயலிலுள்ள அழைப்பை முடிக்க, ஐகானிலிருந்து ஸ்வைப் செய்யவும்"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"உள்வரும் அழைப்பிற்குப் பதிலளித்து, செயலில் உள்ள அழைப்பை முடிக்க, ஐகானிலிருந்து ஸ்வைப் செய்யவும்"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"நீங்களே எழுதவும்…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"ஹேண்ட்செட்"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"ஸ்பீக்கர்ஃபோன்"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"அனுப்பு"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"செய்தி அனுப்பி இந்த அழைப்பை நிராகரி"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ஆடியோ அழைப்பில் பதிலளி"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"உள்வரும் அழைப்பிற்குப் பதிலளித்து, செயலிலுள்ள அழைப்பை முடிக்கவும்"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"உள்வரும் அழைப்பிற்குப் பதிலளித்து, செயலில் உள்ள அழைப்பை முடி"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"செய்தியுடன் நிராகரி"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ஆடியோ அழைப்பில் பதிலளி"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"உள்வரும் அழைப்பிற்குப் பதிலளித்து, செயலிலுள்ள அழைப்பை முடிக்கவும்"</string>
+ <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="6477906345540334049">"முக்கியமான அழைப்பு"</string>
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 932102cd0..2fba12102 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ఆడియో కాల్ రూపంలో సమాధానం ఇవ్వడానికి చిహ్నం నుండి స్వైప్ చేయండి"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"సమాధానం ఇవ్వడానికి మరియు కొనసాగుతున్న కాల్‌ను హోల్డ్‌లో ఉంచడానికి పైకి స్వైప్ చేయండి"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"సమాధానం ఇవ్వడానికి మరియు హోల్డ్‌లో ఉన్న కాల్‌ను ముగించడానికి పైకి స్వైప్ చేయండి"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"ఇన్‌కమింగ్ కాల్‌కు సమాధానం ఇవ్వడానికి మరియు కొనసాగుతున్న కాల్‌ను ముగించడానికి చిహ్నం నుండి స్వైప్ చేయండి"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"సమాధానం ఇవ్వడానికి మరియు కొనసాగుతున్న కాల్‌ను ముగించడానికి చిహ్నం నుండి స్వైప్ చేయండి"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"మీ స్వంతంగా వ్రాయండి…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"హ్యాండ్‌సెట్"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"స్పీకర్‌ఫోన్"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"పంపు"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"ఈ కాల్‌ను సందేశంతో తిరస్కరించండి"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ఆడియో కాల్ రూపంలో సమాధానమివ్వండి"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"ఇన్‌కమింగ్ కాల్‌కు సమాధానం ఇవ్వండి మరియు కొనసాగుతున్న కాల్‌ను ముగించండి"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"సమాధానమివ్వండి మరియు కొనసాగుతున్న కాల్‌ను ముగించండి"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"సందేశంతో తిరస్కరించండి"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ఆడియో కాల్ రూపంలో సమాధానమివ్వండి"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"ఇన్‌కమింగ్ కాల్‌కు సమాధానం ఇస్తుంది మరియు కొనసాగుతున్న కాల్‌ను ముగిస్తుంది"</string>
+ <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="6477906345540334049">"ముఖ్యమైన కాల్"</string>
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 6df79594c..fb34af0ad 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"เลื่อนไอคอนเพื่อรับสายเป็นการโทรด้วยเสียง"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"เลื่อนขึ้นเพื่อรับและพักสายปัจจุบัน"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"เลื่อนขึ้นเพื่อรับและวางสายที่พักไว้"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"เลื่อนจากไอคอนเพื่อรับสายเรียกเข้าและวางสายปัจจุบัน"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"เลื่อนจากไอคอนเพื่อรับและวางสาย"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"เขียนคำตอบของคุณเอง…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"มือถือ"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"ลำโพง"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"ส่ง"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"ปฏิเสธสายเรียกเข้าด้วยข้อความ"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"รับสายเป็นการโทรด้วยเสียง"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"รับสายเรียกเข้าและวางสายปัจจุบัน"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"รับและวางสาย"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"ปฏิเสธด้วยข้อความ"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"รับสายเป็นการโทรด้วยเสียง"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"รับสายเรียกเข้าและวางสายปัจจุบัน"</string>
+ <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="6477906345540334049">"สายสำคัญ"</string>
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 fef9de94f..b0e2c370e 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"I-swipe mula sa icon upang sagutin bilang isang audio call"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"I-swipe nang pataas upang sagutin at i-hold ang kasalukuyang tawag"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"I-swipe nang pataas upang sagutin at tapusin ang tawag na naka-hold"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"I-swipe mula sa icon upang sagutin ang papasok na tawag at tapusin ang kasalukuyang tawag"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Mag-swipe mula sa icon upang sagutin at tapusin ang kasalukuyang tawag"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Magsulat ng sarili mo…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Handset"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Speakerphone"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Ipadala"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Tanggihan ang tawag na ito gamit ang isang mensahe"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Sagutin bilang audio call"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Sagutin ang papasok na tawag at tapusin ang kasalukuyang tawag"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Sagutin at tapusin ang kasalukuyang tawag"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Tanggihan gamit ang mensahe"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Sagutin bilang audio call"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Sagutin ang papasok na tawag at tapusin ang kasalukuyang tawag"</string>
+ <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="6477906345540334049">"Mahalagang tawag"</string>
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 62bbba943..4dc02a75c 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Sesli çağrı olarak cevaplamak için, simgeden hızlıca kaydırın"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Devam eden çağrı cevaplamak ve bekletmek için hızlıca yukarı kaydırın"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Cevaplamak ve beklemedeki çağrıyı sona erdirmek için hızlıca yukarı kaydırın"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Gelen çağrıyı cevaplamak ve devam eden çağrıyı sona erdirmek için simgeden hızlıca kaydırın"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Bir çağrıyı cevaplamak ve devam eden çağrıyı sona erdirmek için simgeden hızlıca kaydırın"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Kendi yanıtınızı oluşturun…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Mobil cihaz kulaklığı"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Hoparlör"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Gönder"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Bu çağrıyı mesajla reddedin"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Sesli çağrı olarak cevaplayın"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Gelen çağrıyı cevapla ve devam eden çağrıyı sona erdir"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Bir çağrıyı cevaplayın ve devam eden çağrıyı sona erdirin"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Çağrıyı, mesajla reddedin"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Sesli çağrı olarak cevaplayın"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Gelen çağrı cevaplanır ve devam eden çağrı sona erdirilir"</string>
+ <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="6477906345540334049">"Önemli çağrı"</string>
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 1ef016cba..e077dbd11 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Проведіть пальцем убік від значка, щоб відповісти в режимі аудіодзвінка"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Проведіть пальцем угору, щоб відповісти, утримуючи поточний виклик"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Проведіть пальцем угору, щоб відповісти, завершивши утримуваний виклик"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Проведіть пальцем від значка, щоб відповісти на вхідний виклик, завершивши поточний"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Проведіть пальцем від значка, щоб відповісти на виклик, завершивши поточний"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Напишіть власну відповідь…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Гарнітура"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Гучний зв’язок"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Надіслати"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Відхилити цей виклик, додавши повідомлення"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Відповісти в режимі аудіодзвінка"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Відповісти на вхідний виклик, завершивши поточний"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Відповісти на виклик, завершивши поточний"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Відхилити, додавши повідомлення"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Відповісти в режимі аудіодзвінка"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Відповісти на вхідний виклик, завершивши поточний"</string>
+ <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="6477906345540334049">"Важливий виклик"</string>
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 ea364499c..ec9ba4b25 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"آڈیو کال کے بطور جواب دینے کیلئے آئیکن سے سوائپ کریں"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"جواب دینے اور جاری کال کو ہولڈ کرنے کیلئے اوپر سوائپ کریں"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"جواب دینے اور ہولڈ کردہ کال کو ختم کرنے کیلئے اوپر سوائپ کریں"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"آنے والی کال کا جواب دینے اور جاری کال کو ختم کرنے کیلئے آئیکن سے سوائپ کریں"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"جواب دینے اور جاری کال ختم کرنے کیلے آئیکن سے سوائپ کریں"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"خود اپنا تحریر کریں…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"ہینڈ سیٹ"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"اسپیکر فون"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"بھیجیں"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"اس کال کو ایک پیغام کے ساتھ مسترد کریں"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"آڈیو کال کے بطور جواب دیں"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"آنے والی کال کا جواب دیں اور جاری کال کو ختم کریں"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"جواب دیں اور جاری کال ختم کریں"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"پیغام کے ساتھ مسترد کریں"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"آڈیو کال کے بطور جواب دیں"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"آنے والی کال کا جواب دیں اور جاری کال کو ختم کریں"</string>
+ <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="6477906345540334049">"اہم کال"</string>
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 a018a68a1..f9a7927f8 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Ovozli qo‘ng‘iroq rejimida javob berish uchun nishonchadan suring."</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Javob berish va joriy qo‘ng‘iroqni kutish rejimiga o‘tkazish uchun tepaga suring"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Javob berish va kutish rejimidagi qo‘ng‘iroqni tugatish uchun tepaga suring"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Kiruvchi chaqiruvga javob berish va joriy qo‘ng‘iroqni tugatish uchun nishonchadan suring"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Kiruvchi chaqiruvga javob berish va joriy qo‘ng‘iroqni tugatish uchun nishonchadan suring"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Sizning javobingiz…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Telefon"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Baland ovoz"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Yuborish"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Bu qo‘ng‘iroqni xabar bilan rad etish"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Ovozli qo‘ng‘iroq rejimida javob berish"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Kiruvchi chaqiruvga javob berish va joriy qo‘ng‘iroqni tugatish"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Kiruvchi chaqiruvga javob berish va joriy qo‘ng‘iroqni tugatish"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Xabar yuborib rad etish"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Ovozli qo‘ng‘iroq rejimida javob berish"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Kiruvchi chaqiruvga javob berish va joriy qo‘ng‘iroqni tugatish"</string>
+ <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="6477906345540334049">"Muhim chaqiruv"</string>
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 6d8a15046..187463472 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Vuốt từ biểu tượng để trả lời dưới dạng cuộc gọi âm thanh"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Vuốt lên để trả lời và giữ cuộc gọi đang diễn ra"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Vuốt lên để trả lời và kết thúc cuộc gọi đang chờ"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Vuốt từ biểu tượng để trả lời cuộc gọi đến và kết thúc cuộc gọi đang diễn ra"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Vuốt từ biểu tượng để trả lời và kết thúc cuộc gọi đang diễn ra"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Viết trả lời của riêng bạn…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Điện thoại di động"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Loa ngoài"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Gửi"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Từ chối cuộc gọi này bằng tin nhắn"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Trả lời dưới dạng cuộc gọi âm thanh"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Trả lời cuộc gọi đến và kết thúc cuộc gọi đang diễn ra"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Trả lời và kết thúc cuộc gọi đang diễn ra"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Từ chối bằng tin nhắn"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Trả lời dưới dạng cuộc gọi âm thanh"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Trả lời cuộc gọi đến và kết thúc cuộc gọi đang diễn ra"</string>
+ <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="6477906345540334049">"Cuộc gọi quan trọng"</string>
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 d4228224d..c57620651 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"滑动图标即可以音频通话的形式接听"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"向上滑动即可接听并保持当前通话"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"向上滑动即可接听并结束保持的通话"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"滑动图标即可接听来电并结束当前通话"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"滑动图标即可接听并结束当前通话"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"自行撰写回复…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"手机听筒"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"免提"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"发送"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"拒接此来电并发送信息"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"以音频通话的形式接听"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"接听来电并结束当前通话"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"接听并结束当前通话"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"拒接来电并发送信息"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"以音频通话的形式接听"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"接听来电并结束当前通话"</string>
+ <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="6477906345540334049">"重要来电"</string>
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 00b0f5159..653466e4d 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"從圖示快速滑動即可接聽語音通話"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"向上滑動可接聽並保留進行中的通話"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"向上滑動即可接聽並結束保留的通話"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"從圖示快速滑動即可接聽來電並結束進行中的通話"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"從圖示快速滑動即可接聽及結束進行中的通話"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"自行撰寫回覆…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"免提聽筒"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"擴音器"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"發送"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"用訊息回絕此來電"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"接聽語音通話"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"接聽來電並結束進行中的通話"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"接聽及結束進行中的通話"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"用訊息回絕"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"接聽語音通話"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"接聽來電並結束進行中的通話"</string>
+ <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="6477906345540334049">"重要來電"</string>
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 083494ad1..fe2c0d29a 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"滑動圖示即可透過語音通話方式接聽來電"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"向上滑動即可接聽及保留進行中的通話"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"向上滑動即可接聽及結束保留中的通話"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"滑動圖示即可接聽來電及結束進行中的通話"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"滑動圖示即可接聽來電及結束進行中的通話"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"自行撰寫回應…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"聽筒模式"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"擴音模式"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"傳送"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"拒接這通來電並傳送簡訊"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"透過語音通話方式接聽來電"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"接聽來電及結束進行中的通話"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"接聽來電及結束進行中的通話"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"拒接來電並傳送簡訊"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"透過語音通話方式接聽來電"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"接聽來電及結束進行中的通話"</string>
+ <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="6477906345540334049">"重要通話"</string>
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 f0c74da90..9c3a2d253 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
@@ -5,7 +5,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Swayipha kusuka esithonjaneni ukuze uphendule ikholi yomsindo"</string>
<string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Swayiphela phezulu ukuze uphendule futhi ubambe ikholi eqhubekayo"</string>
<string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Swayiphela phezulu ukuze uphendule futhi uphelise ikholi ebanjiwe"</string>
- <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Swayipha kusuka esithonjaneni ukuze uphendule ikholi engenayo futhi uphelise ikholi eqhubekayo"</string>
+ <string name="call_incoming_swipe_to_answer_and_release" msgid="662432029870261061">"Swayipha kusukela kusithonjana ukuze uphendule uphinde uqede ikholi eqhubekayo"</string>
<string name="call_incoming_message_custom" msgid="5819492800418293238">"Bhala okwakho…"</string>
<string name="call_incoming_audio_handset" msgid="2299009191401671619">"Okuphathwa ngesandla"</string>
<string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Isipikhasefoni"</string>
@@ -14,10 +14,10 @@
<string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Thumela"</string>
<string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Yenqaba le kholi ngomlayezo"</string>
<string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Phendula njengekholi yomsindo"</string>
- <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Phendula ikholi engenayo bese uphelise ikholi eqhubekayo"</string>
+ <string name="a11y_incoming_call_answer_and_release" msgid="4896746774725239464">"Phendula uphinde uqede ikholi eqhubekayo"</string>
<string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Yenqaba ngomsebenzi"</string>
<string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Phendula njengekholi yomsindo"</string>
- <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Phendula ikholi engenayo bese uphelise ikholi eqhubekayo"</string>
+ <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="6477906345540334049">"Ikholi ebalulekile"</string>
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 f13d8ecf5..94577adf7 100644
--- a/java/com/android/incallui/answer/impl/res/values/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values/strings.xml
@@ -4,7 +4,7 @@
<string name="call_incoming_swipe_to_answer_video_as_audio">Swipe from icon to answer as an audio call</string>
<string name="call_incoming_default_label_answer_and_release_second">Swipe up to answer and hold ongoing call</string>
<string name="call_incoming_default_label_answer_and_release_third">Swipe up to answer and end call on hold</string>
- <string name="call_incoming_swipe_to_answer_and_release">Swipe from icon to answer incoming call and end ongoing call</string>
+ <string name="call_incoming_swipe_to_answer_and_release">Swipe from icon to answer and end ongoing call</string>
<string name="call_incoming_message_custom">Write your own…</string>
<string name="call_incoming_audio_handset">Handset</string>
<string name="call_incoming_audio_speakerphone">Speakerphone</string>
@@ -16,10 +16,10 @@
<string name="call_incoming_custom_message_send">Send</string>
<string name="a11y_incoming_call_reject_with_sms">Reject this call with a message</string>
<string name="a11y_incoming_call_answer_video_as_audio">Answer as audio call</string>
- <string name="a11y_incoming_call_answer_and_release">Answer incoming call and end ongoing call</string>
+ <string name="a11y_incoming_call_answer_and_release">Answer and end ongoing call</string>
<string name="a11y_description_incoming_call_reject_with_sms">Reject with message</string>
<string name="a11y_description_incoming_call_answer_video_as_audio">Answer as audio call</string>
- <string name="a11y_description_incoming_call_answer_and_release">Answer incoming call and end ongoing call</string>
+ <string name="a11y_description_incoming_call_answer_and_release">Answer and end ongoing call</string>
<!-- Text indicates the video local camera is off. [CHAR LIMIT=40] -->
<string name="call_incoming_video_is_off">Video is off</string>
diff --git a/java/com/android/incallui/call/CallList.java b/java/com/android/incallui/call/CallList.java
index cc7e1e206..ab2feba3e 100644
--- a/java/com/android/incallui/call/CallList.java
+++ b/java/com/android/incallui/call/CallList.java
@@ -100,6 +100,11 @@ public class CallList implements DialerCallDelegate {
@VisibleForTesting
public CallList() {}
+ @VisibleForTesting
+ public static void setCallListInstance(CallList callList) {
+ sInstance = callList;
+ }
+
/** Static singleton accessor method. */
public static CallList getInstance() {
return sInstance;
@@ -124,9 +129,11 @@ public class CallList implements DialerCallDelegate {
new SpamBindings.Listener() {
@Override
public void onComplete(boolean isSpam) {
+ boolean isIncomingCall =
+ call.getState() == DialerCall.State.INCOMING
+ || call.getState() == DialerCall.State.CALL_WAITING;
if (isSpam) {
- if (call.getState() != DialerCall.State.INCOMING
- && call.getState() != DialerCall.State.CALL_WAITING) {
+ if (!isIncomingCall) {
LogUtil.i(
"CallList.onCallAdded",
"marking spam call as not spam because it's not an incoming call");
@@ -140,13 +147,15 @@ public class CallList implements DialerCallDelegate {
}
}
- Logger.get(context)
- .logCallImpression(
- isSpam
- ? DialerImpression.Type.INCOMING_SPAM_CALL
- : DialerImpression.Type.INCOMING_NON_SPAM_CALL,
- call.getUniqueCallId(),
- call.getTimeAddedMs());
+ if (isIncomingCall) {
+ Logger.get(context)
+ .logCallImpression(
+ isSpam
+ ? DialerImpression.Type.INCOMING_SPAM_CALL
+ : DialerImpression.Type.INCOMING_NON_SPAM_CALL,
+ call.getUniqueCallId(),
+ call.getTimeAddedMs());
+ }
call.setSpam(isSpam);
dialerCallListener.onDialerCallUpdate();
}
diff --git a/java/com/android/incallui/call/DialerCall.java b/java/com/android/incallui/call/DialerCall.java
index 4f5a8b7ec..f37ce27a7 100644
--- a/java/com/android/incallui/call/DialerCall.java
+++ b/java/com/android/incallui/call/DialerCall.java
@@ -49,6 +49,7 @@ import com.android.dialer.common.Assert;
import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
import com.android.dialer.enrichedcall.EnrichedCallComponent;
+import com.android.dialer.lightbringer.LightbringerComponent;
import com.android.dialer.logging.nano.ContactLookupResult;
import com.android.incallui.latencyreport.LatencyReport;
import com.android.incallui.util.TelecomCallUtil;
@@ -56,6 +57,7 @@ import com.android.incallui.videotech.VideoTech;
import com.android.incallui.videotech.VideoTech.VideoTechListener;
import com.android.incallui.videotech.empty.EmptyVideoTech;
import com.android.incallui.videotech.ims.ImsVideoTech;
+import com.android.incallui.videotech.lightbringer.LightbringerTech;
import com.android.incallui.videotech.utils.VideoUtils;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -1252,12 +1254,16 @@ public class DialerCall implements VideoTechListener {
}
private static class VideoTechManager {
+ private final Context context;
private final EmptyVideoTech emptyVideoTech = new EmptyVideoTech();
private final List<VideoTech> videoTechs;
private VideoTech savedTech;
VideoTechManager(DialerCall call) {
+ this.context = call.mContext;
+
String phoneNumber = call.getNumber();
+ phoneNumber = phoneNumber != null ? phoneNumber : "";
// Insert order here determines the priority of that video tech option
this.videoTechs = new ArrayList<>();
@@ -1269,10 +1275,14 @@ public class DialerCall implements VideoTechListener {
.newRcsVideoShare(
EnrichedCallComponent.get(call.mContext).getEnrichedCallManager(),
call,
- phoneNumber != null ? phoneNumber : "");
+ phoneNumber);
if (rcsVideoTech != null) {
videoTechs.add(rcsVideoTech);
}
+
+ videoTechs.add(
+ new LightbringerTech(
+ LightbringerComponent.get(call.mContext).getLightbringer(), call, phoneNumber));
}
VideoTech getVideoTech() {
@@ -1281,7 +1291,7 @@ public class DialerCall implements VideoTechListener {
}
for (VideoTech tech : videoTechs) {
- if (tech.isAvailable()) {
+ if (tech.isAvailable(context)) {
// Remember the first VideoTech that becomes available and always use it
savedTech = tech;
return savedTech;
@@ -1293,7 +1303,7 @@ public class DialerCall implements VideoTechListener {
void dispatchCallStateChanged(int newState) {
for (VideoTech videoTech : videoTechs) {
- videoTech.onCallStateChanged(newState);
+ videoTech.onCallStateChanged(context, newState);
}
}
}
diff --git a/java/com/android/incallui/calllocation/impl/LocationFragment.java b/java/com/android/incallui/calllocation/impl/LocationFragment.java
index b152cd683..3c5d2f972 100644
--- a/java/com/android/incallui/calllocation/impl/LocationFragment.java
+++ b/java/com/android/incallui/calllocation/impl/LocationFragment.java
@@ -30,6 +30,8 @@ import android.widget.ImageView;
import android.widget.TextView;
import android.widget.ViewAnimator;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.logging.Logger;
+import com.android.dialer.logging.nano.DialerImpression;
import com.android.incallui.baseui.BaseFragment;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
@@ -114,6 +116,7 @@ public class LocationFragment extends BaseFragment<LocationPresenter, LocationPr
locationMap.setVisibility(View.VISIBLE);
locationMap.setImageDrawable(mapImage);
displayWhenReady();
+ Logger.get(getContext()).logImpression(DialerImpression.Type.EMERGENCY_GOT_MAP);
}
@Override
@@ -139,6 +142,8 @@ public class LocationFragment extends BaseFragment<LocationPresenter, LocationPr
updateText(addressLine1, address);
updateText(addressLine2, null);
}
+
+ Logger.get(getContext()).logImpression(DialerImpression.Type.EMERGENCY_GOT_ADDRESS);
}
displayWhenReady();
}
@@ -155,6 +160,8 @@ public class LocationFragment extends BaseFragment<LocationPresenter, LocationPr
getContext()
.getString(
R.string.lat_long_format, location.getLatitude(), location.getLongitude()));
+
+ Logger.get(getContext()).logImpression(DialerImpression.Type.EMERGENCY_GOT_LOCATION);
}
displayWhenReady();
}
@@ -186,6 +193,8 @@ public class LocationFragment extends BaseFragment<LocationPresenter, LocationPr
startActivity(
LocationUrlBuilder.getShowMapIntent(
location, addressLine1.getText(), addressLine2.getText()));
+
+ Logger.get(getContext()).logImpression(DialerImpression.Type.EMERGENCY_LAUNCHED_MAP);
}
}
diff --git a/java/com/android/incallui/calllocation/impl/LocationHelper.java b/java/com/android/incallui/calllocation/impl/LocationHelper.java
index 645e9b86a..3a1478945 100644
--- a/java/com/android/incallui/calllocation/impl/LocationHelper.java
+++ b/java/com/android/incallui/calllocation/impl/LocationHelper.java
@@ -22,6 +22,7 @@ import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.os.Handler;
+import android.support.annotation.IntDef;
import android.support.annotation.MainThread;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
@@ -35,6 +36,8 @@ import com.google.android.gms.common.api.Status;
import com.google.android.gms.location.LocationListener;
import com.google.android.gms.location.LocationRequest;
import com.google.android.gms.location.LocationServices;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
import java.util.List;
@@ -45,6 +48,23 @@ public class LocationHelper {
private static final int LAST_UPDATE_THRESHOLD_MS = 60 * 1000;
private static final int LOCATION_ACCURACY_THRESHOLD_METERS = 100;
+ public static final int LOCATION_STATUS_UNKNOWN = 0;
+ public static final int LOCATION_STATUS_OK = 1;
+ public static final int LOCATION_STATUS_STALE = 2;
+ public static final int LOCATION_STATUS_INACCURATE = 3;
+ public static final int LOCATION_STATUS_NO_LOCATION = 4;
+
+ /** Possible return values for {@code checkLocation()} */
+ @IntDef({
+ LOCATION_STATUS_UNKNOWN,
+ LOCATION_STATUS_OK,
+ LOCATION_STATUS_STALE,
+ LOCATION_STATUS_INACCURATE,
+ LOCATION_STATUS_NO_LOCATION
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface LocationStatus {}
+
private final LocationHelperInternal locationHelperInternal;
private final List<LocationListener> listeners = new ArrayList<>();
@@ -71,28 +91,32 @@ public class LocationHelper {
}
/**
- * Whether the location is valid. We consider it valid if it was recorded within the specified
- * time threshold of the present and has an accuracy less than the specified distance threshold.
+ * Check whether the location is valid. We consider it valid if it was recorded within the
+ * specified time threshold of the present and has an accuracy less than the specified distance
+ * threshold.
*
* @param location The location to determine the validity of.
- * @return {@code true} if the location is valid, and {@code false} otherwise.
+ * @return {@code LocationStatus} indicating if the location is valid or the reason its not valid
*/
- static boolean isValidLocation(Location location) {
- if (location != null) {
- long locationTimeMs = location.getTime();
- long elapsedTimeMs = System.currentTimeMillis() - locationTimeMs;
- if (elapsedTimeMs > LAST_UPDATE_THRESHOLD_MS) {
- LogUtil.i("LocationHelper.isValidLocation", "stale location, age: " + elapsedTimeMs);
- return false;
- }
- if (location.getAccuracy() > LOCATION_ACCURACY_THRESHOLD_METERS) {
- LogUtil.i("LocationHelper.isValidLocation", "poor accuracy: " + location.getAccuracy());
- return false;
- }
- return true;
+ static @LocationStatus int checkLocation(Location location) {
+ if (location == null) {
+ LogUtil.i("LocationHelper.checkLocation", "no location");
+ return LOCATION_STATUS_NO_LOCATION;
}
- LogUtil.i("LocationHelper.isValidLocation", "no location");
- return false;
+
+ long locationTimeMs = location.getTime();
+ long elapsedTimeMs = System.currentTimeMillis() - locationTimeMs;
+ if (elapsedTimeMs > LAST_UPDATE_THRESHOLD_MS) {
+ LogUtil.i("LocationHelper.checkLocation", "stale location, age: " + elapsedTimeMs);
+ return LOCATION_STATUS_STALE;
+ }
+
+ if (location.getAccuracy() > LOCATION_ACCURACY_THRESHOLD_METERS) {
+ LogUtil.i("LocationHelper.checkLocation", "poor accuracy: " + location.getAccuracy());
+ return LOCATION_STATUS_INACCURATE;
+ }
+
+ return LOCATION_STATUS_OK;
}
@MainThread
diff --git a/java/com/android/incallui/calllocation/impl/LocationPresenter.java b/java/com/android/incallui/calllocation/impl/LocationPresenter.java
index a56fd3b3c..155d9fdfd 100644
--- a/java/com/android/incallui/calllocation/impl/LocationPresenter.java
+++ b/java/com/android/incallui/calllocation/impl/LocationPresenter.java
@@ -21,6 +21,8 @@ import android.graphics.drawable.Drawable;
import android.location.Location;
import android.os.AsyncTask;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.logging.Logger;
+import com.android.dialer.logging.nano.DialerImpression;
import com.android.incallui.baseui.Presenter;
import com.android.incallui.baseui.Ui;
import com.google.android.gms.location.LocationListener;
@@ -71,8 +73,9 @@ public class LocationPresenter extends Presenter<LocationPresenter.LocationUi>
LogUtil.i("LocationPresenter.updateLocation", "location: " + location);
if (forceUpdate || !Objects.equals(mLastLocation, location)) {
mLastLocation = location;
- if (LocationHelper.isValidLocation(location)) {
- LocationUi ui = getUi();
+ int status = LocationHelper.checkLocation(location);
+ LocationUi ui = getUi();
+ if (status == LocationHelper.LOCATION_STATUS_OK) {
mDownloadMapTask = new DownloadMapImageTask(new WeakReference<>(ui)).execute(location);
mReverseGeocodeTask = new ReverseGeocodeTask(new WeakReference<>(ui)).execute(location);
if (ui != null) {
@@ -80,6 +83,17 @@ public class LocationPresenter extends Presenter<LocationPresenter.LocationUi>
} else {
LogUtil.i("LocationPresenter.updateLocation", "no Ui");
}
+ } else if (status != LocationHelper.LOCATION_STATUS_NO_LOCATION) {
+ // Log impression indicating why the location is not valid
+ // Note: its possible for this to be called before the UI has been initialized.
+ Context context = (ui != null) ? ui.getContext() : null;
+ if (context != null) {
+ if (status == LocationHelper.LOCATION_STATUS_STALE) {
+ Logger.get(context).logImpression(DialerImpression.Type.EMERGENCY_STALE_LOCATION);
+ } else if (status == LocationHelper.LOCATION_STATUS_INACCURATE) {
+ Logger.get(context).logImpression(DialerImpression.Type.EMERGENCY_INACCURATE_LOCATION);
+ }
+ }
}
}
}
diff --git a/java/com/android/incallui/commontheme/res/anim/blinking.xml b/java/com/android/incallui/commontheme/res/anim/blinking.xml
index aaec18c56..4b921c611 100644
--- a/java/com/android/incallui/commontheme/res/anim/blinking.xml
+++ b/java/com/android/incallui/commontheme/res/anim/blinking.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
- android:duration="@android:integer/config_mediumAnimTime"
- android:fromAlpha="0.0"
+ android:duration="800"
+ android:fromAlpha="0.26"
android:interpolator="@android:anim/linear_interpolator"
android:repeatCount="infinite"
android:repeatMode="reverse"
- android:toAlpha="1.0"/>
+ android:toAlpha="0.6"/>
</set> \ No newline at end of file
diff --git a/java/com/android/incallui/commontheme/res/values/styles.xml b/java/com/android/incallui/commontheme/res/values/styles.xml
index 311f9cf4b..81e64cb16 100644
--- a/java/com/android/incallui/commontheme/res/values/styles.xml
+++ b/java/com/android/incallui/commontheme/res/values/styles.xml
@@ -33,6 +33,15 @@
<item name="android:textSize">18sp</item>
</style>
+ <style name="BottomRowIcon">
+ <item name="android:layout_height">24dp</item>
+ <item name="android:layout_width">24dp</item>
+ <item name="android:layout_marginEnd">8dp</item>
+ <item name="android:scaleType">fitCenter</item>
+ <item name="android:tint">?android:textColorSecondary</item>
+ <item name="android:tintMode">src_in</item>
+ </style>
+
<style name="Incall.Button.End" parent="android:Widget.Material.Button">
<item name="android:background">@drawable/incall_end_call_background</item>
<item name="android:elevation">8dp</item>
diff --git a/java/com/android/incallui/contactgrid/BottomRow.java b/java/com/android/incallui/contactgrid/BottomRow.java
index 6ddce4533..228c786a0 100644
--- a/java/com/android/incallui/contactgrid/BottomRow.java
+++ b/java/com/android/incallui/contactgrid/BottomRow.java
@@ -45,7 +45,7 @@ public class BottomRow {
@Nullable public final CharSequence label;
public final boolean isTimerVisible;
public final boolean isWorkIconVisible;
- public final boolean isHdAttemptinIconVisible;
+ public final boolean isHdAttemptingIconVisible;
public final boolean isHdIconVisible;
public final boolean isForwardIconVisible;
public final boolean isSpamIconVisible;
@@ -55,7 +55,7 @@ public class BottomRow {
@Nullable CharSequence label,
boolean isTimerVisible,
boolean isWorkIconVisible,
- boolean isHdAttemptinIconVisible,
+ boolean isHdAttemptingIconVisible,
boolean isHdIconVisible,
boolean isForwardIconVisible,
boolean isSpamIconVisible,
@@ -63,7 +63,7 @@ public class BottomRow {
this.label = label;
this.isTimerVisible = isTimerVisible;
this.isWorkIconVisible = isWorkIconVisible;
- this.isHdAttemptinIconVisible = isHdAttemptinIconVisible;
+ this.isHdAttemptingIconVisible = isHdAttemptingIconVisible;
this.isHdIconVisible = isHdIconVisible;
this.isForwardIconVisible = isForwardIconVisible;
this.isSpamIconVisible = isSpamIconVisible;
@@ -122,7 +122,7 @@ public class BottomRow {
}
private static CharSequence getLabelForPhoneNumber(PrimaryInfo primaryInfo) {
- if (primaryInfo.nameIsNumber) {
+ if (primaryInfo.location != null) {
return primaryInfo.location;
}
if (!TextUtils.isEmpty(primaryInfo.number)) {
diff --git a/java/com/android/incallui/contactgrid/ContactGridManager.java b/java/com/android/incallui/contactgrid/ContactGridManager.java
index a0b687c2d..ddbceb052 100644
--- a/java/com/android/incallui/contactgrid/ContactGridManager.java
+++ b/java/com/android/incallui/contactgrid/ContactGridManager.java
@@ -320,14 +320,15 @@ public class ContactGridManager {
bottomTextView.setAllCaps(info.isSpamIconVisible);
workIconImageView.setVisibility(info.isWorkIconVisible ? View.VISIBLE : View.GONE);
boolean wasHdIconVisible = hdIconImageView.getVisibility() == View.VISIBLE;
- if (!wasHdIconVisible && info.isHdAttemptinIconVisible) {
+ hdIconImageView.setVisibility(
+ info.isHdIconVisible || info.isHdAttemptingIconVisible ? View.VISIBLE : View.GONE);
+ if (!wasHdIconVisible && info.isHdAttemptingIconVisible) {
Animation animation = AnimationUtils.loadAnimation(context, R.anim.blinking);
hdIconImageView.startAnimation(animation);
- } else if (wasHdIconVisible && !info.isHdAttemptinIconVisible) {
+ } else if (wasHdIconVisible && !info.isHdAttemptingIconVisible) {
hdIconImageView.clearAnimation();
+ hdIconImageView.setAlpha(1f);
}
- hdIconImageView.setVisibility(
- info.isHdIconVisible || info.isHdAttemptinIconVisible ? View.VISIBLE : View.GONE);
forwardIconImageView.setVisibility(info.isForwardIconVisible ? View.VISIBLE : View.GONE);
spamIconImageView.setVisibility(info.isSpamIconVisible ? View.VISIBLE : View.GONE);
diff --git a/java/com/android/incallui/contactgrid/res/layout/incall_contactgrid_bottom_row.xml b/java/com/android/incallui/contactgrid/res/layout/incall_contactgrid_bottom_row.xml
index b7a3fe7d4..b6028ed9c 100644
--- a/java/com/android/incallui/contactgrid/res/layout/incall_contactgrid_bottom_row.xml
+++ b/java/com/android/incallui/contactgrid/res/layout/incall_contactgrid_bottom_row.xml
@@ -9,41 +9,21 @@
tools:showIn="@layout/incall_contact_grid">
<ImageView
android:id="@id/contactgrid_workIcon"
- android:layout_width="24dp"
- android:layout_height="24dp"
- android:layout_marginEnd="8dp"
- android:scaleType="fitCenter"
android:src="@drawable/ic_work_profile"
- android:tint="#ffffff"
- tools:visibility="gone"
- />
+ style="@style/BottomRowIcon"/>
<ImageView
android:id="@id/contactgrid_hdIcon"
- android:layout_width="24dp"
- android:layout_height="24dp"
- android:layout_marginEnd="8dp"
- android:scaleType="fitCenter"
android:src="@drawable/quantum_ic_hd_white_24"
- tools:visibility="gone"
- />
+ style="@style/BottomRowIcon"
+ android:visibility="gone"/>
<ImageView
android:id="@id/contactgrid_forwardIcon"
- android:layout_width="24dp"
- android:layout_height="24dp"
- android:layout_marginEnd="8dp"
- android:scaleType="fitCenter"
android:src="@drawable/quantum_ic_forward_white_24"
- tools:visibility="gone"
- />
+ style="@style/BottomRowIcon"/>
<ImageView
android:id="@+id/contactgrid_spamIcon"
- android:layout_width="24dp"
- android:layout_height="24dp"
- android:layout_marginEnd="8dp"
- android:scaleType="fitCenter"
android:src="@drawable/quantum_ic_report_white_18"
- tools:visibility="gone"
- />
+ style="@style/BottomRowIcon"/>
<ViewAnimator
android:id="@+id/contactgrid_bottom_text_switcher"
android:layout_width="wrap_content"
diff --git a/java/com/android/incallui/incall/impl/InCallFragment.java b/java/com/android/incallui/incall/impl/InCallFragment.java
index ea3ce8efb..b02237dcf 100644
--- a/java/com/android/incallui/incall/impl/InCallFragment.java
+++ b/java/com/android/incallui/incall/impl/InCallFragment.java
@@ -202,6 +202,12 @@ public class InCallFragment extends Fragment
}
@Override
+ public void onPause() {
+ super.onPause();
+ inCallScreenDelegate.onInCallScreenPaused();
+ }
+
+ @Override
public void onDestroy() {
super.onDestroy();
inCallScreenDelegate.onInCallScreenUnready();
@@ -438,8 +444,10 @@ public class InCallFragment extends Fragment
pager.setSwipingLocked(false);
} else {
paginator.setVisibility(View.GONE);
- pager.setSwipingLocked(true);
- pager.setCurrentItem(adapter.getButtonGridPosition());
+ if (adapter != null) {
+ pager.setSwipingLocked(true);
+ pager.setCurrentItem(adapter.getButtonGridPosition());
+ }
}
}
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 93acde1ee..89b72df54 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
@@ -5,7 +5,7 @@
<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_dialpad" msgid="8609779533654156550">"Key pad"</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>
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 93acde1ee..89b72df54 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
@@ -5,7 +5,7 @@
<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_dialpad" msgid="8609779533654156550">"Key pad"</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>
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 93acde1ee..89b72df54 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
@@ -5,7 +5,7 @@
<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_dialpad" msgid="8609779533654156550">"Key pad"</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>
diff --git a/java/com/android/incallui/incall/protocol/InCallScreenDelegate.java b/java/com/android/incallui/incall/protocol/InCallScreenDelegate.java
index b39f9f4a2..98c3e0f31 100644
--- a/java/com/android/incallui/incall/protocol/InCallScreenDelegate.java
+++ b/java/com/android/incallui/incall/protocol/InCallScreenDelegate.java
@@ -39,5 +39,7 @@ public interface InCallScreenDelegate {
void onInCallScreenResumed();
+ void onInCallScreenPaused();
+
Drawable getDefaultContactPhotoDrawable();
}
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_block_grey600_24dp.png b/java/com/android/incallui/res/drawable-hdpi/ic_block_grey600_24dp.png
deleted file mode 100644
index 1e9294c12..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_block_grey600_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_call_end_white_24dp.png b/java/com/android/incallui/res/drawable-hdpi/ic_call_end_white_24dp.png
deleted file mode 100644
index 757d339c4..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_call_end_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_call_split_white_24dp.png b/java/com/android/incallui/res/drawable-hdpi/ic_call_split_white_24dp.png
deleted file mode 100644
index 4e3dbf55d..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_call_split_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_close_grey600_24dp.png b/java/com/android/incallui/res/drawable-hdpi/ic_close_grey600_24dp.png
deleted file mode 100644
index 9ab350e9a..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_close_grey600_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_location_on_white_24dp.png b/java/com/android/incallui/res/drawable-hdpi/ic_location_on_white_24dp.png
deleted file mode 100644
index 7c281c3f5..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_location_on_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_01.png b/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_01.png
deleted file mode 100644
index e4ff6db13..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_01.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_02.png b/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_02.png
deleted file mode 100644
index bc2b3d2f8..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_02.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_03.png b/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_03.png
deleted file mode 100644
index fa936cbdc..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_03.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_04.png b/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_04.png
deleted file mode 100644
index ef5137976..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_04.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_05.png b/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_05.png
deleted file mode 100644
index 3712d164d..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_05.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_06.png b/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_06.png
deleted file mode 100644
index c6a4216a3..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_06.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_07.png b/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_07.png
deleted file mode 100644
index e4ff6db13..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_07.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_08.png b/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_08.png
deleted file mode 100644
index e4ff6db13..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_08.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_09.png b/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_09.png
deleted file mode 100644
index e4ff6db13..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_ongoing_phone_24px_09.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_person_add_grey600_24dp.png b/java/com/android/incallui/res/drawable-hdpi/ic_person_add_grey600_24dp.png
deleted file mode 100644
index 185d03393..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_person_add_grey600_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_phone_paused_white_24dp.png b/java/com/android/incallui/res/drawable-hdpi/ic_phone_paused_white_24dp.png
deleted file mode 100644
index a2177f58a..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_phone_paused_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_question_mark.png b/java/com/android/incallui/res/drawable-hdpi/ic_question_mark.png
deleted file mode 100644
index bd9489c85..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_question_mark.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/ic_schedule_white_24dp.png b/java/com/android/incallui/res/drawable-hdpi/ic_schedule_white_24dp.png
deleted file mode 100644
index f3581d104..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/ic_schedule_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/img_business.png b/java/com/android/incallui/res/drawable-hdpi/img_business.png
deleted file mode 100644
index f70634262..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/img_business.png
+++ /dev/null
Binary files differ
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-hdpi/img_no_image.png b/java/com/android/incallui/res/drawable-hdpi/img_no_image.png
deleted file mode 100644
index fd0ab3211..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/img_no_image.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-hdpi/img_phone.png b/java/com/android/incallui/res/drawable-hdpi/img_phone.png
deleted file mode 100644
index 748312e6e..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/img_phone.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable/spam_notification_icon.xml b/java/com/android/incallui/res/drawable/spam_notification_icon.xml
index 266897838..a26e7d479 100644
--- a/java/com/android/incallui/res/drawable/spam_notification_icon.xml
+++ b/java/com/android/incallui/res/drawable/spam_notification_icon.xml
@@ -28,7 +28,7 @@
</item>
<item
- android:drawable="@drawable/ic_report_white_36dp"
+ android:drawable="@drawable/quantum_ic_report_white_36"
android:gravity="center"/>
</layer-list> \ No newline at end of file
diff --git a/java/com/android/incallui/res/values-af/strings.xml b/java/com/android/incallui/res/values-af/strings.xml
index 0ae4a4d9d..a46963fad 100644
--- a/java/com/android/incallui/res/values-af/strings.xml
+++ b/java/com/android/incallui/res/values-af/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Inkomende oproep met boodskap"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Inkomende oproep met ligging"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Inkomende oproep met foto en boodskap"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Inkomende oproep met foto en ligging"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Inkomende oproep met boodskap en ligging"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Inkomende oproep met foto, boodskap en ligging"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Inkomende oproep met aanhegsels"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Belangrike inkomende oproep"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Belangrike inkomende oproep met foto"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Belangrike inkomende oproep met boodskap"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Belangrike inkomende oproep met ligging"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Belangrike inkomende oproep met foto en boodskap"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Belangrike inkomende oproep met foto en ligging"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Belangrike inkomende oproep met boodskap en ligging"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-am/strings.xml b/java/com/android/incallui/res/values-am/strings.xml
index 4cbb2344c..4bbbe3a9e 100644
--- a/java/com/android/incallui/res/values-am/strings.xml
+++ b/java/com/android/incallui/res/values-am/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"በሂደት ላይ ያለ የ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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"ገቢ ጥሪ ከመልዕክት ጋር"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"ገቢ ጥሪ ከአካባቢ ጋር"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"ገቢ ጥሪ ከፎቶ እና መልዕክት ጋር"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"ገቢ ጥሪ ከፎቶ እና አካባቢ ጋር"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"ገቢ ጥሪ ከመልዕክት እና አካባቢ ጋር"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"ገቢ ጥሪ ከፎቶ፣ መልዕክት እና አካባቢ ጋር"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"ገቢ ጥሪ ከአባሪዎች ጋር"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"አስፈላጊ ገቢ ጥሪ"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"አስፈላጊ ገቢ ጥሪ ከፎቶ ጋር"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"አስፈላጊ ገቢ ጥሪ ከመልዕክት ጋር"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"አስፈላጊ ገቢ ጥሪ ከአካባቢ ጋር"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"አስፈላጊ ገቢ ጥሪ ከፎቶ እና መልዕክት ጋር"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"አስፈላጊ ገቢ ጥሪ ከፎቶ እና አካባቢ ጋር"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"አስፈላጊ ገቢ ጥሪ ከመልዕክት እና አካባቢ ጋር"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-ar/strings.xml b/java/com/android/incallui/res/values-ar/strings.xml
index 2a95265ec..d6bdaf5f8 100644
--- a/java/com/android/incallui/res/values-ar/strings.xml
+++ b/java/com/android/incallui/res/values-ar/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"‏مكالمة عمل جارية عبر اتصال 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"مكالمة واردة مع رسالة"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"مكالمة واردة مع موقع"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"مكالمة واردة مع صورة ورسالة"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"مكالمة واردة مع صورة وموقع"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"مكالمة واردة مع رسالة وموقع"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"مكالمة واردة مع صورة ورسالة وموقع"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"مكالمة واردة مع مرفقات"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"مكالمة واردة مهمة"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"مكالمة واردة مهمة مع صورة"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"مكالمة واردة مهمة مع رسالة"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"مكالمة واردة مهمة مع موقع"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"مكالمة واردة مهمة مع صورة ورسالة"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"مكالمة واردة مهمة مع صورة وموقع"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"مكالمة واردة مهمة مع رسالة وموقع"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-az/strings.xml b/java/com/android/incallui/res/values-az/strings.xml
index 0dabebdcf..0f03d1d93 100644
--- a/java/com/android/incallui/res/values-az/strings.xml
+++ b/java/com/android/incallui/res/values-az/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Davam edən Wi-Fi iş çağrısı"</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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Mesaj ilə gələn zəng"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Məkan ilə gələn zəng"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Foto və mesaj ilə gələn zəng"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Foto və məkan ilə gələn zəng"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Mesaj və məkan ilə gələn zəng"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Foto, mesaj və məkan ilə gələn zəng"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Qoşma ilə gələn zəng"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Vacib gələn zəng"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Foto ilə gələn vacib zəng"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Mesaj ilə gələn vacib zəng"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Məkan ilə gələn vacib zəng"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Foto və mesaj ilə gələn vacib zəng"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Foto və məkan ilə gələn vacib zəng"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Mesaj və məkan ilə gələn vacib zəng"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-be/strings.xml b/java/com/android/incallui/res/values-be/strings.xml
index 21b6f583e..6509bde94 100644
--- a/java/com/android/incallui/res/values-be/strings.xml
+++ b/java/com/android/incallui/res/values-be/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Бягучы выклік па працы праз 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Уваходны выклік з паведамленнем"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Уваходны выклік з месцам"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Уваходны выклік з фота і паведамленнем"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Уваходны выклік з фота і месцам"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Уваходны выклік з паведамленнем і месцам"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Уваходны выклік з фота, паведамленнем і месцам"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Уваходны выклік з далучэннямі"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Важны ўваходны выклік"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Важны ўваходны выклік з фота"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Важны ўваходны выклік з паведамленнем"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Важны ўваходны выклік з месцам"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Важны ўваходны выклік з фота і паведамленнем"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Важны ўваходны выклік з фота і месцам"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Важны ўваходны выклік з паведамленнем і месцам"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-bg/strings.xml b/java/com/android/incallui/res/values-bg/strings.xml
index 466cfb3b1..1f37ac6b2 100644
--- a/java/com/android/incallui/res/values-bg/strings.xml
+++ b/java/com/android/incallui/res/values-bg/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Текущо служебно обаждане през 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Входящо обаждане със съобщение"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Входящо обаждане с местоположение"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Входящо обаждане със снимка и съобщение"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Входящо обаждане със снимка и местоположение"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Входящо обаждане със съобщение и местоположение"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Обаждане със снимка, съобщение и местоположение"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Входящо обаждане с прикачени файлове"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Важно входящо обаждане"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Важно входящо обаждане със снимка"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Важно входящо обаждане със съобщение"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Важно входящо обаждане с местоположение"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Важно входящо обаждане със снимка и съобщение"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Важно входящо обаждане със снимка и местоположение"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Важно обаждане със съобщение и местоположение"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-bn/strings.xml b/java/com/android/incallui/res/values-bn/strings.xml
index dfb17c952..638236767 100644
--- a/java/com/android/incallui/res/values-bn/strings.xml
+++ b/java/com/android/incallui/res/values-bn/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"চলমান ওয়াই-ফাই কাজের কল"</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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"বার্তা সহ ইনকামিং কল"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"অবস্থান সহ ইনকামিং কল"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"ফটো এবং বার্তা সহ ইনকামিং কল"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"ফটো এবং অবস্থান সহ ইনকামিং কল"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"বার্তা এবং অবস্থান সহ ইনকামিং কল"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"ফটো, বার্তা এবং অবস্থান সহ ইনকামিং কল"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"সংযুক্তিগুলি সহ ইনকামিং কল"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"গুরুত্বপূর্ণ ইনকামিং কল"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"ফটো সহ গুরুত্বপূর্ণ ইনকামিং কল"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"বার্তা সহ গুরুত্বপূর্ণ ইনকামিং কল"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"অবস্থান সহ গুরুত্বপূর্ণ ইনকামিং কল"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"ফটো এবং বার্তা সহ গুরুত্বপূর্ণ ইনকামিং কল"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"ফটো এবং অবস্থান সহ গুরুত্বপূর্ণ ইনকামিং কল"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"বার্তা এবং অবস্থান সহ গুরুত্বপূর্ণ ইনকামিং কল"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-bs/strings.xml b/java/com/android/incallui/res/values-bs/strings.xml
index 91ecee61e..4f4bfc706 100644
--- a/java/com/android/incallui/res/values-bs/strings.xml
+++ b/java/com/android/incallui/res/values-bs/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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 s fotografijom"</string>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Dolazni poziv s porukom"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Dolazni poziv s lokacijom"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Dolazni poziv s fotografijom i porukom"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Dolazni poziv s fotografijom i lokacijom"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Dolazni poziv s porukom i lokacijom"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Dolazni poziv s fotografijom, porukom i lokacijom"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Dolazni poziv s prilozima"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Važan dolazni poziv"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Važan dolazni poziv s fotografijom"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Važan dolazni poziv s porukom"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Važan dolazni poziv s lokacijom"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Važan dolazni poziv s fotografijom i porukom"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Važan dolazni poziv s fotografijom i lokacijom"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Važan dolazni poziv s porukom i lokacijom"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-ca/strings.xml b/java/com/android/incallui/res/values-ca/strings.xml
index 8047d4a54..102e2fee4 100644
--- a/java/com/android/incallui/res/values-ca/strings.xml
+++ b/java/com/android/incallui/res/values-ca/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Trucada entrant amb missatge"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Trucada entrant amb ubicació"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Trucada entrant amb foto i missatge"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Trucada entrant amb foto i ubicació"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Trucada entrant amb missatge i ubicació"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Trucada entrant amb foto, missatge i ubicació"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Trucada entrant amb fitxers adjunts"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Trucada entrant important"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Trucada entrant important amb foto"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Trucada entrant important amb missatge"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Trucada entrant important amb ubicació"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Trucada entrant important amb foto i missatge"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Trucada entrant important amb foto i ubicació"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Trucada entrant important amb missatge i ubicació"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-cs/strings.xml b/java/com/android/incallui/res/values-cs/strings.xml
index f1a707f23..2ec55e2e1 100644
--- a/java/com/android/incallui/res/values-cs/strings.xml
+++ b/java/com/android/incallui/res/values-cs/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Probíhající pracovní hovor (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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Příchozí hovor se zprávou"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Příchozí hovor s polohou"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Příchozí hovor s fotkou a zprávou"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Příchozí hovor s fotkou a polohou"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Příchozí hovor se zprávou a polohou"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Příchozí hovor s fotkou, zprávou a polohou"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Příchozí hovor s přílohami"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Důležitý příchozí hovor"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Důležitý příchozí hovor s fotkou"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Důležitý příchozí hovor se zprávou"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Důležitý příchozí hovor s polohou"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Důležitý příchozí hovor s fotkou a zprávou"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Důležitý příchozí hovor s fotkou a polohou"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Důležitý příchozí hovor se zprávou a polohou"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-da/strings.xml b/java/com/android/incallui/res/values-da/strings.xml
index 7f663f592..07450353c 100644
--- a/java/com/android/incallui/res/values-da/strings.xml
+++ b/java/com/android/incallui/res/values-da/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Indgående opkald med besked"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Indgående opkald med placering"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Indgående opkald med billede og besked"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Indgående opkald med billede og placering"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Indgående opkald med besked og placering"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Indgående opkald med billede, besked og placering"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Indgående opkald med vedhæftede filer"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Vigtigt indgående opkald"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Vigtigt indgående opkald med billede"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Vigtigt indgående opkald med besked"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Vigtigt indgående opkald med placering"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Vigtigt indgående opkald med billede og besked"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Vigtigt indgående opkald med billede og placering"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Vigtigt indgående opkald med besked og placering"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-de/strings.xml b/java/com/android/incallui/res/values-de/strings.xml
index a735c7050..178dbbe58 100644
--- a/java/com/android/incallui/res/values-de/strings.xml
+++ b/java/com/android/incallui/res/values-de/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Aktueller 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Eingehender Anruf mit Nachricht"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Eingehender Anruf mit Standort"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Eingehender Anruf mit Foto und Nachricht"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Eingehender Anruf mit Foto und Standort"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Eingehender Anruf mit Nachricht und Standort"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Eingehender Anruf mit Foto, Nachricht und Standort"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Eingehender Anruf mit Anhängen"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Wichtiger eingehender Anruf"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Wichtiger eingehender Anruf mit Foto"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Wichtiger eingehender Anruf mit Nachricht"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Wichtiger eingehender Anruf mit Standort"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Wichtiger eingehender Anruf mit Foto und Nachricht"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Wichtiger eingehender Anruf mit Foto und Standort"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Wichtiger eingehender Anruf mit Nachricht und Standort"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-el/strings.xml b/java/com/android/incallui/res/values-el/strings.xml
index 6b5f8a81b..cd2834f0e 100644
--- a/java/com/android/incallui/res/values-el/strings.xml
+++ b/java/com/android/incallui/res/values-el/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Κλήση εργασίας μέσω 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Εισερχόμενη κλήση με μήνυμα"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Εισερχόμενη κλήση με τοποθεσία"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Εισερχόμενη κλήση με φωτογραφία και μήνυμα"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Εισερχόμενη κλήση με φωτογραφία και τοποθεσία"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Εισερχόμενη κλήση με μήνυμα και τοποθεσία"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Εισερχόμενη κλήση με φωτο, μήνυμα και τοποθεσία"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Εισερχόμενη κλήση με συνημμένα"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Σημαντική εισερχόμενη κλήση"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Σημαντική εισερχόμενη κλήση με φωτογραφία"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Σημαντική εισερχόμενη κλήση με μήνυμα"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Σημαντική εισερχόμενη κλήση με τοποθεσία"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Σημαντική εισερχόμενη κλήση με φωτο και μήνυμα"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Σημαντική εισερχόμενη κλήση με φωτο και τοποθεσία"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Σημαντική εισερχόμ. κλήση με μήνυμα και τοποθεσία"</string>
+ <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>
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 c15b06556..67eab7953 100644
--- a/java/com/android/incallui/res/values-en-rAU/strings.xml
+++ b/java/com/android/incallui/res/values-en-rAU/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Incoming call with message"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Incoming call with location"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Incoming call with photo and message"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Incoming call with photo and location"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Incoming call with message and location"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Incoming call with photo, message and location"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Incoming call with attachments"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Important incoming call"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Important incoming call with photo"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Important incoming call with message"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Important incoming call with location"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Important incoming call with photo and message"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Important incoming call with photo and location"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Important incoming call with message and location"</string>
+ <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>
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 c15b06556..67eab7953 100644
--- a/java/com/android/incallui/res/values-en-rGB/strings.xml
+++ b/java/com/android/incallui/res/values-en-rGB/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Incoming call with message"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Incoming call with location"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Incoming call with photo and message"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Incoming call with photo and location"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Incoming call with message and location"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Incoming call with photo, message and location"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Incoming call with attachments"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Important incoming call"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Important incoming call with photo"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Important incoming call with message"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Important incoming call with location"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Important incoming call with photo and message"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Important incoming call with photo and location"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Important incoming call with message and location"</string>
+ <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>
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 c15b06556..67eab7953 100644
--- a/java/com/android/incallui/res/values-en-rIN/strings.xml
+++ b/java/com/android/incallui/res/values-en-rIN/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Incoming call with message"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Incoming call with location"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Incoming call with photo and message"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Incoming call with photo and location"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Incoming call with message and location"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Incoming call with photo, message and location"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Incoming call with attachments"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Important incoming call"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Important incoming call with photo"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Important incoming call with message"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Important incoming call with location"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Important incoming call with photo and message"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Important incoming call with photo and location"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Important incoming call with message and location"</string>
+ <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>
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 6e9be2c0e..a25b0ee83 100644
--- a/java/com/android/incallui/res/values-es-rUS/strings.xml
+++ b/java/com/android/incallui/res/values-es-rUS/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Llamada de trabajo con 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Llamada entrante con mensaje"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Llamada entrante con ubicación"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Llamada entrante con foto y mensaje"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Llamada entrante con foto y ubicación"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Llamada entrante con mensaje y ubicación"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Llamada entrante con foto, mensaje y ubicación"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Llamada entrante con archivos adjuntos"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Llamada entrante importante"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Llamada entrante importante con foto"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Llamada entrante importante con mensaje"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Llamada entrante importante con ubicación"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Llamada entrante importante con foto y mensaje"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Llamada entrante importante con foto y ubicación"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Llamada importante con mensaje y ubicación"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-es/strings.xml b/java/com/android/incallui/res/values-es/strings.xml
index bfd3a7e2f..8a42515e7 100644
--- a/java/com/android/incallui/res/values-es/strings.xml
+++ b/java/com/android/incallui/res/values-es/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Llamada Wi-Fi de trabajo 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Llamada entrante con mensaje"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Llamada entrante con ubicación"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Llamada entrante con foto y mensaje"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Llamada entrante con foto y ubicación"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Llamada entrante con mensaje y ubicación"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Llamada entrante con foto, mensaje y ubicación"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Llamada entrante con archivos adjuntos"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Llamada entrante importante"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Llamada entrante importante con foto"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Llamada entrante importante con mensaje"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Llamada entrante importante con ubicación"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Llamada entrante importante con foto y mensaje"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Llamada entrante importante con foto y ubicación"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Llamada importante con mensaje y ubicación"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-et/strings.xml b/java/com/android/incallui/res/values-et/strings.xml
index 780f0b181..d34980eb3 100644
--- a/java/com/android/incallui/res/values-et/strings.xml
+++ b/java/com/android/incallui/res/values-et/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Käimasolev töökõne WiFi kaudu"</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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Sissetulev kõne koos sõnumiga"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Sissetulev kõne koos asukohaga"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Sissetulev kõne koos foto ja sõnumiga"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Sissetulev kõne koos foto ja asukohaga"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Sissetulev kõne koos sõnumi ja asukohaga"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Sissetulev kõne koos foto, sõnumi ja asukohaga"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Sissetulev kõne koos manustega"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Tähtis sissetulev kõne"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Tähtis sissetulev kõne koos fotoga"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Tähtis sissetulev kõne koos sõnumiga"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Tähtis sissetulev kõne koos asukohaga"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Tähtis sissetulev kõne koos foto ja sõnumiga"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Tähtis sissetulev kõne koos foto ja asukohaga"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Tähtis sissetulev kõne koos sõnumi ja asukohaga"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-eu/strings.xml b/java/com/android/incallui/res/values-eu/strings.xml
index 98151454f..0d3ce76e4 100644
--- a/java/com/android/incallui/res/values-eu/strings.xml
+++ b/java/com/android/incallui/res/values-eu/strings.xml
@@ -37,6 +37,40 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Wi-Fi bidezko laneko dei bat abian da"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Zain"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Sarrerako deia"</string>
+ <!-- no translation found for notification_incoming_call_with_photo (4360505044807517422) -->
+ <skip />
+ <!-- no translation found for notification_incoming_call_with_message (5608687985694956601) -->
+ <skip />
+ <!-- no translation found for notification_incoming_call_with_location (4519498445081598767) -->
+ <skip />
+ <!-- no translation found for notification_incoming_call_with_photo_message (316806247057497525) -->
+ <skip />
+ <!-- no translation found for notification_incoming_call_with_photo_location (3523930283842222367) -->
+ <skip />
+ <!-- no translation found for notification_incoming_call_with_message_location (319374298517482028) -->
+ <skip />
+ <!-- no translation found for notification_incoming_call_with_photo_message_location (596658237891406809) -->
+ <skip />
+ <!-- no translation found for notification_incoming_call_attachments (3708414495376236948) -->
+ <skip />
+ <!-- no translation found for important_notification_incoming_call (2867013954509930989) -->
+ <skip />
+ <!-- no translation found for important_notification_incoming_call_with_photo (4908333121583658560) -->
+ <skip />
+ <!-- no translation found for important_notification_incoming_call_with_message (1614505248246685319) -->
+ <skip />
+ <!-- no translation found for important_notification_incoming_call_with_location (7387284065036564352) -->
+ <skip />
+ <!-- no translation found for important_notification_incoming_call_with_photo_message (4577220919701434817) -->
+ <skip />
+ <!-- no translation found for important_notification_incoming_call_with_photo_location (7172208615619394502) -->
+ <skip />
+ <!-- no translation found for important_notification_incoming_call_with_message_location (7244079127080064796) -->
+ <skip />
+ <!-- no translation found for important_notification_incoming_call_with_photo_message_location (513692941317253479) -->
+ <skip />
+ <!-- no translation found for important_notification_incoming_call_attachments (4594375776340303751) -->
+ <skip />
<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>
diff --git a/java/com/android/incallui/res/values-fa/strings.xml b/java/com/android/incallui/res/values-fa/strings.xml
index b41cc4006..bce99b7f3 100644
--- a/java/com/android/incallui/res/values-fa/strings.xml
+++ b/java/com/android/incallui/res/values-fa/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"‏تماس کاری 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"تماس ورودی به همراه پیام"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"تماس ورودی به همراه مکان"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"تماس ورودی به همراه عکس و پیام"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"تماس ورودی به همراه عکس و مکان"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"تماس ورودی به همراه پیام و مکان"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"تماس ورودی به همراه عکس، پیام و مکان"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"تماس ورودی به همراه پیوست"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"تماس ورودی مهم"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"تماس ورودی مهم به همراه عکس"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"تماس ورودی مهم به همراه پیام"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"تماس ورودی مهم به همراه مکان"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"تماس ورودی مهم به همراه عکس و پیام"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"تماس ورودی مهم به همراه عکس و مکان"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"تماس ورودی مهم به همراه پیام و مکان"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-fi/strings.xml b/java/com/android/incallui/res/values-fi/strings.xml
index 1aa55628f..57b4449ee 100644
--- a/java/com/android/incallui/res/values-fi/strings.xml
+++ b/java/com/android/incallui/res/values-fi/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Viestin sisältävä saapuva puhelu"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Sijainnin sisältävä saapuva puhelu"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Kuvan ja viestin sisältävä saapuva puhelu"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Kuvan ja sijainnin sisältävä saapuva puhelu"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Viestin ja sijainnin sisältävä saapuva puhelu"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Kuvan, viestin ja sijainnin sisältävä puhelu"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Liitteitä sisältävä saapuva puhelu"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Tärkeä saapuva puhelu"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Tärkeä kuvan sisältävä saapuva puhelu"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Tärkeä viestin sisältävä saapuva puhelu"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Tärkeä sijainnin sisältävä saapuva puhelu"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Tärkeä kuvan ja viestin sisältävä saapuva puhelu"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Tärkeä kuvan ja sijainnin sisältävä saapuva puhelu"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Tärkeä viestin ja sijainnin sisältävä puhelu"</string>
+ <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>
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 87b363721..b0b01fc18 100644
--- a/java/com/android/incallui/res/values-fr-rCA/strings.xml
+++ b/java/com/android/incallui/res/values-fr-rCA/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Appel Wi-Fi en cours - travail"</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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Appel entrant avec message"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Appel entrant avec position"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Appel entrant avec photo et message"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Appel entrant avec photo et position"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Appel entrant avec message et position"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Appel entrant avec photo, message et position"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Appel entrant avec pièces jointes"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Appel entrant important"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Appel entrant important avec photo"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Appel entrant important avec message"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Appel entrant important avec position"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Appel entrant important avec photo et message"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Appel entrant important avec photo et position"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Appel entrant important avec message et position"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-fr/strings.xml b/java/com/android/incallui/res/values-fr/strings.xml
index 5534d2f63..0a9d4a0fe 100644
--- a/java/com/android/incallui/res/values-fr/strings.xml
+++ b/java/com/android/incallui/res/values-fr/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Appel entrant avec message"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Appel entrant avec position"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Appel entrant avec photo et message"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Appel entrant avec photo et position"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Appel entrant avec message et position"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Appel entrant avec photo, message et position"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Appel entrant avec pièces jointes"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Appel entrant important"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Appel entrant important avec photo"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Appel entrant important avec message"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Appel entrant important avec position"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Appel entrant important avec photo et message"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Appel entrant important avec photo et position"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Appel entrant important avec message et position"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-gl/strings.xml b/java/com/android/incallui/res/values-gl/strings.xml
index c089737d3..675a77ff0 100644
--- a/java/com/android/incallui/res/values-gl/strings.xml
+++ b/java/com/android/incallui/res/values-gl/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Chamada wifi de traballo saínte"</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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Chamada entrante con mensaxe"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Chamada entrante con localización"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Chamada entrante con foto e mensaxe"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Chamada entrante con foto e localización"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Chamada entrante con mensaxe e localización"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Chamada entrante con foto, mensaxe e localización"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Chamada entrante con anexos"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Chamada entrante importante"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Chamada entrante importante con foto"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Chamada entrante importante con mensaxe"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Chamada entrante importante con localización"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Chamada entrante importante con foto e mensaxe"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Chamada entrante importante con foto e localización"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Chamada entrante importante con mensaxe e localización"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-gu/strings.xml b/java/com/android/incallui/res/values-gu/strings.xml
index 17dbb45f9..9088624f6 100644
--- a/java/com/android/incallui/res/values-gu/strings.xml
+++ b/java/com/android/incallui/res/values-gu/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"ચાલી રહેલ 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"સંદેશ સાથે ઇનકમિંગ કૉલ"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"સ્થાન સાથે ઇનકમિંગ કૉલ"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"ફોટો અને સંદેશ સાથે ઇનકમિંગ કૉલ"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"ફોટો અને સ્થાન સાથે ઇનકમિંગ કૉલ"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"સંદેશ અને સ્થાન સાથે ઇનકમિંગ કૉલ"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"ફોટો, સંદેશ અને સ્થાન સાથે ઇનકમિંગ કૉલ"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"જોડાણો સાથે ઇનકમિંગ કૉલ"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"મહત્વનો ઇનકમિંગ કૉલ"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"ફોટો સાથે મહત્વનો ઇનકમિંગ કૉલ"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"સંદેશ સાથે મહત્વનો ઇનકમિંગ કૉલ"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"સ્થાન સાથે મહત્વનો ઇનકમિંગ કૉલ"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"ફોટો અને સંદેશ સાથે મહત્વનો ઇનકમિંગ કૉલ"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"ફોટો અને સ્થાન સાથે મહત્વનો ઇનકમિંગ કૉલ"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"સંદેશ અને સ્થાન સાથે મહત્વનો ઇનકમિંગ કૉલ"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-hi/strings.xml b/java/com/android/incallui/res/values-hi/strings.xml
index 84508161f..8d5e1bb5f 100644
--- a/java/com/android/incallui/res/values-hi/strings.xml
+++ b/java/com/android/incallui/res/values-hi/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"कार्यस्थल की जारी वाई-फ़ाई कॉल"</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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"संदेश के साथ इनकमिंग कॉल"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"स्थान के साथ इनकमिंग कॉल"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"फ़ोटो और संदेश के साथ इनकमिंग कॉल"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"फ़ोटो और स्थान के साथ इनकमिंग कॉल"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"संदेश और स्थान के साथ इनकमिंग कॉल"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"फ़ोटो, संदेश और स्थान के साथ इनकमिंग कॉल"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"अटैचमेंट के साथ इनकमिंग कॉल"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"महत्वपूर्ण इनकमिंग कॉल"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"फ़ोटो के साथ महत्वपूर्ण इनकमिंग कॉल"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"संदेश के साथ महत्वपूर्ण इनकमिंग कॉल"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"स्थान के साथ महत्वपूर्ण इनकमिंग कॉल"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"फ़ोटो और संदेश के साथ महत्वपूर्ण इनकमिंग कॉल"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"फ़ोटो और स्थान के साथ महत्वपूर्ण इनकमिंग कॉल"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"संदेश और स्थान के साथ महत्वपूर्ण इनकमिंग कॉल"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-hr/strings.xml b/java/com/android/incallui/res/values-hr/strings.xml
index c5a2ea96c..ff43e6836 100644
--- a/java/com/android/incallui/res/values-hr/strings.xml
+++ b/java/com/android/incallui/res/values-hr/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Dolazni poziv s porukom"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Dolazni poziv s lokacijom"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Dolazni poziv s fotografijom i porukom"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Dolazni poziv s fotografijom i lokacijom"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Dolazni poziv s porukom i lokacijom"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Dolazni poziv s fotografijom, porukom i lokacijom"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Dolazni poziv s privicima"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Važan dolazni poziv"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Važan dolazni poziv s fotografijom"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Važan dolazni poziv s porukom"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Važan dolazni poziv s lokacijom"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Važan dolazni poziv s fotografijom i porukom"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Važan dolazni poziv s fotografijom i lokacijom"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Važan dolazni poziv s porukom i lokacijom"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-hu/strings.xml b/java/com/android/incallui/res/values-hu/strings.xml
index e7de37478..3fad07190 100644
--- a/java/com/android/incallui/res/values-hu/strings.xml
+++ b/java/com/android/incallui/res/values-hu/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Bejövő hívás üzenettel"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Bejövő hívás hellyel"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Bejövő hívás fotóval és üzenettel"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Bejövő hívás fotóval és hellyel"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Bejövő hívás üzenettel és hellyel"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Bejövő hívás fotóval, üzenettel és hellyel"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Bejövő hívás mellékletekkel"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Fontos bejövő hívás"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Fontos bejövő hívás fotóval"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Fontos bejövő hívás üzenettel"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Fontos bejövő hívás hellyel"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Fontos bejövő hívás fotóval és üzenettel"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Fontos bejövő hívás fotóval és hellyel"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Fontos bejövő hívás üzenettel és hellyel"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-hy/strings.xml b/java/com/android/incallui/res/values-hy/strings.xml
index 39d7f5c10..aabeae2d5 100644
--- a/java/com/android/incallui/res/values-hy/strings.xml
+++ b/java/com/android/incallui/res/values-hy/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Ընթացիկ աշխատանքային 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Մուտքային զանգ՝ հաղորդագրությամբ"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Մուտքային զանգ՝ տեղադրության տվյալներով"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Մուտքային զանգ՝ լուսանկարով և հաղորդագրությամբ"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Զանգ՝ լուսանկարով և տեղադրության տվյալներով"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Զանգ՝ հաղորդագրությամբ և տեղադրության տվյալներով"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Մուտքային զանգ՝ կցորդներով"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Մուտքային զանգ՝ կցորդներով"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Կարևոր մուտքային զանգ"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Կարևոր մուտքային զանգ՝ լուսանկարով"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Կարևոր մուտքային զանգ՝ հողորդագրությամբ"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Կարևոր մուտքային զանգ՝ տեղադրության տվյալներով"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Կարևոր զանգ՝ լուսանկարով և հաղորդագրությամբ"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Կարևոր զանգ՝ լուսանկարով և տեղադրության տվյալներով"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Կարևոր մուտքային զանգ՝ կցորդներով"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-in/strings.xml b/java/com/android/incallui/res/values-in/strings.xml
index 981360a33..e2b040540 100644
--- a/java/com/android/incallui/res/values-in/strings.xml
+++ b/java/com/android/incallui/res/values-in/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Panggilan Wi-Fi kerja yang sedang 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Panggilan masuk dengan pesan"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Panggilan masuk dengan lokasi"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Panggilan masuk dengan foto dan pesan"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Panggilan masuk dengan foto dan lokasi"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Panggilan masuk dengan pesan dan lokasi"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Panggilan masuk dengan foto, pesan, dan lokasi"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Panggilan masuk dengan lampiran"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Panggilan masuk penting"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Panggilan masuk penting dengan foto"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Panggilan masuk penting dengan pesan"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Panggilan masuk penting dengan lokasi"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Panggilan masuk penting dengan foto dan pesan"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Panggilan masuk penting dengan foto dan lokasi"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Panggilan masuk penting dengan pesan dan lokasi"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-is/strings.xml b/java/com/android/incallui/res/values-is/strings.xml
index fdbaf5e4b..ede4a4cbe 100644
--- a/java/com/android/incallui/res/values-is/strings.xml
+++ b/java/com/android/incallui/res/values-is/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Móttekið símtal með skilaboðum"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Móttekið símtal með staðsetningu"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Móttekið símtal með mynd og skilaboðum"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Móttekið símtal með mynd og staðsetningu"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Móttekið símtal með skilaboðum og staðsetningu"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Móttekið símtal með mynd, skilaboðum og staðsetningu"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Móttekið símtal með viðhengjum"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Mikilvægt móttekið símtal"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Mikilvægt móttekið símtal með mynd"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Mikilvægt móttekið símtal með skilaboðum"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Mikilvægt móttekið símtal með staðsetningu"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Mikilvægt móttekið símtal með mynd og skilaboðum"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Mikilvægt móttekið símtal með mynd og staðsetningu"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Mikilvægt móttekið símtal með skilaboðum og staðsetningu"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-it/strings.xml b/java/com/android/incallui/res/values-it/strings.xml
index bd00d520a..8e872b8d5 100644
--- a/java/com/android/incallui/res/values-it/strings.xml
+++ b/java/com/android/incallui/res/values-it/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Chiamata in arrivo con messaggio"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Chiamata in arrivo con posizione"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Chiamata in arrivo con foto e messaggio"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Chiamata in arrivo con foto e posizione"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Chiamata in arrivo con messaggio e posizione"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Chiamata in arrivo con foto, messaggio e posizione"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Chiamata in arrivo con allegato"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Chiamata in arrivo importante"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Chiamata in arrivo importante con foto"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Chiamata in arrivo importante con messaggio"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Chiamata in arrivo importante con posizione"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Chiamata in arrivo importante con foto e messaggio"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Chiamata importante in arrivo con foto e posizione"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Chiamata importante in arrivo con messaggio e posizione"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-iw/strings.xml b/java/com/android/incallui/res/values-iw/strings.xml
index b51cf78fb..6310aa1ca 100644
--- a/java/com/android/incallui/res/values-iw/strings.xml
+++ b/java/com/android/incallui/res/values-iw/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"‏שיחת עבודה פעילה ברשת WiFi"</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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"שיחה נכנסת עם הודעה"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"שיחה נכנסת עם מיקום"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"שיחה נכנסת עם תמונה והודעה"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"שיחה נכנסת עם תמונה ומיקום"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"שיחה נכנסת עם הודעה ומיקום"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"שיחה נכנסת עם תמונה, הודעה ומיקום"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"שיחה נכנסת עם קבצים מצורפים"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"שיחה נכנסת חשובה"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"שיחה נכנסת חשובה עם תמונה"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"שיחה נכנסת חשובה עם הודעה"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"שיחה נכנסת חשובה עם מיקום"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"שיחה נכנסת חשובה עם תמונה והודעה"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"שיחה נכנסת חשובה עם תמונה ומיקום"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"שיחה נכנסת חשובה עם הודעה ומיקום"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-ja/strings.xml b/java/com/android/incallui/res/values-ja/strings.xml
index 14dd9fb36..b621250e9 100644
--- a/java/com/android/incallui/res/values-ja/strings.xml
+++ b/java/com/android/incallui/res/values-ja/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"仕事の 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"着信(メッセージあり)"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"着信(位置情報あり)"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"着信(写真、メッセージあり)"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"着信(写真、位置情報あり)"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"着信(メッセージ、位置情報あり)"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"着信(写真、メッセージ、位置情報あり)"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"着信(添付ファイルあり)"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"重要な着信"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"重要な着信(写真あり)"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"重要な着信(メッセージあり)"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"重要な着信(位置情報あり)"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"重要な着信(写真、メッセージあり)"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"重要な着信(写真、位置情報あり)"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"重要な着信(メッセージ、位置情報あり)"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-ka/strings.xml b/java/com/android/incallui/res/values-ka/strings.xml
index 032b796b6..1bb9ae79d 100644
--- a/java/com/android/incallui/res/values-ka/strings.xml
+++ b/java/com/android/incallui/res/values-ka/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"მიმდინარე 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"შემომავალი ზარი შეტყობინებით"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"შემომავალი ზარი მდებარეობით"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"შემომავალი ზარი ფოტოთი და შეტყობინებით"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"შემომავალი ზარი ფოტოთი და მდებარეობით"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"შემომავალი ზარი შეტყობინებით და მდებარეობით"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"შემომავ. ზარი ფოტოთი, შეტყობინებით და მდებარეობით"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"შემომავალი ზარი დანართებით"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"მნიშვნელოვანი შემომავალი ზარი"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"მნიშვნელოვანი შემომავალი ზარი ფოტოთი"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"მნიშვნელოვანი ზარი შეტყობინებით"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"მნიშვნელოვანი შემომავალი ზარი მდებარეობით"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"მნიშვნელოვანი ზარი ფოტოთი და შეტყობინებით"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"მნიშვნელოვანი ზარი ფოტოთი და მდებარეობით"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"მნიშვნელოვანი ზარი შეტყობინებით და მდებარეობით"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-kk/strings.xml b/java/com/android/incallui/res/values-kk/strings.xml
index 672574563..a08bf54bc 100644
--- a/java/com/android/incallui/res/values-kk/strings.xml
+++ b/java/com/android/incallui/res/values-kk/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Ағымдағы 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Хабар тіркелген кіріс қоңырау"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Орын дерегі тіркелген кіріс қоңырау"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Сурет және хабар тіркелген кіріс қоңырау"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Сурет және орын дерегі тіркелген кіріс қоңырау"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Хабар және орын дерегі тіркелген кіріс қоңырау"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Сурет, хабар және орын дерегі тіркелген кіріс қоңырау"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Тіркемелері бар кіріс қоңырау"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Маңызды кіріс қоңырау"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Сурет тіркелген маңызды қоңырау"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Хабар тіркелген маңызды кіріс қоңырауы"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Орын дерегі көрсетілген маңызды кіріс қоңырау"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Сурет және хабар тіркелген маңызды кіріс қоңырау"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Сурет және орын дерегі тіркелген маңызды кіріс қоңырау"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Хабар және орын дерегі тіркелген маңызды кіріс қоңырау"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-km/strings.xml b/java/com/android/incallui/res/values-km/strings.xml
index 6fad369e2..6b2c65e8a 100644
--- a/java/com/android/incallui/res/values-km/strings.xml
+++ b/java/com/android/incallui/res/values-km/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"ការហៅតាម 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"ការ​ហោ​ចូល​ដែល​មាន​​សារ"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"ការ​ហៅ​ចូល​ដែល​មាន​​ទីតាំង"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"ការ​ហៅ​ចូល​ដែល​មាន​រូបថត និង​សារ"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"ការ​ហៅ​ចូល​ដែល​មាន​រូបថត និង​ទីតាំង"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"ការ​ហៅ​ចូល​ដែល​សារ និង​ទីតាំង"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"ការ​ហៅ​ចូល​ដែល​មាន​រូបថត សារ និង​ទីតាំង"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"ការ​ហៅ​ចូល​ដែល​មាន​ឯកសារ​ភ្ជាប់"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"ការ​ហៅ​ចូល​ដែល​សំខាន់"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"ការ​ហៅ​ចូល​ដែល​សំខាន់​​មាន​រូបថត"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"ការហៅ​ចូល​ដែល​សំខាន់​​​មាន​សារ"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"ការ​ហៅ​ចូល​ដែល​សំខាន់​មាន​ទីតាំង"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"ការ​ហៅ​ចូល​ដែល​សំខាន់​មាន​រូបថត និង​សារ"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"ការ​ហៅ​ចូល​ដែល​សំខាន់​មាន​​រូបថត និង​ទីតាំង"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"ការ​ហៅ​ចូល​ដែល​សំខាន់​មាន​សារ និង​ទីតាំង"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-kn/strings.xml b/java/com/android/incallui/res/values-kn/strings.xml
index 939876e15..7559d1b61 100644
--- a/java/com/android/incallui/res/values-kn/strings.xml
+++ b/java/com/android/incallui/res/values-kn/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ ವೈ-ಫೈ ಕೆಲಸದ ಕರೆ"</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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"ಸಂದೇಶದೊಂದಿಗೆ ಒಳಬರುತ್ತಿರುವ ಕರೆ"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"ಸ್ಥಳದೊಂದಿಗೆ ಒಳಬರುತ್ತಿರುವ ಕರೆ"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"ಫೋಟೋ ಮತ್ತು ಸಂದೇಶದೊಂದಿಗೆ ಒಳಬರುತ್ತಿರುವ ಕರೆ"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"ಫೋಟೋ ಮತ್ತು ಸ್ಥಳದೊಂದಿಗೆ ಒಳಬರುತ್ತಿರುವ ಕರೆ"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"ಸಂದೇಶ ಮತ್ತು ಸ್ಥಳದೊಂದಿಗೆ ಒಳಬರುತ್ತಿರುವ ಕರೆ"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"ಪೋಟೋ, ಸಂದೇಶ ಮತ್ತು ಸ್ಥಳದೊಂದಿಗೆ ಒಳಬರುತ್ತಿರುವ ಕರೆ"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"ಲಗತ್ತುಗಳೊಂದಿಗೆ ಒಳಬರುತ್ತಿರುವ ಕರೆ"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"ಒಳಬರುತ್ತಿರುವ ಪ್ರಮುಖ ಕರೆ"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"ಫೋಟೋದೊಂದಿಗೆ ಒಳಬರುತ್ತಿರುವ ಪ್ರಮುಖ ಕರೆ"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"ಸಂದೇಶದೊಂದಿಗೆ ಒಳಬರುತ್ತಿರುವ ಪ್ರಮುಖ ಕರೆ"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"ಸ್ಥಳದೊಂದಿಗೆ ಒಳಬರುತ್ತಿರುವ ಪ್ರಮುಖ ಕರೆ"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"ಫೋಟೋ ಮತ್ತು ಸಂದೇಶದೊಂದಿಗೆ ಒಳಬರುತ್ತಿರುವ ಪ್ರಮುಖ ಕರೆ"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"ಫೋಟೋ ಮತ್ತು ಸ್ಥಳದೊಂದಿಗೆ ಒಳಬರುತ್ತಿರುವ ಪ್ರಮುಖ ಕರೆ"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"ಸಂದೇಶ ಮತ್ತು ಸ್ಥಳದೊಂದಿಗೆ ಒಳಬರುತ್ತಿರುವ ಪ್ರಮುಖ ಕರೆ"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-ko/strings.xml b/java/com/android/incallui/res/values-ko/strings.xml
index c376d29db..3778b585d 100644
--- a/java/com/android/incallui/res/values-ko/strings.xml
+++ b/java/com/android/incallui/res/values-ko/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"발신 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"메시지가 있는 수신 전화"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"위치가 있는 수신 전화"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"사진과 메시지가 있는 수신 전화"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"사진과 위치가 있는 수신 전화"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"메시지와 위치가 있는 수신 전화"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"사진, 메시지, 위치가 있는 수신 전화"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"첨부파일이 있는 수신 전화"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"중요한 수신 전화"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"사진이 있는 중요한 수신 전화"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"메시지가 있는 중요한 수신 전화"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"위치가 있는 중요한 수신 전화"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"사진과 메시지가 있는 중요한 수신 전화"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"사진과 위치가 있는 중요한 수신 전화"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"메시지와 위치가 있는 중요한 수신 전화"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-ky/strings.xml b/java/com/android/incallui/res/values-ky/strings.xml
index 7c32b758c..e010022f3 100644
--- a/java/com/android/incallui/res/values-ky/strings.xml
+++ b/java/com/android/incallui/res/values-ky/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Учурда болуп жаткан 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Билдирүүсү бар кирүүчү чалуу"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Жайгашкан жери бар кирүүчү чалуу"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Сүрөт менен билдирүүсү бар кирүүчү чалуу"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Сүрөт жана жайгашкан жери бар кирүүчү чалуу"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Билдирүү менен жайгашкан жери бар кирүүчү чалуу"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Сүрөт, билдирүү жана жайгашкан жери бар чалуу"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Тиркемеси бар кирүүчү чалуу"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Маанилүү кирүүчү чалуу"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Сүрөтү бар маанилүү кирүүчү чалуу"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Билдирүүсү бар маанилүү кирүүчү чалуу"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Жайгашкан жери бар маанилүү кирүүчү чалуу"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Сүрөт жана билдирүүсү бар маанилүү кирүүчү чалуу"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Сүрөт жана жайгашкан жери бар маанилүү чалуу"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Билдирүү жана жайгашкан жери бар маанилүү чалуу"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-lo/strings.xml b/java/com/android/incallui/res/values-lo/strings.xml
index 01dd55be9..fcd7f5fb6 100644
--- a/java/com/android/incallui/res/values-lo/strings.xml
+++ b/java/com/android/incallui/res/values-lo/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"ສາຍໂທອອກ 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"ສາຍໂທເຂົ້າພ້ອມຂໍ້ຄວາມ"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"ສາຍໂທເຂົ້າພ້ອມສະຖານທີ່"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"ສາຍໂທເຂົ້າພ້ອມຮູບພາບ ແລະ ຂໍ້ຄວາມ"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"ສາຍໂທເຂົ້າພ້ອມຮູບພາບ ແລະ ສະຖານທີ່"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"ສາຍໂທເຂົ້າພ້ອມຂໍ້ຄວາມ ແລະ ສະຖານທີ່"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"ສາຍໂທເຂົ້າພ້ອມຮູບພາບ, ຂໍ້ຄວາມ ແລະ ສະຖານທີ່"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"ສາຍໂທເຂົ້າພ້ອມໄຟລ໌ແນບ"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"ສາຍໂທເຂົ້າສຳຄັນ"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"ສາຍໂທເຂົ້າສຳຄັນພ້ອມຮູບພາບ"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"ສາຍໂທເຂົ້າສຳຄັນພ້ອມຂໍ້ຄວາມ"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"ສາຍໂທເຂົ້າສຳຄັນພ້ອມສະຖານທີ່"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"ສາຍໂທເຂົ້າສຳຄັນພ້ອມຮູບພາບ ແລະ ຂໍ້ຄວາມ"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"ສາຍໂທເຂົ້າສຳຄັນພ້ອມຮູບພາບ ແລະ ສະຖານທີ່"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"ສາຍໂທເຂົ້າສຳຄັນພ້ອມຂໍ້ຄວາມ ແລະ ສະຖານທີ່"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-lt/strings.xml b/java/com/android/incallui/res/values-lt/strings.xml
index 05c7cbd4a..7d79fce96 100644
--- a/java/com/android/incallui/res/values-lt/strings.xml
+++ b/java/com/android/incallui/res/values-lt/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Gaunamasis skambutis su pranešimu"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Gaunamasis skambutis su vietove"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Gaunamasis skambutis su nuotrauka ir pranešimu"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Gaunamasis skambutis su nuotrauka ir vietove"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Gaunamasis skambutis su pranešimu ir vietove"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Gaunamasis skamb. su nuotrauka, praneš. ir vietove"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Gaunamasis skambutis su priedais"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Svarbus gaunamasis skambutis"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Svarbus gaunamasis skambutis su nuotrauka"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Svarbus gaunamasis skambutis su pranešimu"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Svarbus gaunamasis skambutis su vietove"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Svarbus gaunamasis skamb. su nuotrauka ir praneš."</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Svarbus gaunamasis skamb. su nuotrauka ir vietove"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Svarbus gaunamasis skamb. su pranešimu ir vietove"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-lv/strings.xml b/java/com/android/incallui/res/values-lv/strings.xml
index b7e151eff..f144a9a5d 100644
--- a/java/com/android/incallui/res/values-lv/strings.xml
+++ b/java/com/android/incallui/res/values-lv/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Ienākošais zvans ar ziņojumu"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Ienākošais zvans ar atrašanās vietu"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Ienākošais zvans ar fotoattēlu un ziņojumu"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Ienākošais zvans ar fotoattēlu un atrašanās vietu"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Ienākošais zvans ar ziņojumu un atrašanās vietu"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Zvans ar fotoattēlu, ziņojumu un atrašanās vietu"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Ienākošais zvans ar pielikumiem"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Svarīgs ienākošais zvans"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Svarīgs ienākošais zvans ar fotoattēlu"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Svarīgs ienākošais zvans ar ziņojumu"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Svarīgs ienākošais zvans ar atrašanās vietu"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Svarīgs ienākošais zvans ar fotoattēlu un ziņojumu"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Svarīgs zvans ar fotoattēlu un atrašanās vietu"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Svarīgs zvans ar ziņojumu un atrašanās vietu"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-mk/strings.xml b/java/com/android/incallui/res/values-mk/strings.xml
index 96f6bbbe2..4bc848ebe 100644
--- a/java/com/android/incallui/res/values-mk/strings.xml
+++ b/java/com/android/incallui/res/values-mk/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Тековен работен повик преку 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Дојдовен повик со порака"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Дојдовен повик со локација"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Дојдовен повик со фотографија и порака"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Дојдовен повик со фотографија и локација"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Дојдовен повик со порака и локација"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Дојдовен повик со фотографија, порака и локација"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Дојдовен повик со прилози"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Важен дојдовен повик"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Важен дојдовен повик со фотографија"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Важен дојдовен повик со порака"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Важен дојдовен повик со локација"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Важен дојдовен повик со фотографија и порака"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Важен дојдовен повик со фотографија и локација"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Важен дојдовен повик со порака и локација"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-ml/strings.xml b/java/com/android/incallui/res/values-ml/strings.xml
index b748f6a09..4364f8a3d 100644
--- a/java/com/android/incallui/res/values-ml/strings.xml
+++ b/java/com/android/incallui/res/values-ml/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"ഓൺഗോയിംഗ് വൈഫൈ ഔദ്യോഗിക കോൾ"</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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"സന്ദേശം ഉൾപ്പെട്ട ഇൻകമിംഗ് കോൾ"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"ലൊക്കേഷൻ ഉൾപ്പെട്ട ഇൻകമിംഗ് കോൾ"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"ഫോട്ടോയും സന്ദേശവും ഉൾപ്പെട്ട ഇൻകമിംഗ് കോൾ"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"ഫോട്ടോയും ലൊക്കേഷനും ഉൾപ്പെട്ട ഇൻകമിംഗ് കോൾ"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"സന്ദേശവും ലൊക്കേഷനും ഉൾപ്പെട്ട ഇൻകമിംഗ് കോൾ"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"ഫോട്ടോയും സന്ദേശവും ലൊക്കേഷനും ഉൾപ്പെട്ട ഇൻകമിംഗ് കോൾ"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"അറ്റാച്ച്‌മെന്റുകൾ ഉൾപ്പെട്ട ഇൻകമിംഗ് കോൾ"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"പ്രധാനപ്പെട്ട ഇൻകമിംഗ് കോൾ"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"ഫോട്ടോ ഉൾപ്പെട്ട പ്രധാനപ്പെട്ട ഇൻകമിംഗ് കോൾ"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"സന്ദേശം ഉൾപ്പെട്ട പ്രധാനപ്പെട്ട ഇൻകമിംഗ് കോൾ"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"ലൊക്കേഷൻ ഉൾപ്പെട്ട പ്രധാനപ്പെട്ട ഇൻകമിംഗ് കോൾ"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"ഫോട്ടോയും സന്ദേശവും ഉൾപ്പെട്ട പ്രധാനപ്പെട്ട ഇൻകമിംഗ് കോൾ"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"ഫോട്ടോയും ലൊക്കേഷനും ഉൾപ്പെട്ട പ്രധാനപ്പെട്ട ഇൻകമിംഗ് കോൾ"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"സന്ദേശവും ലൊക്കേഷനും ഉൾപ്പെട്ട പ്രധാനപ്പെട്ട ഇൻകമിംഗ് കോൾ"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-mn/strings.xml b/java/com/android/incallui/res/values-mn/strings.xml
index ed86556f1..25d788dd4 100644
--- a/java/com/android/incallui/res/values-mn/strings.xml
+++ b/java/com/android/incallui/res/values-mn/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Залгаж буй 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Зурвас бүхий орж ирсэн дуудлага"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Байршил бүхий орж ирсэн дуудлага"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Зураг болон зурвас бүхий орж ирсэн дуудлага"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Зураг болон байршил бүхий орж ирсэн дуудлага"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Зурвас болон байршил бүхий орж ирсэн дуудлага"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Зураг, зурвас, байршил бүхий орж ирсэн дуудлага"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Хавсралт бүхий орж ирсэн дуудлага"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Орж ирсэн чухал дуудлага"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Зураг бүхий орж ирсэн чухал дуудлага"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Зурвас бүхий орж ирсэн чухал дуудлага"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Байршил бүхий орж ирсэн чухал дуудлага"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Зураг, зурвас бүхий орж ирсэн чухал дуудлага"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Зураг, байршил бүхий орж ирсэн чухал дуудлага"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Зурвас, байршил бүхий орж ирсэн чухал дуудлага"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-mr/strings.xml b/java/com/android/incallui/res/values-mr/strings.xml
index d6c226d14..d966e1476 100644
--- a/java/com/android/incallui/res/values-mr/strings.xml
+++ b/java/com/android/incallui/res/values-mr/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"सुरु असलेला वाय-फाय कार्य कॉल"</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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"संदेशासह येणारा कॉल"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"स्थानासह येणारा कॉल"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"फोटो आणि संदेशासह येणारा कॉल"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"फोटो आणि स्थानासह येणारा कॉल"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"संदेश आणि स्थानासह येणारा कॉल"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"फोटो, संदेश आणि स्थानासह येणारा कॉल"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"संलग्नकांसह येणारा कॉल"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"महत्त्वाचा येणारा कॉल"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"फोटोसह महत्त्वाचा येणारा कॉल"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"संदेशासह महत्त्वाचा येणारा कॉल"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"स्थानासह महत्त्वाचा येणारा कॉल"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"फोटो आणि संदेशासह महत्त्वाचा येणारा कॉल"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"फोटो आणि स्थानासह महत्त्वाचा येणारा कॉल"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"संदेश आणि स्थानासह महत्त्वाचा येणारा कॉल"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-ms/strings.xml b/java/com/android/incallui/res/values-ms/strings.xml
index c75f8cc8e..2268a5977 100644
--- a/java/com/android/incallui/res/values-ms/strings.xml
+++ b/java/com/android/incallui/res/values-ms/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Panggian Wi-Fi sedang berlangsung daripada tempat kerja"</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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Panggilan masuk dengan mesej"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Panggilan masuk dengan lokasi"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Panggilan masuk dengan foto dan mesej"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Panggilan masuk dengan foto dan lokasi"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Panggilan masuk dengan mesej dan lokasi"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Panggilan masuk dengan foto, mesej dan lokasi"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Panggilan masuk dengan lampiran"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Panggilan masuk penting"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Panggilan masuk penting dengan foto"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Panggilan masuk penting dengan mesej"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Panggilan masuk penting dengan lokasi"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Panggilan masuk penting dengan foto dan mesej"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Panggilan masuk penting dengan foto dan lokasi"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Panggilan masuk penting dengan mesej dan lokasi"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-my/strings.xml b/java/com/android/incallui/res/values-my/strings.xml
index 37594a3df..a1c8bea6a 100644
--- a/java/com/android/incallui/res/values-my/strings.xml
+++ b/java/com/android/incallui/res/values-my/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"ခေါ်နေဆဲ 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"မက်ဆေ့ဂျ်ဖြင့် အဝင်ခေါ်ဆိုမှု"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"တည်နေရာဖြင့် အဝင်ခေါ်ဆိုမှု"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"ဓာတ်ပုံနှင့် မက်ဆေ့ဂျ်တို့ဖြင့် အဝင်ခေါ်ဆိုမှု"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"ဓာတ်ပုံနှင့် တည်နေရာတို့ဖြင့် အဝင်ခေါ်ဆိုမှု"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"မက်ဆေ့ဂျ်နှင့် တည်နေရာတို့ဖြင့် အဝင်ခေါ်ဆိုမှု"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"ဓာတ်ပုံ၊ မက်ဆေ့ဂျ်၊ တည်နေရာဖြင့် အဝင်ခေါ်ဆိုမှု"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"ပူးတွဲပါဖိုင်များဖြင့် အဝင်ခေါ်ဆိုမှု"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"အရေးကြီးသော အဝင်ခေါ်ဆိုမှု"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"ဓာတ်ပုံဖြင့် အရေးကြီးသော အဝင်ခေါ်ဆိုမှု"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"မက်ဆေ့ဂျ်ဖြင့် အရေးကြီးသော အဝင်ခေါ်ဆိုမှု"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"တည်နေရာဖြင့် အရေးကြီးသော အဝင်ခေါ်ဆိုမှု"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"ဓာတ်ပုံနှင့် မက်ဆေ့ဂျ်ဖြင့် အရေးကြီးသောခေါ်ဆိုမှု"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"ဓာတ်ပုံနှင့် တည်နေရာဖြင့် အရေးကြီးသောခေါ်ဆိုမှု"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"မက်ဆေ့ဂျ်နှင့် တည်နေရာဖြင့် အရေးကြီးသောခေါ်ဆိုမှု"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-nb/strings.xml b/java/com/android/incallui/res/values-nb/strings.xml
index 52ff32a10..bb2cf692d 100644
--- a/java/com/android/incallui/res/values-nb/strings.xml
+++ b/java/com/android/incallui/res/values-nb/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Pågående jobbanrop 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Innkommende anrop med melding"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Innkommende anrop med posisjon"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Innkommende anrop med bilde og melding"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Innkommende anrop med bilde og posisjon"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Innkommende anrop med melding og posisjon"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Innkommende anrop med bilde, melding og posisjon"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Innkommende anrop med vedlegg"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Viktig innkommende anrop"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Viktig innkommende anrop med bilde"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Viktig innkommende anrop med melding"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Viktig innkommende anrop med posisjon"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Viktig innkommende anrop med bilde og melding"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Viktig innkommende anrop med bilde og posisjon"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Viktig innkommende anrop med melding og posisjon"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-ne/strings.xml b/java/com/android/incallui/res/values-ne/strings.xml
index c5a097297..5b5ff1bb5 100644
--- a/java/com/android/incallui/res/values-ne/strings.xml
+++ b/java/com/android/incallui/res/values-ne/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"चालू रहेको 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"सन्देश सहितको आगमन कल"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"स्थान सहितको आगमन कल"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"तस्बिर र सन्देश सहितको आगमन कल"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"तस्बिर र स्थान सहितको आगमन कल"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"सन्देश र स्थान सहितको आगमन कल"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"तस्बिर, सन्देश र स्थान सहितको आगमन कल"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"समावेश गरिएको वस्तु सहितको आगमन कल"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"महत्त्वपूर्ण आगमन कल"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"तस्बिर सहितको महत्त्वपूर्ण आगमन कल"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"सन्देश सहितको महत्त्वपूर्ण आगमन कल"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"स्थान सहितको महत्त्वपूर्ण आगमन कल"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"तस्बिर र सन्देश सहितको महत्त्वपूर्ण आगमन कल"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"तस्बिर र स्थान सहितको महत्त्वपूर्ण आगमन कल"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"सन्देश र स्थान सहितको महत्त्वपूर्ण आगमन कल"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-nl/strings.xml b/java/com/android/incallui/res/values-nl/strings.xml
index 7b1a59d14..8601fe27e 100644
--- a/java/com/android/incallui/res/values-nl/strings.xml
+++ b/java/com/android/incallui/res/values-nl/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Inkomende oproep met bericht"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Inkomende oproep met locatie"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Inkomende oproep met foto en bericht"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Inkomende oproep met foto en locatie"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Inkomende oproep met bericht en locatie"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Inkomende oproep met foto, bericht en locatie"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Inkomende oproep met bijlagen"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Belangrijke inkomende oproep"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Belangrijke inkomende oproep met foto"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Belangrijke inkomende oproep met bericht"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Belangrijke inkomende oproep met locatie"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Belangrijke inkomende oproep met foto en bericht"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Belangrijke inkomende oproep met foto en locatie"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Belangrijke oproep met bericht en locatie"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-no/strings.xml b/java/com/android/incallui/res/values-no/strings.xml
index 52ff32a10..bb2cf692d 100644
--- a/java/com/android/incallui/res/values-no/strings.xml
+++ b/java/com/android/incallui/res/values-no/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Pågående jobbanrop 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Innkommende anrop med melding"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Innkommende anrop med posisjon"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Innkommende anrop med bilde og melding"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Innkommende anrop med bilde og posisjon"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Innkommende anrop med melding og posisjon"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Innkommende anrop med bilde, melding og posisjon"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Innkommende anrop med vedlegg"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Viktig innkommende anrop"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Viktig innkommende anrop med bilde"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Viktig innkommende anrop med melding"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Viktig innkommende anrop med posisjon"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Viktig innkommende anrop med bilde og melding"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Viktig innkommende anrop med bilde og posisjon"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Viktig innkommende anrop med melding og posisjon"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-pa/strings.xml b/java/com/android/incallui/res/values-pa/strings.xml
index 5fadeb10b..ebd8a25e6 100644
--- a/java/com/android/incallui/res/values-pa/strings.xml
+++ b/java/com/android/incallui/res/values-pa/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"ਕੰਮ ਸਬੰਧਿਤ ਜਾਰੀ 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"ਸੁਨੇਹੇ ਨਾਲ ਇਨਕਮਿੰਗ ਕਾਲ"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"ਟਿਕਾਣੇ ਨਾਲ ਇਨਕਮਿੰਗ ਕਾਲ"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"ਫ਼ੋਟੋ ਅਤੇ ਸੁਨੇਹੇ ਨਾਲ ਇਨਕਮਿੰਗ ਕਾਲ"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"ਫ਼ੋਟੋ ਅਤੇ ਟਿਕਾਣੇ ਨਾਲ ਇਨਕਮਿੰਗ ਕਾਲ"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"ਸੁਨੇਹੇ ਅਤੇ ਟਿਕਾਣੇ ਨਾਲ ਇਨਕਮਿੰਗ ਕਾਲ"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"ਫ਼ੋਟੋ, ਸੁਨੇਹੇ ਅਤੇ ਟਿਕਾਣੇ ਨਾਲ ਇਨਕਮਿੰਗ ਕਾਲ"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"ਅਟੈਚਮੈਂਟਾਂ ਨਾਲ ਇਨਕਮਿੰਗ ਕਾਲ"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"ਮਹੱਤਵਪੂਰਨ ਇਨਕਮਿੰਗ ਕਾਲ"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"ਫ਼ੋਟੋ ਨਾਲ ਮਹੱਤਵਪੂਰਨ ਇਨਕਮਿੰਗ ਕਾਲ"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"ਸੁਨੇਹੇ ਨਾਲ ਮਹੱਤਵਪੂਰਨ ਇਨਕਮਿੰਗ ਕਾਲ"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"ਟਿਕਾਣੇ ਨਾਲ ਮਹੱਤਵਪੂਰਨ ਇਨਕਮਿੰਗ ਕਾਲ"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"ਫ਼ੋਟੋ ਅਤੇ ਸੁਨੇਹੇ ਨਾਲ ਮਹੱਤਵਪੂਰਨ ਇਨਕਮਿੰਗ ਕਾਲ"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"ਫ਼ੋਟੋ ਅਤੇ ਟਿਕਾਣੇ ਨਾਲ ਮਹੱਤਵਪੂਰਨ ਇਨਕਮਿੰਗ ਕਾਲ"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"ਸੁਨੇਹੇ ਅਤੇ ਟਿਕਾਣੇ ਨਾਲ ਮਹੱਤਵਪੂਰਨ ਇਨਕਮਿੰਗ ਕਾਲ"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-pl/strings.xml b/java/com/android/incallui/res/values-pl/strings.xml
index 4133dc831..5f818ae7b 100644
--- a/java/com/android/incallui/res/values-pl/strings.xml
+++ b/java/com/android/incallui/res/values-pl/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Połączenie przychodzące z wiadomością"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Połączenie przychodzące z lokalizacją"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Połączenie przychodzące ze zdjęciem i wiadomością"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Połączenie przychodzące ze zdjęciem i lokalizacją"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Połączenie z wiadomością i lokalizacją"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Połączenie ze zdjęciem, wiadomością i lokalizacją"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Połączenie przychodzące z załącznikami"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Ważne połączenie przychodzące"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Ważne połączenie przychodzące ze zdjęciem"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Ważne połączenie przychodzące z wiadomością"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Ważne połączenie przychodzące z lokalizacją"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Ważne połączenie ze zdjęciem i wiadomością"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Ważne połączenie ze zdjęciem i lokalizacją"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Ważne połączenie z wiadomością i lokalizacją"</string>
+ <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>
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 cfa8611af..29254dc68 100644
--- a/java/com/android/incallui/res/values-pt-rBR/strings.xml
+++ b/java/com/android/incallui/res/values-pt-rBR/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Chamada 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Chamada recebida com mensagem"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Chamada recebida com local"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Chamada recebida com foto e mensagem"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Chamada recebida com foto e local"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Chamada recebida com mensagem e local"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Chamada recebida com foto, mensagem e local"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Chamada recebida com anexos"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Chamada recebida importante"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Chamada recebida importante com foto"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Chamada recebida importante com mensagem"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Chamada recebida importante com local"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Chamada recebida importante com foto e mensagem"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Chamada recebida importante com foto e local"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Chamada recebida importante com mensagem e local"</string>
+ <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>
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 c6ab2e3a0..7ec6bfece 100644
--- a/java/com/android/incallui/res/values-pt-rPT/strings.xml
+++ b/java/com/android/incallui/res/values-pt-rPT/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Chamada recebida com mensagem"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Chamada recebida com localização"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Chamada recebida com foto e mensagem"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Chamada recebida com foto e localização"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Chamada recebida com mensagem e localização"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Chamada recebida com foto, mensagem e localização"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Chamada recebida com anexos"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Chamada recebida importante"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Chamada recebida importante com foto"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Chama recebida importante com mensagem"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Chamada recebida importante com localização"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Chamada recebida importante com foto e mensagem"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Chamada recebida importante com foto e localização"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Chamada recebida importante c/ mensagem e localiz."</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-pt/strings.xml b/java/com/android/incallui/res/values-pt/strings.xml
index cfa8611af..29254dc68 100644
--- a/java/com/android/incallui/res/values-pt/strings.xml
+++ b/java/com/android/incallui/res/values-pt/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Chamada 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Chamada recebida com mensagem"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Chamada recebida com local"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Chamada recebida com foto e mensagem"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Chamada recebida com foto e local"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Chamada recebida com mensagem e local"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Chamada recebida com foto, mensagem e local"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Chamada recebida com anexos"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Chamada recebida importante"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Chamada recebida importante com foto"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Chamada recebida importante com mensagem"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Chamada recebida importante com local"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Chamada recebida importante com foto e mensagem"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Chamada recebida importante com foto e local"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Chamada recebida importante com mensagem e local"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-ro/strings.xml b/java/com/android/incallui/res/values-ro/strings.xml
index fd4c9a949..cd31f807b 100644
--- a/java/com/android/incallui/res/values-ro/strings.xml
+++ b/java/com/android/incallui/res/values-ro/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Apel primit cu mesaj"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Apel primit cu locație"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Apel primit cu fotografie și mesaj"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Apel primit cu fotografie și locație"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Apel primit cu mesaj și locație"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Apel primit cu fotografie, mesaj și locație"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Apel primit cu atașamente"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Apel primit important"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Apel primit important cu fotografie"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Apel primit important cu mesaj"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Apel primit important cu locație"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Apel primit important cu fotografie și mesaj"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Apel primit important cu fotografie și locație"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Apel primit important cu mesaj și locație"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-ru/strings.xml b/java/com/android/incallui/res/values-ru/strings.xml
index bf55fe92f..fd0773daa 100644
--- a/java/com/android/incallui/res/values-ru/strings.xml
+++ b/java/com/android/incallui/res/values-ru/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Текущий 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Входящий вызов с сообщением"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Входящий вызов с геоданными"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Входящий вызов с фотографией и сообщением"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Входящий вызов с фотографией и геоданными"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Входящий вызов с сообщением и геоданными"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Входящий вызов с фото, сообщением и геоданными"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Входящий вызов с прикрепленными файлами"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Важный входящий вызов"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Важный входящий вызов с фотографией"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Важный входящий вызов с сообщением"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Важный входящий вызов с геоданными"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Важный входящий вызов с фотографией и сообщением"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Важный входящий вызов с фотографией и геоданными"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Важный входящий вызов с сообщением и геоданными"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-si/strings.xml b/java/com/android/incallui/res/values-si/strings.xml
index 14f10dd78..1d24a5b9d 100644
--- a/java/com/android/incallui/res/values-si/strings.xml
+++ b/java/com/android/incallui/res/values-si/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"කරගෙන යන 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"පණිවිඩය සමග එන ඇමතුම"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"ස්ථානය සමග එන ඇමතුම"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"ඡායාරූපය සහ පණිවිඩය සමග එන ඇමතුම"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"ඡායාරූපය සහ ස්ථානය සමග එන ඇමතුම"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"පණිවිඩය සහ ස්ථානය සමග එන ඇමතුම"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"ඡායාරූපය, පණිවිඩය සහ ස්ථානය සමග එන ඇමතුම"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"ඇමුණුම් සමග එන ඇමතුම"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"වැදගත් එන ඇමතුම"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"ඡායාරූපය සමග වැදගත් එන ඇමතුම"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"පණිවිඩය සමග වැදගත් එන ඇමතුම"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"ස්ථානය සමග වැදගත් එන ඇමතුම"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"ඡායාරූපය සහ පණිවිඩය සමග වැදගත් එන ඇමතුම"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"ඡායාරූපය සහ ස්ථානය සමග වැදගත් එන ඇමතුම"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"පණිවිඩය සහ ස්ථානය සමග වැදගත් එන ඇමතුම"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-sk/strings.xml b/java/com/android/incallui/res/values-sk/strings.xml
index b203eb793..38326bc66 100644
--- a/java/com/android/incallui/res/values-sk/strings.xml
+++ b/java/com/android/incallui/res/values-sk/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Prichádzajúci hovor so správou"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Prichádzajúci hovor s polohou"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Prichádzajúci hovor s fotkou a správou"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Prichádzajúci hovor s fotkou a polohou"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Prichádzajúci hovor so správou a polohou"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Prichádzajúci hovor s fotkou, správou a polohou"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Prichádzajúci hovor s prílohami"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Dôležitý prichádzajúci hovor"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Dôležitý prichádzajúci hovor s fotkou"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Dôležitý prichádzajúci hovor so správou"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Dôležitý prichádzajúci hovor s polohou"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Dôležitý prichádzajúci hovor s fotkou a správou"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Dôležitý prichádzajúci hovor s fotkou a polohou"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Dôležitý prichádzajúci hovor so správou a polohou"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-sl/strings.xml b/java/com/android/incallui/res/values-sl/strings.xml
index e91b52de6..0b360d396 100644
--- a/java/com/android/incallui/res/values-sl/strings.xml
+++ b/java/com/android/incallui/res/values-sl/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Dohodni klic s sporočilom"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Dohodni klic z lokacijo"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Dohodni klic s fotografijo in sporočilom"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Dohodni klic s fotografijo in lokacijo"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Dohodni klic s sporočilom in lokacijo"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Dohodni klic s fotografijo, sporočilom in lokacijo"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Dohodni klic s prilogami"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Pomemben dohodni klic"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Pomemben dohodni klic s fotografijo"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Pomemben dohodni klic s sporočilom"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Pomemben dohodni klic z lokacijo"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Pomemben dohodni klic s fotografijo in sporočilom"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Pomemben dohodni klic s fotografijo in lokacijo"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Pomemben dohodni klic s sporočilom in lokacijo"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-sq/strings.xml b/java/com/android/incallui/res/values-sq/strings.xml
index 2e092cdd6..d1546530b 100644
--- a/java/com/android/incallui/res/values-sq/strings.xml
+++ b/java/com/android/incallui/res/values-sq/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Telefonatë pune dalëse përmes 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Telefonatë hyrëse me mesazh"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Telefonatë hyrëse me vendndodhjen"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Telefonatë hyrëse me fotografi dhe mesazh"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Telefonatë hyrëse me fotografi dhe vendndodhjen"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Telefonatë hyrëse me mesazh dhe vendndodhjen"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Telefonatë me fotografi, mesazh dhe vendndodhjen"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Telefonatë hyrëse me bashkëngjitje"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Telefonatë hyrëse e rëndësishme"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Telefonatë hyrëse e rëndësishme me fotografi"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Telefonatë hyrëse e rëndësishme me mesazh"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Telefonatë hyrëse e rëndësishme me vendndodhjen"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Telefonatë e rëndësishme me fotografi dhe mesazh"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Telefonatë e rëndësishme me foto dhe vendndodhjen"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Telefonatë e rëndësishme me mesazh e vendndodhjen"</string>
+ <string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Tel. e rëndësishme me foto, mesazh e vendndodhjen"</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>
diff --git a/java/com/android/incallui/res/values-sr/strings.xml b/java/com/android/incallui/res/values-sr/strings.xml
index fd3d4dd43..89b3e7def 100644
--- a/java/com/android/incallui/res/values-sr/strings.xml
+++ b/java/com/android/incallui/res/values-sr/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Текући позив за Work преко 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Долазни позив са поруком"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Долазни позив са локацијом"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Долазни позив са сликом и поруком"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Долазни позив са сликом и локацијом"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Долазни позив са поруком и локацијом"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Долазни позив са сликом, поруком и локацијом"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Долазни позив са прилозима"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Важан долазни позив"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Важан долазни позив са сликом"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Важан долазни позив са поруком"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Важан долазни позив са локацијом"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Важан долазни позив са сликом и поруком"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Важан долазни позив са сликом и локацијом"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Важан долазни позив са поруком и локацијом"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-sv/strings.xml b/java/com/android/incallui/res/values-sv/strings.xml
index fa2a1a605..66d2732a8 100644
--- a/java/com/android/incallui/res/values-sv/strings.xml
+++ b/java/com/android/incallui/res/values-sv/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Pågående jobbsamtal via 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Inkommande samtal med meddelande"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Inkommande samtal med plats"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Inkommande samtal med foto och meddelande"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Inkommande samtal med foto och plats"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Inkommande samtal med meddelande och plats"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Inkommande samtal med foto, meddelande och plats"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Inkommande samtal med bilagor"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Viktigt inkommande samtal"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Viktigt inkommande samtal med foto"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Viktigt inkommande samtal med meddelande"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Viktigt inkommande samtal med plats"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Viktigt inkommande samtal med foto och meddelande"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Viktigt inkommande samtal med foto och plats"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Viktigt inkommande samtal med meddelande och plats"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-sw/strings.xml b/java/com/android/incallui/res/values-sw/strings.xml
index dc242c67f..914e22821 100644
--- a/java/com/android/incallui/res/values-sw/strings.xml
+++ b/java/com/android/incallui/res/values-sw/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Simu ya Wi-Fi ya kazi inayoendelea"</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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Simu inayoingia yenye ujumbe"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Simu inayoingia yenye mahali"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Simu inayoingia yenye picha na ujumbe"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Simu inayoingia yenye picha na mahali"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Simu inayoingia yenye ujumbe na mahali"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Simu inayoingia yenye picha, ujumbe na mahali"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Simu inayoingia yenye viambatisho"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Simu muhimu inayoingia"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Simu muhimu inayoingia yenye picha"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Simu muhimu inayoingia yenye ujumbe"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Simu muhimu inayoingia yenye mahali"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Simu muhimu inayoingia yenye picha na ujumbe"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Simu muhimu inayoingia yenye picha na mahali"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Simu muhimu inayoingia yenye ujumbe na mahali"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-ta/strings.xml b/java/com/android/incallui/res/values-ta/strings.xml
index d97448eda..1eb9ce5bb 100644
--- a/java/com/android/incallui/res/values-ta/strings.xml
+++ b/java/com/android/incallui/res/values-ta/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"வெளிச்செல்லும் வைஃபை அழைப்பு (பணி)"</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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"செய்தியுடன் உள்வரும் அழைப்பு"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"இருப்பிடத் தகவலுடன் உள்வரும் அழைப்பு"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"படம், செய்தியுடன் உள்வரும் அழைப்பு"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"படம், இருப்பிடத் தகவலுடன் உள்வரும் அழைப்பு"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"செய்தி, இருப்பிடத் தகவலுடன் உள்வரும் அழைப்பு"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"படம், செய்தி, இருப்பிடத் தகவலுடன் உள்வரும் அழைப்பு"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"இணைப்புகளுடன் உள்வரும் அழைப்பு"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"உள்வரும் முக்கியமான அழைப்பு"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"படத்துடன் உள்வரும் முக்கியமான அழைப்பு"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"செய்தியுடன் உள்வரும் முக்கியமான அழைப்பு"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"இருப்பிடத் தகவலுடன் உள்வரும் முக்கியமான அழைப்பு"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"படம், செய்தியுடன் உள்வரும் முக்கியமான அழைப்பு"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"படம், இருப்பிடத்துடன் உள்வரும் முக்கியமான அழைப்பு"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"செய்தி, இருப்பிடத்துடன் உள்வரும் முக்கியமான அழைப்பு"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-te/strings.xml b/java/com/android/incallui/res/values-te/strings.xml
index 1e3719cac..fc9723d01 100644
--- a/java/com/android/incallui/res/values-te/strings.xml
+++ b/java/com/android/incallui/res/values-te/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"సందేశంతో ఇన్‌కమింగ్ కాల్"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"స్థానంతో ఇన్‌కమింగ్ కాల్"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"ఫోటో మరియు సందేశంతో ఇన్‌కమింగ్ కాల్"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"ఫోటో మరియు స్థానంతో ఇన్‌కమింగ్ కాల్"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"సందేశం మరియు స్థానంతో ఇన్‌కమింగ్ కాల్"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"ఫోటో, సందేశం మరియు స్థానంతో ఇన్‌కమింగ్ కాల్"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"జోడింపులతో ఇన్‌కమింగ్ కాల్"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"ముఖ్యమైన ఇన్‌కమింగ్ కాల్"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"ఫోటోతో ముఖ్యమైన ఇన్‌కమింగ్ కాల్"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"సందేశంతో ముఖ్యమైన ఇన్‌కమింగ్ కాల్"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"స్థానంతో ముఖ్యమైన ఇన్‌కమింగ్ కాల్"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"ఫోటో మరియు సందేశంతో ముఖ్యమైన ఇన్‌కమింగ్ కాల్"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"ఫోటో మరియు స్థానంతో ముఖ్యమైన ఇన్‌కమింగ్ కాల్"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"సందేశం మరియు స్థానంతో ముఖ్యమైన ఇన్‌కమింగ్ కాల్"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-th/strings.xml b/java/com/android/incallui/res/values-th/strings.xml
index b40dcfd88..8fef8a696 100644
--- a/java/com/android/incallui/res/values-th/strings.xml
+++ b/java/com/android/incallui/res/values-th/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"กำลังอยู่ในสายจากที่ทำงานผ่าน 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"สายเรียกเข้าพร้อมข้อความ"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"สายเรียกเข้าพร้อมตำแหน่ง"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"สายเรียกเข้าพร้อมรูปภาพและข้อความ"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"สายเรียกเข้าพร้อมรูปภาพและตำแหน่ง"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"สายเรียกเข้าพร้อมข้อความและตำแหน่ง"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"สายเรียกเข้าพร้อมรูปภาพ ข้อความ และตำแหน่ง"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"สายเรียกเข้าพร้อมไฟล์แนบ"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"สายเรียกเข้าที่สำคัญ"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"สายเรียกเข้าที่สำคัญพร้อมรูปภาพ"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"สายเรียกเข้าที่สำคัญพร้อมข้อความ"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"สายเรียกเข้าที่สำคัญพร้อมตำแหน่ง"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"สายเรียกเข้าที่สำคัญพร้อมรูปภาพและข้อความ"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"สายเรียกเข้าที่สำคัญพร้อมรูปภาพและตำแหน่ง"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"สายเรียกเข้าที่สำคัญพร้อมข้อความและตำแหน่ง"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-tl/strings.xml b/java/com/android/incallui/res/values-tl/strings.xml
index c6b11d0fd..725fc4838 100644
--- a/java/com/android/incallui/res/values-tl/strings.xml
+++ b/java/com/android/incallui/res/values-tl/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Kasalukuyang tawag sa trabaho sa pamamagitan ng 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Papasok na tawag na may mensahe"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Papasok na tawag na may lokasyon"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Papasok na tawag na may larawan at mensahe"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Papasok na tawag na may larawan at lokasyon"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Papasok na tawag na may mensahe at lokasyon"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Papasok na tawag na may larawan, mensahe, at lokasyon"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Papasok na tawag na may mga attachment"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Mahalagang papasok na tawag"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Mahalagang papasok na tawag na may larawan"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Mahalagang papasok na tawag na may mensahe"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Mahalagang papasok na tawag na may lokasyon"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Mahalagang papasok na tawag na may larawan at mensahe"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Mahalagang papasok na tawag na may larawan at lokasyon"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Mahalagang papasok na tawag na may mensahe at lokasyon"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-tr/strings.xml b/java/com/android/incallui/res/values-tr/strings.xml
index a16935182..1d88d5af8 100644
--- a/java/com/android/incallui/res/values-tr/strings.xml
+++ b/java/com/android/incallui/res/values-tr/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Süren kablosuz iş çağrısı"</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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Mesaj eklenmiş gelen çağrı"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Konum eklenmiş gelen çağrı"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Fotoğraf ve mesaj eklenmiş gelen çağrı"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Fotoğraf ve konum eklenmiş gelen çağrı"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Mesaj ve konum eklenmiş gelen çağrı"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Fotoğraf, mesaj ve konum eklenmiş gelen çağrı"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Ek iliştirilmiş gelen çağrı"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Önemli gelen çağrı"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Fotoğraf eklenmiş önemli gelen çağrı"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Mesaj eklenmiş önemli gelen çağrı"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Konum eklenmiş önemli gelen çağrı"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Fotoğraf ve mesaj eklenmiş önemli gelen çağrı"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Fotoğraf ve konum eklenmiş önemli gelen çağrı"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Mesaj ve konum eklenmiş önemli gelen çağrı"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-uk/strings.xml b/java/com/android/incallui/res/values-uk/strings.xml
index f9105afec..09168001e 100644
--- a/java/com/android/incallui/res/values-uk/strings.xml
+++ b/java/com/android/incallui/res/values-uk/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Поточний дзвінок на робочий телефон через 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Вхідний дзвінок із повідомленням"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Вхідний дзвінок з указанням адреси"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Вхідний дзвінок із фото та повідомленням"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Вхідний дзвінок із фото й адресою"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Вхідний дзвінок з указанням адреси й повідомленням"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Вхідний дзвінок із фото, повідомленням й адресою"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Вхідний дзвінок із вкладеними файлами"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Важливий вхідний дзвінок"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Важливий вхідний дзвінок із фото"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Важливий вхідний дзвінок із повідомленням"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Важливий вхідний дзвінок з адресою"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Важливий вхідний дзвінок із фото та повідомленням"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Важливий вхідний дзвінок із фото й адресою"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Важливий вхідний дзвінок з адресою й повідомленням"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-ur/strings.xml b/java/com/android/incallui/res/values-ur/strings.xml
index c7a11abf6..bf8c8e19c 100644
--- a/java/com/android/incallui/res/values-ur/strings.xml
+++ b/java/com/android/incallui/res/values-ur/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"‏کام سے متعلق جاری 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"پیغام کے ساتھ آنے والی کال"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"مقام کے ساتھ آنے والی کال"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"تصویر اور پیغام کے ساتھ آنے والی کال"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"تصویر اور مقام کے ساتھ آنے والی کال"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"پیغام اور مقام کے ساتھ آنے والی کال"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"تصویر، پیغام اور مقام کے ساتھ آنے والی کال"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"منسلکات کے ساتھ آنے والی کال"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"اہم آنے والی کال"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"تصویر کے ساتھ آنے والی اہم کال"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"پیغام کے ساتھ آنے والی اہم کال"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"مقام کے ساتھ آنے والی اہم کال"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"تصویر اور پیغام کے ساتھ آنے والی اہم کال"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"تصویر اور مقام کے ساتھ آنے والی اہم کال"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"پیغام اور مقام کے ساتھ آنے والی اہم کال"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-uz/strings.xml b/java/com/android/incallui/res/values-uz/strings.xml
index 585f983ac..2577e1947 100644
--- a/java/com/android/incallui/res/values-uz/strings.xml
+++ b/java/com/android/incallui/res/values-uz/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Chiquvchi Wi-Fi ishchi qo‘ng‘irog‘i"</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_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>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Surat va xabarga ega kiruvchi chaqiruv"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Surat va joylash. axborotiga ega kiruvchi chaqiruv"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Xabar va joylash. axborotiga ega kiruvchi chaqiruv"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Surat, xabar va joyl. axbor. ega kiruvchi chaqiruv"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Biriktirmalarga ega kiruvchi chaqiruv"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Muhim kiruvchi chaqiruv"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Suratga ega muhim kiruvchi chaqiruv"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Xabarga ega muhim kiruvchi chaqiruv"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Joylashuv axborotiga ega muhim kiruvchi chaqiruv"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Surat va xabarga ega muhim kiruvchi chaqiruv"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Surat va joy. axborot. ega muhim kiruvchi chaqiruv"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Xabar va joy. axborot. ega muhim kiruvchi chaqiruv"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-vi/strings.xml b/java/com/android/incallui/res/values-vi/strings.xml
index 37ecd58c5..845c9e8dc 100644
--- a/java/com/android/incallui/res/values-vi/strings.xml
+++ b/java/com/android/incallui/res/values-vi/strings.xml
@@ -37,6 +37,23 @@
<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_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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Cuộc gọi đến có tin nhắn"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Cuộc gọi đến có vị trí"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Cuộc gọi đến có ảnh và tin nhắn"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Cuộc gọi đến có ảnh và vị trí"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Cuộc gọi đến có tin nhắn và vị trí"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Cuộc gọi đến có ảnh, tin nhắn và vị trí"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Cuộc gọi đến có tệp đính kèm"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Cuộc gọi đến quan trọng"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Cuộc gọi đến quan trọng có ảnh"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Cuộc gọi đến quan trọng có tin nhắn"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Cuộc gọi đến quan trọng có vị trí"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Cuộc gọi đến quan trọng có ảnh và tin nhắn"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Cuộc gọi đến quan trọng có ảnh và vị trí"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Cuộc gọi đến quan trọng có tin nhắn và vị trí"</string>
+ <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>
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 ceb54d8fd..7168254bf 100644
--- a/java/com/android/incallui/res/values-zh-rCN/strings.xml
+++ b/java/com/android/incallui/res/values-zh-rCN/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"包含信息的来电"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"包含位置信息的来电"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"包含照片和信息的来电"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"包含照片和位置信息的来电"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"包含信息和位置信息的来电"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"包含照片、信息和位置信息的来电"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"包含附件的来电"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"重要来电"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"包含照片的重要来电"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"包含信息的重要来电"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"包含位置信息的重要来电"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"包含照片和信息的重要来电"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"包含照片和位置信息的重要来电"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"包含信息和位置信息的重要来电"</string>
+ <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>
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 1df42af1c..00fe6f385 100644
--- a/java/com/android/incallui/res/values-zh-rHK/strings.xml
+++ b/java/com/android/incallui/res/values-zh-rHK/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"正在進行 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"附有訊息的來電"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"附有位置的來電"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"附有相片和訊息的來電"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"附有相片和位置的來電"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"附有訊息和位置的來電"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"附有相片、訊息和位置的來電"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"附有附件的來電"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"重要來電"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"附有相片的重要來電"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"附有訊息的重要來電"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"附有位置的重要來電"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"附有相片和訊息的重要來電"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"附有相片和位置的重要來電"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"附有訊息和位置的重要來電"</string>
+ <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>
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 2aa43d5d9..c9f4748e5 100644
--- a/java/com/android/incallui/res/values-zh-rTW/strings.xml
+++ b/java/com/android/incallui/res/values-zh-rTW/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"進行中的公司通話 (透過 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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"包含訊息的來電"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"包含位置資訊的來電"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"包含相片和訊息的來電"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"包含相片和位置資訊的來電"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"包含訊息和位置資訊的來電"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"包含相片、訊息和位置資訊的來電"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"包含附件的來電"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"重要來電"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"包含相片的重要來電"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"包含訊息的重要來電"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"包含位置資訊的重要來電"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"包含相片和訊息的重要來電"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"包含相片和位置資訊的重要來電"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"包含訊息和位置資訊的重要來電"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values-zu/strings.xml b/java/com/android/incallui/res/values-zu/strings.xml
index baeeb8e09..7c5b1ab28 100644
--- a/java/com/android/incallui/res/values-zu/strings.xml
+++ b/java/com/android/incallui/res/values-zu/strings.xml
@@ -37,6 +37,23 @@
<string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"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>
+ <string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Ikholi engenayo enomlayezo"</string>
+ <string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Ikholi engenayo enendawo"</string>
+ <string name="notification_incoming_call_with_photo_message" msgid="316806247057497525">"Ikholi engenayo enesithombe nomlayezo"</string>
+ <string name="notification_incoming_call_with_photo_location" msgid="3523930283842222367">"Ikholi engenayo enesithombe nendawo"</string>
+ <string name="notification_incoming_call_with_message_location" msgid="319374298517482028">"Ikholi engenayo enomlayezo nendawo"</string>
+ <string name="notification_incoming_call_with_photo_message_location" msgid="596658237891406809">"Ikholi engenayo enesithombe, umlayezo nendawo"</string>
+ <string name="notification_incoming_call_attachments" msgid="3708414495376236948">"Ikholi engenayo enokunamathiselwe kwi-imeyili"</string>
+ <string name="important_notification_incoming_call" msgid="2867013954509930989">"Ikholi engenayo ebalulekile"</string>
+ <string name="important_notification_incoming_call_with_photo" msgid="4908333121583658560">"Ikholi engenayo ebalulekile enesithombe"</string>
+ <string name="important_notification_incoming_call_with_message" msgid="1614505248246685319">"Ikholi engenayo ebalulekile enomlayezo"</string>
+ <string name="important_notification_incoming_call_with_location" msgid="7387284065036564352">"Ikholi engenayo ebalulekile enendawo"</string>
+ <string name="important_notification_incoming_call_with_photo_message" msgid="4577220919701434817">"Ikholi engenayo ebalulekile enesithombe nomlayezo"</string>
+ <string name="important_notification_incoming_call_with_photo_location" msgid="7172208615619394502">"Ikholi engenayo ebalulekile enesithombe nendawo"</string>
+ <string name="important_notification_incoming_call_with_message_location" msgid="7244079127080064796">"Ikholi engenayo ebalulekile enomlayezo nendawo"</string>
+ <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>
diff --git a/java/com/android/incallui/res/values/strings.xml b/java/com/android/incallui/res/values/strings.xml
index 0b95a9cc6..18d593091 100644
--- a/java/com/android/incallui/res/values/strings.xml
+++ b/java/com/android/incallui/res/values/strings.xml
@@ -86,6 +86,42 @@
<string name="notification_on_hold">On hold</string>
<!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=60] -->
<string name="notification_incoming_call">Incoming call</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=50] -->
+ <string name="notification_incoming_call_with_photo">Incoming call with photo</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=50] -->
+ <string name="notification_incoming_call_with_message">Incoming call with message</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=50] -->
+ <string name="notification_incoming_call_with_location">Incoming call with location</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=50] If can't meet limit, remove "Incoming". If still can't meet, replace with "Incoming call with attachments." -->
+ <string name="notification_incoming_call_with_photo_message">Incoming call with photo and message</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=50] If can't meet limit, remove "Incoming". If still can't meet, replace with "Incoming call with attachments." -->
+ <string name="notification_incoming_call_with_photo_location">Incoming call with photo and location</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=50] If can't meet limit, remove "Incoming". If still can't meet, replace with "Incoming call with attachments." -->
+ <string name="notification_incoming_call_with_message_location">Incoming call with message and location</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=50] If can't meet limit, remove "Incoming". If still can't meet, replace with "Incoming call with attachments." -->
+ <string name="notification_incoming_call_with_photo_message_location">Incoming call with photo, message and location</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=50] -->
+ <string name="notification_incoming_call_attachments">Incoming call with attachments</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=50] -->
+ <string name="important_notification_incoming_call">Important incoming call</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=50] If can't meet limit, remove "Incoming". -->
+ <string name="important_notification_incoming_call_with_photo">Important incoming call with photo</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=50] If can't meet limit, remove "Incoming". -->
+ <string name="important_notification_incoming_call_with_message">Important incoming call with message</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=50] If can't meet limit, remove "Incoming". -->
+ <string name="important_notification_incoming_call_with_location">Important incoming call with location</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=50] If can't meet limit, remove "Incoming". If still can't meet, replace with "Incoming call with attachments." -->
+ <string name="important_notification_incoming_call_with_photo_message">Important incoming call with photo and message</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=50] If can't meet limit, remove "Incoming". If still can't meet, replace with "Incoming call with attachments." -->
+ <string name="important_notification_incoming_call_with_photo_location">Important incoming call with photo and location</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=50] If can't meet limit, remove "Incoming". If still can't meet, replace with "Incoming call with attachments." -->
+ <string name="important_notification_incoming_call_with_message_location">Important incoming call with message and location</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=50] If can't meet limit, remove "Incoming". If still can't meet, replace with "Incoming call with attachments." -->
+ <string name="important_notification_incoming_call_with_photo_message_location">Important incoming call with photo, message and location</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=50] If can't meet limit, remove "Incoming". -->
+ <string name="important_notification_incoming_call_attachments">Important incoming call with attachments</string>
+
+
<!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=60] -->
<string name="notification_incoming_work_call">Incoming work call</string>
<!-- The "label" of the in-call Notification for an incoming ringing call,
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 0882781e7..431a178c2 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
@@ -40,7 +40,7 @@
android:elevation="@dimen/answer_data_elevation"
android:outlineProvider="background"
android:adjustViewBounds="true"
- android:scaleType="fitXY"/>
+ android:scaleType="fitCenter"/>
<ProgressBar
android:layout_width="wrap_content"
diff --git a/java/com/android/incallui/video/impl/CameraPermissionDialogFragment.java b/java/com/android/incallui/video/impl/CameraPermissionDialogFragment.java
index 291fce4a0..9e5ab3c5e 100644
--- a/java/com/android/incallui/video/impl/CameraPermissionDialogFragment.java
+++ b/java/com/android/incallui/video/impl/CameraPermissionDialogFragment.java
@@ -43,9 +43,9 @@ public class CameraPermissionDialogFragment extends DialogFragment {
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
- VideoCallFragment fragment =
+ CameraPermissionDialogCallback fragment =
FragmentUtils.getParentUnsafe(
- CameraPermissionDialogFragment.this, VideoCallFragment.class);
+ CameraPermissionDialogFragment.this, CameraPermissionDialogCallback.class);
fragment.onCameraPermissionGranted();
}
})
@@ -59,4 +59,9 @@ public class CameraPermissionDialogFragment extends DialogFragment {
})
.create();
}
+
+ /** Callback for being granted camera permission. */
+ public interface CameraPermissionDialogCallback {
+ void onCameraPermissionGranted();
+ }
}
diff --git a/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java b/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
index c969fb05a..a65274276 100644
--- a/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
+++ b/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
@@ -19,7 +19,6 @@ package com.android.incallui.video.impl;
import android.Manifest.permission;
import android.content.Context;
import android.content.pm.PackageManager;
-import android.content.res.Resources;
import android.graphics.Point;
import android.graphics.drawable.Animatable;
import android.os.Bundle;
@@ -44,9 +43,8 @@ import android.view.ViewTreeObserver;
import android.view.accessibility.AccessibilityEvent;
import android.view.animation.AccelerateDecelerateInterpolator;
import android.view.animation.Interpolator;
+import android.widget.FrameLayout;
import android.widget.ImageButton;
-import android.widget.ImageView;
-import android.widget.RelativeLayout;
import android.widget.TextView;
import com.android.dialer.common.Assert;
import com.android.dialer.common.FragmentUtils;
@@ -67,6 +65,7 @@ import com.android.incallui.incall.protocol.InCallScreenDelegateFactory;
import com.android.incallui.incall.protocol.PrimaryCallState;
import com.android.incallui.incall.protocol.PrimaryInfo;
import com.android.incallui.incall.protocol.SecondaryInfo;
+import com.android.incallui.video.impl.CameraPermissionDialogFragment.CameraPermissionDialogCallback;
import com.android.incallui.video.impl.CheckableImageButton.OnCheckedChangeListener;
import com.android.incallui.video.protocol.VideoCallScreen;
import com.android.incallui.video.protocol.VideoCallScreenDelegate;
@@ -86,7 +85,8 @@ public class SurfaceViewVideoCallFragment extends Fragment
OnClickListener,
OnCheckedChangeListener,
AudioRouteSelectorPresenter,
- OnSystemUiVisibilityChangeListener {
+ OnSystemUiVisibilityChangeListener,
+ CameraPermissionDialogCallback {
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
static final String ARG_CALL_ID = "call_id";
@@ -112,13 +112,13 @@ public class SurfaceViewVideoCallFragment extends Fragment
private TextView remoteVideoOff;
private View mutePreviewOverlay;
private View previewOffOverlay;
- private ImageView previewOffBlurredImageView;
private View controls;
private View controlsContainer;
private SurfaceView previewSurfaceView;
private SurfaceView remoteSurfaceView;
private View greenScreenBackgroundView;
private View fullscreenBackgroundView;
+ private FrameLayout previewRoot;
private boolean shouldShowRemote;
private boolean shouldShowPreview;
private boolean isInFullscreenMode;
@@ -132,7 +132,8 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public void run() {
if (videoCallScreenDelegate.shouldShowCameraPermissionDialog()) {
- LogUtil.i("VideoCallFragment.cameraPermissionDialogRunnable", "showing dialog");
+ LogUtil.i(
+ "SurfaceViewVideoCallFragment.cameraPermissionDialogRunnable", "showing dialog");
checkCameraPermission();
}
}
@@ -150,7 +151,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- LogUtil.i("VideoCallFragment.onCreate", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.onCreate", null);
inCallButtonUiDelegate =
FragmentUtils.getParent(this, InCallButtonUiDelegateFactory.class)
@@ -165,10 +166,13 @@ public class SurfaceViewVideoCallFragment extends Fragment
int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == CAMERA_PERMISSION_REQUEST_CODE) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- LogUtil.i("VideoCallFragment.onRequestPermissionsResult", "Camera permission granted.");
+ LogUtil.i(
+ "SurfaceViewVideoCallFragment.onRequestPermissionsResult",
+ "Camera permission granted.");
videoCallScreenDelegate.onCameraPermissionGranted();
} else {
- LogUtil.i("VideoCallFragment.onRequestPermissionsResult", "Camera permission denied.");
+ LogUtil.i(
+ "SurfaceViewVideoCallFragment.onRequestPermissionsResult", "Camera permission denied.");
}
}
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
@@ -178,7 +182,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public View onCreateView(
LayoutInflater layoutInflater, @Nullable ViewGroup viewGroup, @Nullable Bundle bundle) {
- LogUtil.i("VideoCallFragment.onCreateView", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.onCreateView", null);
View view =
layoutInflater.inflate(
@@ -201,8 +205,6 @@ public class SurfaceViewVideoCallFragment extends Fragment
cameraOffButton = (CheckableImageButton) view.findViewById(R.id.videocall_mute_video);
cameraOffButton.setOnCheckedChangeListener(this);
previewOffOverlay = view.findViewById(R.id.videocall_video_preview_off_overlay);
- previewOffBlurredImageView =
- (ImageView) view.findViewById(R.id.videocall_preview_off_blurred_image_view);
swapCameraButton = (ImageButton) view.findViewById(R.id.videocall_switch_video);
swapCameraButton.setOnClickListener(this);
view.findViewById(R.id.videocall_switch_controls)
@@ -215,7 +217,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
endCallButton = view.findViewById(R.id.videocall_end_call);
endCallButton.setOnClickListener(this);
previewSurfaceView = (SurfaceView) view.findViewById(R.id.videocall_video_preview);
- previewSurfaceView.setClipToOutline(true);
+ previewSurfaceView.setZOrderMediaOverlay(true);
previewOffOverlay.setOnClickListener(
new OnClickListener() {
@Override
@@ -224,8 +226,20 @@ public class SurfaceViewVideoCallFragment extends Fragment
}
});
remoteSurfaceView = (SurfaceView) view.findViewById(R.id.videocall_video_remote);
+ remoteSurfaceView.setOnClickListener(
+ surfaceView -> {
+ videoCallScreenDelegate.resetAutoFullscreenTimer();
+ if (isInFullscreenMode) {
+ updateFullscreenAndGreenScreenMode(
+ false /* shouldShowFullscreen */, false /* shouldShowGreenScreen */);
+ } else {
+ updateFullscreenAndGreenScreenMode(
+ true /* shouldShowFullscreen */, false /* shouldShowGreenScreen */);
+ }
+ });
greenScreenBackgroundView = view.findViewById(R.id.videocall_green_screen_background);
fullscreenBackgroundView = view.findViewById(R.id.videocall_fullscreen_background);
+ previewRoot = (FrameLayout) view.findViewById(R.id.videocall_preview_root);
// We need the texture view size to be able to scale the remote video. At this point the view
// layout won't be complete so add a layout listener.
@@ -234,7 +248,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
- LogUtil.i("VideoCallFragment.onGlobalLayout", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.onGlobalLayout", null);
updateVideoOffViews();
// Remove the listener so we don't continually re-layout.
ViewTreeObserver observer = remoteSurfaceView.getViewTreeObserver();
@@ -250,7 +264,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public void onViewCreated(View view, @Nullable Bundle bundle) {
super.onViewCreated(view, bundle);
- LogUtil.i("VideoCallFragment.onViewCreated", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.onViewCreated", null);
inCallScreenDelegate =
FragmentUtils.getParentUnsafe(this, InCallScreenDelegateFactory.class)
@@ -283,7 +297,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public void onDestroyView() {
super.onDestroyView();
- LogUtil.i("VideoCallFragment.onDestroyView", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.onDestroyView", null);
inCallButtonUiDelegate.onInCallButtonUiUnready();
inCallScreenDelegate.onInCallScreenUnready();
}
@@ -299,7 +313,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public void onStart() {
super.onStart();
- LogUtil.i("VideoCallFragment.onStart", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.onStart", null);
onVideoScreenStart();
}
@@ -313,20 +327,20 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public void onResume() {
super.onResume();
- LogUtil.i("VideoCallFragment.onResume", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.onResume", null);
inCallScreenDelegate.onInCallScreenResumed();
}
@Override
public void onPause() {
super.onPause();
- LogUtil.i("VideoCallFragment.onPause", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.onPause", null);
}
@Override
public void onStop() {
super.onStop();
- LogUtil.i("VideoCallFragment.onStop", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.onStop", null);
onVideoScreenStop();
}
@@ -337,10 +351,10 @@ public class SurfaceViewVideoCallFragment extends Fragment
}
private void exitFullscreenMode() {
- LogUtil.i("VideoCallFragment.exitFullscreenMode", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.exitFullscreenMode", null);
if (!getView().isAttachedToWindow()) {
- LogUtil.i("VideoCallFragment.exitFullscreenMode", "not attached");
+ LogUtil.i("SurfaceViewVideoCallFragment.exitFullscreenMode", "not attached");
return;
}
@@ -486,9 +500,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
}
private View[] getAllPreviewRelatedViews() {
- return new View[] {
- previewSurfaceView, previewOffOverlay, previewOffBlurredImageView, mutePreviewOverlay,
- };
+ return new View[] {previewRoot};
}
private int getOffsetTop(View view) {
@@ -516,7 +528,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
}
private void enterFullscreenMode() {
- LogUtil.i("VideoCallFragment.enterFullscreenMode", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.enterFullscreenMode", null);
hideSystemUI();
@@ -590,7 +602,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public void onClick(View v) {
if (v == endCallButton) {
- LogUtil.i("VideoCallFragment.onClick", "end call button clicked");
+ LogUtil.i("SurfaceViewVideoCallFragment.onClick", "end call button clicked");
inCallButtonUiDelegate.onEndCallClicked();
videoCallScreenDelegate.resetAutoFullscreenTimer();
} else if (v == swapCameraButton) {
@@ -606,7 +618,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
public void onCheckedChanged(CheckableImageButton button, boolean isChecked) {
if (button == cameraOffButton) {
if (!isChecked && !VideoUtils.hasCameraPermissionAndAllowedByUser(getContext())) {
- LogUtil.i("VideoCallFragment.onCheckedChanged", "show camera permission dialog");
+ LogUtil.i("SurfaceViewVideoCallFragment.onCheckedChanged", "show camera permission dialog");
checkCameraPermission();
} else {
inCallButtonUiDelegate.pauseVideoClicked(isChecked);
@@ -622,14 +634,23 @@ public class SurfaceViewVideoCallFragment extends Fragment
public void showVideoViews(
boolean shouldShowPreview, boolean shouldShowRemote, boolean isRemotelyHeld) {
LogUtil.i(
- "VideoCallFragment.showVideoViews",
+ "SurfaceViewVideoCallFragment.showVideoViews",
"showPreview: %b, shouldShowRemote: %b",
shouldShowPreview,
shouldShowRemote);
+
+ if (this.shouldShowPreview == shouldShowPreview
+ && this.shouldShowRemote == shouldShowRemote
+ && this.isRemotelyHeld == isRemotelyHeld) {
+ return;
+ }
+
this.shouldShowPreview = shouldShowPreview;
this.shouldShowRemote = shouldShowRemote;
this.isRemotelyHeld = isRemotelyHeld;
+ previewSurfaceView.setVisibility(shouldShowPreview ? View.VISIBLE : View.INVISIBLE);
+
videoCallScreenDelegate.setSurfaceViews(previewSurfaceView, remoteSurfaceView);
updateVideoOffViews();
}
@@ -642,31 +663,33 @@ public class SurfaceViewVideoCallFragment extends Fragment
*/
@Override
public void onLocalVideoDimensionsChanged() {
- LogUtil.i("VideoCallFragment.onLocalVideoDimensionsChanged", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.onLocalVideoDimensionsChanged", null);
}
@Override
public void onLocalVideoOrientationChanged() {
- LogUtil.i("VideoCallFragment.onLocalVideoOrientationChanged", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.onLocalVideoOrientationChanged", null);
}
/** Called when the remote video's dimensions change. */
@Override
public void onRemoteVideoDimensionsChanged() {
- LogUtil.i("VideoCallFragment.onRemoteVideoDimensionsChanged", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.onRemoteVideoDimensionsChanged", null);
}
@Override
public void updateFullscreenAndGreenScreenMode(
boolean shouldShowFullscreen, boolean shouldShowGreenScreen) {
LogUtil.i(
- "VideoCallFragment.updateFullscreenAndGreenScreenMode",
+ "SurfaceViewVideoCallFragment.updateFullscreenAndGreenScreenMode",
"shouldShowFullscreen: %b, shouldShowGreenScreen: %b",
shouldShowFullscreen,
shouldShowGreenScreen);
if (getActivity() == null) {
- LogUtil.i("VideoCallFragment.updateFullscreenAndGreenScreenMode", "not attached to activity");
+ LogUtil.i(
+ "SurfaceViewVideoCallFragment.updateFullscreenAndGreenScreenMode",
+ "not attached to activity");
return;
}
@@ -678,7 +701,8 @@ public class SurfaceViewVideoCallFragment extends Fragment
&& shouldShowGreenScreen == isInGreenScreenMode
&& shouldShowFullscreen == isInFullscreenMode) {
LogUtil.i(
- "VideoCallFragment.updateFullscreenAndGreenScreenMode", "no change to screen modes");
+ "SurfaceViewVideoCallFragment.updateFullscreenAndGreenScreenMode",
+ "no change to screen modes");
return;
}
hasInitializedScreenModes = true;
@@ -722,7 +746,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public void showButton(@InCallButtonIds int buttonId, boolean show) {
LogUtil.v(
- "VideoCallFragment.showButton",
+ "SurfaceViewVideoCallFragment.showButton",
"buttonId: %s, show: %b",
InCallButtonIdsExtension.toString(buttonId),
show);
@@ -742,7 +766,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public void enableButton(@InCallButtonIds int buttonId, boolean enable) {
LogUtil.v(
- "VideoCallFragment.setEnabled",
+ "SurfaceViewVideoCallFragment.setEnabled",
"buttonId: %s, enable: %b",
InCallButtonIdsExtension.toString(buttonId),
enable);
@@ -759,7 +783,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public void setEnabled(boolean enabled) {
- LogUtil.v("VideoCallFragment.setEnabled", "enabled: " + enabled);
+ LogUtil.v("SurfaceViewVideoCallFragment.setEnabled", "enabled: " + enabled);
speakerButtonController.setEnabled(enabled);
muteButton.setEnabled(enabled);
cameraOffButton.setEnabled(enabled);
@@ -768,23 +792,25 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public void setHold(boolean value) {
- LogUtil.i("VideoCallFragment.setHold", "value: " + value);
+ LogUtil.i("SurfaceViewVideoCallFragment.setHold", "value: " + value);
}
@Override
public void setCameraSwitched(boolean isBackFacingCamera) {
- LogUtil.i("VideoCallFragment.setCameraSwitched", "isBackFacingCamera: " + isBackFacingCamera);
+ LogUtil.i(
+ "SurfaceViewVideoCallFragment.setCameraSwitched",
+ "isBackFacingCamera: " + isBackFacingCamera);
}
@Override
public void setVideoPaused(boolean isPaused) {
- LogUtil.i("VideoCallFragment.setVideoPaused", "isPaused: " + isPaused);
+ LogUtil.i("SurfaceViewVideoCallFragment.setVideoPaused", "isPaused: " + isPaused);
cameraOffButton.setChecked(isPaused);
}
@Override
public void setAudioState(CallAudioState audioState) {
- LogUtil.i("VideoCallFragment.setAudioState", "audioState: " + audioState);
+ LogUtil.i("SurfaceViewVideoCallFragment.setAudioState", "audioState: " + audioState);
speakerButtonController.setAudioState(audioState);
muteButton.setChecked(audioState.isMuted());
updateMutePreviewOverlayVisibility();
@@ -792,7 +818,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public void updateButtonStates() {
- LogUtil.i("VideoCallFragment.updateButtonState", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.updateButtonState", null);
speakerButtonController.updateButtonState();
switchOnHoldCallController.updateButtonState();
}
@@ -807,26 +833,26 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public void showAudioRouteSelector() {
- LogUtil.i("VideoCallFragment.showAudioRouteSelector", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.showAudioRouteSelector", null);
AudioRouteSelectorDialogFragment.newInstance(inCallButtonUiDelegate.getCurrentAudioState())
.show(getChildFragmentManager(), null);
}
@Override
public void onAudioRouteSelected(int audioRoute) {
- LogUtil.i("VideoCallFragment.onAudioRouteSelected", "audioRoute: " + audioRoute);
+ LogUtil.i("SurfaceViewVideoCallFragment.onAudioRouteSelected", "audioRoute: " + audioRoute);
inCallButtonUiDelegate.setAudioRoute(audioRoute);
}
@Override
public void setPrimary(@NonNull PrimaryInfo primaryInfo) {
- LogUtil.i("VideoCallFragment.setPrimary", primaryInfo.toString());
+ LogUtil.i("SurfaceViewVideoCallFragment.setPrimary", primaryInfo.toString());
contactGridManager.setPrimary(primaryInfo);
}
@Override
public void setSecondary(@NonNull SecondaryInfo secondaryInfo) {
- LogUtil.i("VideoCallFragment.setSecondary", secondaryInfo.toString());
+ LogUtil.i("SurfaceViewVideoCallFragment.setSecondary", secondaryInfo.toString());
if (!isAdded()) {
savedSecondaryInfo = secondaryInfo;
return;
@@ -851,23 +877,23 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public void setCallState(@NonNull PrimaryCallState primaryCallState) {
- LogUtil.i("VideoCallFragment.setCallState", primaryCallState.toString());
+ LogUtil.i("SurfaceViewVideoCallFragment.setCallState", primaryCallState.toString());
contactGridManager.setCallState(primaryCallState);
}
@Override
public void setEndCallButtonEnabled(boolean enabled, boolean animate) {
- LogUtil.i("VideoCallFragment.setEndCallButtonEnabled", "enabled: " + enabled);
+ LogUtil.i("SurfaceViewVideoCallFragment.setEndCallButtonEnabled", "enabled: " + enabled);
}
@Override
public void showManageConferenceCallButton(boolean visible) {
- LogUtil.i("VideoCallFragment.showManageConferenceCallButton", "visible: " + visible);
+ LogUtil.i("SurfaceViewVideoCallFragment.showManageConferenceCallButton", "visible: " + visible);
}
@Override
public boolean isManageConferenceVisible() {
- LogUtil.i("VideoCallFragment.isManageConferenceVisible", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.isManageConferenceVisible", null);
return false;
}
@@ -878,17 +904,17 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public void showNoteSentToast() {
- LogUtil.i("VideoCallFragment.showNoteSentToast", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.showNoteSentToast", null);
}
@Override
public void updateInCallScreenColors() {
- LogUtil.i("VideoCallFragment.updateColors", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.updateColors", null);
}
@Override
public void onInCallScreenDialpadVisibilityChange(boolean isShowing) {
- LogUtil.i("VideoCallFragment.onInCallScreenDialpadVisibilityChange", null);
+ LogUtil.i("SurfaceViewVideoCallFragment.onInCallScreenDialpadVisibilityChange", null);
}
@Override
@@ -908,7 +934,8 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public void showLocationUi(Fragment locationUi) {
- LogUtil.e("VideoCallFragment.showLocationUi", "Emergency video calling not supported");
+ LogUtil.e(
+ "SurfaceViewVideoCallFragment.showLocationUi", "Emergency video calling not supported");
// Do nothing
}
@@ -919,47 +946,17 @@ public class SurfaceViewVideoCallFragment extends Fragment
}
private void enterGreenScreenMode() {
- LogUtil.i("VideoCallFragment.enterGreenScreenMode", null);
- RelativeLayout.LayoutParams params =
- new RelativeLayout.LayoutParams(
- RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
- params.addRule(RelativeLayout.ALIGN_PARENT_START);
- params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
- previewSurfaceView.setLayoutParams(params);
- previewSurfaceView.setOutlineProvider(null);
+ LogUtil.i("SurfaceViewVideoCallFragment.enterGreenScreenMode", null);
updateOverlayBackground();
contactGridManager.setIsMiddleRowVisible(true);
updateMutePreviewOverlayVisibility();
-
- previewOffBlurredImageView.setLayoutParams(params);
- previewOffBlurredImageView.setOutlineProvider(null);
- previewOffBlurredImageView.setClipToOutline(false);
}
private void exitGreenScreenMode() {
- LogUtil.i("VideoCallFragment.exitGreenScreenMode", null);
- Resources resources = getResources();
- RelativeLayout.LayoutParams params =
- new RelativeLayout.LayoutParams(
- (int) resources.getDimension(R.dimen.videocall_preview_width),
- (int) resources.getDimension(R.dimen.videocall_preview_height));
- params.setMargins(
- 0, 0, 0, (int) resources.getDimension(R.dimen.videocall_preview_margin_bottom));
- if (isLandscape()) {
- params.addRule(RelativeLayout.ALIGN_PARENT_END);
- params.setMarginEnd((int) resources.getDimension(R.dimen.videocall_preview_margin_end));
- } else {
- params.addRule(RelativeLayout.ALIGN_PARENT_START);
- params.setMarginStart((int) resources.getDimension(R.dimen.videocall_preview_margin_start));
- }
- params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
- previewSurfaceView.setLayoutParams(params);
+ LogUtil.i("SurfaceViewVideoCallFragment.exitGreenScreenMode", null);
updateOverlayBackground();
contactGridManager.setIsMiddleRowVisible(false);
updateMutePreviewOverlayVisibility();
-
- previewOffBlurredImageView.setLayoutParams(params);
- previewOffBlurredImageView.setClipToOutline(true);
}
private void updateVideoOffViews() {
@@ -1056,9 +1053,17 @@ public class SurfaceViewVideoCallFragment extends Fragment
public void onSystemUiVisibilityChange(int visibility) {
boolean navBarVisible = (visibility & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0;
videoCallScreenDelegate.onSystemUiVisibilityChange(navBarVisible);
+ if (navBarVisible) {
+ updateFullscreenAndGreenScreenMode(
+ false /* shouldShowFullscreen */, false /* shouldShowGreenScreen */);
+ } else {
+ updateFullscreenAndGreenScreenMode(
+ true /* shouldShowFullscreen */, false /* shouldShowGreenScreen */);
+ }
}
- protected void onCameraPermissionGranted() {
+ @Override
+ public void onCameraPermissionGranted() {
videoCallScreenDelegate.onCameraPermissionGranted();
}
diff --git a/java/com/android/incallui/video/impl/VideoCallFragment.java b/java/com/android/incallui/video/impl/VideoCallFragment.java
index e2850ccdf..96059375f 100644
--- a/java/com/android/incallui/video/impl/VideoCallFragment.java
+++ b/java/com/android/incallui/video/impl/VideoCallFragment.java
@@ -75,6 +75,7 @@ import com.android.incallui.incall.protocol.InCallScreenDelegateFactory;
import com.android.incallui.incall.protocol.PrimaryCallState;
import com.android.incallui.incall.protocol.PrimaryInfo;
import com.android.incallui.incall.protocol.SecondaryInfo;
+import com.android.incallui.video.impl.CameraPermissionDialogFragment.CameraPermissionDialogCallback;
import com.android.incallui.video.impl.CheckableImageButton.OnCheckedChangeListener;
import com.android.incallui.video.protocol.VideoCallScreen;
import com.android.incallui.video.protocol.VideoCallScreenDelegate;
@@ -84,6 +85,7 @@ import com.android.incallui.videosurface.protocol.VideoSurfaceTexture;
import com.android.incallui.videotech.utils.VideoUtils;
/** Contains UI elements for a video call. */
+// LINT.IfChange
public class VideoCallFragment extends Fragment
implements InCallScreen,
InCallButtonUi,
@@ -91,7 +93,8 @@ public class VideoCallFragment extends Fragment
OnClickListener,
OnCheckedChangeListener,
AudioRouteSelectorPresenter,
- OnSystemUiVisibilityChangeListener {
+ OnSystemUiVisibilityChangeListener,
+ CameraPermissionDialogCallback {
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
static final String ARG_CALL_ID = "call_id";
@@ -1221,7 +1224,8 @@ public class VideoCallFragment extends Fragment
videoCallScreenDelegate.onSystemUiVisibilityChange(navBarVisible);
}
- protected void onCameraPermissionGranted() {
+ @Override
+ public void onCameraPermissionGranted() {
videoCallScreenDelegate.onCameraPermissionGranted();
}
@@ -1242,3 +1246,4 @@ public class VideoCallFragment extends Fragment
}
}
}
+//LINT.ThenChange(//depot/google3/third_party/java_src/android_app/dialer/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java)
diff --git a/java/com/android/incallui/video/impl/res/layout/frag_videocall_land_surfaceview.xml b/java/com/android/incallui/video/impl/res/layout/frag_videocall_land_surfaceview.xml
index 45a9c3392..4cafd68c6 100644
--- a/java/com/android/incallui/video/impl/res/layout/frag_videocall_land_surfaceview.xml
+++ b/java/com/android/incallui/video/impl/res/layout/frag_videocall_land_surfaceview.xml
@@ -1,32 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<FrameLayout 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"
- android:background="@android:color/black">
+ android:background="@android:color/black"
+ android:keepScreenOn="true">
<SurfaceView
android:id="@+id/videocall_video_remote"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_alignParentStart="true"
- android:layout_alignParentTop="true"
android:importantForAccessibility="no"/>
- <ImageView
- android:id="@+id/videocall_remote_off_blurred_image_view"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_alignParentStart="true"
- android:layout_alignParentTop="true"
- android:scaleType="fitCenter"/>
-
<TextView
android:gravity="center"
android:id="@+id/videocall_remote_video_off"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_centerInParent="true"
+ android:layout_gravity="center"
android:accessibilityTraversalBefore="@+id/videocall_speaker_button"
android:drawablePadding="8dp"
android:drawableTop="@drawable/quantum_ic_videocam_off_white_36"
@@ -40,63 +31,54 @@
android:id="@+id/videocall_fullscreen_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_alignParentBottom="true"
- android:layout_alignParentStart="true"
android:background="@color/videocall_overlay_background_color"/>
- <SurfaceView
- android:id="@+id/videocall_video_preview"
+ <FrameLayout
+ android:id="@+id/videocall_preview_root"
android:layout_width="@dimen/videocall_preview_width"
android:layout_height="@dimen/videocall_preview_height"
+ android:layout_marginBottom="@dimen/videocall_preview_margin_bottom"
android:layout_marginEnd="@dimen/videocall_preview_margin_end"
- android:layout_alignParentBottom="true"
- android:layout_alignParentEnd="true"
- android:importantForAccessibility="no"/>
+ android:background="@android:color/black"
+ android:layout_gravity="bottom|end">
- <ImageView
- android:id="@+id/videocall_preview_off_blurred_image_view"
- android:layout_width="@dimen/videocall_preview_width"
- android:layout_height="@dimen/videocall_preview_height"
- android:layout_marginEnd="@dimen/videocall_preview_margin_end"
- android:layout_alignParentBottom="true"
- android:layout_alignParentEnd="true"
- android:scaleType="center"/>
+ <SurfaceView
+ android:id="@+id/videocall_video_preview"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:importantForAccessibility="no"/>
+
+ <ImageView
+ android:id="@+id/videocall_video_preview_off_overlay"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:scaleType="center"
+ android:src="@drawable/quantum_ic_videocam_off_white_36"
+ 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>
<View
android:id="@+id/videocall_green_screen_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_alignParentBottom="true"
- android:layout_alignParentStart="true"
android:background="@color/videocall_overlay_background_color"/>
- <ImageView
- android:id="@+id/videocall_video_preview_off_overlay"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignBottom="@+id/videocall_video_preview"
- android:layout_alignLeft="@+id/videocall_video_preview"
- android:layout_alignRight="@+id/videocall_video_preview"
- android:layout_alignTop="@+id/videocall_video_preview"
- android:scaleType="center"
- android:src="@drawable/quantum_ic_videocam_off_white_36"
- 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_alignBottom="@+id/videocall_video_preview"
- android:layout_alignRight="@+id/videocall_video_preview"
- 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"/>
-
<include
layout="@layout/videocall_controls_land"
android:layout_width="match_parent"
@@ -108,4 +90,4 @@
android:layout_height="wrap_content"
android:layout_alignParentTop="true"/>
-</RelativeLayout>
+</FrameLayout>
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 1b7a9301a..fa4aaef1c 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
@@ -1,33 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<FrameLayout 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"
android:background="@android:color/black"
- android:orientation="vertical">
+ android:orientation="vertical"
+ android:keepScreenOn="true">
<SurfaceView
android:id="@+id/videocall_video_remote"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_alignParentStart="true"
- android:layout_alignParentTop="true"
android:importantForAccessibility="no"/>
- <ImageView
- android:id="@+id/videocall_remote_off_blurred_image_view"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_alignParentStart="true"
- android:layout_alignParentTop="true"
- android:scaleType="fitCenter"/>
-
<TextView
android:gravity="center"
android:id="@+id/videocall_remote_video_off"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_centerInParent="true"
+ android:layout_gravity="center"
android:accessibilityTraversalBefore="@+id/videocall_speaker_button"
android:drawablePadding="8dp"
android:drawableTop="@drawable/quantum_ic_videocam_off_white_36"
@@ -42,69 +33,57 @@
android:id="@+id/videocall_fullscreen_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_alignParentBottom="true"
- android:layout_alignParentStart="true"
android:background="@color/videocall_overlay_background_color"
tools:visibility="gone"/>
- <SurfaceView
- android:id="@+id/videocall_video_preview"
+ <FrameLayout
+ android:id="@+id/videocall_preview_root"
android:layout_width="@dimen/videocall_preview_width"
android:layout_height="@dimen/videocall_preview_height"
android:layout_marginBottom="@dimen/videocall_preview_margin_bottom"
android:layout_marginStart="@dimen/videocall_preview_margin_start"
- android:layout_alignParentBottom="true"
- android:layout_alignParentStart="true"
- android:importantForAccessibility="no"/>
+ android:background="@android:color/black"
+ android:layout_gravity="bottom|start">
- <ImageView
- android:id="@+id/videocall_preview_off_blurred_image_view"
- android:layout_width="@dimen/videocall_preview_width"
- android:layout_height="@dimen/videocall_preview_height"
- android:layout_marginBottom="@dimen/videocall_preview_margin_bottom"
- android:layout_marginStart="@dimen/videocall_preview_margin_start"
- android:layout_alignParentBottom="true"
- android:layout_alignParentStart="true"
- android:scaleType="center"/>
+ <SurfaceView
+ android:id="@+id/videocall_video_preview"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:importantForAccessibility="no"/>
+
+ <ImageView
+ android:id="@+id/videocall_video_preview_off_overlay"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:scaleType="center"
+ android:src="@drawable/quantum_ic_videocam_off_white_24"
+ android:tint="@color/videocall_camera_off_tint"
+ android:tintMode="src_in"
+ 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>
<View
android:id="@+id/videocall_green_screen_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_alignParentBottom="true"
- android:layout_alignParentStart="true"
android:background="@color/videocall_overlay_background_color"
tools:visibility="gone"/>
- <ImageView
- android:id="@+id/videocall_video_preview_off_overlay"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignBottom="@+id/videocall_video_preview"
- android:layout_alignLeft="@+id/videocall_video_preview"
- android:layout_alignRight="@+id/videocall_video_preview"
- android:layout_alignTop="@+id/videocall_video_preview"
- android:scaleType="center"
- android:src="@drawable/quantum_ic_videocam_off_white_24"
- android:tint="@color/videocall_camera_off_tint"
- android:tintMode="src_in"
- 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_alignBottom="@+id/videocall_video_preview"
- android:layout_alignRight="@+id/videocall_video_preview"
- 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"/>
-
<include
layout="@layout/videocall_controls"
android:layout_width="match_parent"
@@ -114,6 +93,6 @@
android:id="@+id/videocall_on_hold_banner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_alignParentTop="true"/>
+ android:layout_gravity="top"/>
-</RelativeLayout>
+</FrameLayout>
diff --git a/java/com/android/incallui/video/protocol/AndroidManifest.xml b/java/com/android/incallui/video/protocol/AndroidManifest.xml
new file mode 100644
index 000000000..3a1dfb7a9
--- /dev/null
+++ b/java/com/android/incallui/video/protocol/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.incallui.video.protocol">
+ <uses-sdk
+ android:minSdkVersion="23"
+ android:targetSdkVersion="25"/>
+</manifest> \ No newline at end of file
diff --git a/java/com/android/incallui/res/values/config.xml b/java/com/android/incallui/video/protocol/res/values/config.xml
index 0f3c983b7..0f3c983b7 100644
--- a/java/com/android/incallui/res/values/config.xml
+++ b/java/com/android/incallui/video/protocol/res/values/config.xml
diff --git a/java/com/android/incallui/videotech/VideoTech.java b/java/com/android/incallui/videotech/VideoTech.java
index 5ecdc1d56..39998ad4c 100644
--- a/java/com/android/incallui/videotech/VideoTech.java
+++ b/java/com/android/incallui/videotech/VideoTech.java
@@ -24,7 +24,7 @@ import com.android.incallui.videotech.utils.SessionModificationState;
/** Video calling interface. */
public interface VideoTech {
- boolean isAvailable();
+ boolean isAvailable(Context context);
boolean isTransmittingOrReceiving();
@@ -39,7 +39,7 @@ public interface VideoTech {
VideoCallScreenDelegate createVideoCallScreenDelegate(
Context context, VideoCallScreen videoCallScreen);
- void onCallStateChanged(int newState);
+ void onCallStateChanged(Context context, int newState);
@SessionModificationState
int getSessionModificationState();
diff --git a/java/com/android/incallui/videotech/empty/EmptyVideoTech.java b/java/com/android/incallui/videotech/empty/EmptyVideoTech.java
index 58c680935..d0a111d62 100644
--- a/java/com/android/incallui/videotech/empty/EmptyVideoTech.java
+++ b/java/com/android/incallui/videotech/empty/EmptyVideoTech.java
@@ -27,7 +27,7 @@ import com.android.incallui.videotech.utils.SessionModificationState;
public class EmptyVideoTech implements VideoTech {
@Override
- public boolean isAvailable() {
+ public boolean isAvailable(Context context) {
return false;
}
@@ -53,7 +53,7 @@ public class EmptyVideoTech implements VideoTech {
}
@Override
- public void onCallStateChanged(int newState) {}
+ public void onCallStateChanged(Context context, int newState) {}
@Override
public int getSessionModificationState() {
diff --git a/java/com/android/incallui/videotech/ims/ImsVideoTech.java b/java/com/android/incallui/videotech/ims/ImsVideoTech.java
index 8c2ca151a..66a7af58a 100644
--- a/java/com/android/incallui/videotech/ims/ImsVideoTech.java
+++ b/java/com/android/incallui/videotech/ims/ImsVideoTech.java
@@ -43,7 +43,7 @@ public class ImsVideoTech implements VideoTech {
}
@Override
- public boolean isAvailable() {
+ public boolean isAvailable(Context context) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
return false;
}
@@ -81,8 +81,8 @@ public class ImsVideoTech implements VideoTech {
}
@Override
- public void onCallStateChanged(int newState) {
- if (!isAvailable()) {
+ public void onCallStateChanged(Context context, int newState) {
+ if (!isAvailable(context)) {
return;
}
diff --git a/java/com/android/incallui/videotech/lightbringer/LightbringerTech.java b/java/com/android/incallui/videotech/lightbringer/LightbringerTech.java
new file mode 100644
index 000000000..e49d0b84d
--- /dev/null
+++ b/java/com/android/incallui/videotech/lightbringer/LightbringerTech.java
@@ -0,0 +1,146 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.videotech.lightbringer;
+
+import android.content.Context;
+import android.support.annotation.NonNull;
+import android.telecom.Call;
+import com.android.dialer.common.Assert;
+import com.android.dialer.lightbringer.Lightbringer;
+import com.android.dialer.lightbringer.LightbringerListener;
+import com.android.incallui.video.protocol.VideoCallScreen;
+import com.android.incallui.video.protocol.VideoCallScreenDelegate;
+import com.android.incallui.videotech.VideoTech;
+import com.android.incallui.videotech.utils.SessionModificationState;
+
+public class LightbringerTech implements VideoTech, LightbringerListener {
+ private final Lightbringer lightbringer;
+ private final VideoTechListener listener;
+ private final String callingNumber;
+ private int callState = Call.STATE_NEW;
+
+ public LightbringerTech(
+ @NonNull Lightbringer lightbringer,
+ @NonNull VideoTechListener listener,
+ @NonNull String callingNumber) {
+ this.lightbringer = Assert.isNotNull(lightbringer);
+ this.listener = Assert.isNotNull(listener);
+ this.callingNumber = Assert.isNotNull(callingNumber);
+
+ lightbringer.registerListener(this);
+ }
+
+ @Override
+ public boolean isAvailable(Context context) {
+ return callState == Call.STATE_ACTIVE && lightbringer.isReachable(context, callingNumber);
+ }
+
+ @Override
+ public boolean isTransmittingOrReceiving() {
+ return false;
+ }
+
+ @Override
+ public boolean isSelfManagedCamera() {
+ return false;
+ }
+
+ @Override
+ public boolean shouldUseSurfaceView() {
+ return false;
+ }
+
+ @Override
+ public VideoCallScreenDelegate createVideoCallScreenDelegate(
+ Context context, VideoCallScreen videoCallScreen) {
+ throw Assert.createUnsupportedOperationFailException();
+ }
+
+ @Override
+ public void onCallStateChanged(Context context, int newState) {
+ if (newState == Call.STATE_DISCONNECTING) {
+ lightbringer.unregisterListener(this);
+ }
+
+ callState = newState;
+ }
+
+ @Override
+ public int getSessionModificationState() {
+ return SessionModificationState.NO_REQUEST;
+ }
+
+ @Override
+ public void upgradeToVideo() {
+ // TODO: upgrade to a video call
+ }
+
+ @Override
+ public void acceptVideoRequest() {
+ throw Assert.createUnsupportedOperationFailException();
+ }
+
+ @Override
+ public void acceptVideoRequestAsAudio() {
+ throw Assert.createUnsupportedOperationFailException();
+ }
+
+ @Override
+ public void declineVideoRequest() {
+ throw Assert.createUnsupportedOperationFailException();
+ }
+
+ @Override
+ public boolean isTransmitting() {
+ return false;
+ }
+
+ @Override
+ public void stopTransmission() {
+ throw Assert.createUnsupportedOperationFailException();
+ }
+
+ @Override
+ public void resumeTransmission() {
+ throw Assert.createUnsupportedOperationFailException();
+ }
+
+ @Override
+ public void pause() {
+ throw Assert.createUnsupportedOperationFailException();
+ }
+
+ @Override
+ public void unpause() {
+ throw Assert.createUnsupportedOperationFailException();
+ }
+
+ @Override
+ public void setCamera(String cameraId) {
+ throw Assert.createUnsupportedOperationFailException();
+ }
+
+ @Override
+ public void setDeviceOrientation(int rotation) {
+ throw Assert.createUnsupportedOperationFailException();
+ }
+
+ @Override
+ public void onLightbringerStateChanged() {
+ listener.onVideoTechStateChanged();
+ }
+}
diff --git a/java/com/android/voicemail/VoicemailClient.java b/java/com/android/voicemail/VoicemailClient.java
index 6aff164a0..74823384c 100644
--- a/java/com/android/voicemail/VoicemailClient.java
+++ b/java/com/android/voicemail/VoicemailClient.java
@@ -17,6 +17,7 @@
package com.android.voicemail;
import android.content.Context;
+import android.content.Intent;
import android.provider.VoicemailContract.Voicemails;
import android.support.annotation.Nullable;
import android.telecom.PhoneAccountHandle;
@@ -40,6 +41,9 @@ public interface VoicemailClient {
*/
String ACTION_UPLOAD = "com.android.voicemailomtp.VoicemailClient.ACTION_UPLOAD";
+ /** Common key for passing {@link PhoneAccountHandle} in bundles. */
+ String PARAM_PHONE_ACCOUNT_HANDLE = "phone_account_handle";
+
/**
* Appends the selection to ignore voicemails from non-active OMTP voicemail package. In OC there
* can be multiple packages handling OMTP voicemails which represents the same source of truth.
@@ -73,6 +77,19 @@ public interface VoicemailClient {
boolean isVoicemailArchiveEnabled(Context context, PhoneAccountHandle phoneAccountHandle);
+ /**
+ * @return if the voicemail archive feature is available on the current device. This depends on
+ * whether the server side flag is turned on for the feature, and if the OS meets the
+ * requirement for this feature.
+ */
+ boolean isVoicemailArchiveAvailable(Context context);
+
void setVoicemailArchiveEnabled(
Context context, PhoneAccountHandle phoneAccountHandle, boolean value);
+
+ /**
+ * @return an intent that will launch the activity to change the voicemail PIN. The PIN is used
+ * when calling into the mailbox.
+ */
+ Intent getSetPinIntent(Context context, PhoneAccountHandle phoneAccountHandle);
}
diff --git a/java/com/android/voicemail/impl/ActivationTask.java b/java/com/android/voicemail/impl/ActivationTask.java
index aea2b2fa9..c53d3c722 100644
--- a/java/com/android/voicemail/impl/ActivationTask.java
+++ b/java/com/android/voicemail/impl/ActivationTask.java
@@ -34,6 +34,7 @@ import com.android.dialer.logging.nano.DialerImpression;
import com.android.voicemail.impl.protocol.VisualVoicemailProtocol;
import com.android.voicemail.impl.scheduling.BaseTask;
import com.android.voicemail.impl.scheduling.RetryPolicy;
+import com.android.voicemail.impl.settings.VisualVoicemailSettingsUtil;
import com.android.voicemail.impl.sms.StatusMessage;
import com.android.voicemail.impl.sms.StatusSmsFetcher;
import com.android.voicemail.impl.sync.OmtpVvmSyncService;
@@ -131,6 +132,11 @@ public class ActivationTask extends BaseTask {
return;
}
+ if (!VisualVoicemailSettingsUtil.isEnabled(getContext(), phoneAccountHandle)) {
+ VvmLog.i(TAG, "VVM is disabled");
+ return;
+ }
+
OmtpVvmCarrierConfigHelper helper =
new OmtpVvmCarrierConfigHelper(getContext(), phoneAccountHandle);
if (!helper.isValid()) {
diff --git a/java/com/android/voicemail/impl/AndroidManifest.xml b/java/com/android/voicemail/impl/AndroidManifest.xml
index 8c0bd3599..97e397385 100644
--- a/java/com/android/voicemail/impl/AndroidManifest.xml
+++ b/java/com/android/voicemail/impl/AndroidManifest.xml
@@ -15,9 +15,7 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
- package="com.android.voicemailomtp"
- >
+ package="com.android.voicemailomtp">
<application
android:allowBackup="false"
@@ -33,8 +31,7 @@
<receiver
android:name="com.android.voicemail.impl.sms.OmtpMessageReceiver"
- android:exported="false"
- androidprv:systemUserOnly="true">
+ android:exported="false">
<intent-filter>
<action android:name="com.android.vociemailomtp.sms.sms_received"/>
</intent-filter>
@@ -50,8 +47,7 @@
<receiver
android:name="com.android.voicemail.impl.fetch.FetchVoicemailReceiver"
android:exported="true"
- android:permission="com.android.voicemail.permission.READ_VOICEMAIL"
- androidprv:systemUserOnly="true">
+ android:permission="com.android.voicemail.permission.READ_VOICEMAIL">
<intent-filter>
<action android:name="android.intent.action.FETCH_VOICEMAIL"/>
<data
@@ -63,8 +59,7 @@
<receiver
android:name="com.android.voicemail.impl.sync.OmtpVvmSyncReceiver"
android:exported="true"
- android:permission="com.android.voicemail.permission.READ_VOICEMAIL"
- androidprv:systemUserOnly="true">
+ android:permission="com.android.voicemail.permission.READ_VOICEMAIL">
<intent-filter>
<action android:name="android.provider.action.SYNC_VOICEMAIL"/>
</intent-filter>
diff --git a/java/com/android/voicemail/impl/OmtpReceiver.java b/java/com/android/voicemail/impl/OmtpReceiver.java
index b5ee61e75..239a544c4 100644
--- a/java/com/android/voicemail/impl/OmtpReceiver.java
+++ b/java/com/android/voicemail/impl/OmtpReceiver.java
@@ -27,6 +27,7 @@ import com.android.dialer.common.Assert;
import com.android.dialer.logging.Logger;
import com.android.dialer.logging.nano.DialerImpression;
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 */
@@ -63,6 +64,16 @@ public class OmtpReceiver extends BroadcastReceiver {
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");
diff --git a/java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java b/java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java
index 0296d208d..095f00bb7 100644
--- a/java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java
+++ b/java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java
@@ -90,7 +90,7 @@ public class OmtpVvmCarrierConfigHelper {
private PhoneAccountHandle mPhoneAccountHandle;
- public OmtpVvmCarrierConfigHelper(Context context, PhoneAccountHandle handle) {
+ public OmtpVvmCarrierConfigHelper(Context context, @Nullable PhoneAccountHandle handle) {
mContext = context;
mPhoneAccountHandle = handle;
TelephonyManager telephonyManager =
diff --git a/java/com/android/voicemail/impl/VoicemailClientImpl.java b/java/com/android/voicemail/impl/VoicemailClientImpl.java
index b1c301a0a..31a12791c 100644
--- a/java/com/android/voicemail/impl/VoicemailClientImpl.java
+++ b/java/com/android/voicemail/impl/VoicemailClientImpl.java
@@ -15,6 +15,7 @@ package com.android.voicemail.impl;
import android.annotation.TargetApi;
import android.content.Context;
+import android.content.Intent;
import android.os.Build.VERSION_CODES;
import android.provider.VoicemailContract.Status;
import android.provider.VoicemailContract.Voicemails;
@@ -23,9 +24,12 @@ 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.voicemail.VisualVoicemailTypeExtensions;
import com.android.voicemail.VoicemailClient;
import com.android.voicemail.impl.settings.VisualVoicemailSettingsUtil;
+import com.android.voicemail.impl.settings.VoicemailChangePinActivity;
import com.android.voicemail.impl.settings.VoicemailSettingsFragment;
import java.util.List;
import javax.inject.Inject;
@@ -44,6 +48,9 @@ public class VoicemailClientImpl implements VoicemailClient {
*/
private static final String[] OMTP_VOICEMAIL_BLACKLIST = {"com.android.phone"};
+ // Flag name used for configuration
+ private static final String ALLOW_VOICEMAIL_ARCHIVE = "allow_voicemail_archive";
+
private static final String[] OMTP_VOICEMAIL_TYPE = {
TelephonyManager.VVM_TYPE_OMTP,
TelephonyManager.VVM_TYPE_CVVM,
@@ -72,11 +79,36 @@ public class VoicemailClientImpl implements VoicemailClient {
}
@Override
+ public boolean isVoicemailArchiveAvailable(Context context) {
+ if (!BuildCompat.isAtLeastO()) {
+ LogUtil.i("VoicemailClientImpl.isVoicemailArchiveAllowed", "not running on O or later");
+ return false;
+ }
+
+ if (!ConfigProviderBindings.get(context).getBoolean(ALLOW_VOICEMAIL_ARCHIVE, true)) {
+ LogUtil.i(
+ "VoicemailClientImpl.isVoicemailArchiveAllowed",
+ "feature disabled by config: %s",
+ ALLOW_VOICEMAIL_ARCHIVE);
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
public void setVoicemailArchiveEnabled(
Context context, PhoneAccountHandle phoneAccountHandle, boolean value) {
VisualVoicemailSettingsUtil.setArchiveEnabled(context, phoneAccountHandle, value);
}
+ @Override
+ public Intent getSetPinIntent(Context context, PhoneAccountHandle phoneAccountHandle) {
+ Intent intent = new Intent(context, VoicemailChangePinActivity.class);
+ intent.putExtra(VoicemailChangePinActivity.EXTRA_PHONE_ACCOUNT_HANDLE, phoneAccountHandle);
+ return intent;
+ }
+
@TargetApi(VERSION_CODES.O)
@Override
public void appendOmtpVoicemailSelectionClause(
@@ -134,7 +166,7 @@ public class VoicemailClientImpl implements VoicemailClient {
}
where.append(" (");
{
- where.append(Status.SOURCE_TYPE).append(" == ?");
+ where.append(Status.SOURCE_TYPE).append(" IS ?");
selectionArgs.add(OMTP_VOICEMAIL_TYPE[i]);
where.append(")");
}
diff --git a/java/com/android/voicemail/impl/VvmLog.java b/java/com/android/voicemail/impl/VvmLog.java
index 595207f92..6dc4fa6c0 100644
--- a/java/com/android/voicemail/impl/VvmLog.java
+++ b/java/com/android/voicemail/impl/VvmLog.java
@@ -16,6 +16,7 @@
package com.android.voicemail.impl;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.persistentlog.PersistentLogger;
import com.android.voicemail.impl.utils.IndentingPrintWriter;
import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -32,7 +33,7 @@ public class VvmLog {
private static final LocalLog sLocalLog = new LocalLog(MAX_OMTP_VVM_LOGS);
public static void log(String tag, String log) {
- sLocalLog.log(tag + ": " + log);
+ PersistentLogger.logText(tag, log);
}
public static void dump(FileDescriptor fd, PrintWriter printwriter, String[] args) {
diff --git a/java/com/android/voicemail/impl/res/values-af/strings.xml b/java/com/android/voicemail/impl/res/values-af/strings.xml
index d66091349..b209eea0d 100644
--- a/java/com/android/voicemail/impl/res/values-af/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-af/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuele stemboodskap"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Ekstra rugsteun en berging"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Dit is \'n eksperimentele kenmerk"</i></b>" wat ons tans toets. Dit kan potensieel stemboodskappe van jou stemboodskapbediener af uitvee. Daar is geen waarborg dat hierdie kenmerk in die toekoms gesteun sal word nie. Ons sal egter graag terugvoer oor die kenmerk wil hê."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Stel PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Verander PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Stel PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Verander PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Visuele stemboodskap moet geaktiveer wees om PIN te verander"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Visuele stemboodskap is nog nie geaktiveer nie, probeer asseblief later weer"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Ou PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Nuwe PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Wag asseblief."</string>
diff --git a/java/com/android/voicemail/impl/res/values-am/strings.xml b/java/com/android/voicemail/impl/res/values-am/strings.xml
index f4e445ad2..4124de5f7 100644
--- a/java/com/android/voicemail/impl/res/values-am/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-am/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"ምስላዊ የድምፅ መልዕክት"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"ተጨማሪ ምትኬ እና ማከማቻ"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"ይህ የሙከራ ባህሪ ነው"</i></b>" አሁን እየሞከርን ነው። ይህ ምናልባት ከድምፅ መልዕክት አገልጋይዎ ላይ የድምፅ መልዕክቶችን ሊሰርዝ ይችላል። ለወደፊቱ ይህን ባህሪ የመደገፍ ዋስትናዎችም የሉም። ነገር ግን በባህሪው ላይ ግብረመልስ ብናገኝ እንወዳለን።"</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"ፒን ያዘጋጁ"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"ፒን ቀይር"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"ፒን ያዘጋጁ"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"ፒን ይቀይሩ"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"ፒን ለመቀየር የእይታ የድምጽ መልዕክት መንቃት አለበት"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"የእይታ የድምጽ መልዕክት ገና ገቢር አልሆነም፣ እባክዎ ቆይተው እንደገና ይሞክሩ"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"የቀድሞ ፒን"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"አዲስ ፒን"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"እባክዎ ይጠብቁ።"</string>
diff --git a/java/com/android/voicemail/impl/res/values-ar/strings.xml b/java/com/android/voicemail/impl/res/values-ar/strings.xml
index 71ee4f58d..5d6fbba37 100644
--- a/java/com/android/voicemail/impl/res/values-ar/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ar/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"بريد صوتي مرئي"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"نسخة احتياطية وسعة تخزين إضافية"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"هذه الميزة تجريبية"</i></b>" نحن حاليًا في مرحلة اختبار. سيؤدي هذا على الأرجح إلى حذف رسائل البريد الصوتي من خادم البريد الصوتي. لا توجد أي ضمانات بشأن دعم هذه الميزة مستقبلاً. إلا أننا نود الحصول على تعليقات بشأن هذه الميزة."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"تعيين رقم التعريف الشخصي"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"تغيير رقم التعريف الشخصي"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"تعيين رقم التعريف الشخصي"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"تغيير رقم التعريف الشخصي"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"ينبغي تشغيل البريد الصوتي المرئي لتغيير رقم التعريف الشخصي"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"لم يتم تنشيط البريد الصوتي المرئي بعد، الرجاء المحاولة مرة أخرى لاحقًا"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"رقم التعريف الشخصي القديم"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"رقم التعريف الشخصي الجديد"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"يُرجى الانتظار."</string>
diff --git a/java/com/android/voicemail/impl/res/values-az/strings.xml b/java/com/android/voicemail/impl/res/values-az/strings.xml
index 9a6612c13..ce68f9963 100644
--- a/java/com/android/voicemail/impl/res/values-az/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-az/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Görünən Səsli e-poçt"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Əlavə yedəkləmə və yaddaş"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" Bu, hazırda yoxladığımız "<b><i>"eksperimantal funksiyadır"</i></b>". Bununla səsli e-poçt serverindən səsli e-məktublar potensial olaraq silinəcək. Gələcəkdə bu funksiyanın dəstəklənəcəyinə zəmanət verilmir. Lakin funksiya haqqında əks əlaqənizi istərdik."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN ayarlayın"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN-i dəyişin"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN ayarlayın"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN-i dəyişin"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"PIN-i dəyişmək üçün görünən səsli e-poçt aktiv olmalıdır"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Görünən səsli e-poçt hələ aktiv edilməyib, daha sonra yenidən cəhd edin"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Köhnə PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Yeni PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Gözləyin."</string>
diff --git a/java/com/android/voicemail/impl/res/values-be/strings.xml b/java/com/android/voicemail/impl/res/values-be/strings.xml
index 1b6050c24..ea4a00ca0 100644
--- a/java/com/android/voicemail/impl/res/values-be/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-be/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Візуальная галасавая пошта"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Дадатковае рэзервовае капір. і сховішча"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Гэта эксперыментальная характарыстыка"</i></b>", якую мы тэсціруем. Патэнцыяльна яна будзе выдаляць паведамленні галасавой пошты з вашага сервера галасавой пошты. Падтрымка гэтай характарыстыкі ў будучым не гарантуецца. Але мы будзем вельмі ўдзячны за водгукі на гэту характарыстыку."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Задаць PIN-код"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Змяніць PIN-код"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Задаць PIN-код"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Змяніць PIN-код"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Трэба ўключыць візуальную галасавую пошту, каб змяніць PIN-код"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Візуальная галасавая пошта пакуль не актываваная. Паўтарыце спробу пазней"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Стары PIN-код"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Новы PIN-код"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Пачакайце."</string>
diff --git a/java/com/android/voicemail/impl/res/values-bg/strings.xml b/java/com/android/voicemail/impl/res/values-bg/strings.xml
index 267b29622..95cc05f36 100644
--- a/java/com/android/voicemail/impl/res/values-bg/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-bg/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Визуална гласова поща"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Допълнителни резервни копия и хранилище"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Това е експериментална функция"</i></b>", която тестваме понастоящем. Тя потенциално може да изтрие гласови съобщения от сървъра ви за гласова поща. Няма гаранции за поддръжката й в бъдеще. Но ще се радваме на отзиви за нея."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Задаване на ПИН код"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Промяна на ПИН кода"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Задаване на ПИН код"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Промяна на ПИН кода"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"За промяна на ПИН кода трябва да бъде активирана визуалната гласова поща"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Визуалната гласова поща още не е активирана. Моля, опитайте отново по-късно"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Стар ПИН"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Нов ПИН"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Моля, изчакайте."</string>
diff --git a/java/com/android/voicemail/impl/res/values-bn/strings.xml b/java/com/android/voicemail/impl/res/values-bn/strings.xml
index 656958de2..dbbeb4d9f 100644
--- a/java/com/android/voicemail/impl/res/values-bn/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-bn/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"ভিজ্যুয়াল ভয়েসমেল"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"অতিরিক্ত ব্যাক আপ এবং সঞ্চয়স্থান"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"এটি একটি পরীক্ষামূলক বৈশিষ্ট্য"</i></b>" যা আমরা বর্তমানে পরীক্ষা করছি। এটি সম্ভবত আপনার ভয়েসমেল সার্ভার থেকে ভয়েসমেলগুলি মুছবে। যদিও ভবিষ্যতে এই বৈশিষ্ট্যতে সমর্থন পাওয়ার কোন গ্যারান্টি নেই। যদিও আমরা এই বৈশিষ্ট্যটির উপর মতামত পেলে খুব খুশি হব।"</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN সেট করুন"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN পরিবর্তন করুন"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"পিন সেট করুন"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"পিন পরিবর্তন করুন"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"পিন পরিবর্তন করতে ভিজ্যুয়াল ভয়েসমেল অবশ্যই সক্ষম করতে হবে"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"ভিজ্যুয়াল ভয়েসমেল এখনও সক্রিয় করা হয়নি, অনুগ্রহ করে পরে আবার চেষ্টা করুন"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"পুরোনো PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"নতুন PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"অনুগ্রহ করে অপেক্ষা করুন৷"</string>
diff --git a/java/com/android/voicemail/impl/res/values-bs/strings.xml b/java/com/android/voicemail/impl/res/values-bs/strings.xml
index 89379b179..6d2b5b30c 100644
--- a/java/com/android/voicemail/impl/res/values-bs/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-bs/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vizuelna govorna pošta"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Dodatna sigurnosna kopija i pohrana"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Ovo je eksperimentalna funkcija"</i></b>" koju trenutno testiramo. Moguće je da ova radnja izbriše poruke govorne pošte sa servera govorne pošte. Nema garancije da će ova funkcija biti podržana u budućnosti. Ipak bismo željeli primiti povratne informacije o funkciji."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Postavite PIN kod"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Promijenite PIN kod"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Postavite PIN kôd"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Promijenite PIN kôd"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Vizuelna govorna pošta mora biti omogućena za promjenu PIN kôda"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Vizuelna govorna pošta još uvijek nije aktivirana, pokušajte ponovo kasnije"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Stari PIN kod"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Novi PIN kod"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Pričekajte."</string>
diff --git a/java/com/android/voicemail/impl/res/values-ca/strings.xml b/java/com/android/voicemail/impl/res/values-ca/strings.xml
index 024aa50a8..bbac25294 100644
--- a/java/com/android/voicemail/impl/res/values-ca/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ca/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Bústia de veu visual"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Còpia de seguretat addicional i emmagatz."</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Aquesta funció està en mode de prova"</i></b>" i és possible que suprimeixi els missatges de veu del servidor de la bústia. No podem garantir-ne la continuïtat en el futur. De tota manera, ens agradaria saber què en penses."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Defineix el PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Canvia el PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Defineix el PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Canvia el PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"La bústia de veu visual ha d\'estar activada per poder canviar el PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"La bústia de veu visual encara no està activada. Torna-ho a provar més tard."</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"PIN antic"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"PIN nou"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Espera."</string>
diff --git a/java/com/android/voicemail/impl/res/values-cs/strings.xml b/java/com/android/voicemail/impl/res/values-cs/strings.xml
index 67fca607d..fb6be6cf4 100644
--- a/java/com/android/voicemail/impl/res/values-cs/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-cs/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vizuální hlasová schránka"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Další zálohování a úložiště"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Toto je experimentální funkce"</i></b>", kterou právě testujeme. Funkce vám může smazat hlasové zprávy ze serveru hlasové schránky. Nemůžeme zaručit, že bude podporována i v budoucnu, budeme vám ale vděční za zpětnou vazbu."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Nastavit kód PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Změnit kód PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Nastavit kód PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Změnit kód PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Pokud chcete kód PIN změnit, musíte mít zapnutou vizuální hlasovou schránku"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Vizuální hlasová schránka zatím není aktivovaná, zkuste to prosím znovu později"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Starý kód PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Nový kód PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Čekejte prosím."</string>
diff --git a/java/com/android/voicemail/impl/res/values-da/strings.xml b/java/com/android/voicemail/impl/res/values-da/strings.xml
index e3caca4b6..760c3bc39 100644
--- a/java/com/android/voicemail/impl/res/values-da/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-da/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuel telefonsvarer"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Ekstra sikkerhedskopiering og lagerplads"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Dette er en eksperimental funktion,"</i></b>" som vi tester i øjeblikket. Der slettes måske talebeskeder fra din telefonsvarerserver. Der er ingen garanti for, at denne funktion understøttes fremover. Vi vil dog stadig gerne have feedback om funktionen."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Angiv pinkode"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Skift pinkode"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Angiv pinkode"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Skift pinkode"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Visuel telefonsvarer skal være aktiveret, for at du kan skifte pinkode"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Visuel telefonsvarer er ikke aktiveret endnu. Prøv igen senere"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Nuværende pinkode"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Ny pinkode"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Vent et øjeblik."</string>
diff --git a/java/com/android/voicemail/impl/res/values-de/strings.xml b/java/com/android/voicemail/impl/res/values-de/strings.xml
index f01a32507..bc5c70f5e 100644
--- a/java/com/android/voicemail/impl/res/values-de/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-de/strings.xml
@@ -24,9 +24,11 @@
<string name="voicemail_advanced_settings_title" msgid="6390900339808156711">"Erweiterte Einstellungen"</string>
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuelle Mailbox"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Zusätzliche Sicherung und mehr Speicher"</string>
- <string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Dies ist eine Funktion im Versuchsstadium"</i></b>", die gerade getestet wird. Hiermit werden möglicherweise Mailbox-Nachrichten von deinem Mailbox-Server gelöscht. Es wird nicht garantiert, dass diese Funktion auch in Zukunft unterstützt wird. Wir würden uns aber sehr über Feedback dazu freuen."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN festlegen"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN ändern"</string>
+ <string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Dies ist eine Funktion im Versuchsstadium"</i></b>", die gerade getestet wird. Hiermit werden möglicherweise Mailboxnachrichten von deinem Mailbox-Server gelöscht. Es wird nicht garantiert, dass diese Funktion auch in Zukunft unterstützt wird. Wir würden uns aber sehr über Feedback dazu freuen."</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN festlegen"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN ändern"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Die visuelle Mailbox muss aktiviert sein, um die PIN zu ändern"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Die visuelle Mailbox wurde noch nicht aktiviert, bitte versuche es später noch einmal"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Alte PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Neue PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Bitte warten."</string>
diff --git a/java/com/android/voicemail/impl/res/values-el/strings.xml b/java/com/android/voicemail/impl/res/values-el/strings.xml
index 71d55412e..a416936b9 100644
--- a/java/com/android/voicemail/impl/res/values-el/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-el/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Οπτικός αυτόματος τηλεφωνητής"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Επιπλέον αντίγραφα ασφ. και αποθήκευση"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Αυτή είναι μια πειραματική λειτουργία"</i></b>" που δοκιμάζουμε προς το παρόν. Ενδέχεται να έχει ως αποτέλεσμα τη διαγραφή φωνητικών μηνυμάτων από τον διακομιστή αυτόματου τηλεφωνητή σας. Δεν παρέχονται εγγυήσεις για την υποστήριξη αυτής της λειτουργίας μελλοντικά. Ωστόσο, θα εκτιμούσαμε τα σχόλιά σας για τη λειτουργία αυτή."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Ορισμός PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Αλλαγή κωδικού PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Ορισμός PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Αλλαγή κωδικού PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Για αλλαγή του PIN, ενεργοποιήστε τον οπτικό αυτόματο τηλεφωνητή"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Ο οπτικός αυτόματος τηλεφωνητής δεν έχει ενεργοποιηθεί ακόμα. Δοκιμάστε ξανά αργότερα."</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Παλιός αριθμός PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Νέος αριθμός PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Περιμένετε."</string>
diff --git a/java/com/android/voicemail/impl/res/values-en-rAU/strings.xml b/java/com/android/voicemail/impl/res/values-en-rAU/strings.xml
index cbbd44add..9b6484b45 100644
--- a/java/com/android/voicemail/impl/res/values-en-rAU/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-en-rAU/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visual voicemail"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Extra backup and storage"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"This is an experimental feature"</i></b>" that we are currently testing. This will potentially delete voicemail from your voicemail server. There are no guarantees that this feature will be supported in the future. We would love feedback on the feature though."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Set PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Change PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Set PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Change PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Visual voicemail must be enabled to change PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Visual voicemail is not activated yet. Please try again later"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Old PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"New PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Please wait."</string>
diff --git a/java/com/android/voicemail/impl/res/values-en-rGB/strings.xml b/java/com/android/voicemail/impl/res/values-en-rGB/strings.xml
index cbbd44add..9b6484b45 100644
--- a/java/com/android/voicemail/impl/res/values-en-rGB/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-en-rGB/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visual voicemail"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Extra backup and storage"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"This is an experimental feature"</i></b>" that we are currently testing. This will potentially delete voicemail from your voicemail server. There are no guarantees that this feature will be supported in the future. We would love feedback on the feature though."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Set PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Change PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Set PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Change PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Visual voicemail must be enabled to change PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Visual voicemail is not activated yet. Please try again later"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Old PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"New PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Please wait."</string>
diff --git a/java/com/android/voicemail/impl/res/values-en-rIN/strings.xml b/java/com/android/voicemail/impl/res/values-en-rIN/strings.xml
index cbbd44add..9b6484b45 100644
--- a/java/com/android/voicemail/impl/res/values-en-rIN/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-en-rIN/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visual voicemail"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Extra backup and storage"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"This is an experimental feature"</i></b>" that we are currently testing. This will potentially delete voicemail from your voicemail server. There are no guarantees that this feature will be supported in the future. We would love feedback on the feature though."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Set PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Change PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Set PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Change PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Visual voicemail must be enabled to change PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Visual voicemail is not activated yet. Please try again later"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Old PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"New PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Please wait."</string>
diff --git a/java/com/android/voicemail/impl/res/values-es-rUS/strings.xml b/java/com/android/voicemail/impl/res/values-es-rUS/strings.xml
index 68071da62..6ae227a81 100644
--- a/java/com/android/voicemail/impl/res/values-es-rUS/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-es-rUS/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Buzón de voz visual"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Copia de seguridad y almacenamiento adicional"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Esta es una función experimental"</i></b>" que estamos probando. Es posible que se borren los mensajes de voz del servidor correspondiente. No podemos garantizar la compatibilidad de la función en el futuro. Sin embargo, nos encantaría que nos hicieras comentarios acerca de ella."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Establecer PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Cambiar PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Establecer PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Cambiar PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"El buzón de voz visual se debe activar para cambiar el PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"El buzón de voz visual aún no está activado. Vuelve a intentarlo más tarde."</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"PIN anterior"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"PIN nuevo"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Espera."</string>
diff --git a/java/com/android/voicemail/impl/res/values-es/strings.xml b/java/com/android/voicemail/impl/res/values-es/strings.xml
index 0754825ee..bab4e0326 100644
--- a/java/com/android/voicemail/impl/res/values-es/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-es/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Buzón de voz visual"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Copias de seguridad y almacenamiento extra"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Se trata de una función experimental"</i></b>" que se encuentra actualmente en fase de prueba y que podría servir para eliminar los mensajes de tu servidor de buzón de voz. Aunque no garantizamos que esta función se siga admitiendo en el futuro, nos encantaría conocer tu opinión."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Establecer PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Cambiar PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Establecer PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Cambiar PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Para poder cambiar el PIN, el buzón de voz visual debe estar habilitado"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"El buzón de voz visual aún no está activado; inténtalo de nuevo más tarde"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"PIN antiguo"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"PIN nuevo"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Espera..."</string>
diff --git a/java/com/android/voicemail/impl/res/values-et/strings.xml b/java/com/android/voicemail/impl/res/values-et/strings.xml
index cecd7b61c..02f13145d 100644
--- a/java/com/android/voicemail/impl/res/values-et/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-et/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuaalne kõnepost"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Lisavarundus ja -salvestusruum"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"See on katseline funktsioon"</i></b>", mida praegu testime. See võib teie kõnepostisõnumid kõnepostiserverist kustutada. Me ei garanteeri, et seda funktsiooni tulevikus toetatakse. Soovime selle kohta siiski tagasisidet saada."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN-koodi määramine"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN-koodi muutmine"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN-koodi määramine"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN-koodi muutmine"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"PIN-koodi muutmiseks peab olema lubatud visuaalne kõnepost"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Visuaalne kõnepost pole veel aktiveeritud, proovige hiljem uuesti"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Vana PIN-kood"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Uus PIN-kood"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Oodake."</string>
diff --git a/java/com/android/voicemail/impl/res/values-eu/strings.xml b/java/com/android/voicemail/impl/res/values-eu/strings.xml
index 1a3f88948..89afb830c 100644
--- a/java/com/android/voicemail/impl/res/values-eu/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-eu/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Erantzungailu bisuala"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Babeskopiak eta edukia gordetzeko tokia"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" Oraindik probatzen ari garen "<b><i>"eginbide esperimentala da hau"</i></b>". Agian erantzungailuaren zerbitzarian gordetako mezuak ezabatuko dira. Ez dugu bermatzen egibide hau etorkizunean erabiltzeko aukera emango dugunik. Halere, bihotzez eskertuko genizuke eginbideari buruzko iritzia."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Ezarri PIN kodea"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Aldatu PIN kodea"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Ezarri PIN kodea"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Aldatu PIN kodea"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Ikusizko erantzungailuak gaituta egon behar du PIN kodea aldatu ahal izateko"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Oraindik ez dago aktibatuta ikusizko erantzungailua. Saiatu berriro geroago."</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"PIN zaharra"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"PIN berria"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Itxaron, mesedez."</string>
diff --git a/java/com/android/voicemail/impl/res/values-fa/strings.xml b/java/com/android/voicemail/impl/res/values-fa/strings.xml
index 46955e9d8..3db711b34 100644
--- a/java/com/android/voicemail/impl/res/values-fa/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-fa/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"پست صوتی تصویری"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"پشتیبان‌گیری و فضای ذخیره‌سازی اضافی"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"این یک قابلیت آزمایشی است"</i></b>" که درحال آزمایش آن هستیم. این قابلیت به‌طور بالقوه پست‌های صوتی را از سرور پست صوتی شما حذف خواهد کرد. ضمانتی برای پشتیبانی از این قابلیت در آینده وجود ندارد. با این حال مشتاقیم درباره آن بازخورد دریافت کنیم."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"تنظیم پین"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"تغییر پین"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"تنظیم پین"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"تغییر پین"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"برای تغییر پین، پست صوتی تصویری باید فعال شود"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"پست صوتی تصویری هنوز فعال نشده است، لطفاً بعداً دوباره امتحان کنید"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"پین قدیمی"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"پین جدید"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"لطفاً منتظر بمانید."</string>
diff --git a/java/com/android/voicemail/impl/res/values-fi/strings.xml b/java/com/android/voicemail/impl/res/values-fi/strings.xml
index d7ede4e42..36f5fff5d 100644
--- a/java/com/android/voicemail/impl/res/values-fi/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-fi/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuaalinen vastaaja"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Lisävarmuuskopiointi ja ‑tallennustila"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Tämä on kokeellinen ominaisuus"</i></b>", jota testaamme parhaillaan. Vastaajaviestejä saatetaan poistaa vastaajapalvelimelta. Ominaisuuden tukemista tulevaisuudessa ei taata. Kuulemme kuitenkin mielellämme mielipiteesi ominaisuudesta."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Aseta PIN-koodi"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Vaihda PIN-koodi"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Aseta PIN-koodi"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Vaihda PIN-koodi"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Ota visuaalinen puhelinvastaaja käyttöön, jotta voit vaihtaa PIN-koodin."</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Visuaalista puhelinvastaajaa ei ole vielä aktivoitu. Yritä myöhemmin uudelleen."</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Vanha PIN-koodi"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Uusi PIN-koodi"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Odota."</string>
diff --git a/java/com/android/voicemail/impl/res/values-fr-rCA/strings.xml b/java/com/android/voicemail/impl/res/values-fr-rCA/strings.xml
index b4efb14d9..2c9a11a93 100644
--- a/java/com/android/voicemail/impl/res/values-fr-rCA/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-fr-rCA/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Messagerie vocale visuelle"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Espace suppl. de sauvegarde et stockage"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Fonction expérimentale"</i></b>" en cours de test."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Définir un NIP"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Modifier le NIP"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Définir un NIP"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Modifier le NIP"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"La messagerie vocale visuelle doit être activée pour que vous puissiez modifier votre NIP"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"La messagerie vocale visuelle n\'a pas encore été activée. Veuillez réessayer plus tard"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Ancien NIP"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Nouveau NIP"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Veuillez patienter."</string>
diff --git a/java/com/android/voicemail/impl/res/values-fr/strings.xml b/java/com/android/voicemail/impl/res/values-fr/strings.xml
index 506ebf634..391671c2e 100644
--- a/java/com/android/voicemail/impl/res/values-fr/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-fr/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Messagerie vocale visuelle"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Espace suppl. de sauvegarde et stockage"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Il s\'agit d\'une fonctionnalité expérimentale"</i></b>" en cours de test. Des messages risquent d\'être supprimés de votre serveur de messagerie vocale. Nous ne pouvons pas garantir le maintien de cette fonctionnalité. Toutefois, n\'hésitez pas à nous faire part de vos commentaires."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Définir le code"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Modifier le code"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Définir le code secret"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Modifier le code secret"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Pour que vous puissiez modifier le code secret, la messagerie vocale visuelle doit être activée"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"La messagerie vocale visuelle n\'est pas encore activée. Veuillez réessayer plus tard"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Ancien code"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Nouveau code"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Veuillez patienter."</string>
diff --git a/java/com/android/voicemail/impl/res/values-gl/strings.xml b/java/com/android/voicemail/impl/res/values-gl/strings.xml
index 30d12badc..70b949e6c 100644
--- a/java/com/android/voicemail/impl/res/values-gl/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-gl/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Correo de voz visual"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Copia de seguranza e almacenamento extra"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Esta función está en modo de proba"</i></b>", e é posible que elimine correos de voz do teu servidor de correo de voz. Non podemos garantir a súa continuidade no futuro. De todos modos, encantaríanos que nos deses a túa opinión."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Establecer PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Cambiar PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Establecer PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Cambiar PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Para poder cambiar o PIN, o correo de voz visual ten que estar activado"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"O correo de voz visual aínda non está activado. Téntao de novo máis tarde"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"PIN antigo"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"PIN novo"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Agarda."</string>
diff --git a/java/com/android/voicemail/impl/res/values-gu/strings.xml b/java/com/android/voicemail/impl/res/values-gu/strings.xml
index 9109f5580..f9187a7d3 100644
--- a/java/com/android/voicemail/impl/res/values-gu/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-gu/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"વિઝ્યુઅલ વૉઇસમેઇલ"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"અતિરિક્ત બેકઅપ અને સ્ટોરેજ"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"આ એક પ્રાયોગિક સુવિધા છે"</i></b>" અમે હાલમાં પરીક્ષણ કરી રહ્યાં છીએ. આ તમારા વૉઇસમેઇલ સર્વરમાંથી સંભવિત રૂપે વૉઇસમેઇલ કાઢી નાખશે. ભવિષ્યમાં આ સુવિધાનું સમર્થન કરવાની કોઇ બાંંયધરી નથી. જોકે અમને આ સુવિધા પર પ્રતિસાદ ગમશે."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN સેટ કરો"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN બદલો"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN સેટ કરો"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN બદલો"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"PIN બદલવા માટે વિઝ્યુઅલ વૉઇસમેઇલ સક્ષમ હોય તે આવશ્યક છે"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"વિઝ્યુઅલ વૉઇસમેઇલ હજુ સુધી સક્રિય નથી, કૃપા કરીને પછીથી ફરી પ્રયાસ કરો"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"જૂનો PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"નવો PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"કૃપા કરીને રાહ જુઓ."</string>
diff --git a/java/com/android/voicemail/impl/res/values-hi/strings.xml b/java/com/android/voicemail/impl/res/values-hi/strings.xml
index 881353598..488fba2a9 100644
--- a/java/com/android/voicemail/impl/res/values-hi/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-hi/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"विज़ुअल वॉइसमेल"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"अतिरिक्त बैकअप और जगह"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"यह सुविधा एक तरह का प्रयोग है"</i></b>" जिसका हम अभी परीक्षण कर रहे हैं. हो सकता है कि यह आपके वॉइसमेल सर्वर से वॉइसमेल हटा दे. भविष्य में यह सुविधा दी जाएगी या नहीं इसकी कोई गारंटी नहीं है. फिर भी सुविधा पर आपका फ़ीडबैक हमें अच्छा लगेगा."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"पिन सेट करें"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"पिन बदलें"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"पिन सेट करें"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"पिन बदलें"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"पिन बदलने के लिए विज़ुअल वॉइसमेल ज़रूर सक्षम होना चाहिए"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"विज़ुअल वॉइसमेल को अभी तक सक्रिय नहीं किया गया है, कृपया बाद में फिर से कोशिश करें"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"पुराना पिन"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"नया पिन"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"कृपया प्रतीक्षा करें."</string>
diff --git a/java/com/android/voicemail/impl/res/values-hr/strings.xml b/java/com/android/voicemail/impl/res/values-hr/strings.xml
index fec2a1e31..7d6695653 100644
--- a/java/com/android/voicemail/impl/res/values-hr/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-hr/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vizualna govorna pošta"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Dodatno sigurnosno kopiranje i pohrana"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Ovo je eksperimentalna značajka"</i></b>" koju trenutačno testiramo. To će možda izbrisati poruke govorne pošte s vašeg poslužitelja govorne pošte. Nije sigurno da ćemo ovu značajku podržati u budućnosti. Međutim, voljeli bismo dobiti povratne informacije o njoj."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Postavljanje PIN-a"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Promjena PIN-a"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Postavljanje PIN-a"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Promjena PIN-a"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Za promjenu PIN-a potrebno je omogućiti vizualnu govornu poštu"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Vizualna govorna pošta još nije aktivirana, pokušajte ponovno kasnije"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Stari PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Novi PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Pričekajte."</string>
diff --git a/java/com/android/voicemail/impl/res/values-hu/strings.xml b/java/com/android/voicemail/impl/res/values-hu/strings.xml
index 2162bf3ae..fae3ef4c7 100644
--- a/java/com/android/voicemail/impl/res/values-hu/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-hu/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vizuális hangpostaüzenet"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Extra tárhely és biztonsági mentés"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Ez egy kísérleti funkció"</i></b>", amelyet jelenleg tesztelünk. Előfordulhat, hogy letörli az Ön hangüzeneteit a hangpostaszerverről. Nem garantáljuk, hogy a funkció a jövőben is megmarad, de nagy örömmel vennénk, ha megírná róla a véleményét."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN-kód beállítása"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN-kód módosítása"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN-kód beállítása"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN-kód módosítása"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"A PIN-kód módosításához engedélyezni kell a vizuális hangpostát."</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"A vizuális hangposta még nincs aktiválva. Engedélyezze később."</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Régi PIN-kód"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Új PIN-kód"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Kérjük, várjon."</string>
diff --git a/java/com/android/voicemail/impl/res/values-hy/strings.xml b/java/com/android/voicemail/impl/res/values-hy/strings.xml
index 5e1f61b5b..e4126f877 100644
--- a/java/com/android/voicemail/impl/res/values-hy/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-hy/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Տեսողական ձայնային փոստ"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Լրացուցիչ տարածք և պահուստավորում"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Սա փորձնական գործառույթ է,"</i></b>" որը գտնվում է փորձարկման փուլում: Այս ընթացքում ձայնային հաղորդագրությունները ձեր ձայնային փոստի սերվերից կարող են ջնջվել: Ոչ մի երաշխիք չկա, որ այն հետագայում կաջակցվի: Այդուհանդերձ, կցանկանայինք ձեր կարծիքն իմանալ այս գործառույթի մասին:"</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Սահմանեք PIN կոդ"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Փոխեք PIN կոդը"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Սահմանեք PIN կոդ"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Փոխեք PIN կոդը"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"PIN կոդը փոխելու համար տեսողական ձայնային փոստը պետք է միացված լինի"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Տեսողական ձայնային փոստը դեռ ակտիվացված չէ: Փորձեք ավելի ուշ:"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Հին PIN կոդ"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Նոր PIN կոդ"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Սպասեք:"</string>
diff --git a/java/com/android/voicemail/impl/res/values-in/strings.xml b/java/com/android/voicemail/impl/res/values-in/strings.xml
index dac859d40..d47bd9b9b 100644
--- a/java/com/android/voicemail/impl/res/values-in/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-in/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Pesan Suara Visual"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Penyimpanan dan backup ekstra"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Ini adalah fitur eksperimental"</i></b>" yang sedang kami uji. Fitur ini berpotensi menghapus pesan suara dari server pesan suara Anda. Tidak ada jaminan bahwa fitur ini akan didukung di masa mendatang. Kami akan menerima masukan terkait fitur ini dengan senang hati."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Setel PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Ubah PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Setel PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Ubah PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Pesan suara visual harus diaktifkan untuk mengubah PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Pesan suara visual belum diaktifkan, coba lagi nanti"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"PIN lama"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"PIN Baru"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Mohon tunggu."</string>
diff --git a/java/com/android/voicemail/impl/res/values-is/strings.xml b/java/com/android/voicemail/impl/res/values-is/strings.xml
index 18a73c417..c2019a3f5 100644
--- a/java/com/android/voicemail/impl/res/values-is/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-is/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Myndrænt talhólf"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Viðbótaröryggisafritun og samstilling"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Þessi eiginleiki er í tilraunaútgáfu"</i></b>" sem við erum að prófa að svo stöddu. Þetta mun mögulega eyða talhólfsskilaboðum af vefþjóni talhólfsins. Engin trygging er fyrir því að þessi eiginleiki verði studdur í framtíðinni. Við kunnum virkilega að meta allar ábendingar varðandi þennan eiginleika."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Stilla PIN-númer"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Breyta PIN-númeri"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Stilla PIN-númer"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Breyta PIN-númeri"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Kveikt þarf að vera á myndrænu talhólfi til að breyta PIN-númeri"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Ekki er búið að virkja myndrænt talhólf. Reyndu aftur síðar"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Gamla PIN-númerið"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Nýtt PIN-númer"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Augnablik."</string>
diff --git a/java/com/android/voicemail/impl/res/values-it/strings.xml b/java/com/android/voicemail/impl/res/values-it/strings.xml
index c731d48b0..3aeaca901 100644
--- a/java/com/android/voicemail/impl/res/values-it/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-it/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Leggi la segreteria"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Archiviazione supplementare e backup"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Questa è una funzionalità sperimentale"</i></b>" che si trova al momento in fase di test. È possibile che i messaggi vocali vengano eliminati dal server della segreteria. Non ci sono garanzie che la funzionalità continui a essere supportata in futuro, ma ci piacerebbe ricevere il tuo feedback."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Imposta PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Cambia PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Imposta PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Cambia PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"La lettura delle segreteria deve essere attivata per cambiare il PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Lettura della segreteria non attivata. Riprova più tardi"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"PIN attuale"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Nuovo PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Attendi."</string>
diff --git a/java/com/android/voicemail/impl/res/values-iw/strings.xml b/java/com/android/voicemail/impl/res/values-iw/strings.xml
index 9532eeb29..98d31bc59 100644
--- a/java/com/android/voicemail/impl/res/values-iw/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-iw/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"דואר קולי ויזואלי"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"גיבוי ופינוי מקום"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"זוהי תכונה ניסיונית"</i></b>" שאנחנו בודקים כרגע. היא עלולה למחוק הודעות קוליות מתא הדואר הקולי שלך בשרת. אנחנו לא מתחייבים שהתכונה תהיה זמינה בעתיד, אך נשמח לקבל עליה משוב."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"הגדרת קוד גישה"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"שינוי קוד הגישה"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"הגדרת קוד גישה"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"שינוי קוד הגישה"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"צריך להפעיל את הדואר הקולי הוויזואלי כדי לשנות את קוד הגישה"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"הדואר הקולי הוויזואלי לא הופעל עדיין. נסה שוב מאוחר יותר"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"קוד הגישה הישן"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"קוד הגישה החדש"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"נא להמתין."</string>
diff --git a/java/com/android/voicemail/impl/res/values-ja/strings.xml b/java/com/android/voicemail/impl/res/values-ja/strings.xml
index cc881b986..90bce09fb 100644
--- a/java/com/android/voicemail/impl/res/values-ja/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ja/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"ビジュアル ボイスメール"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"追加のバックアップと保存容量"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"これは現在テスト中の試験運用機能"</i></b>"で、ボイスメール サーバーからボイスメールを削除することができます。今後この機能が正式にサポートされる保証はありませんが、フィードバックをお寄せいただければ幸いです。"</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN の設定"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN の変更"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN の設定"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN の変更"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"PIN を変更するには、ビジュアル ボイスメールを有効にする必要があります"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"ビジュアル ボイスメールがまだ有効になっていません。しばらくしてからもう一度お試しください"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"古い PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"新しい PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"お待ちください。"</string>
diff --git a/java/com/android/voicemail/impl/res/values-ka/strings.xml b/java/com/android/voicemail/impl/res/values-ka/strings.xml
index 69578df59..4e1413287 100644
--- a/java/com/android/voicemail/impl/res/values-ka/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ka/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"ვიზუალური ხმოვანი ფოსტა"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"დამატებითი სარეზ. ასლები და მეხსიერება"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"ეს არის ექსპერიმენტული ფუნქცია, რომელსაც"</i></b>" ამჟამად ტესტირებას ვუტარებთ. სავარაუდოდ, ეს წაშლის ხმოვან შეტყობინებებს თქვენი ხმოვანი ფოსტის სერვერიდან. გარანტია, რომ ეს ფუნქცია მომავალში მხარდაჭერილი იქნება, არ არსებობს. თუმცა ამ ფუნქციის შესახებ გამოხმაურებას ინტერესით გავეცნობოდით."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN-კოდის დაყენება"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN-კოდის შეცვლა"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN-კოდის დაყენება"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN-კოდის შეცვლა"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"PIN-კოდის შესაცვლელად ჩართული უნდა იყოს ვიზუალური ხმოვანი ფოსტა"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"ვიზუალური ხმოვანი ფოსტა ჯერ გააქტიურებული არ არის. გთხოვთ, სცადოთ ხელახლა."</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"ძველი PIN-კოდი"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"ახალი PIN-კოდი"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"გთხოვთ, დაელოდოთ."</string>
diff --git a/java/com/android/voicemail/impl/res/values-kk/strings.xml b/java/com/android/voicemail/impl/res/values-kk/strings.xml
index 5fefe9c66..36ba090ea 100644
--- a/java/com/android/voicemail/impl/res/values-kk/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-kk/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Визуалды дауыстық пошта"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Қосымша сақтық көшірме жасау және сақтау"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Бұл — қазір тексеріліп жатқан, тәжірибелік мүмкіндік"</i></b>". Бұл дауыстық хабарларды дауыстық хабар серверінен өшіруі мүмкін. Осы мүмкіндікке алдағы уақытта қолдау көрсетілетініне ешқандай кепілдік жоқ. Сонда да осы мүмкіндікке қатысты пікір алғымыз келеді."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN кодын тағайындау"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN кодын өзгерту"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN кодын тағайындау"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN кодын өзгерту"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"PIN кодын өзгерту үшін визуалды дауыс хабарын қосу қажет"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Визуалды дауыс хабары әлі қосылмаған. Кейінірек қайталап көріңіз"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Ескі PIN коды"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Жаңа PIN коды"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Күте тұрыңыз."</string>
diff --git a/java/com/android/voicemail/impl/res/values-km/strings.xml b/java/com/android/voicemail/impl/res/values-km/strings.xml
index 4a094126b..f97ff3e5e 100644
--- a/java/com/android/voicemail/impl/res/values-km/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-km/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"សារជាសំឡេងអាចមើលឃើញ"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"ទំហំ​ផ្ទុក និង​ការ​បម្រុងទុក​បន្ថែម"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"នេះ​​គឺ​ជា​មុខងារ​សាកល្បង"</i></b>" បច្ចុប្បន្ន យើង​កំពុង​ធ្វើ​ការ​សាកល្បង។ វា​អាច​នឹង​លុប​សារ​ជា​សំឡេង​ពី​ម៉ាស៊ីន​មេ​សារ​ជា​សំឡេង​របស់​អ្នក។ មិន​មាន​ការ​ធានា​ធ្វើ​ឲ្យ​មុខងារ​នេះ​ដំណើរការ​នៅ​ថ្ងៃ​ក្រោយ​ទេ។ យើង​ចង់​ដឹង​មតិ​ស្ថាបនា​អំពី​មុខងារនេះ​ផង​ដែរ។"</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"កំណត់​កូដ PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"ប្ដូរ​​កូដ PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"កំណត់​កូដ PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"ផ្លាស់ប្ដូរ​កូដ PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"សារ​​ជា​សំឡេង​ដែល​មើល​ឃើញ​ត្រូវតែ​បើកដំណើរការ ដើម្បី​ផ្លាស់ប្ដូរ PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"សារ​ជាសំឡេង​ដែល​មើល​ឃើញ​មិនទាន់​​ត្រូវ​បាន​ធ្វើ​ឲ្យ​សកម្ម​នៅ​ឡើយ​ទេ សូម​ព្យាយាម​ម្ដង​ទៀត​នៅ​ពេល​ក្រោយ"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"កូដ PIN ចាស់"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"កូដ PIN ថ្មី"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"សូមរង់ចាំ។"</string>
diff --git a/java/com/android/voicemail/impl/res/values-kn/strings.xml b/java/com/android/voicemail/impl/res/values-kn/strings.xml
index 3cf6e02cb..6f8e21f88 100644
--- a/java/com/android/voicemail/impl/res/values-kn/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-kn/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"ದೃಶ್ಯ ಧ್ವನಿಮೇಲ್"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"ಹೆಚ್ಚುವರಿ ಬ್ಯಾಕಪ್ ಮತ್ತು ಸಂಗ್ರಹಣೆ"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"ಇದು ಪ್ರಾಯೋಗಿಕ ವೈಶಿಷ್ಟ್ಯವಾಗಿದೆ"</i></b>"ನಾವು ಪ್ರಸ್ತುತ ಪರೀಕ್ಷಿಸುತ್ತಿದ್ದೇವೆ. ಇದು ನಿಮ್ಮ ಧ್ವನಿಮೇಲ್ ಸರ್ವರ್‌ನಿಂದ ಧ್ವನಿಮೇಲ್‌ಗಳನ್ನು ಸಂಭಾವ್ಯವಾಗಿ ಅಳಿಸುತ್ತದೆ. ಭವಿಷ್ಯದಲ್ಲಿ ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬೆಂಬಲಿಸುವ ಯಾವುದೇ ಖಾತ್ರಿ ಇಲ್ಲ. ಆದರೂ ನಿಮ್ಮ ಪ್ರತಿಕ್ರಿಯೆಗೆ ಸ್ವಾಗತ."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"ಪಿನ್ ಹೊಂದಿಸಿ"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"ಪಿನ್‌ ಬದಲಾಯಿಸಿ"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"ಪಿನ್ ಹೊಂದಿಸಿ"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"ಪಿನ್‌ ಬದಲಾಯಿಸಿ"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"ಪಿನ್ ಬದಲಾಯಿಸಲು ದೃಶ್ಯ ಧ್ವನಿಮೇಲ್ ಸಕ್ರಿಯಗೊಳಿಸಬೇಕು"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"ದೃಶ್ಯ ಧ್ವನಿಮೇಲ್ ಇನ್ನೂ ಸಕ್ರಿಯವಾಗಿಲ್ಲ, ದಯವಿಟ್ಟು ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"ಹಳೆಯ ಪಿನ್"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"ಹೊಸ ಪಿನ್‌"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"ದಯವಿಟ್ಟು ನಿರೀಕ್ಷಿಸಿ."</string>
diff --git a/java/com/android/voicemail/impl/res/values-ko/strings.xml b/java/com/android/voicemail/impl/res/values-ko/strings.xml
index 0c2e2f525..f18d1d711 100644
--- a/java/com/android/voicemail/impl/res/values-ko/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ko/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"시각적 음성사서함"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"추가 백업 및 저장용량"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" 현재 테스트 중인 "<b><i>"실험적 기능입니다"</i></b>". 이 기능으로 인해 음성사서함 서버에서 메시지가 삭제될 수도 있습니다. 또한 Google에서는 추후 이 기능이 지원된다고 보장할 수 없습니다. 하지만 이 기능에 관해 의견을 주시면 감사하겠습니다."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN 설정"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN 변경"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN 설정"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN 변경"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"PIN을 변경하려면 시각적 음성사서함이 사용 설정되어 있어야 합니다."</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"시각적 음성사서함이 아직 활성 상태가 아닙니다. 나중에 다시 시도해 주세요."</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"이전 PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"새 PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"기다려 주세요."</string>
diff --git a/java/com/android/voicemail/impl/res/values-ky/strings.xml b/java/com/android/voicemail/impl/res/values-ky/strings.xml
index 2ef4c2e21..f5219a91c 100644
--- a/java/com/android/voicemail/impl/res/values-ky/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ky/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Визуалдык үн почтасы"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Кошумча камдык көчүрмөнү сактоо жана сактагыч"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Бул, сыноодон өтүп жаткан"</i></b>" эксперименталдык функция. Үн каттарыңыз серверден өчүрүлүп калышы мүмкүн. Бул функциянын кийин да колдонулаарына кепилдик бере албайбыз бирок, ал жөнүндө пикириңизди билгибиз келет."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN код коюу"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN кодду өзгөртүү"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN код коюу"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN кодду өзгөртүү"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"PIN кодду өзгөртүү үчүн визуладык үн почтасын иштетүү керек"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Визуалдык үн почтаңыз күйгүзүлгөн жок. Кайра аракет кылыңыз."</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Эски PIN код"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Жаңы PIN код"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Күтө туруңуз."</string>
diff --git a/java/com/android/voicemail/impl/res/values-lo/strings.xml b/java/com/android/voicemail/impl/res/values-lo/strings.xml
index 1b631a858..212b12fd2 100644
--- a/java/com/android/voicemail/impl/res/values-lo/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-lo/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"ຂໍ້​ຄວາມ​ສຽງສະເໝືອນ"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"ການສຳຮອງ ແລະ ບ່ອນຈັດເກັບຂໍ້ມູນພິເສດ"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"ນີ້ເປັນຄຸນສົມບັດທີ່ຢູ່ໃນຂັ້ນຕອນທົດລອງຢູ່"</i></b>" ພວກເຮົາກຳລັງທົດສອບ. ມັນອາດລຶບຂໍ້ຄວາມສຽງອອກຈາກເຊີບເວີຂໍ້ຄວາມສຽງຂອງທ່ານໄດ້. ຈະບໍ່ມີການຮັບປະກັນການຊ່ວຍເຫຼືອຄຸນສົມບັດນີ້ໃນອະນາຄົດ. ຢ່າງໃດກໍຕາມພວກເຮົາຢາກຟັງຄຳຄິດເຫັນທີ່ມີຕໍ່ຄຸນສົມບັດດັ່ງກ່າວຈາກທ່ານ."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"ຕັ້ງລະຫັດ PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"​ປ່ຽນ​ລະຫັດ PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"ຕັ້ງລະຫັດ PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"​ປ່ຽນ​ລະຫັດ PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"ຈະຕ້ອງເປີດໃຊ້ຂໍ້ຄວາມສຽງສະເໝືອນເພື່ອປ່ຽນ PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"ຍັງບໍໄດ້ເປີດໃຊ້ຂໍ້ຄວາມສຽງສະເໝືອນເທື່ອ, ກະລຸນາລອງໃໝ່ໃນພາຍຫຼັງ"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"ລະຫັດ PIN ເກົ່າ"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"ລະຫັດ PIN ໃໝ່"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"ກະລຸນາລໍຖ້າ."</string>
diff --git a/java/com/android/voicemail/impl/res/values-lt/strings.xml b/java/com/android/voicemail/impl/res/values-lt/strings.xml
index 038c7512f..d4d9c4dc3 100644
--- a/java/com/android/voicemail/impl/res/values-lt/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-lt/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vaizdinis balso paštas"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Papild. saug. vt. ir ats. kop. kūr. f."</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Tai yra eksperimentinė funkcija"</i></b>", kurią šiuo metu išbandome. Ją naudojant iš balso pašto serverio bus ištrinami balso pašto pranešimai. Negarantuojame, kad ateityje ši funkcija bus palaikoma, tačiau norėtume gauti atsiliepimų apie ją."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN kodo nustatymas"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN kodo keitimas"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN kodo nustatymas"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN kodo keitimas"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Vaizdinis balso paštas turi būti įgalintas, kad būtų galima pakeisti PIN kodą"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Vaizdinis balso paštas dar nesuaktyvintas, vėliau bandykite dar kartą"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Senas PIN kodas"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Naujas PIN kodas"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Palaukite."</string>
diff --git a/java/com/android/voicemail/impl/res/values-lv/strings.xml b/java/com/android/voicemail/impl/res/values-lv/strings.xml
index 21c2e553e..1f758c467 100644
--- a/java/com/android/voicemail/impl/res/values-lv/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-lv/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vizuālais balss pasts"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Papildu dublēšana un krātuve"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Šī ir eksperimentāla funkcija"</i></b>", ko mēs pašlaik testējam. Pastāv iespēja, ka no jūsu balss pasta servera tiks izdzēsti balss pasta ziņojumi. Mēs negarantējam šīs funkcijas turpmāku atbalstu, tomēr priecāsimies saņemt atsauksmes par to."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN iestatīšana"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN mainīšana"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN iestatīšana"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN mainīšana"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Lai varētu mainīt PIN, ir jābūt iespējotam vizuālajam balss pastam."</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Vizuālais balss pasts vēl nav aktivizēts. Lūdzu, vēlāk mēģiniet vēlreiz."</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Iepriekšējais PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Jaunais PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Lūdzu, uzgaidiet!"</string>
diff --git a/java/com/android/voicemail/impl/res/values-mk/strings.xml b/java/com/android/voicemail/impl/res/values-mk/strings.xml
index f156cc179..39b8beefc 100644
--- a/java/com/android/voicemail/impl/res/values-mk/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-mk/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Визуелна говорна пошта"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Дополнителен бекап и склад"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Ова е експериментална функција"</i></b>" што моментално ја тестираме. Постои можност да брише говорни пораки од вашиот сервер за говорна пошта. Нема гаранција дека функцијава ќе се поддржува во иднина. Сепак, многу би ни значеле повратните информации за функцијата."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Поставете PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Променете PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Поставете PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Променете PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"За променување на PIN-кодот, мора да се овозможи визуелна говорна пошта"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Визуелната говорна пошта сѐ уште не е активна. Обидете се повторно подоцна"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Стар PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Нов PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Почекајте."</string>
diff --git a/java/com/android/voicemail/impl/res/values-ml/strings.xml b/java/com/android/voicemail/impl/res/values-ml/strings.xml
index cb4002cbf..c30ebbcfe 100644
--- a/java/com/android/voicemail/impl/res/values-ml/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ml/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"വിഷ്വൽ വോയ്‌സ്‌മെയിൽ"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"അധിക ബായ്‌ക്കപ്പും സ്‌റ്റോറേജും"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" ഇത് നിലവിൽ ഞങ്ങൾ പരീക്ഷിക്കുന്ന "<b><i>"ഒരു പരീക്ഷണാത്മക ഫീച്ചറാണ്"</i></b>". ഇത് നിങ്ങളുടെ വോയ്‌സ്‌മെയിൽ സെർവറിൽ നിന്ന് വോയ്‌സ്‌മെയിലുകൾ ഇല്ലാതാക്കാൻ സാധ്യതയുണ്ട്. ഈ ഫീച്ചർ ഭാവിയിൽ ഉപയോഗിക്കാനാവുമെന്ന് ഉറപ്പൊന്നുമില്ല. എങ്കിലും ഈ ഫീച്ചറിനെക്കുറിച്ചുള്ള ഫീഡ്‌ബാക്ക് അറിയാൻ ഞങ്ങൾ താൽപ്പര്യപ്പെടുന്നു."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"പിൻ സജ്ജമാക്കുക"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"പിൻ മാറ്റുക"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"പിൻ സജ്ജമാക്കുക"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"പിൻ മാറ്റുക"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"പിൻ മാറ്റുന്നതിന് വിഷ്വൽ വോയ്‌സ്‌മെയിൽ പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"വിഷ്വൽ വോയ്‌സ്‌മെയിൽ ഇതുവരെ സജീവമാക്കിയിട്ടില്ല, പിന്നീട് വീണ്ടും ശ്രമിച്ചുനോക്കൂ"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"പഴയ പിൻ"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"പുതിയ പിൻ"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"കാത്തിരിക്കുക."</string>
diff --git a/java/com/android/voicemail/impl/res/values-mn/strings.xml b/java/com/android/voicemail/impl/res/values-mn/strings.xml
index e0864d838..a559d1900 100644
--- a/java/com/android/voicemail/impl/res/values-mn/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-mn/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Уншиж болохуйц дуут шуудан"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Нэмэлт нөөцлөлт болон хадгалах сан"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" Энэ бол бидний одоо шалгаж буй "<b><i>"туршилтын функц"</i></b>". Энэ таны дуут шуудангийн серверээс дуут шуудангуудыг устгах магадлалтай. Цаашид энэ функцийг дэмжих баталгаа байхгүй. Гэхдээ энэ функцийн талаар санал хүсэлт илгээвэл талархах болно."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN тохируулах"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN өөрчлөх"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN тохируулах"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN өөрчлөх"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Харагдах дуут шуудан PIN-г өөрчлөх боломжтой байх ёстой"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Харагдах дуут шуудан хараахан идэвхжээгүй байна, дараа дахин оролдоно уу"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Хуучин PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Шинэ PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Түр хүлээнэ үү."</string>
diff --git a/java/com/android/voicemail/impl/res/values-mr/strings.xml b/java/com/android/voicemail/impl/res/values-mr/strings.xml
index 53aadcdfc..56e864b81 100644
--- a/java/com/android/voicemail/impl/res/values-mr/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-mr/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"दृश्‍यमान व्हॉइसमेल"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"अतिरिक्त बॅक अप आणि संचय"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"हे प्रायोगिक वैशिष्ट्य आहे"</i></b>" आम्ही सध्‍या चाचणी घेत आहोत. हे आपल्या व्हॉइसमेल सर्व्हर मधून संभाव्यपणे व्हॉइसमेल हटवेल. भविष्‍यात या वैशिष्‍ट्यास समर्थन देण्याची हमी नाही. तरीही आम्ही वैशिष्‍ट्यावरील अभिप्राय घेऊ इच्छितो."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"पिन सेट करा"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"पिन बदला"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"पिन सेट करा"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"पिन बदला"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"पिन बदलण्‍यासाठी व्हिज्युअल व्हॉइसमेल सक्षम करणे आवश्‍यक आहे"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"व्हिज्युअल व्हॉइसमेल अद्याप सक्रिय केले नाही, कृपया नंतर पुन्हा प्रयत्न करा"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"जुना पिन"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"नवीन पिन"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"कृपया प्रतीक्षा करा."</string>
diff --git a/java/com/android/voicemail/impl/res/values-ms/strings.xml b/java/com/android/voicemail/impl/res/values-ms/strings.xml
index 731135ece..ea9b38f08 100644
--- a/java/com/android/voicemail/impl/res/values-ms/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ms/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Mel Suara Visual"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Sandaran dan storan tambahan"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Ini ialah ciri percubaan"</i></b>" yang sedang kami uji. Ciri ini berupaya memadamkan mel suara daripada pelayan mel suara anda. Tiada jaminan bahawa ciri ini akan disokong pada masa hadapan. Namun begitu, kami berharap untuk menerima maklum balas tentang ciri ini."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Tetapkan PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Tukar PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Tetapkan PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Tukar PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Mel suara visual mesti didayakan untuk menukar PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Mel suara visual belum diaktifkan. Sila cuba sebentar lagi"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"PIN Lama"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"PIN Baharu"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Sila tunggu."</string>
diff --git a/java/com/android/voicemail/impl/res/values-my/strings.xml b/java/com/android/voicemail/impl/res/values-my/strings.xml
index 9b1f54756..6c789275a 100644
--- a/java/com/android/voicemail/impl/res/values-my/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-my/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"စာသားမှတ်တမ်းပါ အသံမေးလ်"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"အပိုဆောင်း မိတ္တူနှင့် သိုလှောင်မှု"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" ဤသည်မှာ "<b><i>"စမ်းသပ်ဆဲဝန်ဆောင်မှုတစ်ခု"</i></b>" ဖြစ်ပါသည်။ ၎င်းက သင်၏အသံမေးလ်ဆာဗာမှ အသံမေးလ်များကို ဖျက်ပစ်နိုင်ပါသည်။ ဤဝန်ဆောင်မှုကို အနာဂတ်တွင် ဆက်လက်ရရှိနိုင်မည်ဟု အာမခံထားခြင်း မရှိသော်လည်း ၎င်းနှင့်ပတ်သက်သည့် အကြံပြုချက်များကို ရရှိလိုပါသည်။"</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"ပင်နံပါတ်ကို သတ်မှတ်ပါ"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"ပင်နံပါတ် ပြောင်းပါ"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"ပင်နံပါတ် သတ်မှတ်ပါ"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"ပင်နံပါတ် ပြောင်းပါ"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"ပင်နံပါတ်ပြောင်းရန် စာသားမှတ်တမ်းပါ အသံမေးလ်ကို ဖွင့်ထားရပါမည်"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"စာသားမှတ်တမ်းပါ အသံမေးလ်ကို မဖွင့်ရသေးပါ၊ နောက်မှ ထပ်ဖွင့်ကြည့်ပါ"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"ပင်နံပါတ်အဟောင်း"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"ပင်နံပါတ်အသစ်"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"ခဏစောင့်ပါ။"</string>
diff --git a/java/com/android/voicemail/impl/res/values-nb/strings.xml b/java/com/android/voicemail/impl/res/values-nb/strings.xml
index 890c0a98b..93e9e2a2c 100644
--- a/java/com/android/voicemail/impl/res/values-nb/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-nb/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuell talepostkasse"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Ekstra sikkerhetskopi og lagring"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Denne funksjonen er fortsatt under utforskning"</i></b>", og det kan føre til at noen av talepostmelingene dine slettes. Vi kan dessverre ikke love at denne funksjonen støttes i fremtiden, men vi vil gjerne høre om hva du mener om den."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Angi PIN-kode"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Endre PIN-koden"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Angi PIN-kode"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Endre PIN-koden"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Du må slå på visuell talepost for å endre PIN-koden"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Visuell talepost er ikke slått på ennå – prøv igjen senere"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Gammel PIN-kode"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Ny PIN-kode"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Vent litt."</string>
diff --git a/java/com/android/voicemail/impl/res/values-ne/strings.xml b/java/com/android/voicemail/impl/res/values-ne/strings.xml
index d51e71f87..d729c2323 100644
--- a/java/com/android/voicemail/impl/res/values-ne/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ne/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"भिजुअल भ्वाइस मेल"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"अतिरिक्त ब्याकअप र भण्डारण"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"यो एउटा प्रयोगात्मक विशेषता हो"</i></b>" हामी अहिले परीक्षण गर्दैछौं। यसले सम्भवत: तपाईंको भ्वाइस मेल सर्भरका भ्वाइस मेलहरूलाई मेट्ने छ। भविष्यमा यो विशेषतालाई समर्थन गरिने कुराको ग्यारेन्टी छैन। तथापि हामी यो विशेषताका सम्बन्धमा प्रतिक्रिया आऊन् भन्ने चाहन्छौं।"</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN सेट गर्नुहोस्"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN परिवर्तन गर्नुहोस्"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN सेट गर्नुहोस्"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN परिवर्तन गर्नुहोस्"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"PIN परिवर्तन गर्न अनिवार्य रूपले भिजुअल भ्वाइस मेललाई सक्षम पारिनुपर्छ"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"भिजुअल भ्वाइस मेललाई अझै सक्रिय पारिएको छैन, कृपया पुन: प्रयास गर्नुहोस्"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"पुरानो PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"नयाँ PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"कृपया प्रतीक्षा गर्नुहोस्।"</string>
diff --git a/java/com/android/voicemail/impl/res/values-nl/strings.xml b/java/com/android/voicemail/impl/res/values-nl/strings.xml
index 5b1a5aac9..7ae9f4e0e 100644
--- a/java/com/android/voicemail/impl/res/values-nl/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-nl/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuele voicemail"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Extra back-up en opslag"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Dit is een experimentele functie"</i></b>" die wordt getest. Mogelijk worden hierdoor voicemails van de voicemailserver verwijderd. Er is geen garantie dat we deze functie in de toekomst blijven ondersteunen. We zijn wel heel benieuwd naar jullie feedback over de functie."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Pincode instellen"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Pincode wijzigen"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Pincode instellen"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Pincode wijzigen"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Visuele voicemail moet zijn ingeschakeld om de pincode te wijzigen"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Visuele voicemail is nog niet geactiveerd. Probeer het later opnieuw."</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Oude pincode"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Nieuwe pincode"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Even geduld."</string>
diff --git a/java/com/android/voicemail/impl/res/values-no/strings.xml b/java/com/android/voicemail/impl/res/values-no/strings.xml
index 890c0a98b..93e9e2a2c 100644
--- a/java/com/android/voicemail/impl/res/values-no/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-no/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuell talepostkasse"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Ekstra sikkerhetskopi og lagring"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Denne funksjonen er fortsatt under utforskning"</i></b>", og det kan føre til at noen av talepostmelingene dine slettes. Vi kan dessverre ikke love at denne funksjonen støttes i fremtiden, men vi vil gjerne høre om hva du mener om den."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Angi PIN-kode"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Endre PIN-koden"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Angi PIN-kode"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Endre PIN-koden"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Du må slå på visuell talepost for å endre PIN-koden"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Visuell talepost er ikke slått på ennå – prøv igjen senere"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Gammel PIN-kode"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Ny PIN-kode"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Vent litt."</string>
diff --git a/java/com/android/voicemail/impl/res/values-pa/strings.xml b/java/com/android/voicemail/impl/res/values-pa/strings.xml
index d840a3dfb..f3551cc6e 100644
--- a/java/com/android/voicemail/impl/res/values-pa/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-pa/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"ਦ੍ਰਿਸ਼ਟਾਂਤਕ ਵੌਇਸਮੇਲ"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"ਵਾਧੂ ਬੈਕਅੱਪ ਅਤੇ ਸਟੋਰੇਜ"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"ਇਹ ਇੱਕ ਪ੍ਰਯੋਗਾਤਮਕ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ"</i></b>" ਜਿਸਦੀ ਅਸੀਂ ਇਸ ਵੇਲੇ ਜਾਂਚ ਕਰ ਰਹੇ ਹਾਂ। ਇਹ ਸੰਭਾਵੀ ਤੌਰ \'ਤੇ ਤੁਹਾਡੇ ਵੌਇਸਮੇਲ ਸਰਵਰ ਤੋਂ ਵੌਇਸਮੇਲਾਂ ਨੂੰ ਮਿਟਾ ਦੇਵੇਗੀ। ਭਵਿੱਖ ਵਿੱਚ ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਦਾ ਸਮਰਥਨ ਕਰਨ ਦੀਆਂ ਕੋਈ ਗਾਰੰਟੀਆਂ ਨਹੀਂ ਹਨ। ਅਸੀਂ ਹਾਲਾਂਕਿ ਵਿਸ਼ੇਸ਼ਤਾ \'ਤੇ ਪ੍ਰਤੀਕਰਮ ਨੂੰ ਪਸੰਦ ਕਰਾਂਗੇ।"</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN ਸੈੱਟ ਕਰੋ"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN ਬਦਲੋ"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN ਸੈੱਟ ਕਰੋ"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN ਬਦਲੋ"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"ਦ੍ਰਿਸ਼ਟਾਂਤਕ ਵੌਇਸਮੇਲ ਨੂੰ PIN ਬਦਲਣ ਲਈ ਯੋਗ ਬਣਾਇਆ ਜਾਣਾ ਲਾਜ਼ਮੀ ਹੈ"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"ਦ੍ਰਿਸ਼ਟਾਂਤਕ ਵੌਇਸਮੇਲ ਹਾਲੇ ਕਿਰਿਆਸ਼ੀਲ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ, ਕਿਰਪਾ ਕਰਕੇ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"ਪੁਰਾਣਾ PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"ਨਵਾਂ PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"ਕਿਰਪਾ ਕਰਕੇ ਉਡੀਕ ਕਰੋ।"</string>
diff --git a/java/com/android/voicemail/impl/res/values-pl/strings.xml b/java/com/android/voicemail/impl/res/values-pl/strings.xml
index 6dfd7fc8c..83003df97 100644
--- a/java/com/android/voicemail/impl/res/values-pl/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-pl/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Wizualna poczta głosowa"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Dodatkowe miejsce i kopia zapasowa"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"To jest funkcja eksperymentalna"</i></b>", którą obecnie testujemy. Może ona usunąć wiadomości głosowe z Twojego serwera poczty głosowej. Nie gwarantujemy, że ta funkcja będzie w przyszłości obsługiwana. Chętnie jednak dowiemy się, co o niej sądzisz."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Ustaw kod PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Zmień kod PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Ustaw kod PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Zmień kod PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Aby można było zmienić kod PIN, wizualna poczta głosowa musi być włączona"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Wizualna poczta głosowa nie została jeszcze aktywowana – spróbuj ponownie później"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Stary kod PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Nowy kod PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Poczekaj."</string>
diff --git a/java/com/android/voicemail/impl/res/values-pt-rBR/strings.xml b/java/com/android/voicemail/impl/res/values-pt-rBR/strings.xml
index 196e619e9..a0eee43ae 100644
--- a/java/com/android/voicemail/impl/res/values-pt-rBR/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-pt-rBR/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Correio de voz visual"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Armazenamento extra e backup"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Este é um recurso experimental"</i></b>" que estamos testando. Talvez ele exclua os correios de voz do seu servidor. Não há garantias de suporte no futuro, mas gostaríamos de receber seu feedback."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Definir PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Alterar PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Definir PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Alterar PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"O correio de voz visual precisa ser ativado para alterar o PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"O correio de voz visual ainda não foi ativado, tente novamente mais tarde"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"PIN antigo"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Novo PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Aguarde."</string>
diff --git a/java/com/android/voicemail/impl/res/values-pt-rPT/strings.xml b/java/com/android/voicemail/impl/res/values-pt-rPT/strings.xml
index 37fb9dddb..2be877e23 100644
--- a/java/com/android/voicemail/impl/res/values-pt-rPT/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-pt-rPT/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Mensagem de correio de voz visual"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Cópia de segurança e armazenamento extra"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"É uma funcionalidade experimental"</i></b>" que estamos a testar. Poderá eliminar mensagens de correio de voz do servidor de correio de voz. Não há garantias de suporte para esta funcionalidade. Gostaríamos de receber comentários sobre a mesma."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Definir PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Alterar PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Definir PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Alterar PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"A mensagem de correio de voz visual tem de estar ativada para poder alterar o PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"A mensagem de correio de voz visual ainda não está ativada. Tente novamente mais tarde"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"PIN antigo"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Novo PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Aguarde."</string>
diff --git a/java/com/android/voicemail/impl/res/values-pt/strings.xml b/java/com/android/voicemail/impl/res/values-pt/strings.xml
index 196e619e9..a0eee43ae 100644
--- a/java/com/android/voicemail/impl/res/values-pt/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-pt/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Correio de voz visual"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Armazenamento extra e backup"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Este é um recurso experimental"</i></b>" que estamos testando. Talvez ele exclua os correios de voz do seu servidor. Não há garantias de suporte no futuro, mas gostaríamos de receber seu feedback."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Definir PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Alterar PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Definir PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Alterar PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"O correio de voz visual precisa ser ativado para alterar o PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"O correio de voz visual ainda não foi ativado, tente novamente mais tarde"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"PIN antigo"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Novo PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Aguarde."</string>
diff --git a/java/com/android/voicemail/impl/res/values-ro/strings.xml b/java/com/android/voicemail/impl/res/values-ro/strings.xml
index dae215ba2..1c98d5a20 100644
--- a/java/com/android/voicemail/impl/res/values-ro/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ro/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Mesagerie vocală vizuală"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Backup și spațiu de stocare suplimentare"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Aceasta este o funcție experimentală"</i></b>" în curs de testare. E posibil ca mesajele vocale de pe serverul de mesagerie vocală să fie șterse. Nu se poate garanta acceptarea acestei funcții pe viitor, însă feedbackul dvs. e bine-venit."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Setați codul PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Schimbați codul PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Setați codul PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Schimbați codul PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Mesageria vocală vizuală trebuie activată pentru a schimba codul PIN."</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Mesageria vocală vizuală nu este activată încă. Încercați din nou mai târziu."</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Codul PIN vechi"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Codul PIN nou"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Așteptați."</string>
diff --git a/java/com/android/voicemail/impl/res/values-ru/strings.xml b/java/com/android/voicemail/impl/res/values-ru/strings.xml
index 2d1874a71..f899f149e 100644
--- a/java/com/android/voicemail/impl/res/values-ru/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ru/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Визуальная голосовая почта"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Дополнительное место для хранения и резервного копирования"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Это экспериментальная функция"</i></b>", которая сейчас проходит тестирование. Возможно, ваши голосовые сообщения будут удалены с вашего сервера. Поддержка этой функции в дальнейшем не гарантируется. Мы бы хотели узнать ваше мнение о ней."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Установка PIN-кода"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Изменение PIN-кода"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Установка PIN-кода"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Изменение PIN-кода"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Чтобы изменить PIN-код, включите визуальную голосовую почту"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Визуальная голосовая почта пока не активирована, повторите попытку позже"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Прежний PIN-код"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Новый PIN-код"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Подождите…"</string>
diff --git a/java/com/android/voicemail/impl/res/values-si/strings.xml b/java/com/android/voicemail/impl/res/values-si/strings.xml
index 169c58ba0..b5dc7826c 100644
--- a/java/com/android/voicemail/impl/res/values-si/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-si/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"දෘශ්‍ය හඬ තැපෑල"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"අතිරේක උපස්ථය සහ ගබඩාව"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"මෙය අත්හදා බැලීමේ විශේෂාංගයකි"</i></b>" අපි දැන් පරීක්ෂා කරමින් සිටිමු. මෙය විභව්‍යව හඬ තැපැල් ඔබේ සේවාදායකයෙන් මකනු ඇත. මෙම විශේෂාංගය අනාගතයේදී සහාය දැක්වීම ගැන ඇපවීම් නැත. එසේ වුවත් අපි විශේෂාංගය ගැන ප්‍රතිපෝෂණවලට ආදරය කරන්නෙමු."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN අංකය සකසන්න"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN අංකය වෙනස් කරන්න"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN අංකය සකසන්න"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN අංකය වෙනස් කරන්න"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"PIN අංකය වෙනස් කිරීමට දෘශ්‍ය හඬ තැපෑල සබල කළ යුතුය"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"දෘශ්‍ය හඬ තැපෑල තවම සක්‍රිය කර නැත, කරුණාකර පසුව නැවත උත්සාහ කරන්න"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"පැරණි PIN අංකය"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"නව PIN අංකය"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"කරුණාකර රැඳී සිටින්න."</string>
diff --git a/java/com/android/voicemail/impl/res/values-sk/strings.xml b/java/com/android/voicemail/impl/res/values-sk/strings.xml
index b3a2a5f65..5a81a1bd4 100644
--- a/java/com/android/voicemail/impl/res/values-sk/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-sk/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vizuálna hlasová schránka"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Ďalšie zálohovanie a úložisko"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Toto je experimentálna funkcia"</i></b>", ktorú práve testujeme. Táto funkcia vám môže odstrániť hlasové správy zo servera hlasovej schránky. Nemôžeme zaručiť, že bude podporovaná aj v budúcnosti, no budeme vám vďační za poskytnutie spätnej väzby."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Nastavenie kódu PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Zmena kódu PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Nastavenie kódu PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Zmena kódu PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"PIN možno zmeniť až po povolení vizuálnej hlasovej schránky"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Vizuálna hlasová schránka ešte nie je aktivovaná, skúste to znova neskôr"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Starý PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Nový PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Čakajte."</string>
diff --git a/java/com/android/voicemail/impl/res/values-sl/strings.xml b/java/com/android/voicemail/impl/res/values-sl/strings.xml
index 35ae5b85a..ce0f40ec8 100644
--- a/java/com/android/voicemail/impl/res/values-sl/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-sl/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vizualno sporočilo v odzivniku"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Dodatno varnostno kopiranje in shramba"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"To je poskusna funkcija"</i></b>", za katero trenutno izvajamo preskuse. Sporočila v odzivniku bodo morda izbrisana iz strežnika za sporočila v odzivniku. Ni mogoče jamčiti, da bo ta funkcija podprta tudi v prihodnje. Kljub temu bomo veseli vaših povratnih informacij o funkciji."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Nastavitev kode PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Sprememba kode PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Nastavitev kode PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Sprememba kode PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Če želite spremeniti kodo PIN, morajo biti vizualna sporočila v odzivniku omogočena"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Vizualna sporočila v odzivniku še niso aktivirana. Poskusite znova pozneje"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Stara koda PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Nova koda PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Počakajte."</string>
diff --git a/java/com/android/voicemail/impl/res/values-sq/strings.xml b/java/com/android/voicemail/impl/res/values-sq/strings.xml
index 4bc6f8039..472e60c0d 100644
--- a/java/com/android/voicemail/impl/res/values-sq/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-sq/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Posta zanore vizuale"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Rezervimi dhe hapësira ruajtëse shtesë"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Ky është një funksion eksperimental"</i></b>" që po e testojmë aktualisht. Kjo mund të fshijë posta zanore nga serveri i postës zanore. Nuk ka garanci për mbështetjen e këtij funksioni në të ardhmen. Megjithatë do të na pëlqente të merrnim komente për funksionin."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Konfiguro kodin PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Ndrysho kodin PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Konfiguro kodin PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Ndrysho kodin PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Duhet të aktivizohet posta zanore vizuale për të ndryshuar kodin PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Posta zanore vizuale nuk është aktivizuar ende. Provo përsëri më vonë"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Kodi PIN i vjetër"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Kodi PIN i ri"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Prit..."</string>
diff --git a/java/com/android/voicemail/impl/res/values-sr/strings.xml b/java/com/android/voicemail/impl/res/values-sr/strings.xml
index 3039cd2a0..431d0dfb3 100644
--- a/java/com/android/voicemail/impl/res/values-sr/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-sr/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Визуелна говорна пошта"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Додатне резервне копије и простор"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Ово је експериментална функција"</i></b>" коју тренутно тестирамо. Тако ће се можда избрисати говорне поруке са сервера говорне поште. Нема гаранција да ће ова функција бити подржана и у будућности. Ипак, желимо да добијамо повратне информације о њој."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Подесите PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Промените PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Подесите PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Промените PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Морате да омогућите визуелну говорну пошту да бисте променили PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Визуелна говорна пошта још увек није активирана, пробајте поново касније"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Стари PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Нови PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Сачекајте."</string>
diff --git a/java/com/android/voicemail/impl/res/values-sv/strings.xml b/java/com/android/voicemail/impl/res/values-sv/strings.xml
index 22c9e148a..cba2b15c8 100644
--- a/java/com/android/voicemail/impl/res/values-sv/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-sv/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visuell röstbrevlåda"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Extra säkerhetskopiering och lagring"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Det här är en experimentfunktion"</i></b>" som vi för närvarande testar. Den kan potentiellt radera röstmeddelanden på röstbrevlådans server. Vi garanterar inte support för den här funktionen i framtiden. Vi är dock tacksamma för synpunkter om funktionen."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Ställ in pinkod"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Ändra pinkod"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Ställ in pinkod"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Ändra pinkod"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Visuell röstbrevlåda måste vara aktiverat för att ändra pinkoden"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Visuell röstbrevlåda är ännu inte aktiverad, försök igen senare"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Gammal pinkod"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Ny pinkod"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Vänta."</string>
diff --git a/java/com/android/voicemail/impl/res/values-sw/strings.xml b/java/com/android/voicemail/impl/res/values-sw/strings.xml
index 994256691..99de90ca5 100644
--- a/java/com/android/voicemail/impl/res/values-sw/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-sw/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Ujumbe wa Sauti Unaoonekana"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Nafasi ya ziada na hifadhi rudufu"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Hiki ni kipengele cha majaribio"</i></b>" tunachoijaribu kwa sasa. Huenda kitafuta ujumbe wa sauti kutoka kwenye seva yako ya ujumbe wa sauti. Hakuna hakikisho yoyote kwamba kipengele hiki kitatumika katika siku zijazo. Hata hivyo, tungependa kupata maoni yako kuhusu kipengele hiki."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Weka PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Badilisha PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Weka PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Badilisha PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Lazima uruhusu kipengele cha ujumbe wa sauti unaoonekana ili ubadilishe PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Kipengele cha ujumbe wa sauti unaoonekana bado hakijawashwa, tafadhali jaribu tena baadaye"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"PIN ya zamani"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"PIN mpya"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Tafadhali subiri."</string>
diff --git a/java/com/android/voicemail/impl/res/values-ta/strings.xml b/java/com/android/voicemail/impl/res/values-ta/strings.xml
index 2d9abbbaa..a6c97c112 100644
--- a/java/com/android/voicemail/impl/res/values-ta/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ta/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"விஷூவல் குரலஞ்சல்"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"கூடுதல் காப்புப் பிரதியும் சேமிப்பகமும்"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" தற்போது நாங்கள் நடத்தி வரும் சோதனையில் "<b><i>"இது ஒரு சோதனை அம்சமாகும்"</i></b>". இது உங்கள் குரலஞ்சல் சேவையகத்திலிருந்து குரலஞ்சல்களை நீக்க சாத்தியமுள்ளது. இந்த அம்சம் எதிர்காலத்தில் ஆதரிக்கப்படும் என்பதற்கு உத்திரவாதம் இல்லை. இருப்பினும் இந்த அம்சத்தைப் பற்றிய கருத்தை வரவேற்கிறோம்."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"பின்னை அமை"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"பின்னை மாற்று"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"பின்னை அமை"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"பின்னை மாற்று"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"பின்னை மாற்ற, விஷுவல் குரலஞ்சலை இயக்க வேண்டும்"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"விஷுவல் குரலஞ்சல் இன்னும் இயக்கப்படவில்லை. பிறகு முயலவும்"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"பழைய பின்"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"புதிய பின்"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"காத்திருக்கவும்."</string>
diff --git a/java/com/android/voicemail/impl/res/values-te/strings.xml b/java/com/android/voicemail/impl/res/values-te/strings.xml
index 29286ae35..2ad08cffe 100644
--- a/java/com/android/voicemail/impl/res/values-te/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-te/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"దృశ్యమాన వాయిస్ మెయిల్"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"అదనపు బ్యాకప్ మరియు నిల్వ"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"ఇది ప్రయోగాత్మక లక్షణం"</i></b>" ప్రస్తుతం మేము దీన్ని పరీక్షిస్తున్నాము. దీని వలన మీ వాయిస్ మెయిల్ సర్వర్ నుండి సంభావ్యంగా వాయిస్ మెయిల్‌లు తొలగించబడతాయి. భవిష్యత్తులో ఈ లక్షణానికి మద్దతు ఉంటుందని ఎలాంటి హామీ అందించబడదు. అయితే, లక్షణంపై అభిప్రాయాన్ని అందిస్తే మేము సంతోషిస్తాము."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PINని సెట్ చేయండి"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PINను మార్చండి"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PINని సెట్ చేయండి"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PINను మార్చండి"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"PINని మార్చడానికి తప్పనిసరిగా దృశ్యమాన వాయిస్ మెయిల్‌ను ప్రారంభించాలి"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"దృశ్యమాన వాయిస్ మెయిల్‌ ఇంకా సక్రియం కాలేదు, దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"పాత PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"కొత్త PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"దయచేసి వేచి ఉండండి."</string>
diff --git a/java/com/android/voicemail/impl/res/values-th/strings.xml b/java/com/android/voicemail/impl/res/values-th/strings.xml
index bffc7345d..49b07dfa2 100644
--- a/java/com/android/voicemail/impl/res/values-th/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-th/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"ภาพแสดงข้อความเสียง"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"การสำรองข้อมูลและพื้นที่เก็บข้อมูลเพิ่มเติม"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"นี่คือคุณลักษณะทดลอง"</i></b>"ที่เรากำลังทดสอบการใช้งานอยู่ ซึ่งอาจลบข้อความเสียงออกจากเซิร์ฟเวอร์ข้อความเสียงได้ เราไม่รับประกันว่าจะรองรับคุณลักษณะนี้ในอนาคต แต่ยินดีรับฟังความคิดเห็น"</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"ตั้งค่า PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"เปลี่ยน PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"ตั้งค่า PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"เปลี่ยน PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"ต้องเปิดใช้ข้อความเสียงพร้อมภาพเพื่อเปลี่ยน PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"ยังไม่ได้เปิดใช้งานข้อความเสียงพร้อมภาพ โปรดลองอีกครั้งในภายหลัง"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"PIN เก่า"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"PIN ใหม่"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"โปรดรอสักครู่"</string>
diff --git a/java/com/android/voicemail/impl/res/values-tl/strings.xml b/java/com/android/voicemail/impl/res/values-tl/strings.xml
index b6454d1fa..62623b633 100644
--- a/java/com/android/voicemail/impl/res/values-tl/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-tl/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Visual na Voicemail"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Karagdagang backup at storage"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Eksperimental na feature ito"</i></b>" na kasalukuyan naming sinusubukan. Posible nitong i-delete ang mga voicemail mula sa iyong server ng voicemail. Walang garantiyang susuportahan ang feature na ito sa hinaharap. Gayunpaman, gusto naming makakuha ng feedback tungkol sa feature."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Magtakda ng PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Palitan ang PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Magtakda ng PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Palitan ang PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Dapat naka-enable ang visual na voicemail upang palitan ang PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Hindi pa naka-activate ang visual na voicemail, pakisubukang muli sa ibang pagkakataon"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Lumang PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Bagong PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Pakihintay."</string>
diff --git a/java/com/android/voicemail/impl/res/values-tr/strings.xml b/java/com/android/voicemail/impl/res/values-tr/strings.xml
index 67b625c7a..aed722a11 100644
--- a/java/com/android/voicemail/impl/res/values-tr/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-tr/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Görsel Sesli Mesaj"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Ekstra yedekleme ve depolama alanı"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b>"Bu, test etmekte olduğumuz "<i>"deneysel bir özelliktir"</i></b>". Bu özellik, sesli mesaj sunucunuzdaki mesajların silinmesine neden olabilir ve gelecekte desteklenmeyebilir. Yine de özellikle ilgili geri bildiriminizi öğrenmek isteriz."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN belirleyin"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN\'i değiştirin"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN belirleyin"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN\'i değiştirin"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"PIN\'i değiştirebilmek için görsel sesli mesaj etkinleştirilmelidir"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Görsel sesli mesaj henüz etkinleştirilmedi. Lütfen daha sonra tekrar deneyin."</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Eski PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Yeni PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Lütfen bekleyin."</string>
diff --git a/java/com/android/voicemail/impl/res/values-uk/strings.xml b/java/com/android/voicemail/impl/res/values-uk/strings.xml
index 4697e25ac..c3cbee681 100644
--- a/java/com/android/voicemail/impl/res/values-uk/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-uk/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Візуальна голосова пошта"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Додаткова пам’ять і резервне копіювання"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Це експериментальна функція,"</i></b>" яку ми зараз тестуємо. У результаті її використання голосові повідомлення може бути видалено із сервера голосової пошти. Ми не гарантуємо, що ця функція підтримуватиметься в майбутньому, однак хочемо отримати відгук про неї."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Установити PIN-код"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Змінити PIN-код"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Установити PIN-код"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Змінити PIN-код"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Щоб змінити PIN-код, потрібно ввімкнути візуальну голосову пошту"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Візуальну голосову пошту ще не активовано, повторіть спробу пізніше"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Старий PIN-код"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Новий PIN-код"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Зачекайте."</string>
diff --git a/java/com/android/voicemail/impl/res/values-ur/strings.xml b/java/com/android/voicemail/impl/res/values-ur/strings.xml
index de6f9553b..201e6e910 100644
--- a/java/com/android/voicemail/impl/res/values-ur/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-ur/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"بصری صوتی میل"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"اضافی بیک اپ اور اسٹوریج"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"یہ ایک تجرباتی خصوصیت ہے"</i></b>" جسے ابھی ہم ٹیسٹ کر رہے ہیں۔ یہ ممکنہ طور پر آپ کے صوتی میل سرور پر سے آپ کی صوتی میلز کو حذف کر دے گی۔ مستقبل میں اس خصوصیت کی معاونت کی کوئی ضمانت نہیں ہے۔ لیکن ہم اس خصوصیت پر تاثرات پسند کریں گے۔"</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"‏PIN سیٹ کریں"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"‏PIN تبدیل کریں"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"‏PIN سیٹ کریں"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"‏PIN تبدیل کریں"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"‏PIN تبدیل کرنے کیلئے بصری صوتی میل اہل ہونی چاہئیے"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"بصری صوتی میل ابھی فعال نہیں ہے، براہ کرم بعد میں دوبارہ کوشش کریں"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"‏پرانا PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"‏نیا PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"براہ کرم انتظار کریں۔"</string>
diff --git a/java/com/android/voicemail/impl/res/values-uz/strings.xml b/java/com/android/voicemail/impl/res/values-uz/strings.xml
index 47941be1b..7f26475ec 100644
--- a/java/com/android/voicemail/impl/res/values-uz/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-uz/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Vizual ovozli pochta"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Zaxira. va saqlash u-n qo‘shimcha xotira"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Bu – tajribaviy xususiyat bo‘lib,"</i></b>" u ayni vaqtda sinovdan o‘tkazilmoqda. Sizning ovozli xabarlaringiz, ehtimol, ovozli pochta serveridan o‘chirib tashlanadi. Bu xususiyatning keyinchalik qo‘llab-quvvatlanishi kafolatlanmaydi. Shunday bo‘lsa-da, u haqda fikr-mulohaza bildirishingizni xohlaymiz."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"PIN kod o‘rnatish"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"PIN kodni o‘zgartirish"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"PIN kod o‘rnatish"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"PIN kodni o‘zgartirish"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"PIN kodni o‘zgartirish uchun vizual ovozli pochtani yoqish lozim."</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Vizual ovozli pochta yoqilmadi. Keyinroq qayta urinib ko‘ring."</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Eski PIN kod"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Yangi PIN kod"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Iltimos, kuting…"</string>
diff --git a/java/com/android/voicemail/impl/res/values-vi/strings.xml b/java/com/android/voicemail/impl/res/values-vi/strings.xml
index a29e78b92..a0b25f803 100644
--- a/java/com/android/voicemail/impl/res/values-vi/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-vi/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Thư thoại kèm theo hình ảnh"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Bộ nhớ và bản sao lưu bổ sung"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Đây là một tính năng thử nghiệm"</i></b>" chúng tôi hiện đang thử nghiệm. Tính năng này có khả năng sẽ xóa thư thoại khỏi máy chủ thư thoại của bạn. Không có đảm bảo về việc hỗ trợ tính năng này trong tương lai. Mặc dù vậy, chúng tôi vẫn mong muốn nhận được phản hồi về tính năng này."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Đặt mã PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Thay đổi mã PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Đặt mã PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Thay đổi mã PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Phải bật thư thoại kèm theo hình ảnh để thay đổi mã PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Thư thoại kèm theo hình ảnh chưa được kích hoạt, hãy thử lại sau"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"Mã PIN cũ"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"Mã PIN mới"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Vui lòng đợi."</string>
diff --git a/java/com/android/voicemail/impl/res/values-zh-rCN/strings.xml b/java/com/android/voicemail/impl/res/values-zh-rCN/strings.xml
index f51c790dd..9bfbe368d 100644
--- a/java/com/android/voicemail/impl/res/values-zh-rCN/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-zh-rCN/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"可视语音信箱"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"额外存储空间和备份功能"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"这是一项试验性功能"</i></b>" 我们目前正在进行测试。使用此功能可能会将语音邮件从您的语音邮件服务器上删除。我们不保证将来会支持此功能,但希望能收到针对此功能的反馈。"</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"设置 PIN 码"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"更改 PIN 码"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"设置 PIN 码"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"更改 PIN 码"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"必须启用可视语音信箱才可更改 PIN 码"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"可视语音信箱尚未激活,请稍后再试"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"旧 PIN 码"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"新 PIN 码"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"请稍候。"</string>
diff --git a/java/com/android/voicemail/impl/res/values-zh-rHK/strings.xml b/java/com/android/voicemail/impl/res/values-zh-rHK/strings.xml
index 388262976..6c1ed4d15 100644
--- a/java/com/android/voicemail/impl/res/values-zh-rHK/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-zh-rHK/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"視像留言"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"額外備份功能和儲存空間"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"此為我們目前正在測試的實驗性功能"</i></b>",有可能會將您的留言從留言伺服器刪除。我們不保證日後會支援此功能,但還是歡迎您提供相關意見。"</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"設定 PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"變更 PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"設定 PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"變更 PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"必須啟用視像留言才能變更 PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"視像留言尚未啟用,請稍後再試"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"舊的 PIN"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"新的 PIN"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"請稍候。"</string>
diff --git a/java/com/android/voicemail/impl/res/values-zh-rTW/strings.xml b/java/com/android/voicemail/impl/res/values-zh-rTW/strings.xml
index 28d6a0b90..0af6ed152 100644
--- a/java/com/android/voicemail/impl/res/values-zh-rTW/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-zh-rTW/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"視覺化語音信箱"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"額外的備份功能和儲存空間"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b>"這是實驗性功能"<i></i></b>",目前正在測試階段,而且可能會從你的語音信箱伺服器中刪除語音留言。我們不保證日後會支援此功能,但還是希望聽聽你的寶貴意見。"</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"設定語音信箱密碼"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"變更語音信箱密碼"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"設定 PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"變更 PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"必須啟用視覺化語音信箱才能變更 PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"視覺化語音信箱尚未啟用,請稍後再試"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"舊的語音信箱密碼"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"新的語音信箱密碼"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"請稍候。"</string>
diff --git a/java/com/android/voicemail/impl/res/values-zu/strings.xml b/java/com/android/voicemail/impl/res/values-zu/strings.xml
index 09ff7e8b6..81d4d3548 100644
--- a/java/com/android/voicemail/impl/res/values-zu/strings.xml
+++ b/java/com/android/voicemail/impl/res/values-zu/strings.xml
@@ -25,8 +25,10 @@
<string name="voicemail_visual_voicemail_switch_title" msgid="3158454817165714998">"Ivoyisimeyili ebonakalayo"</string>
<string name="voicemail_visual_voicemail_auto_archive_switch_title" msgid="7120443850486401455">"Isipele esingeziwe nesitoreji"</string>
<string name="voicemail_visual_voicemail_auto_archive_temporary_disclaimer" msgid="401509437213449235">" "<b><i>"Lesi isici sokuhlola"</i></b>" manje esisihlolayo. Lokhu kunamandla okususa amavoyisimeyili kusukela kuseva yakho yevoyisimeyili. Azikho iziqinisekiso zokusekela lesi sici ngokuzayo. Singathanda impendulo kusici yize kunjalo."</string>
- <string name="voicemail_set_pin_dialog_title" msgid="8853126653745637812">"Setha i-PIN"</string>
- <string name="voicemail_change_pin_dialog_title" msgid="6929300804279262966">"Shintsha i-PIN"</string>
+ <string name="voicemail_set_pin_preference_title" msgid="1034691230818233684">"Setha i-PIN"</string>
+ <string name="voicemail_change_pin_preference_title" msgid="8944570865151211693">"Shintsha i-PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_disable" msgid="2787334822298063691">"Ivoyisimeyili ebonakalayo kumele inikwe amandla ukuze ishintshe i-PIN"</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated" msgid="8794039647258533633">"Ivoyisimeyili ebonakalayo ayisebenzi okwamanje, sicela uzame futhi emuva kwesikhathi"</string>
<string name="vm_change_pin_old_pin" msgid="3732582036597386047">"I-PIN endala"</string>
<string name="vm_change_pin_new_pin" msgid="5167496290646066333">"I-PIN entsha"</string>
<string name="vm_change_pin_progress_message" msgid="4143209637626661679">"Sicela ulinde."</string>
diff --git a/java/com/android/voicemail/impl/res/values/strings.xml b/java/com/android/voicemail/impl/res/values/strings.xml
index f18213b49..c8085619b 100644
--- a/java/com/android/voicemail/impl/res/values/strings.xml
+++ b/java/com/android/voicemail/impl/res/values/strings.xml
@@ -66,9 +66,12 @@
<!-- Voicemail change PIN dialog title [CHAR LIMIT=40] -->
- <string name="voicemail_set_pin_dialog_title">Set PIN</string>
+ <string name="voicemail_set_pin_preference_title">Set PIN</string>
<!-- Voicemail change PIN dialog title [CHAR LIMIT=40] -->
- <string name="voicemail_change_pin_dialog_title">Change PIN</string>
+ <string name="voicemail_change_pin_preference_title">Change PIN</string>
+
+ <string name="voicemail_change_pin_preference_summary_disable">Visual voicemail must be enabled to change PIN</string>
+ <string name="voicemail_change_pin_preference_summary_not_activated">Visual voicemail is not activated yet, please try again later</string>
<!-- Hint for the old PIN field in the change vociemail PIN dialog -->
<string name="vm_change_pin_old_pin">Old PIN</string>
diff --git a/java/com/android/voicemail/impl/res/xml/voicemail_settings.xml b/java/com/android/voicemail/impl/res/xml/voicemail_settings.xml
index 22437337c..53fd57f7e 100644
--- a/java/com/android/voicemail/impl/res/xml/voicemail_settings.xml
+++ b/java/com/android/voicemail/impl/res/xml/voicemail_settings.xml
@@ -38,7 +38,7 @@
android:title="@string/voicemail_visual_voicemail_auto_archive_switch_title"/>"
<Preference
android:key="@string/voicemail_change_pin_key"
- android:title="@string/voicemail_change_pin_dialog_title"/>
+ android:title="@string/voicemail_change_pin_preference_title"/>
<PreferenceScreen
android:key="@string/voicemail_advanced_settings_key"
diff --git a/java/com/android/voicemail/impl/settings/VisualVoicemailSettingsUtil.java b/java/com/android/voicemail/impl/settings/VisualVoicemailSettingsUtil.java
index 7e4a6a7dc..4c95e7783 100644
--- a/java/com/android/voicemail/impl/settings/VisualVoicemailSettingsUtil.java
+++ b/java/com/android/voicemail/impl/settings/VisualVoicemailSettingsUtil.java
@@ -18,6 +18,7 @@ package com.android.voicemail.impl.settings;
import android.content.Context;
import android.telecom.PhoneAccountHandle;
import com.android.dialer.common.Assert;
+import com.android.voicemail.VoicemailComponent;
import com.android.voicemail.impl.OmtpVvmCarrierConfigHelper;
import com.android.voicemail.impl.R;
import com.android.voicemail.impl.VisualVoicemailPreferences;
@@ -27,8 +28,6 @@ import com.android.voicemail.impl.sync.VvmAccountManager;
public class VisualVoicemailSettingsUtil {
private static final String IS_ENABLED_KEY = "is_enabled";
- // Flag name used for configuration
- public static final String ALLOW_VOICEMAIL_ARCHIVE = "allow_voicemail_archive";
public static void setEnabled(
Context context, PhoneAccountHandle phoneAccount, boolean isEnabled) {
@@ -47,6 +46,8 @@ public class VisualVoicemailSettingsUtil {
public static void setArchiveEnabled(
Context context, PhoneAccountHandle phoneAccount, boolean isEnabled) {
+ Assert.checkArgument(
+ VoicemailComponent.get(context).getVoicemailClient().isVoicemailArchiveAvailable(context));
new VisualVoicemailPreferences(context, phoneAccount)
.edit()
.putBoolean(context.getString(R.string.voicemail_visual_voicemail_archive_key), isEnabled)
diff --git a/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java b/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java
index 2fc08f0ae..716f503ff 100644
--- a/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java
+++ b/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java
@@ -23,27 +23,32 @@ import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceFragment;
import android.preference.PreferenceScreen;
import android.preference.SwitchPreference;
-import android.telecom.PhoneAccount;
+import android.support.annotation.Nullable;
import android.telecom.PhoneAccountHandle;
-import android.telecom.TelecomManager;
import android.telephony.TelephonyManager;
-import com.android.dialer.common.ConfigProviderBindings;
+import com.android.dialer.common.Assert;
import com.android.dialer.logging.Logger;
import com.android.dialer.logging.nano.DialerImpression;
+import com.android.voicemail.VoicemailClient;
+import com.android.voicemail.VoicemailComponent;
import com.android.voicemail.impl.OmtpVvmCarrierConfigHelper;
import com.android.voicemail.impl.R;
import com.android.voicemail.impl.VvmLog;
import com.android.voicemail.impl.sync.VvmAccountManager;
-/** Fragment for voicemail settings. */
+/**
+ * Fragment for voicemail settings. Requires {@link VoicemailClient#PARAM_PHONE_ACCOUNT_HANDLE} set
+ * in arguments.
+ */
@TargetApi(VERSION_CODES.O)
public class VoicemailSettingsFragment extends PreferenceFragment
implements Preference.OnPreferenceChangeListener,
- VoicemailRingtonePreference.VoicemailRingtoneNameChangeListener {
+ VoicemailRingtonePreference.VoicemailRingtoneNameChangeListener,
+ VvmAccountManager.Listener {
private static final String TAG = "VmSettingsActivity";
- private PhoneAccountHandle phoneAccountHandle;
+ @Nullable private PhoneAccountHandle phoneAccountHandle;
private OmtpVvmCarrierConfigHelper omtpVvmCarrierConfigHelper;
private VoicemailRingtonePreference voicemailRingtonePreference;
@@ -62,9 +67,7 @@ public class VoicemailSettingsFragment extends PreferenceFragment
super.onCreate(icicle);
phoneAccountHandle =
- getContext()
- .getSystemService(TelecomManager.class)
- .getDefaultOutgoingPhoneAccount(PhoneAccount.SCHEME_TEL);
+ Assert.isNotNull(getArguments().getParcelable(VoicemailClient.PARAM_PHONE_ACCOUNT_HANDLE));
omtpVvmCarrierConfigHelper = new OmtpVvmCarrierConfigHelper(getContext(), phoneAccountHandle);
}
@@ -73,6 +76,7 @@ public class VoicemailSettingsFragment extends PreferenceFragment
public void onResume() {
super.onResume();
Logger.get(getContext()).logImpression(DialerImpression.Type.VVM_SETTINGS_VIEWED);
+ VvmAccountManager.addListener(this);
PreferenceScreen preferenceScreen = getPreferenceScreen();
if (preferenceScreen != null) {
preferenceScreen.removeAll();
@@ -123,33 +127,38 @@ public class VoicemailSettingsFragment extends PreferenceFragment
(SwitchPreference)
findPreference(getString(R.string.voicemail_visual_voicemail_archive_key));
- if (!ConfigProviderBindings.get(getContext())
- .getBoolean(VisualVoicemailSettingsUtil.ALLOW_VOICEMAIL_ARCHIVE, true)) {
+ if (!VoicemailComponent.get(getContext())
+ .getVoicemailClient()
+ .isVoicemailArchiveAvailable(getContext())) {
getPreferenceScreen().removePreference(autoArchiveSwitchPreference);
}
voicemailChangePinPreference = findPreference(getString(R.string.voicemail_change_pin_key));
- Intent changePinIntent = new Intent(new Intent(getContext(), VoicemailChangePinActivity.class));
- changePinIntent.putExtra(
- VoicemailChangePinActivity.EXTRA_PHONE_ACCOUNT_HANDLE, phoneAccountHandle);
-
- voicemailChangePinPreference.setIntent(changePinIntent);
- voicemailChangePinPreference.setOnPreferenceClickListener(
- new OnPreferenceClickListener() {
- @Override
- public boolean onPreferenceClick(Preference preference) {
- Logger.get(getContext()).logImpression(DialerImpression.Type.VVM_CHANGE_PIN_CLICKED);
- // Let the preference handle the click.
- return false;
- }
- });
- if (VoicemailChangePinActivity.isDefaultOldPinSet(getContext(), phoneAccountHandle)) {
- voicemailChangePinPreference.setTitle(R.string.voicemail_set_pin_dialog_title);
- } else {
- voicemailChangePinPreference.setTitle(R.string.voicemail_change_pin_dialog_title);
- }
if (omtpVvmCarrierConfigHelper.isValid()) {
+ Assert.isNotNull(phoneAccountHandle);
+ Intent changePinIntent =
+ new Intent(new Intent(getContext(), VoicemailChangePinActivity.class));
+ changePinIntent.putExtra(
+ VoicemailChangePinActivity.EXTRA_PHONE_ACCOUNT_HANDLE, phoneAccountHandle);
+
+ voicemailChangePinPreference.setIntent(changePinIntent);
+ voicemailChangePinPreference.setOnPreferenceClickListener(
+ new OnPreferenceClickListener() {
+ @Override
+ public boolean onPreferenceClick(Preference preference) {
+ Logger.get(getContext()).logImpression(DialerImpression.Type.VVM_CHANGE_PIN_CLICKED);
+ // Let the preference handle the click.
+ return false;
+ }
+ });
+ if (VoicemailChangePinActivity.isDefaultOldPinSet(getContext(), phoneAccountHandle)) {
+ voicemailChangePinPreference.setTitle(R.string.voicemail_set_pin_preference_title);
+ } else {
+ voicemailChangePinPreference.setTitle(R.string.voicemail_change_pin_preference_title);
+ }
+ updateChangePin();
+
voicemailVisualVoicemail.setOnPreferenceChangeListener(this);
voicemailVisualVoicemail.setChecked(
VisualVoicemailSettingsUtil.isEnabled(getContext(), phoneAccountHandle));
@@ -159,10 +168,6 @@ public class VoicemailSettingsFragment extends PreferenceFragment
getText(R.string.voicemail_visual_voicemail_auto_archive_temporary_disclaimer));
autoArchiveSwitchPreference.setChecked(
VisualVoicemailSettingsUtil.isArchiveEnabled(getContext(), phoneAccountHandle));
-
- if (!isVisualVoicemailActivated()) {
- prefSet.removePreference(voicemailChangePinPreference);
- }
} else {
prefSet.removePreference(voicemailVisualVoicemail);
prefSet.removePreference(autoArchiveSwitchPreference);
@@ -188,6 +193,7 @@ public class VoicemailSettingsFragment extends PreferenceFragment
@Override
public void onPause() {
+ VvmAccountManager.removeListener(this);
super.onPause();
}
@@ -210,12 +216,7 @@ public class VoicemailSettingsFragment extends PreferenceFragment
Logger.get(getContext()).logImpression(DialerImpression.Type.VVM_USER_DISABLED_IN_SETTINGS);
}
- PreferenceScreen prefSet = getPreferenceScreen();
- if (isVisualVoicemailActivated()) {
- prefSet.addPreference(voicemailChangePinPreference);
- } else {
- prefSet.removePreference(voicemailChangePinPreference);
- }
+ updateChangePin();
} else if (preference.getKey().equals(autoArchiveSwitchPreference.getKey())) {
logArchiveToggle((boolean) objValue);
VisualVoicemailSettingsUtil.setArchiveEnabled(
@@ -230,6 +231,21 @@ public class VoicemailSettingsFragment extends PreferenceFragment
return true;
}
+ private void updateChangePin() {
+ if (!VisualVoicemailSettingsUtil.isEnabled(getContext(), phoneAccountHandle)) {
+ voicemailChangePinPreference.setSummary(
+ R.string.voicemail_change_pin_preference_summary_disable);
+ voicemailChangePinPreference.setEnabled(false);
+ } else if (!VvmAccountManager.isAccountActivated(getContext(), phoneAccountHandle)) {
+ voicemailChangePinPreference.setSummary(
+ R.string.voicemail_change_pin_preference_summary_not_activated);
+ voicemailChangePinPreference.setEnabled(false);
+ } else {
+ voicemailChangePinPreference.setSummary(null);
+ voicemailChangePinPreference.setEnabled(true);
+ }
+ }
+
private void logArchiveToggle(boolean userTurnedOn) {
if (userTurnedOn) {
Logger.get(getContext())
@@ -245,10 +261,10 @@ public class VoicemailSettingsFragment extends PreferenceFragment
oldRingtoneName = name;
}
- private boolean isVisualVoicemailActivated() {
- if (!VisualVoicemailSettingsUtil.isEnabled(getContext(), phoneAccountHandle)) {
- return false;
+ @Override
+ public void onActivationStateChanged(PhoneAccountHandle phoneAccountHandle, boolean isActivated) {
+ if (this.phoneAccountHandle.equals(phoneAccountHandle)) {
+ updateChangePin();
}
- return VvmAccountManager.isAccountActivated(getContext(), phoneAccountHandle);
}
}
diff --git a/java/com/android/voicemail/impl/sync/OmtpVvmSyncReceiver.java b/java/com/android/voicemail/impl/sync/OmtpVvmSyncReceiver.java
index ef6f6322c..b2ec49e9f 100644
--- a/java/com/android/voicemail/impl/sync/OmtpVvmSyncReceiver.java
+++ b/java/com/android/voicemail/impl/sync/OmtpVvmSyncReceiver.java
@@ -35,7 +35,7 @@ public class OmtpVvmSyncReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, Intent intent) {
if (!VoicemailComponent.get(context).getVoicemailClient().isVoicemailModuleEnabled()) {
- // ACTION_SYNC_VOICEMAIL is available pre-O
+ // ACTION_SYNC_VOICEMAIL is available pre-O, ignore if received.
return;
}
diff --git a/java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java b/java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java
index 25325eeb7..83a3960dd 100644
--- a/java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java
+++ b/java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java
@@ -24,9 +24,9 @@ import android.support.v4.os.BuildCompat;
import android.telecom.PhoneAccountHandle;
import android.text.TextUtils;
import android.util.ArrayMap;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.logging.Logger;
import com.android.dialer.logging.nano.DialerImpression;
+import com.android.voicemail.VoicemailComponent;
import com.android.voicemail.impl.ActivationTask;
import com.android.voicemail.impl.Assert;
import com.android.voicemail.impl.OmtpEvents;
@@ -153,9 +153,7 @@ public class OmtpVvmSyncService {
private void autoDeleteAndArchiveVM(
ImapHelper imapHelper, PhoneAccountHandle phoneAccountHandle) {
- if (ConfigProviderBindings.get(mContext)
- .getBoolean(VisualVoicemailSettingsUtil.ALLOW_VOICEMAIL_ARCHIVE, true)
- && isArchiveEnabled(mContext, phoneAccountHandle)) {
+ if (isArchiveAllowedAndEnabled(mContext, phoneAccountHandle)) {
if ((float) imapHelper.getOccuupiedQuota() / (float) imapHelper.getTotalQuota()
> AUTO_DELETE_ARCHIVE_VM_THRESHOLD) {
deleteAndArchiveVM(imapHelper);
@@ -166,14 +164,29 @@ public class OmtpVvmSyncService {
VvmLog.i(TAG, "no need to archive and auto delete VM, quota below threshold");
}
} else {
- VvmLog.i(TAG, "autoDeleteAndArchiveVM is turned off");
+ VvmLog.i(TAG, "isArchiveAllowedAndEnabled is false");
Logger.get(mContext).logImpression(DialerImpression.Type.VVM_ARCHIVE_AUTO_DELETE_TURNED_OFF);
}
}
- private static boolean isArchiveEnabled(Context context, PhoneAccountHandle phoneAccountHandle) {
- return VisualVoicemailSettingsUtil.isArchiveEnabled(context, phoneAccountHandle)
- && VisualVoicemailSettingsUtil.isEnabled(context, phoneAccountHandle);
+ private static boolean isArchiveAllowedAndEnabled(
+ Context context, PhoneAccountHandle phoneAccountHandle) {
+
+ if (!VoicemailComponent.get(context)
+ .getVoicemailClient()
+ .isVoicemailArchiveAvailable(context)) {
+ VvmLog.i("isArchiveAllowedAndEnabled", "voicemail archive is not available");
+ return false;
+ }
+ if (!VisualVoicemailSettingsUtil.isArchiveEnabled(context, phoneAccountHandle)) {
+ VvmLog.i("isArchiveAllowedAndEnabled", "voicemail archive is turned off");
+ return false;
+ }
+ if (!VisualVoicemailSettingsUtil.isEnabled(context, phoneAccountHandle)) {
+ VvmLog.i("isArchiveAllowedAndEnabled", "voicemail is turned off");
+ return false;
+ }
+ return true;
}
private void deleteAndArchiveVM(ImapHelper imapHelper) {
diff --git a/java/com/android/voicemail/impl/sync/VvmAccountManager.java b/java/com/android/voicemail/impl/sync/VvmAccountManager.java
index 05f649450..cc4e31fe3 100644
--- a/java/com/android/voicemail/impl/sync/VvmAccountManager.java
+++ b/java/com/android/voicemail/impl/sync/VvmAccountManager.java
@@ -16,16 +16,20 @@
package com.android.voicemail.impl.sync;
import android.content.Context;
+import android.support.annotation.MainThread;
import android.support.annotation.NonNull;
import android.telecom.PhoneAccountHandle;
import android.telecom.TelecomManager;
+import android.util.ArraySet;
import com.android.dialer.common.Assert;
+import com.android.dialer.common.concurrent.ThreadUtil;
import com.android.voicemail.impl.OmtpConstants;
import com.android.voicemail.impl.VisualVoicemailPreferences;
import com.android.voicemail.impl.VoicemailStatus;
import com.android.voicemail.impl.sms.StatusMessage;
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
/**
* Tracks the activation state of a visual voicemail phone account. An account is considered
@@ -39,13 +43,28 @@ import java.util.List;
public class VvmAccountManager {
public static final String TAG = "VvmAccountManager";
+ /** Listener for activation state changes. Will be called on the main thread. */
+ public interface Listener {
+ @MainThread
+ void onActivationStateChanged(PhoneAccountHandle phoneAccountHandle, boolean isActivated);
+ }
+
private static final String IS_ACCOUNT_ACTIVATED = "is_account_activated";
+ private static Set<Listener> listeners = new ArraySet<>();
+
public static void addAccount(
Context context, PhoneAccountHandle phoneAccountHandle, StatusMessage statusMessage) {
VisualVoicemailPreferences preferences =
new VisualVoicemailPreferences(context, phoneAccountHandle);
statusMessage.putStatus(preferences.edit()).putBoolean(IS_ACCOUNT_ACTIVATED, true).apply();
+
+ ThreadUtil.postOnUiThread(
+ () -> {
+ for (Listener listener : listeners) {
+ listener.onActivationStateChanged(phoneAccountHandle, true);
+ }
+ });
}
public static void removeAccount(Context context, PhoneAccountHandle phoneAccount) {
@@ -57,6 +76,12 @@ public class VvmAccountManager {
.putString(OmtpConstants.IMAP_USER_NAME, null)
.putString(OmtpConstants.IMAP_PASSWORD, null)
.apply();
+ ThreadUtil.postOnUiThread(
+ () -> {
+ for (Listener listener : listeners) {
+ listener.onActivationStateChanged(phoneAccount, false);
+ }
+ });
}
public static boolean isAccountActivated(Context context, PhoneAccountHandle phoneAccount) {
@@ -76,4 +101,16 @@ public class VvmAccountManager {
}
return results;
}
+
+ @MainThread
+ public static void addListener(Listener listener) {
+ Assert.isMainThread();
+ listeners.add(listener);
+ }
+
+ @MainThread
+ public static void removeListener(Listener listener) {
+ Assert.isMainThread();
+ listeners.remove(listener);
+ }
}
diff --git a/java/com/android/voicemail/stub/StubVoicemailClient.java b/java/com/android/voicemail/stub/StubVoicemailClient.java
index 9ee7c4783..172b3ffcc 100644
--- a/java/com/android/voicemail/stub/StubVoicemailClient.java
+++ b/java/com/android/voicemail/stub/StubVoicemailClient.java
@@ -17,7 +17,9 @@
package com.android.voicemail.stub;
import android.content.Context;
+import android.content.Intent;
import android.telecom.PhoneAccountHandle;
+import android.telephony.TelephonyManager;
import com.android.voicemail.VoicemailClient;
import java.util.List;
import javax.inject.Inject;
@@ -53,6 +55,16 @@ public final class StubVoicemailClient implements VoicemailClient {
}
@Override
+ public boolean isVoicemailArchiveAvailable(Context context) {
+ return false;
+ }
+
+ @Override
public void setVoicemailArchiveEnabled(
Context context, PhoneAccountHandle phoneAccountHandle, boolean value) {}
+
+ @Override
+ public Intent getSetPinIntent(Context context, PhoneAccountHandle phoneAccountHandle) {
+ return new Intent(TelephonyManager.ACTION_CONFIGURE_VOICEMAIL);
+ }
}