[automerger skipped] Unbind CS if connection is not created within 15 seconds. am: 69a816bb5a -s ours
am skip reason: skipped by grantmenke
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/services/Telecomm/+/30258347
Change-Id: I962370e52c93bbd56e72e502b4f30d58240344fd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index b171af6..50a11ff 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -90,7 +90,7 @@
<string name="answering_ends_other_managed_video_call" msgid="1988508241432031327">"መመለስ እየተካሄደ ያለ የቪዲዮ ጥሪዎን ይጨርሳል"</string>
<string name="answer_incoming_call" msgid="2045888814782215326">"ይመልሱ"</string>
<string name="decline_incoming_call" msgid="922147089348451310">"አትቀበል"</string>
- <string name="cant_call_due_to_no_supported_service" msgid="1635626384149947077">"የዚህን አይነት ጥሪዎች የሚደግፉ መደወያ መለያዎች ስለሌሉ ጥሪ መደረግ አይችልም።"</string>
+ <string name="cant_call_due_to_no_supported_service" msgid="1635626384149947077">"የዚህን ዓይነት ጥሪዎች የሚደግፉ መደወያ መለያዎች ስለሌሉ ጥሪ መደረግ አይችልም።"</string>
<string name="cant_call_due_to_ongoing_call" msgid="8004235328451385493">"በ<xliff:g id="OTHER_CALL">%1$s</xliff:g> ጥሪዎ ምክንያት ጥሪ መደረግ አይችልም።"</string>
<string name="cant_call_due_to_ongoing_calls" msgid="6379163795277824868">"በ<xliff:g id="OTHER_CALL">%1$s</xliff:g> ጥሪዎችዎ ምክንያት ጥሪዎች መደረግ አይችሉም።"</string>
<string name="cant_call_due_to_ongoing_unknown_call" msgid="8243532328969433172">"በሌላ መተግበሪያ ውስጥ ባለ ጥሪ ምክንያት ጥሪ መደረግ አይችልም።"</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 33a56ad..c6177cc 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -37,8 +37,8 @@
<string name="accessibility_speakerphone_enabled" msgid="555386652061614267">"স্পীকাৰফ\'ন সক্ষম কৰা হৈছে।"</string>
<string name="respond_via_sms_canned_response_1" msgid="6332561460870382561">"এতিয়া কথা পাতিব নোৱাৰোঁ। কি খবৰ?"</string>
<string name="respond_via_sms_canned_response_2" msgid="2052951316129952406">"মই আপোনাক লগে লগে কলবেক কৰি আছোঁ।"</string>
- <string name="respond_via_sms_canned_response_3" msgid="6656147963478092035">"মই আপোনাক পিছত কল কৰিম।"</string>
- <string name="respond_via_sms_canned_response_4" msgid="9141132488345561047">"এতিয়া কথা পাতিব নোৱাৰোঁ। মোক পিছত কল কৰিবনে?"</string>
+ <string name="respond_via_sms_canned_response_3" msgid="6656147963478092035">"মই আপোনাক পাছত কল কৰিম।"</string>
+ <string name="respond_via_sms_canned_response_4" msgid="9141132488345561047">"এতিয়া কথা পাতিব নোৱাৰোঁ। মোক পাছত কল কৰিবনে?"</string>
<string name="respond_via_sms_setting_title" msgid="4762275482898830160">"ক্ষীপ্ৰ উত্তৰসমূহ"</string>
<string name="respond_via_sms_setting_title_2" msgid="4914853536609553457">"ক্ষীপ্ৰ উত্তৰসমূহ সম্পাদনা কৰক"</string>
<string name="respond_via_sms_setting_summary" msgid="8054571501085436868"></string>
@@ -57,9 +57,9 @@
<string name="change_default_dialer_dialog_affirmative" msgid="8604665314757739550">"ডিফ\'ল্ট ছেট কৰক"</string>
<string name="change_default_dialer_dialog_negative" msgid="8648669840052697821">"বাতিল কৰক"</string>
<string name="change_default_dialer_warning_message" msgid="8461963987376916114">"<xliff:g id="NEW_APP">%s</xliff:g>এ কল কৰা লগতে কলৰ সকলো দিশ নিয়ন্ত্ৰণ কৰিবলৈ সক্ষম হ\'ব। কেৱল আপুনি সম্পূৰ্ণৰূপে বিশ্বাস কৰা এপক হে আপোনাৰ ডিফ\'ল্ট ফ\'ন এপ্ হিচাপে চিহ্নিত কৰা উচিত।"</string>
- <string name="change_default_call_screening_dialog_title" msgid="5365787219927262408">"<xliff:g id="NEW_APP">%s</xliff:g>ক আপোনাৰ ডিফ\'ল্ট কল স্ক্ৰীণ কৰা এপ্ হিচাপে ছেট কৰিবনে?"</string>
- <string name="change_default_call_screening_warning_message_for_disable_old_app" msgid="2039830033533243164">"<xliff:g id="OLD_APP">%s</xliff:g>য়ে আৰু কল স্ক্ৰীণ কৰিব নোৱাৰিব।"</string>
- <string name="change_default_call_screening_warning_message" msgid="9020537562292754269">"<xliff:g id="NEW_APP">%s</xliff:g>য়ে আপোনাৰ সম্পৰ্কসূচীত নথকা কল কৰোঁতাৰ বিষয়ে তথ্য চাব আৰু এই কলবোৰ অৱৰোধ কৰিব পাৰিব। আপুনি বিশ্বাস কৰা এপবোৰহে ডিফ\'ল্ট কল স্ক্ৰীণ কৰা এপ্ হিচাপে ছেট কৰা উচিত।"</string>
+ <string name="change_default_call_screening_dialog_title" msgid="5365787219927262408">"<xliff:g id="NEW_APP">%s</xliff:g>ক আপোনাৰ ডিফ\'ল্ট কল স্ক্ৰীন কৰা এপ্ হিচাপে ছেট কৰিবনে?"</string>
+ <string name="change_default_call_screening_warning_message_for_disable_old_app" msgid="2039830033533243164">"<xliff:g id="OLD_APP">%s</xliff:g>য়ে আৰু কল স্ক্ৰীন কৰিব নোৱাৰিব।"</string>
+ <string name="change_default_call_screening_warning_message" msgid="9020537562292754269">"<xliff:g id="NEW_APP">%s</xliff:g>য়ে আপোনাৰ সম্পৰ্কসূচীত নথকা কল কৰোঁতাৰ বিষয়ে তথ্য চাব আৰু এই কলবোৰ অৱৰোধ কৰিব পাৰিব। আপুনি বিশ্বাস কৰা এপবোৰহে ডিফ\'ল্ট কল স্ক্ৰীন কৰা এপ্ হিচাপে ছেট কৰা উচিত।"</string>
<string name="change_default_call_screening_dialog_affirmative" msgid="7162433828280058647">"ডিফ\'ল্ট ছেট কৰক"</string>
<string name="change_default_call_screening_dialog_negative" msgid="1839266125623106342">"বাতিল কৰক"</string>
<string name="blocked_numbers" msgid="8322134197039865180">"অৱৰোধ কৰা নম্বৰসমূহ"</string>
@@ -73,7 +73,7 @@
<string name="non_primary_user" msgid="315564589279622098">"কেৱল ডিভাইচটোৰ গৰাকীয়েহে অৱৰোধ কৰা নম্বৰসমূহ চাব আৰু পৰিচালনা কৰিব পাৰে।"</string>
<string name="delete_icon_description" msgid="5335959254954774373">"অৱৰোধৰ পৰা আঁতৰাওক"</string>
<string name="blocked_numbers_butter_bar_title" msgid="582982373755950791">"সাময়িকভাৱে অৱৰোধৰ সুবিধা বন্ধ কৰি থোৱা হৈছে"</string>
- <string name="blocked_numbers_butter_bar_body" msgid="1261213114919301485">"আপুনি জৰুৰীকালীন নম্বৰ এটা ডায়েল কৰাৰ পিছত বা সেই নম্বৰটোলৈ পাঠ বাৰ্তা পঠিওৱাৰ পিছত নম্বৰটো অৱৰোধৰ পৰা আঁতৰোৱা হয় যাতে জৰুৰীকালীন সেৱাসমূহে আপোনাৰ সৈতে যোগাযোগ কৰিব পাৰে।"</string>
+ <string name="blocked_numbers_butter_bar_body" msgid="1261213114919301485">"আপুনি জৰুৰীকালীন নম্বৰ এটা ডায়েল কৰাৰ পাছত বা সেই নম্বৰটোলৈ পাঠ বাৰ্তা পঠিওৱাৰ পাছত নম্বৰটো অৱৰোধৰ পৰা আঁতৰোৱা হয় যাতে জৰুৰীকালীন সেৱাসমূহে আপোনাৰ সৈতে যোগাযোগ কৰিব পাৰে।"</string>
<string name="blocked_numbers_butter_bar_button" msgid="2704456308072489793">"এতিয়াই পুনঃসক্ষম কৰক"</string>
<string name="blocked_numbers_number_blocked_message" msgid="4314736791180919167">"<xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g> অৱৰোধ কৰা হৈছে"</string>
<string name="blocked_numbers_number_unblocked_message" msgid="2933071624674945601">"<xliff:g id="UNBLOCKED_NUMBER">%1$s</xliff:g> অৱৰোধৰ পৰা আঁতৰ কৰা হৈছে"</string>
@@ -108,7 +108,7 @@
<string name="phone_settings_call_blocking_txt" msgid="7311523114822507178">"কল অৱৰোধ"</string>
<string name="phone_settings_number_not_in_contact_txt" msgid="2602249106007265757">"আপোনাৰ সর্ম্পকসূচীত নথকা"</string>
<string name="phone_settings_number_not_in_contact_summary_txt" msgid="963327038085718969">"আপোনাৰ সর্ম্পকসূচীত নথকা নম্বৰ অৱৰোধ কৰক"</string>
- <string name="phone_settings_private_num_txt" msgid="6339272760338475619">"ব্য়ক্তিগত"</string>
+ <string name="phone_settings_private_num_txt" msgid="6339272760338475619">"ব্যক্তিগত"</string>
<string name="phone_settings_private_num_summary_txt" msgid="6755758240544021037">"যিসকল কল কৰোঁতাই তেওঁলোকৰ নম্বৰ প্ৰকাশ নকৰে তেওঁলোকক অৱৰোধ কৰক"</string>
<string name="phone_settings_payphone_txt" msgid="5003987966052543965">"পে\'ফ\'ন"</string>
<string name="phone_settings_payphone_summary_txt" msgid="3936631076065563665">"পে\'ফ\'নৰ পৰা অহা কল অৱৰোধ কৰক"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 3b144aa..f1ea118 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -36,7 +36,7 @@
<string name="accessibility_call_muted" msgid="2968461092554300779">"Hovor ztlumen."</string>
<string name="accessibility_speakerphone_enabled" msgid="555386652061614267">"Reproduktor je zapnutý."</string>
<string name="respond_via_sms_canned_response_1" msgid="6332561460870382561">"Teď nemůžu mluvit, o co jde?"</string>
- <string name="respond_via_sms_canned_response_2" msgid="2052951316129952406">"Zavolám zpátky."</string>
+ <string name="respond_via_sms_canned_response_2" msgid="2052951316129952406">"Zavolám později."</string>
<string name="respond_via_sms_canned_response_3" msgid="6656147963478092035">"Zavolám později."</string>
<string name="respond_via_sms_canned_response_4" msgid="9141132488345561047">"Nemůžu telefonovat. Zavoláš později?"</string>
<string name="respond_via_sms_setting_title" msgid="4762275482898830160">"Rychlé odpovědi"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index cef6db5..2e2f05f 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -16,7 +16,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="telecommAppLabel" product="default" msgid="1825598513414129827">"Phone calls"</string>
+ <string name="telecommAppLabel" product="default" msgid="1825598513414129827">"Phone Calls"</string>
<string name="userCallActivityLabel" product="default" msgid="3605391260292846248">"Phone"</string>
<string name="unknown" msgid="6993977514360123431">"Unknown"</string>
<string name="notification_missedCallTitle" msgid="5060387047205532974">"Missed call"</string>
@@ -35,8 +35,8 @@
<string name="notification_incallservice_not_responding_body" msgid="9209308270131968623">"Your call used the phone app that came with your device"</string>
<string name="accessibility_call_muted" msgid="2968461092554300779">"Call muted."</string>
<string name="accessibility_speakerphone_enabled" msgid="555386652061614267">"Speakerphone enabled."</string>
- <string name="respond_via_sms_canned_response_1" msgid="6332561460870382561">"I am so sorry, I can\'t answer the phone right now. How can I help you?"</string>
- <string name="respond_via_sms_canned_response_2" msgid="2052951316129952406">"I\'ll call you back."</string>
+ <string name="respond_via_sms_canned_response_1" msgid="6332561460870382561">"Can\'t talk now. What\'s up?"</string>
+ <string name="respond_via_sms_canned_response_2" msgid="2052951316129952406">"I\'ll call you right back."</string>
<string name="respond_via_sms_canned_response_3" msgid="6656147963478092035">"I\'ll call you later."</string>
<string name="respond_via_sms_canned_response_4" msgid="9141132488345561047">"Can\'t talk now. Call me later?"</string>
<string name="respond_via_sms_setting_title" msgid="4762275482898830160">"Quick responses"</string>
@@ -47,7 +47,7 @@
<string name="respond_via_sms_failure_format" msgid="5198680980054596391">"Message failed to send to <xliff:g id="PHONE_NUMBER">%s</xliff:g>."</string>
<string name="enable_account_preference_title" msgid="6949224486748457976">"Calling accounts"</string>
<string name="outgoing_call_not_allowed_user_restriction" msgid="3424338207838851646">"Only emergency calls are allowed."</string>
- <string name="outgoing_call_not_allowed_no_permission" msgid="8590468836581488679">"This application cannot make outgoing calls without Phone permission."</string>
+ <string name="outgoing_call_not_allowed_no_permission" msgid="8590468836581488679">"This application cannot make outgoing calls without the Phone permission."</string>
<string name="outgoing_call_error_no_phone_number_supplied" msgid="7665135102566099778">"To place a call, enter a valid number."</string>
<string name="duplicate_video_call_not_allowed" msgid="5754746140185781159">"Call cannot be added at this time."</string>
<string name="no_vm_number" msgid="2179959110602180844">"Missing voicemail number"</string>
@@ -56,10 +56,10 @@
<string name="change_default_dialer_dialog_title" msgid="5861469279421508060">"Make <xliff:g id="NEW_APP">%s</xliff:g> your default Phone app?"</string>
<string name="change_default_dialer_dialog_affirmative" msgid="8604665314757739550">"Set Default"</string>
<string name="change_default_dialer_dialog_negative" msgid="8648669840052697821">"Cancel"</string>
- <string name="change_default_dialer_warning_message" msgid="8461963987376916114">"<xliff:g id="NEW_APP">%s</xliff:g> will be able to place and control all aspects of calls. Only apps that you trust should be set as the default Phone app."</string>
+ <string name="change_default_dialer_warning_message" msgid="8461963987376916114">"<xliff:g id="NEW_APP">%s</xliff:g> will be able to place and control all aspects of calls. Only apps you trust should be set as the default Phone app."</string>
<string name="change_default_call_screening_dialog_title" msgid="5365787219927262408">"Make <xliff:g id="NEW_APP">%s</xliff:g> your default call screening app?"</string>
<string name="change_default_call_screening_warning_message_for_disable_old_app" msgid="2039830033533243164">"<xliff:g id="OLD_APP">%s</xliff:g> will no longer be able to screen calls."</string>
- <string name="change_default_call_screening_warning_message" msgid="9020537562292754269">"<xliff:g id="NEW_APP">%s</xliff:g> will be able to see information about callers not in your contacts and will be able to block these calls. Only apps that you trust should be set as the default call screening app."</string>
+ <string name="change_default_call_screening_warning_message" msgid="9020537562292754269">"<xliff:g id="NEW_APP">%s</xliff:g> will be able to see information about callers not in your contacts and will be able to block these calls. Only apps you trust should be set as the default call screening app."</string>
<string name="change_default_call_screening_dialog_affirmative" msgid="7162433828280058647">"Set Default"</string>
<string name="change_default_call_screening_dialog_negative" msgid="1839266125623106342">"Cancel"</string>
<string name="blocked_numbers" msgid="8322134197039865180">"Blocked numbers"</string>
@@ -73,13 +73,13 @@
<string name="non_primary_user" msgid="315564589279622098">"Only the device owner can view and manage blocked numbers."</string>
<string name="delete_icon_description" msgid="5335959254954774373">"Unblock"</string>
<string name="blocked_numbers_butter_bar_title" msgid="582982373755950791">"Blocking temporarily off"</string>
- <string name="blocked_numbers_butter_bar_body" msgid="1261213114919301485">"When you dial or text an emergency number, blocking is turned off to ensure that emergency services can contact you."</string>
+ <string name="blocked_numbers_butter_bar_body" msgid="1261213114919301485">"After you dial or text an emergency number, blocking is turned off to ensure that emergency services can contact you."</string>
<string name="blocked_numbers_butter_bar_button" msgid="2704456308072489793">"Re-enable now"</string>
<string name="blocked_numbers_number_blocked_message" msgid="4314736791180919167">"<xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g> blocked"</string>
<string name="blocked_numbers_number_unblocked_message" msgid="2933071624674945601">"<xliff:g id="UNBLOCKED_NUMBER">%1$s</xliff:g> unblocked"</string>
<string name="blocked_numbers_block_emergency_number_message" msgid="4198550501500893890">"Unable to block emergency number."</string>
<string name="blocked_numbers_number_already_blocked_message" msgid="2301270825735665458">"<xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g> is already blocked."</string>
- <string name="toast_personal_call_msg" msgid="5817631570381795610">"Using the personal dialler to make the call"</string>
+ <string name="toast_personal_call_msg" msgid="5817631570381795610">"Using the personal dialer to make the call"</string>
<string name="notification_incoming_call" msgid="1233481138362230894">"<xliff:g id="CALL_VIA">%1$s</xliff:g> call from <xliff:g id="CALL_FROM">%2$s</xliff:g>"</string>
<string name="notification_incoming_video_call" msgid="5795968314037063900">"<xliff:g id="CALL_VIA">%1$s</xliff:g> video call from <xliff:g id="CALL_FROM">%2$s</xliff:g>"</string>
<string name="answering_ends_other_call" msgid="8653544281903986641">"Answering will end your <xliff:g id="CALL_VIA">%1$s</xliff:g> call"</string>
@@ -90,7 +90,7 @@
<string name="answering_ends_other_managed_video_call" msgid="1988508241432031327">"Answering will end your ongoing video call"</string>
<string name="answer_incoming_call" msgid="2045888814782215326">"Answer"</string>
<string name="decline_incoming_call" msgid="922147089348451310">"Decline"</string>
- <string name="cant_call_due_to_no_supported_service" msgid="1635626384149947077">"Call cannot be placed because there are no calling accounts that support calls of this type."</string>
+ <string name="cant_call_due_to_no_supported_service" msgid="1635626384149947077">"Call cannot be placed because there are no calling accounts which support calls of this type."</string>
<string name="cant_call_due_to_ongoing_call" msgid="8004235328451385493">"Call cannot be placed due to your <xliff:g id="OTHER_CALL">%1$s</xliff:g> call."</string>
<string name="cant_call_due_to_ongoing_calls" msgid="6379163795277824868">"Call cannot be placed due to your <xliff:g id="OTHER_CALL">%1$s</xliff:g> calls."</string>
<string name="cant_call_due_to_ongoing_unknown_call" msgid="8243532328969433172">"Call cannot be placed due to a call in another app."</string>
@@ -101,7 +101,7 @@
<string name="notification_channel_disconnected_calls" msgid="8228636543997645757">"Disconnected calls"</string>
<string name="notification_channel_in_call_service_crash" msgid="7313237519166984267">"Crashed phone apps"</string>
<string name="alert_outgoing_call" msgid="5319895109298927431">"Placing this call will end your <xliff:g id="OTHER_APP">%1$s</xliff:g> call."</string>
- <string name="alert_redirect_outgoing_call_or_not" msgid="665409645789521636">"Choose how to make this call"</string>
+ <string name="alert_redirect_outgoing_call_or_not" msgid="665409645789521636">"Choose how to place this call"</string>
<string name="alert_place_outgoing_call_with_redirection" msgid="5221065030959024121">"Redirect call using <xliff:g id="OTHER_APP">%1$s</xliff:g>"</string>
<string name="alert_place_unredirect_outgoing_call" msgid="2467608535225764006">"Call using my phone number"</string>
<string name="alert_redirect_outgoing_call_timeout" msgid="5568101425637373060">"Call can\'t be placed by <xliff:g id="OTHER_APP">%1$s</xliff:g>. Try using a different call redirecting app or contacting the developer for help."</string>
@@ -109,8 +109,8 @@
<string name="phone_settings_number_not_in_contact_txt" msgid="2602249106007265757">"Numbers not in Contacts"</string>
<string name="phone_settings_number_not_in_contact_summary_txt" msgid="963327038085718969">"Block numbers that are not listed in your Contacts"</string>
<string name="phone_settings_private_num_txt" msgid="6339272760338475619">"Private"</string>
- <string name="phone_settings_private_num_summary_txt" msgid="6755758240544021037">"Block callers who do not disclose their number"</string>
- <string name="phone_settings_payphone_txt" msgid="5003987966052543965">"Phonebox"</string>
+ <string name="phone_settings_private_num_summary_txt" msgid="6755758240544021037">"Block callers that do not disclose their number"</string>
+ <string name="phone_settings_payphone_txt" msgid="5003987966052543965">"Pay phone"</string>
<string name="phone_settings_payphone_summary_txt" msgid="3936631076065563665">"Block calls from pay phones"</string>
<string name="phone_settings_unknown_txt" msgid="3577926178354772728">"Unknown"</string>
<string name="phone_settings_unknown_summary_txt" msgid="5446657192535779645">"Block calls from unidentified callers"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index ac0b22c..d2a1f4c 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -34,7 +34,7 @@
<string name="notification_incallservice_not_responding_title" msgid="5347557574288598548">"<xliff:g id="IN_CALL_SERVICE_APP_NAME">%s</xliff:g> dejó de responder"</string>
<string name="notification_incallservice_not_responding_body" msgid="9209308270131968623">"Tu llamada se hizo con la app de teléfono que venía en tu dispositivo"</string>
<string name="accessibility_call_muted" msgid="2968461092554300779">"Llamada silenciada"</string>
- <string name="accessibility_speakerphone_enabled" msgid="555386652061614267">"Altavoz habilitado"</string>
+ <string name="accessibility_speakerphone_enabled" msgid="555386652061614267">"Bocina habilitada"</string>
<string name="respond_via_sms_canned_response_1" msgid="6332561460870382561">"No puedo hablar ahora. ¿Todo bien?"</string>
<string name="respond_via_sms_canned_response_2" msgid="2052951316129952406">"Te llamo enseguida."</string>
<string name="respond_via_sms_canned_response_3" msgid="6656147963478092035">"Te llamo más tarde."</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 120dd6e..cd09637 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -47,7 +47,7 @@
<string name="respond_via_sms_failure_format" msgid="5198680980054596391">"Ezin izan da bidali mezua <xliff:g id="PHONE_NUMBER">%s</xliff:g> zenbakira."</string>
<string name="enable_account_preference_title" msgid="6949224486748457976">"Deiak egiteko kontuak"</string>
<string name="outgoing_call_not_allowed_user_restriction" msgid="3424338207838851646">"Larrialdi-deiak bakarrik egin daitezke."</string>
- <string name="outgoing_call_not_allowed_no_permission" msgid="8590468836581488679">"Aplikazioak deitu ahal izan dezan, telefonoaren eginbidea erabiltzeko baimena behar du."</string>
+ <string name="outgoing_call_not_allowed_no_permission" msgid="8590468836581488679">"Aplikazioak irteerako deiak egin ahal izan ditzan, telefonoaren eginbidea erabiltzeko baimena behar du."</string>
<string name="outgoing_call_error_no_phone_number_supplied" msgid="7665135102566099778">"Deitzeko, idatzi balio duen zenbaki bat."</string>
<string name="duplicate_video_call_not_allowed" msgid="5754746140185781159">"Une honetan ezin da deirik gehitu."</string>
<string name="no_vm_number" msgid="2179959110602180844">"Erantzungailuaren zenbakia falta da"</string>
@@ -59,7 +59,7 @@
<string name="change_default_dialer_warning_message" msgid="8461963987376916114">"Deien aspektu guztiak erabili eta kontrolatu ahal izango ditu <xliff:g id="NEW_APP">%s</xliff:g> aplikazioak. Fidagarriak diren aplikazioak bakarrik erabili beharko lirateke Telefonoa aplikazio lehenetsi gisa."</string>
<string name="change_default_call_screening_dialog_title" msgid="5365787219927262408">"Deiak iragazteko aplikazio lehenetsia <xliff:g id="NEW_APP">%s</xliff:g> izatea nahi duzu?"</string>
<string name="change_default_call_screening_warning_message_for_disable_old_app" msgid="2039830033533243164">"Aurrerantzean, <xliff:g id="OLD_APP">%s</xliff:g> aplikazioak ezingo ditu iragazi deiak."</string>
- <string name="change_default_call_screening_warning_message" msgid="9020537562292754269">"Kontaktuetan gordeta ez dituzun deitzaileei buruzko informazioa ikusteko eta dei horiek blokeatzeko gai izango da <xliff:g id="NEW_APP">%s</xliff:g>. Aplikazio fidagarriak soilik ezarri beharko lirateke deiak iragazteko aplikazio lehenetsi gisa."</string>
+ <string name="change_default_call_screening_warning_message" msgid="9020537562292754269">"Kontaktuetan gordeta ez dauzkazun deitzaileei buruzko informazioa ikusteko eta dei horiek blokeatzeko gai izango da <xliff:g id="NEW_APP">%s</xliff:g>. Aplikazio fidagarriak soilik ezarri beharko lirateke deiak iragazteko aplikazio lehenetsi gisa."</string>
<string name="change_default_call_screening_dialog_affirmative" msgid="7162433828280058647">"Ezarri lehenetsi gisa"</string>
<string name="change_default_call_screening_dialog_negative" msgid="1839266125623106342">"Utzi"</string>
<string name="blocked_numbers" msgid="8322134197039865180">"Blokeatutako zenbakiak"</string>
@@ -70,7 +70,7 @@
<string name="add_blocked_dialog_body" msgid="8599974422407139255">"Blokeatu zenbaki honetatik jasotzen diren deiak eta testu-mezuak:"</string>
<string name="add_blocked_number_hint" msgid="8769422085658041097">"Telefono-zenbakia"</string>
<string name="block_button" msgid="485080149164258770">"Blokeatu"</string>
- <string name="non_primary_user" msgid="315564589279622098">"Gailuaren jabeak soilik ikus eta kudea ditzake blokeatutako zenbakiak."</string>
+ <string name="non_primary_user" msgid="315564589279622098">"Gailuaren jabeak soilik ikusi eta kudea ditzake blokeatutako zenbakiak."</string>
<string name="delete_icon_description" msgid="5335959254954774373">"Desblokeatu"</string>
<string name="blocked_numbers_butter_bar_title" msgid="582982373755950791">"Aldi baterako desgaitu da blokeatzeko aukera"</string>
<string name="blocked_numbers_butter_bar_body" msgid="1261213114919301485">"Larrialdietarako zenbakia markatu ondoren, edo zenbait horretara testu-mezua bidali ondoren, desaktibatu egingo da blokeatzeko aukera, larrialdi-zerbitzuak zurekin harremanetan jarriko direla ziurtatzeko."</string>
@@ -94,7 +94,7 @@
<string name="cant_call_due_to_ongoing_call" msgid="8004235328451385493">"Ezin da egin deia, beste dei bat abian delako <xliff:g id="OTHER_CALL">%1$s</xliff:g> zerbitzuan."</string>
<string name="cant_call_due_to_ongoing_calls" msgid="6379163795277824868">"Ezin da egin deia, beste dei batzuk abian direlako <xliff:g id="OTHER_CALL">%1$s</xliff:g> zerbitzuan."</string>
<string name="cant_call_due_to_ongoing_unknown_call" msgid="8243532328969433172">"Ezin da egin deia, beste dei bat abian delako beste aplikazio batean."</string>
- <string name="notification_channel_incoming_call" msgid="5245550964701715662">"Jasotako deiak"</string>
+ <string name="notification_channel_incoming_call" msgid="5245550964701715662">"Sarrerako deiak"</string>
<string name="notification_channel_missed_call" msgid="7168893015283909012">"Dei galduak"</string>
<string name="notification_channel_call_blocking" msgid="2028807677868598710">"Deiak blokeatzeko aukera"</string>
<string name="notification_channel_background_calls" msgid="7785659903711350506">"Atzeko planoko deiak"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 2729d22..bd2b5df 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -25,7 +25,7 @@
<string name="notification_missedCallsMsg" msgid="5055782736170916682">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ચૂકી ગયેલા કૉલ"</string>
<string name="notification_missedCallTicker" msgid="6731461957487087769">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> નો કૉલ ચૂકી ગયાં"</string>
<string name="notification_missedCall_call_back" msgid="7900333283939789732">"કૉલ બેક"</string>
- <string name="notification_missedCall_message" msgid="4054698824390076431">"સંદેશ"</string>
+ <string name="notification_missedCall_message" msgid="4054698824390076431">"મેસેજ"</string>
<string name="notification_disconnectedCall_title" msgid="1790131923692416928">"ડિસ્કનેક્ટ કરેલો કૉલ"</string>
<string name="notification_disconnectedCall_body" msgid="600491714584417536">"ઇમર્જન્સી કૉલને કારણે <xliff:g id="CALLER">%s</xliff:g>નો કૉલ ડિસ્કનેક્ટ કરવામાં આવ્યો છે."</string>
<string name="notification_disconnectedCall_generic_body" msgid="5282765206349184853">"ઇમર્જન્સી કૉલને કારણે તમારો કૉલ ડિસ્કનેક્ટ કરવામાં આવ્યો છે."</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index aaa8229..09ee709 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -75,10 +75,10 @@
<string name="blocked_numbers_butter_bar_title" msgid="582982373755950791">"Тыйым уақытша алынды"</string>
<string name="blocked_numbers_butter_bar_body" msgid="1261213114919301485">"Төтенше жағдай нөмірін терген немесе мәтіндік хабар жіберген соң, төтенше жағдай қызметтері сізге хабарласа алуы үшін тыйым алынады."</string>
<string name="blocked_numbers_butter_bar_button" msgid="2704456308072489793">"Қазір қайта қосу"</string>
- <string name="blocked_numbers_number_blocked_message" msgid="4314736791180919167">"<xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g> бөгелген"</string>
+ <string name="blocked_numbers_number_blocked_message" msgid="4314736791180919167">"<xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g> блокталған"</string>
<string name="blocked_numbers_number_unblocked_message" msgid="2933071624674945601">"<xliff:g id="UNBLOCKED_NUMBER">%1$s</xliff:g> бөгеуден шығарылды"</string>
<string name="blocked_numbers_block_emergency_number_message" msgid="4198550501500893890">"Жедел қызмет нөмірін бөгеу мүмкін емес."</string>
- <string name="blocked_numbers_number_already_blocked_message" msgid="2301270825735665458">"<xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g> бұрыннан бөгелген."</string>
+ <string name="blocked_numbers_number_already_blocked_message" msgid="2301270825735665458">"<xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g> бұрыннан блокталған."</string>
<string name="toast_personal_call_msg" msgid="5817631570381795610">"Қоңырау шалу үшін жеке нөмір тергішті пайдалану"</string>
<string name="notification_incoming_call" msgid="1233481138362230894">"<xliff:g id="CALL_VIA">%1$s</xliff:g> қоңырауы: <xliff:g id="CALL_FROM">%2$s</xliff:g>"</string>
<string name="notification_incoming_video_call" msgid="5795968314037063900">"<xliff:g id="CALL_VIA">%1$s</xliff:g> бейне қоңырауы: <xliff:g id="CALL_FROM">%2$s</xliff:g>"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index bf5ea45..b20abb3 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -53,7 +53,7 @@
<string name="no_vm_number" msgid="2179959110602180844">"ಧ್ವನಿಮೇಲ್ ಸಂಖ್ಯೆಯು ಕಾಣೆಯಾಗಿದೆ"</string>
<string name="no_vm_number_msg" msgid="1339245731058529388">"ಸಿಮ್ ಕಾರ್ಡ್ನಲ್ಲಿ ಯಾವುದೇ ಧ್ವನಿಮೇಲ್ ಸಂಖ್ಯೆಯನ್ನು ಸಂಗ್ರಹಿಸಿಲ್ಲ."</string>
<string name="add_vm_number_str" msgid="5179510133063168998">"ಸಂಖ್ಯೆಯನ್ನು ಸೇರಿಸಿ"</string>
- <string name="change_default_dialer_dialog_title" msgid="5861469279421508060">"<xliff:g id="NEW_APP">%s</xliff:g> ಅನ್ನು ನಿಮ್ಮ ಡಿಫಾಲ್ಟ್ ಫೋನ್ ಅಪ್ಲಿಕೇಶನ್ ಆಗಿ ಮಾಡುವುದೇ?"</string>
+ <string name="change_default_dialer_dialog_title" msgid="5861469279421508060">"<xliff:g id="NEW_APP">%s</xliff:g> ಅನ್ನು ನಿಮ್ಮ ಡಿಫಾಲ್ಟ್ ಫೋನ್ ಆ್ಯಪ್ ಆಗಿ ಮಾಡಬೇಕೆ?"</string>
<string name="change_default_dialer_dialog_affirmative" msgid="8604665314757739550">"ಡಿಫಾಲ್ಟ್ ಹೊಂದಿಸಿ"</string>
<string name="change_default_dialer_dialog_negative" msgid="8648669840052697821">"ರದ್ದುಮಾಡಿ"</string>
<string name="change_default_dialer_warning_message" msgid="8461963987376916114">"<xliff:g id="NEW_APP">%s</xliff:g> ಗೆ ನಿಮ್ಮ ಕರೆಗಳ ಎಲ್ಲಾ ಅಂಶಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು ಮತ್ತು ಕರೆಗಳನ್ನು ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ನೀವು ವಿಶ್ವಾಸವಿರಿಸಿರುವಂತಹ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಮಾತ್ರ ನಿಮ್ಮ ಡಿಫಾಲ್ಟ್ ಅಪ್ಲಿಕೇಶನ್ ಆಗಿ ಹೊಂದಿಸಬೇಕು."</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index c425177..22daed7 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -109,7 +109,7 @@
<string name="phone_settings_number_not_in_contact_txt" msgid="2602249106007265757">"Броеви што не се наведени во „Контакти“"</string>
<string name="phone_settings_number_not_in_contact_summary_txt" msgid="963327038085718969">"Блокирани броеви што не се наведени во вашите „Контакти“"</string>
<string name="phone_settings_private_num_txt" msgid="6339272760338475619">"Приватно"</string>
- <string name="phone_settings_private_num_summary_txt" msgid="6755758240544021037">"Блокирај повикувачи со сокриен број"</string>
+ <string name="phone_settings_private_num_summary_txt" msgid="6755758240544021037">"Блокирај повикувачи со скриен број"</string>
<string name="phone_settings_payphone_txt" msgid="5003987966052543965">"Телефонска говорница"</string>
<string name="phone_settings_payphone_summary_txt" msgid="3936631076065563665">"Блокирај повици од телефонски говорници"</string>
<string name="phone_settings_unknown_txt" msgid="3577926178354772728">"Непознато"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 462e6f6..f47df4e 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -65,7 +65,7 @@
<string name="blocked_numbers" msgid="8322134197039865180">"Números bloqueados"</string>
<string name="blocked_numbers_msg" msgid="2797422132329662697">"Não irá receber chamadas ou mensagens de texto de números bloqueados."</string>
<string name="block_number" msgid="3784343046852802722">"Adicionar um número"</string>
- <string name="unblock_dialog_body" msgid="2723393535797217261">"Pretende desbloquear <xliff:g id="NUMBER_TO_BLOCK">%1$s</xliff:g>?"</string>
+ <string name="unblock_dialog_body" msgid="2723393535797217261">"Quer desbloquear <xliff:g id="NUMBER_TO_BLOCK">%1$s</xliff:g>?"</string>
<string name="unblock_button" msgid="8732021675729981781">"Desbloquear"</string>
<string name="add_blocked_dialog_body" msgid="8599974422407139255">"Bloquear chamadas e mensagens de texto de"</string>
<string name="add_blocked_number_hint" msgid="8769422085658041097">"Número de telefone"</string>
@@ -101,7 +101,7 @@
<string name="notification_channel_disconnected_calls" msgid="8228636543997645757">"Chamadas desligadas"</string>
<string name="notification_channel_in_call_service_crash" msgid="7313237519166984267">"Apps Telefone com falhas"</string>
<string name="alert_outgoing_call" msgid="5319895109298927431">"Ao efetuar esta chamada, irá terminar a chamada na app <xliff:g id="OTHER_APP">%1$s</xliff:g>."</string>
- <string name="alert_redirect_outgoing_call_or_not" msgid="665409645789521636">"Escolha como pretende efetuar esta chamada"</string>
+ <string name="alert_redirect_outgoing_call_or_not" msgid="665409645789521636">"Escolha como quer efetuar esta chamada"</string>
<string name="alert_place_outgoing_call_with_redirection" msgid="5221065030959024121">"Redirecionar chamada através de <xliff:g id="OTHER_APP">%1$s</xliff:g>"</string>
<string name="alert_place_unredirect_outgoing_call" msgid="2467608535225764006">"Ligar com o meu número de telefone"</string>
<string name="alert_redirect_outgoing_call_timeout" msgid="5568101425637373060">"Não é possível efetuar uma chamada através da app <xliff:g id="OTHER_APP">%1$s</xliff:g>. Experimente utilizar uma app de redirecionamento de chamadas diferente ou contactar o programador para obter ajuda."</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index af14060..ff8de53 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -51,17 +51,17 @@
<string name="outgoing_call_error_no_phone_number_supplied" msgid="7665135102566099778">"కాల్ చేయడానికి, చెల్లుబాటు అయ్యే నంబర్ను నమోదు చేయండి."</string>
<string name="duplicate_video_call_not_allowed" msgid="5754746140185781159">"ఈ సమయంలో కాల్ను జోడించడం సాధ్యపడదు."</string>
<string name="no_vm_number" msgid="2179959110602180844">"వాయిస్ మెయిల్ నంబర్ లేదు"</string>
- <string name="no_vm_number_msg" msgid="1339245731058529388">"సిమ్ కార్డులో వాయిస్ మెయిల్ నంబర్ ఏదీ నిల్వ చేయబడలేదు."</string>
- <string name="add_vm_number_str" msgid="5179510133063168998">"నంబర్ను జోడించు"</string>
+ <string name="no_vm_number_msg" msgid="1339245731058529388">"సిమ్ కార్డులో వాయిస్ మెయిల్ నంబర్ ఏదీ స్టోరేజ్ చేయబడలేదు."</string>
+ <string name="add_vm_number_str" msgid="5179510133063168998">"నంబర్ను జోడించండి"</string>
<string name="change_default_dialer_dialog_title" msgid="5861469279421508060">"<xliff:g id="NEW_APP">%s</xliff:g>ను మీ ఆటోమేటిక్ ఫోన్ యాప్గా చేయాలా?"</string>
<string name="change_default_dialer_dialog_affirmative" msgid="8604665314757739550">"ఆటోమేటిక్గా సెట్ చేయండి"</string>
- <string name="change_default_dialer_dialog_negative" msgid="8648669840052697821">"రద్దు చేయి"</string>
+ <string name="change_default_dialer_dialog_negative" msgid="8648669840052697821">"రద్దు చేయండి"</string>
<string name="change_default_dialer_warning_message" msgid="8461963987376916114">"<xliff:g id="NEW_APP">%s</xliff:g> అన్ని రకాల కాల్స్ను చేయగలదు, సంబంధిత అన్ని అంశాలను కంట్రోల్ చేయగలదు. మీరు విశ్వసించే యాప్లను మాత్రమే ఆటోమేటిక్ ఫోన్ యాప్గా సెట్ చేయాలి."</string>
<string name="change_default_call_screening_dialog_title" msgid="5365787219927262408">"<xliff:g id="NEW_APP">%s</xliff:g>ను మీ ఆటోమేటిక్ కాల్ స్క్రీనింగ్ యాప్గా సెట్ చేయాలా?"</string>
<string name="change_default_call_screening_warning_message_for_disable_old_app" msgid="2039830033533243164">"<xliff:g id="OLD_APP">%s</xliff:g> ఇకపై స్క్రీన్ కాల్స్ను చేయలేదు."</string>
<string name="change_default_call_screening_warning_message" msgid="9020537562292754269">"<xliff:g id="NEW_APP">%s</xliff:g> మీ కాంటాక్టుల్లో లేని కాలర్ల సమాచారాన్ని చూడగలుగుతుంది, అలాగే ఈ కాల్స్ను బ్లాక్ చేయగలుగుతుంది. మీరు విశ్వసించే యాప్లను మాత్రమే ఆటోమేటిక్ కాల్ స్క్రీనింగ్ యాప్గా సెట్ చేయాలి."</string>
<string name="change_default_call_screening_dialog_affirmative" msgid="7162433828280058647">"ఆటోమేటిక్గా సెట్ చేయండి"</string>
- <string name="change_default_call_screening_dialog_negative" msgid="1839266125623106342">"రద్దు చేయి"</string>
+ <string name="change_default_call_screening_dialog_negative" msgid="1839266125623106342">"రద్దు చేయండి"</string>
<string name="blocked_numbers" msgid="8322134197039865180">"బ్లాక్ చేయబడిన నంబర్లు"</string>
<string name="blocked_numbers_msg" msgid="2797422132329662697">"మీరు బ్లాక్ చేయబడిన నంబర్ల నుండి కాల్స్ లేదా వచన మెసేజ్లను స్వీకరించరు."</string>
<string name="block_number" msgid="3784343046852802722">"నంబర్ను జోడించండి"</string>
@@ -74,7 +74,7 @@
<string name="delete_icon_description" msgid="5335959254954774373">"అన్బ్లాక్ చేస్తుంది"</string>
<string name="blocked_numbers_butter_bar_title" msgid="582982373755950791">"బ్లాకింగ్ తాత్కాలికంగా ఆఫ్ చేయబడింది"</string>
<string name="blocked_numbers_butter_bar_body" msgid="1261213114919301485">"మీరు అత్యవసర నంబర్కి డయల్ చేసాక లేదా వచన మెసేజ్ పంపాక, అత్యవసర సేవలు తిరిగి మిమ్మల్ని సంప్రదించగలిగేలా చేయడానికి బ్లాకింగ్ ఆఫ్ చేయబడుతుంది."</string>
- <string name="blocked_numbers_butter_bar_button" msgid="2704456308072489793">"ఇప్పుడే మళ్లీ ప్రారంభించు"</string>
+ <string name="blocked_numbers_butter_bar_button" msgid="2704456308072489793">"ఇప్పుడే మళ్లీ ప్రారంభించండి"</string>
<string name="blocked_numbers_number_blocked_message" msgid="4314736791180919167">"<xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g> బ్లాక్ చేయబడింది"</string>
<string name="blocked_numbers_number_unblocked_message" msgid="2933071624674945601">"<xliff:g id="UNBLOCKED_NUMBER">%1$s</xliff:g> అన్బ్లాక్ చేయబడింది"</string>
<string name="blocked_numbers_block_emergency_number_message" msgid="4198550501500893890">"అత్యవసర నంబర్ను బ్లాక్ చేయడం సాధ్యపడలేదు."</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index c42f5d9..45a7d45 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -27,8 +27,8 @@
<string name="notification_missedCall_call_back" msgid="7900333283939789732">"واپس کال کریں"</string>
<string name="notification_missedCall_message" msgid="4054698824390076431">"پیغام"</string>
<string name="notification_disconnectedCall_title" msgid="1790131923692416928">"کال غیر منسلک کر دیا گیا"</string>
- <string name="notification_disconnectedCall_body" msgid="600491714584417536">"ہنگامی کال کی وجہ سے <xliff:g id="CALLER">%s</xliff:g> کی کال کو غیر منسلک کر دیا گیا ہے۔"</string>
- <string name="notification_disconnectedCall_generic_body" msgid="5282765206349184853">"ہنگامی کال لگائے جانے کی وجہ سے آپ کی کال غیر منسلک ہوگئی ہے۔"</string>
+ <string name="notification_disconnectedCall_body" msgid="600491714584417536">"ایمرجنسی کال کی وجہ سے <xliff:g id="CALLER">%s</xliff:g> کی کال کو غیر منسلک کر دیا گیا ہے۔"</string>
+ <string name="notification_disconnectedCall_generic_body" msgid="5282765206349184853">"ایمرجنسی کال لگائے جانے کی وجہ سے آپ کی کال غیر منسلک ہوگئی ہے۔"</string>
<string name="notification_audioProcessing_title" msgid="1619035039880584575">"پس منظر کی کال"</string>
<string name="notification_audioProcessing_body" msgid="6397005913770420388">"<xliff:g id="AUDIO_PROCESSING_APP_NAME">%s</xliff:g> نے پس منظر میں کال لگا دیا ہے۔ یہ ایپ کال کے دوران آواز تک رسائی حاصل اور چلا سکتی ہے۔"</string>
<string name="notification_incallservice_not_responding_title" msgid="5347557574288598548">"<xliff:g id="IN_CALL_SERVICE_APP_NAME">%s</xliff:g> نے جواب دینا بند کر دیا"</string>
@@ -46,7 +46,7 @@
<string name="respond_via_sms_confirmation_format" msgid="2932395476561267842">"پیغام <xliff:g id="PHONE_NUMBER">%s</xliff:g> کو بھیج دیا گیا۔"</string>
<string name="respond_via_sms_failure_format" msgid="5198680980054596391">"<xliff:g id="PHONE_NUMBER">%s</xliff:g> پر پیغام نہیں بھیجا جا سکا۔"</string>
<string name="enable_account_preference_title" msgid="6949224486748457976">"کالنگ اکاؤنٹس"</string>
- <string name="outgoing_call_not_allowed_user_restriction" msgid="3424338207838851646">"صرف ہنگامی کالز کی اجازت ہے۔"</string>
+ <string name="outgoing_call_not_allowed_user_restriction" msgid="3424338207838851646">"صرف ایمرجنسی کالز کی اجازت ہے۔"</string>
<string name="outgoing_call_not_allowed_no_permission" msgid="8590468836581488679">"یہ ایپلی کیشن فون کی اجازت کے بغیر باہر جانے والی کالیں نہیں کر سکتی۔"</string>
<string name="outgoing_call_error_no_phone_number_supplied" msgid="7665135102566099778">"کال کرنے کیلئے، ایک درست نمبر درج کریں۔"</string>
<string name="duplicate_video_call_not_allowed" msgid="5754746140185781159">"اس وقت کال شامل نہیں کی جا سکتی ہے۔"</string>
@@ -73,11 +73,11 @@
<string name="non_primary_user" msgid="315564589279622098">"صرف آلہ کا مالک مسدود کردہ نمبرز کو دیکھ سکتا ہے اور ان کا نظم کر سکتا ہے۔"</string>
<string name="delete_icon_description" msgid="5335959254954774373">"غیر مسدود کریں"</string>
<string name="blocked_numbers_butter_bar_title" msgid="582982373755950791">"مسدود کرنا عارضی طور پر آف ہے"</string>
- <string name="blocked_numbers_butter_bar_body" msgid="1261213114919301485">"جب آپ کوئی ایمرجنسی نمبر ڈائل کرتے یا اسے متن بھیجتے ہیں تو انسداد کو آف کر دیا جاتا ہے تاکہ ہنگامی سروسز آپ سے رابطہ کر سکیں۔"</string>
+ <string name="blocked_numbers_butter_bar_body" msgid="1261213114919301485">"جب آپ کوئی ایمرجنسی نمبر ڈائل کرتے یا اسے متن بھیجتے ہیں تو انسداد کو آف کر دیا جاتا ہے تاکہ ایمرجنسی سروسز آپ سے رابطہ کر سکیں۔"</string>
<string name="blocked_numbers_butter_bar_button" msgid="2704456308072489793">"اب دوبارہ فعال کریں"</string>
<string name="blocked_numbers_number_blocked_message" msgid="4314736791180919167">"<xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g> مسدود کر دیا گیا"</string>
<string name="blocked_numbers_number_unblocked_message" msgid="2933071624674945601">"<xliff:g id="UNBLOCKED_NUMBER">%1$s</xliff:g> غیر مسدود کر دیا گیا"</string>
- <string name="blocked_numbers_block_emergency_number_message" msgid="4198550501500893890">"ہنگامی نمبر مسدود کرنے سے قاصر۔"</string>
+ <string name="blocked_numbers_block_emergency_number_message" msgid="4198550501500893890">"ایمرجنسی نمبر مسدود کرنے سے قاصر۔"</string>
<string name="blocked_numbers_number_already_blocked_message" msgid="2301270825735665458">"<xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g> پہلے ہی مسدود ہے۔"</string>
<string name="toast_personal_call_msg" msgid="5817631570381795610">"کال کرنے کیلئے ذاتی ڈائلر استعمال ہو رہا ہے"</string>
<string name="notification_incoming_call" msgid="1233481138362230894">"<xliff:g id="CALL_FROM">%2$s</xliff:g> کی جانب سے <xliff:g id="CALL_VIA">%1$s</xliff:g> کال"</string>
@@ -118,9 +118,9 @@
<string name="phone_settings_unavailable_summary_txt" msgid="8221686031038282633">"کالز کو مسدود کریں جہاں یہ نمبر دستیاب نہ ہو"</string>
<string name="phone_strings_call_blocking_turned_off_notification_title_txt" msgid="2895809176537908791">"کال مسدود کرنا"</string>
<string name="phone_strings_call_blocking_turned_off_notification_text_txt" msgid="1713632946174016619">"کال مسدود کرنا غیر فعال ہو گیا ہے"</string>
- <string name="phone_strings_emergency_call_made_dialog_title_txt" msgid="6629412508584507377">"ہنگامی کال کی گئی"</string>
- <string name="phone_strings_emergency_call_made_dialog_call_blocking_text_txt" msgid="3140411733995271126">"ہنگامی حالت میں جواب دہندگان کو آپ سے رابطہ کرنے کی اجازت دینے کیلئے کال مسدود کرنا غیر فعال ہو گیا ہے۔"</string>
- <string name="developer_title" msgid="9146088855661672353">"ٹیلی کام ڈویلپر مینو"</string>
- <string name="toast_emergency_can_not_pull_call" msgid="9074229465338410869">"ہنگامی کال کے دوران کالز نہیں لی جائیں گی۔"</string>
+ <string name="phone_strings_emergency_call_made_dialog_title_txt" msgid="6629412508584507377">"ایمرجنسی کال کی گئی"</string>
+ <string name="phone_strings_emergency_call_made_dialog_call_blocking_text_txt" msgid="3140411733995271126">"ایمرجنسی حالت میں جواب دہندگان کو آپ سے رابطہ کرنے کی اجازت دینے کیلئے کال مسدود کرنا غیر فعال ہو گیا ہے۔"</string>
+ <string name="developer_title" msgid="9146088855661672353">"ٹیلی کام ڈویلپر مینیو"</string>
+ <string name="toast_emergency_can_not_pull_call" msgid="9074229465338410869">"ایمرجنسی کال کے دوران کالز نہیں لی جائیں گی۔"</string>
<string name="cancel" msgid="6733466216239934756">"منسوخ کریں"</string>
</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index df1a850..21bdd73 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -28,11 +28,11 @@
<string name="notification_missedCall_message" msgid="4054698824390076431">"短訊"</string>
<string name="notification_disconnectedCall_title" msgid="1790131923692416928">"已中斷的通話"</string>
<string name="notification_disconnectedCall_body" msgid="600491714584417536">"因撥打緊急電話緣故,與<xliff:g id="CALLER">%s</xliff:g>的通話已中斷。"</string>
- <string name="notification_disconnectedCall_generic_body" msgid="5282765206349184853">"因撥打緊急電話緣故,您的通話已中斷。"</string>
+ <string name="notification_disconnectedCall_generic_body" msgid="5282765206349184853">"因撥打緊急電話緣故,你的通話已中斷。"</string>
<string name="notification_audioProcessing_title" msgid="1619035039880584575">"背景通話"</string>
<string name="notification_audioProcessing_body" msgid="6397005913770420388">"「<xliff:g id="AUDIO_PROCESSING_APP_NAME">%s</xliff:g>」已將通話放到背景。這個應用程式可以存取該通話,並透過該通話播放音訊。"</string>
<string name="notification_incallservice_not_responding_title" msgid="5347557574288598548">"<xliff:g id="IN_CALL_SERVICE_APP_NAME">%s</xliff:g>已停止回應"</string>
- <string name="notification_incallservice_not_responding_body" msgid="9209308270131968623">"您使用了裝置隨付的手機應用程式來通話"</string>
+ <string name="notification_incallservice_not_responding_body" msgid="9209308270131968623">"你使用了裝置隨付的手機應用程式來通話"</string>
<string name="accessibility_call_muted" msgid="2968461092554300779">"通話已靜音。"</string>
<string name="accessibility_speakerphone_enabled" msgid="555386652061614267">"擴音器已啟用"</string>
<string name="respond_via_sms_canned_response_1" msgid="6332561460870382561">"我現在不方便通話,有什麼事呢?"</string>
@@ -56,14 +56,14 @@
<string name="change_default_dialer_dialog_title" msgid="5861469279421508060">"要將<xliff:g id="NEW_APP">%s</xliff:g>設為預設電話應用程式嗎?"</string>
<string name="change_default_dialer_dialog_affirmative" msgid="8604665314757739550">"設為預設"</string>
<string name="change_default_dialer_dialog_negative" msgid="8648669840052697821">"取消"</string>
- <string name="change_default_dialer_warning_message" msgid="8461963987376916114">"「<xliff:g id="NEW_APP">%s</xliff:g>」將可撥打電話並控制所有相關功能。只有您信任的應用程式,才應設為預設手機應用程式。"</string>
+ <string name="change_default_dialer_warning_message" msgid="8461963987376916114">"「<xliff:g id="NEW_APP">%s</xliff:g>」將可撥打電話並控制所有相關功能。只有你信任的應用程式,才應設為預設手機應用程式。"</string>
<string name="change_default_call_screening_dialog_title" msgid="5365787219927262408">"要將「<xliff:g id="NEW_APP">%s</xliff:g>」設為預設來電過濾應用程式嗎?"</string>
<string name="change_default_call_screening_warning_message_for_disable_old_app" msgid="2039830033533243164">"「<xliff:g id="OLD_APP">%s</xliff:g>」無法再篩選來電。"</string>
- <string name="change_default_call_screening_warning_message" msgid="9020537562292754269">"「<xliff:g id="NEW_APP">%s</xliff:g>」將可查看通訊錄以外來電者的相關資訊,並封鎖這些來電。只有您信任的應用程式才適合設為預設來電過濾應用程式。"</string>
+ <string name="change_default_call_screening_warning_message" msgid="9020537562292754269">"「<xliff:g id="NEW_APP">%s</xliff:g>」將可查看通訊錄以外來電者的相關資訊,並封鎖這些來電。只有你信任的應用程式才適合設為預設來電過濾應用程式。"</string>
<string name="change_default_call_screening_dialog_affirmative" msgid="7162433828280058647">"設為預設"</string>
<string name="change_default_call_screening_dialog_negative" msgid="1839266125623106342">"取消"</string>
<string name="blocked_numbers" msgid="8322134197039865180">"已封鎖的號碼"</string>
- <string name="blocked_numbers_msg" msgid="2797422132329662697">"您不會收到已封鎖號碼的來電或短訊。"</string>
+ <string name="blocked_numbers_msg" msgid="2797422132329662697">"你不會收到已封鎖號碼的來電或短訊。"</string>
<string name="block_number" msgid="3784343046852802722">"新增號碼"</string>
<string name="unblock_dialog_body" msgid="2723393535797217261">"要解除封鎖 <xliff:g id="NUMBER_TO_BLOCK">%1$s</xliff:g> 嗎?"</string>
<string name="unblock_button" msgid="8732021675729981781">"解除封鎖"</string>
@@ -73,7 +73,7 @@
<string name="non_primary_user" msgid="315564589279622098">"只有裝置擁有者可查看和管理已封鎖的號碼。"</string>
<string name="delete_icon_description" msgid="5335959254954774373">"解除封鎖"</string>
<string name="blocked_numbers_butter_bar_title" msgid="582982373755950791">"暫時關閉封鎖功能"</string>
- <string name="blocked_numbers_butter_bar_body" msgid="1261213114919301485">"在您撥打或發短訊至緊急號碼後,封鎖功能會停用,以確保緊急服務可與您聯絡。"</string>
+ <string name="blocked_numbers_butter_bar_body" msgid="1261213114919301485">"在你撥打或發短訊至緊急號碼後,封鎖功能會停用,以確保緊急服務可與你聯絡。"</string>
<string name="blocked_numbers_butter_bar_button" msgid="2704456308072489793">"立即重新啟用"</string>
<string name="blocked_numbers_number_blocked_message" msgid="4314736791180919167">"已封鎖 <xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g>"</string>
<string name="blocked_numbers_number_unblocked_message" msgid="2933071624674945601">"已解除對 <xliff:g id="UNBLOCKED_NUMBER">%1$s</xliff:g> 的封鎖"</string>
@@ -82,17 +82,17 @@
<string name="toast_personal_call_msg" msgid="5817631570381795610">"使用個人撥號器撥打電話"</string>
<string name="notification_incoming_call" msgid="1233481138362230894">"來自<xliff:g id="CALL_FROM">%2$s</xliff:g>的 <xliff:g id="CALL_VIA">%1$s</xliff:g> 通話"</string>
<string name="notification_incoming_video_call" msgid="5795968314037063900">"來自<xliff:g id="CALL_FROM">%2$s</xliff:g>的 <xliff:g id="CALL_VIA">%1$s</xliff:g> 視像通話"</string>
- <string name="answering_ends_other_call" msgid="8653544281903986641">"如果接聽,您的 <xliff:g id="CALL_VIA">%1$s</xliff:g> 通話將會結束"</string>
- <string name="answering_ends_other_calls" msgid="3702302838456922535">"如果接聽,您的 <xliff:g id="CALL_VIA">%1$s</xliff:g> 通話將會結束"</string>
- <string name="answering_ends_other_video_call" msgid="8572022039304239958">"如果接聽,您的 <xliff:g id="CALL_VIA">%1$s</xliff:g> 視像通話將會結束"</string>
- <string name="answering_ends_other_managed_call" msgid="4031778317409881805">"如果接聽,您進行中的通話將會結束"</string>
- <string name="answering_ends_other_managed_calls" msgid="3974069768615307659">"如果接聽,您進行中的通話將會結束"</string>
- <string name="answering_ends_other_managed_video_call" msgid="1988508241432031327">"如果接聽,您進行中的視像通話將會結束"</string>
+ <string name="answering_ends_other_call" msgid="8653544281903986641">"如果接聽,你的 <xliff:g id="CALL_VIA">%1$s</xliff:g> 通話將會結束"</string>
+ <string name="answering_ends_other_calls" msgid="3702302838456922535">"如果接聽,你的 <xliff:g id="CALL_VIA">%1$s</xliff:g> 通話將會結束"</string>
+ <string name="answering_ends_other_video_call" msgid="8572022039304239958">"如果接聽,你的 <xliff:g id="CALL_VIA">%1$s</xliff:g> 視像通話將會結束"</string>
+ <string name="answering_ends_other_managed_call" msgid="4031778317409881805">"如果接聽,你進行中的通話將會結束"</string>
+ <string name="answering_ends_other_managed_calls" msgid="3974069768615307659">"如果接聽,你進行中的通話將會結束"</string>
+ <string name="answering_ends_other_managed_video_call" msgid="1988508241432031327">"如果接聽,你進行中的視像通話將會結束"</string>
<string name="answer_incoming_call" msgid="2045888814782215326">"接聽"</string>
<string name="decline_incoming_call" msgid="922147089348451310">"拒絕"</string>
<string name="cant_call_due_to_no_supported_service" msgid="1635626384149947077">"沒有通話帳戶支援這類通話,因此無法撥打電話。"</string>
- <string name="cant_call_due_to_ongoing_call" msgid="8004235328451385493">"由於您已在進行 <xliff:g id="OTHER_CALL">%1$s</xliff:g> 通話,因此無法撥打電話。"</string>
- <string name="cant_call_due_to_ongoing_calls" msgid="6379163795277824868">"由於您已在進行 <xliff:g id="OTHER_CALL">%1$s</xliff:g> 通話,因此無法撥打電話。"</string>
+ <string name="cant_call_due_to_ongoing_call" msgid="8004235328451385493">"由於你已在進行 <xliff:g id="OTHER_CALL">%1$s</xliff:g> 通話,因此無法撥打電話。"</string>
+ <string name="cant_call_due_to_ongoing_calls" msgid="6379163795277824868">"由於你已在進行 <xliff:g id="OTHER_CALL">%1$s</xliff:g> 通話,因此無法撥打電話。"</string>
<string name="cant_call_due_to_ongoing_unknown_call" msgid="8243532328969433172">"由於已在另一個應用程式中進行通話,因此無法撥打電話。"</string>
<string name="notification_channel_incoming_call" msgid="5245550964701715662">"來電"</string>
<string name="notification_channel_missed_call" msgid="7168893015283909012">"未接來電"</string>
@@ -100,11 +100,11 @@
<string name="notification_channel_background_calls" msgid="7785659903711350506">"背景通話"</string>
<string name="notification_channel_disconnected_calls" msgid="8228636543997645757">"已中斷的通話"</string>
<string name="notification_channel_in_call_service_crash" msgid="7313237519166984267">"當機的手機應用程式"</string>
- <string name="alert_outgoing_call" msgid="5319895109298927431">"如果撥打此電話,您的 <xliff:g id="OTHER_APP">%1$s</xliff:g> 通話將會結束。"</string>
+ <string name="alert_outgoing_call" msgid="5319895109298927431">"如果撥打此電話,你的 <xliff:g id="OTHER_APP">%1$s</xliff:g> 通話將會結束。"</string>
<string name="alert_redirect_outgoing_call_or_not" msgid="665409645789521636">"選擇如何撥打此電話"</string>
<string name="alert_place_outgoing_call_with_redirection" msgid="5221065030959024121">"使用「<xliff:g id="OTHER_APP">%1$s</xliff:g>」將通話重新導向"</string>
<string name="alert_place_unredirect_outgoing_call" msgid="2467608535225764006">"使用我的電話號碼撥打"</string>
- <string name="alert_redirect_outgoing_call_timeout" msgid="5568101425637373060">"<xliff:g id="OTHER_APP">%1$s</xliff:g>無法撥打電話。建議您使用其他通話重新導向應用程式,或向開發人員求助。"</string>
+ <string name="alert_redirect_outgoing_call_timeout" msgid="5568101425637373060">"<xliff:g id="OTHER_APP">%1$s</xliff:g>無法撥打電話。建議你使用其他通話重新導向應用程式,或向開發人員求助。"</string>
<string name="phone_settings_call_blocking_txt" msgid="7311523114822507178">"來電封鎖"</string>
<string name="phone_settings_number_not_in_contact_txt" msgid="2602249106007265757">"不在通訊錄中的號碼"</string>
<string name="phone_settings_number_not_in_contact_summary_txt" msgid="963327038085718969">"封鎖不在通訊錄中的號碼"</string>
@@ -119,7 +119,7 @@
<string name="phone_strings_call_blocking_turned_off_notification_title_txt" msgid="2895809176537908791">"來電封鎖"</string>
<string name="phone_strings_call_blocking_turned_off_notification_text_txt" msgid="1713632946174016619">"已停用來電封鎖功能"</string>
<string name="phone_strings_emergency_call_made_dialog_title_txt" msgid="6629412508584507377">"已撥緊急電話"</string>
- <string name="phone_strings_emergency_call_made_dialog_call_blocking_text_txt" msgid="3140411733995271126">"已停用來電封鎖功能,以便救援人員與您聯絡。"</string>
+ <string name="phone_strings_emergency_call_made_dialog_call_blocking_text_txt" msgid="3140411733995271126">"已停用來電封鎖功能,以便救援人員與你聯絡。"</string>
<string name="developer_title" msgid="9146088855661672353">"電信開發商選單"</string>
<string name="toast_emergency_can_not_pull_call" msgid="9074229465338410869">"使用緊急電話期間無法接聽電話。"</string>
<string name="cancel" msgid="6733466216239934756">"取消"</string>
diff --git a/src/com/android/server/telecom/ConnectionServiceWrapper.java b/src/com/android/server/telecom/ConnectionServiceWrapper.java
index d30216a..f23a101 100755
--- a/src/com/android/server/telecom/ConnectionServiceWrapper.java
+++ b/src/com/android/server/telecom/ConnectionServiceWrapper.java
@@ -39,8 +39,8 @@
import android.telecom.DisconnectCause;
import android.telecom.GatewayInfo;
import android.telecom.Log;
-import android.telecom.Logging.Session;
import android.telecom.Logging.Runnable;
+import android.telecom.Logging.Session;
import android.telecom.ParcelableConference;
import android.telecom.ParcelableConnection;
import android.telecom.PhoneAccountHandle;
@@ -82,12 +82,12 @@
ConnectionServiceFocusManager.ConnectionServiceFocus {
private static final String TELECOM_ABBREVIATION = "cast";
+
private static final long SERVICE_BINDING_TIMEOUT = 15000L;
private ScheduledExecutorService mScheduledExecutor =
Executors.newSingleThreadScheduledExecutor();
// Pre-allocate space for 2 calls; realistically thats all we should ever need (tm)
private final Map<Call, ScheduledFuture<?>> mScheduledFutureMap = new ConcurrentHashMap<>(2);
-
private final class Adapter extends IConnectionServiceAdapter.Stub {
@Override
@@ -101,7 +101,7 @@
synchronized (mLock) {
logIncoming("handleCreateConnectionComplete %s", callId);
Call call = mCallIdMapper.getCall(callId);
- if (call != null && mScheduledFutureMap.containsKey(call)) {
+ if (mScheduledFutureMap.containsKey(call)) {
ScheduledFuture<?> existingTimeout = mScheduledFutureMap.get(call);
existingTimeout.cancel(false /* cancelIfRunning */);
mScheduledFutureMap.remove(call);
@@ -144,18 +144,18 @@
try {
synchronized (mLock) {
logIncoming("handleCreateConferenceComplete %s", callId);
- Call call = mCallIdMapper.getCall(callId);
- if (call != null && mScheduledFutureMap.containsKey(call)) {
- ScheduledFuture<?> existingTimeout = mScheduledFutureMap.get(call);
- existingTimeout.cancel(false /* cancelIfRunning */);
- mScheduledFutureMap.remove(call);
- }
// Check status hints image for cross user access
if (conference.getStatusHints() != null) {
Icon icon = conference.getStatusHints().getIcon();
conference.getStatusHints().setIcon(StatusHints.
validateAccountIconUserBoundary(icon, callingUserHandle));
}
+ Call call = mCallIdMapper.getCall(callId);
+ if (mScheduledFutureMap.containsKey(call)) {
+ ScheduledFuture<?> existingTimeout = mScheduledFutureMap.get(call);
+ existingTimeout.cancel(false /* cancelIfRunning */);
+ mScheduledFutureMap.remove(call);
+ }
ConnectionServiceWrapper.this
.handleCreateConferenceComplete(callId, request, conference);
@@ -1380,21 +1380,22 @@
.setParticipants(call.getParticipants())
.setIsAdhocConferenceCall(call.isAdhocConferenceCall())
.build();
+
Runnable r = new Runnable("CSW.cC", mLock) {
- @Override
- public void loggedRun() {
- if (!call.isCreateConnectionComplete()) {
- Log.e(this, new Exception(),
- "Conference %s creation timeout",
- getComponentName());
- Log.addEvent(call, LogUtils.Events.CREATE_CONFERENCE_TIMEOUT,
- Log.piiHandle(call.getHandle()) + " via:" +
- getComponentName().getPackageName());
- response.handleCreateConferenceFailure(
- new DisconnectCause(DisconnectCause.ERROR));
- }
- }
- };
+ @Override
+ public void loggedRun() {
+ if (!call.isCreateConnectionComplete()) {
+ Log.e(this, new Exception(),
+ "Conference %s creation timeout",
+ getComponentName());
+ Log.addEvent(call, LogUtils.Events.CREATE_CONFERENCE_TIMEOUT,
+ Log.piiHandle(call.getHandle()) + " via:" +
+ getComponentName().getPackageName());
+ response.handleCreateConferenceFailure(
+ new DisconnectCause(DisconnectCause.ERROR));
+ }
+ }
+ };
// Post cleanup to the executor service and cache the future, so we can cancel it if
// needed.
ScheduledFuture<?> future = mScheduledExecutor.schedule(r.getRunnableToCancel(),
@@ -1501,21 +1502,22 @@
.setRttPipeFromInCall(call.getInCallToCsRttPipeForCs())
.setRttPipeToInCall(call.getCsToInCallRttPipeForCs())
.build();
+
Runnable r = new Runnable("CSW.cC", mLock) {
- @Override
- public void loggedRun() {
- if (!call.isCreateConnectionComplete()) {
- Log.e(this, new Exception(),
- "Connection %s creation timeout",
- getComponentName());
- Log.addEvent(call, LogUtils.Events.CREATE_CONNECTION_TIMEOUT,
- Log.piiHandle(call.getHandle()) + " via:" +
- getComponentName().getPackageName());
- response.handleCreateConnectionFailure(
- new DisconnectCause(DisconnectCause.ERROR));
- }
- }
- };
+ @Override
+ public void loggedRun() {
+ if (!call.isCreateConnectionComplete()) {
+ Log.e(this, new Exception(),
+ "Connection %s creation timeout",
+ getComponentName());
+ Log.addEvent(call, LogUtils.Events.CREATE_CONNECTION_TIMEOUT,
+ Log.piiHandle(call.getHandle()) + " via:" +
+ getComponentName().getPackageName());
+ response.handleCreateConnectionFailure(
+ new DisconnectCause(DisconnectCause.ERROR));
+ }
+ }
+ };
// Post cleanup to the executor service and cache the future, so we can cancel it if
// needed.
ScheduledFuture<?> future = mScheduledExecutor.schedule(r.getRunnableToCancel(),
@@ -2147,13 +2149,6 @@
@Override
protected void removeServiceInterface() {
Log.v(this, "Removing Connection Service Adapter.");
- if (mServiceInterface == null) {
- // In some cases, we may receive multiple calls to
- // remoteServiceInterface, such as when the remote process crashes
- // (onBinderDied & onServiceDisconnected)
- Log.w(this, "removeServiceInterface: mServiceInterface is null");
- return;
- }
removeConnectionServiceAdapter(mAdapter);
// We have lost our service connection. Notify the world that this service is done.
// We must notify the adapter before CallsManager. The adapter will force any pending
@@ -2162,10 +2157,6 @@
handleConnectionServiceDeath();
mCallsManager.handleConnectionServiceDeath(this);
mServiceInterface = null;
- if (mScheduledExecutor != null) {
- mScheduledExecutor.shutdown();
- mScheduledExecutor = null;
- }
}
@Override
@@ -2284,7 +2275,6 @@
}
}
mCallIdMapper.clear();
- mScheduledFutureMap.clear();
if (mConnSvrFocusListener != null) {
mConnSvrFocusListener.onConnectionServiceDeath(this);
diff --git a/src/com/android/server/telecom/PhoneAccountRegistrar.java b/src/com/android/server/telecom/PhoneAccountRegistrar.java
index 80c1afc..7b24a09 100644
--- a/src/com/android/server/telecom/PhoneAccountRegistrar.java
+++ b/src/com/android/server/telecom/PhoneAccountRegistrar.java
@@ -32,7 +32,6 @@
import android.graphics.BitmapFactory;
import android.graphics.drawable.Icon;
import android.net.Uri;
-import android.os.Binder;
import android.os.Bundle;
import android.os.AsyncTask;
import android.os.PersistableBundle;
@@ -158,14 +157,9 @@
};
public static final String FILE_NAME = "phone-account-registrar-state.xml";
- public static final String ICON_ERROR_MSG =
- "Icon cannot be written to memory. Try compressing or downsizing";
@VisibleForTesting
public static final int EXPECTED_STATE_VERSION = 9;
public static final int MAX_PHONE_ACCOUNT_REGISTRATIONS = 10;
- public static final int MAX_PHONE_ACCOUNT_EXTRAS_KEY_PAIR_LIMIT = 100;
- public static final int MAX_PHONE_ACCOUNT_FIELD_CHAR_LIMIT = 256;
- public static final int MAX_SCHEMES_PER_ACCOUNT = 10;
/** Keep in sync with the same in SipSettings.java */
private static final String SIP_SHARED_PREFERENCES = "SIP_PREFERENCES";
@@ -815,15 +809,6 @@
return getPhoneAccountHandles(0, null, packageName, false, userHandle);
}
-
- /**
- * includes disabled, includes crossUserAccess
- */
- public List<PhoneAccountHandle> getAllPhoneAccountHandlesForPackage(UserHandle userHandle,
- String packageName) {
- return getPhoneAccountHandles(0, null, packageName, true /* includeDisabled */, userHandle);
- }
-
/**
* Retrieves a list of all {@link PhoneAccount#CAPABILITY_SELF_MANAGED} phone accounts
* registered by a specified package.
@@ -862,11 +847,8 @@
* Performs checks before calling addOrReplacePhoneAccount(PhoneAccount)
*
* @param account The {@code PhoneAccount} to add or replace.
- * @throws SecurityException if package does not have BIND_TELECOM_CONNECTION_SERVICE
- * permission
+ * @throws SecurityException if package does not have BIND_TELECOM_CONNECTION_SERVICE permission
* @throws IllegalArgumentException if MAX_PHONE_ACCOUNT_REGISTRATIONS are reached
- * @throws IllegalArgumentException if MAX_PHONE_ACCOUNT_FIELD_CHAR_LIMIT is reached
- * @throws IllegalArgumentException if writing the Icon to memory will cause an Exception
*/
public void registerPhoneAccount(PhoneAccount account) {
// Enforce the requirement that a connection service for a phone account has the correct
@@ -878,157 +860,21 @@
throw new SecurityException("PhoneAccount connection service requires "
+ "BIND_TELECOM_CONNECTION_SERVICE permission.");
}
- enforceCharacterLimit(account);
- enforceIconSizeLimit(account);
- enforceMaxPhoneAccountLimit(account);
- addOrReplacePhoneAccount(account);
- }
-
- /**
- * Enforce an upper bound on the number of PhoneAccount's a package can register.
- * Most apps should only require 1-2. * Include disabled accounts.
- *
- * @param account to enforce check on
- * @throws IllegalArgumentException if MAX_PHONE_ACCOUNT_REGISTRATIONS are reached
- */
- private void enforceMaxPhoneAccountLimit(@NonNull PhoneAccount account) {
- final PhoneAccountHandle accountHandle = account.getAccountHandle();
- final UserHandle user = accountHandle.getUserHandle();
- final ComponentName componentName = accountHandle.getComponentName();
-
- if (getPhoneAccountHandles(0, null, componentName.getPackageName(),
- true /* includeDisabled */, user).size()
+ //Enforce an upper bound on the number of PhoneAccount's a package can register.
+ // Most apps should only require 1-2.
+ if (getPhoneAccountsForPackage(
+ account.getAccountHandle().getComponentName().getPackageName(),
+ account.getAccountHandle().getUserHandle()).size()
>= MAX_PHONE_ACCOUNT_REGISTRATIONS) {
- EventLog.writeEvent(0x534e4554, "259064622", Binder.getCallingUid(),
- "enforceMaxPhoneAccountLimit");
+ Log.w(this, "Phone account %s reached max registration limit for package",
+ account.getAccountHandle());
throw new IllegalArgumentException(
"Error, cannot register phone account " + account.getAccountHandle()
+ " because the limit, " + MAX_PHONE_ACCOUNT_REGISTRATIONS
+ ", has been reached");
}
- }
- /**
- * determine if there will be an issue writing the icon to memory
- *
- * @param account to enforce check on
- * @throws IllegalArgumentException if writing the Icon to memory will cause an Exception
- */
- @VisibleForTesting
- public void enforceIconSizeLimit(PhoneAccount account) {
- if (account.getIcon() == null) {
- return;
- }
- String text = "";
- // convert the icon into a Base64 String
- try {
- text = XmlSerialization.writeIconToBase64String(account.getIcon());
- } catch (IOException e) {
- EventLog.writeEvent(0x534e4554, "259064622", Binder.getCallingUid(),
- "enforceIconSizeLimit");
- throw new IllegalArgumentException(ICON_ERROR_MSG);
- }
- }
-
- /**
- * All {@link PhoneAccount} and{@link PhoneAccountHandle} String and Char-Sequence fields
- * should be restricted to character limit of MAX_PHONE_ACCOUNT_CHAR_LIMIT to prevent exceptions
- * when writing large character streams to XML-Serializer.
- *
- * @param account to enforce character limit checks on
- * @throws IllegalArgumentException if MAX_PHONE_ACCOUNT_FIELD_CHAR_LIMIT reached
- */
- public void enforceCharacterLimit(PhoneAccount account) {
- if (account == null) {
- return;
- }
- PhoneAccountHandle handle = account.getAccountHandle();
-
- String[] fields =
- {"Package Name", "Class Name", "PhoneAccountHandle Id", "Label", "ShortDescription",
- "GroupId", "Address", "SubscriptionAddress"};
-
- CharSequence[] args = {handle.getComponentName().getPackageName(),
- handle.getComponentName().getClassName(), handle.getId(), account.getLabel(),
- account.getShortDescription(), account.getGroupId(),
- (account.getAddress() != null ? account.getAddress().toString() : ""),
- (account.getSubscriptionAddress() != null ?
- account.getSubscriptionAddress().toString() : "")};
-
- for (int i = 0; i < fields.length; i++) {
- if (args[i] != null && args[i].length() > MAX_PHONE_ACCOUNT_FIELD_CHAR_LIMIT) {
- EventLog.writeEvent(0x534e4554, "259064622", Binder.getCallingUid(),
- "enforceCharacterLimit");
- throw new IllegalArgumentException("The PhoneAccount or PhoneAccountHandle ["
- + fields[i] + "] field has an invalid character count. PhoneAccount and "
- + "PhoneAccountHandle String and Char-Sequence fields are limited to "
- + MAX_PHONE_ACCOUNT_FIELD_CHAR_LIMIT + " characters.");
- }
- }
-
- // Enforce limits on the URI Schemes provided
- enforceLimitsOnSchemes(account);
-
- // Enforce limit on the PhoneAccount#mExtras
- Bundle extras = account.getExtras();
- if (extras != null) {
- if (extras.keySet().size() > MAX_PHONE_ACCOUNT_EXTRAS_KEY_PAIR_LIMIT) {
- EventLog.writeEvent(0x534e4554, "259064622", Binder.getCallingUid(),
- "enforceCharacterLimit");
- throw new IllegalArgumentException("The PhoneAccount#mExtras is limited to " +
- MAX_PHONE_ACCOUNT_EXTRAS_KEY_PAIR_LIMIT + " (key,value) pairs.");
- }
-
- for (String key : extras.keySet()) {
- Object value = extras.get(key);
-
- if ((key != null && key.length() > MAX_PHONE_ACCOUNT_FIELD_CHAR_LIMIT) ||
- (value instanceof String &&
- ((String) value).length() > MAX_PHONE_ACCOUNT_FIELD_CHAR_LIMIT)) {
- EventLog.writeEvent(0x534e4554, "259064622", Binder.getCallingUid(),
- "enforceCharacterLimit");
- throw new IllegalArgumentException("The PhoneAccount#mExtras contains a String"
- + " key or value that has an invalid character count. PhoneAccount and "
- + "PhoneAccountHandle String and Char-Sequence fields are limited to "
- + MAX_PHONE_ACCOUNT_FIELD_CHAR_LIMIT + " characters.");
- }
- }
- }
- }
-
- /**
- * Enforce a character limit on all PA and PAH string or char-sequence fields.
- *
- * @param account to enforce check on
- * @throws IllegalArgumentException if MAX_PHONE_ACCOUNT_FIELD_CHAR_LIMIT reached
- */
- @VisibleForTesting
- public void enforceLimitsOnSchemes(@NonNull PhoneAccount account) {
- List<String> schemes = account.getSupportedUriSchemes();
-
- if (schemes == null) {
- return;
- }
-
- if (schemes.size() > MAX_SCHEMES_PER_ACCOUNT) {
- EventLog.writeEvent(0x534e4554, "259064622", Binder.getCallingUid(),
- "enforceLimitsOnSchemes");
- throw new IllegalArgumentException(
- "Error, cannot register phone account " + account.getAccountHandle()
- + " because the URI scheme limit of "
- + MAX_SCHEMES_PER_ACCOUNT + " has been reached");
- }
-
- for (String scheme : schemes) {
- if (scheme.length() > MAX_PHONE_ACCOUNT_FIELD_CHAR_LIMIT) {
- EventLog.writeEvent(0x534e4554, "259064622", Binder.getCallingUid(),
- "enforceLimitsOnSchemes");
- throw new IllegalArgumentException(
- "Error, cannot register phone account " + account.getAccountHandle()
- + " because the max scheme limit of "
- + MAX_PHONE_ACCOUNT_FIELD_CHAR_LIMIT + " has been reached");
- }
- }
+ addOrReplacePhoneAccount(account);
}
/**
@@ -1920,20 +1766,17 @@
protected void writeIconIfNonNull(String tagName, Icon value, XmlSerializer serializer)
throws IOException {
if (value != null) {
- String text = writeIconToBase64String(value);
+ ByteArrayOutputStream stream = new ByteArrayOutputStream();
+ value.writeToStream(stream);
+ byte[] iconByteArray = stream.toByteArray();
+ String text = Base64.encodeToString(iconByteArray, 0, iconByteArray.length, 0);
+
serializer.startTag(null, tagName);
serializer.text(text);
serializer.endTag(null, tagName);
}
}
- public static String writeIconToBase64String(Icon icon) throws IOException {
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
- icon.writeToStream(stream);
- byte[] iconByteArray = stream.toByteArray();
- return Base64.encodeToString(iconByteArray, 0, iconByteArray.length, 0);
- }
-
protected void writeLong(String tagName, long value, XmlSerializer serializer)
throws IOException {
serializer.startTag(null, tagName);
diff --git a/src/com/android/server/telecom/TelecomServiceImpl.java b/src/com/android/server/telecom/TelecomServiceImpl.java
index 37e9d33..576ac10 100644
--- a/src/com/android/server/telecom/TelecomServiceImpl.java
+++ b/src/com/android/server/telecom/TelecomServiceImpl.java
@@ -71,9 +71,7 @@
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.Collections;
-import java.util.HashSet;
import java.util.List;
-import java.util.Set;
// TODO: Needed for move to system service: import com.android.internal.R;
@@ -349,7 +347,7 @@
try {
Log.startSession("TSI.gPAFP");
return new ParceledListSlice<>(mPhoneAccountRegistrar
- .getAllPhoneAccountHandlesForPackage(callingUserHandle, packageName));
+ .getPhoneAccountsForPackage(packageName, callingUserHandle));
} catch (Exception e) {
Log.e(this, e, "getPhoneAccountsForPackage %s", packageName);
throw e;
diff --git a/tests/src/com/android/server/telecom/tests/CallsManagerTest.java b/tests/src/com/android/server/telecom/tests/CallsManagerTest.java
index 673e428..acc2dd6 100644
--- a/tests/src/com/android/server/telecom/tests/CallsManagerTest.java
+++ b/tests/src/com/android/server/telecom/tests/CallsManagerTest.java
@@ -285,15 +285,17 @@
when(mToastFactory.makeText(any(), any(), anyInt())).thenReturn(mToast);
when(mIConnectionService.asBinder()).thenReturn(mock(IBinder.class));
- mComponentContextFixture.addConnectionService(
- SIM_1_ACCOUNT.getAccountHandle().getComponentName(), mIConnectionService);
+ mComponentContextFixture.addConnectionService(new ComponentName(mContext.getPackageName(),
+ mContext.getPackageName().getClass().getName()), mIConnectionService);
}
@Override
@After
public void tearDown() throws Exception {
mComponentContextFixture.removeConnectionService(
- SIM_1_ACCOUNT.getAccountHandle().getComponentName(), mIConnectionService);
+ new ComponentName(mContext.getPackageName(),
+ mContext.getPackageName().getClass().getName()),
+ mock(IConnectionService.class));
super.tearDown();
}
@@ -1708,8 +1710,8 @@
@Test
public void testConnectionServiceCreateConnectionTimeout() throws Exception {
- ConnectionServiceWrapper service = new ConnectionServiceWrapper(
- SIM_1_ACCOUNT.getAccountHandle().getComponentName(), null,
+ ConnectionServiceWrapper service = new ConnectionServiceWrapper(new ComponentName(
+ mContext.getPackageName(), mContext.getPackageName().getClass().getName()), null,
mPhoneAccountRegistrar, mCallsManager, mContext, mLock, null);
TestScheduledExecutorService scheduledExecutorService = new TestScheduledExecutorService();
service.setScheduledExecutorService(scheduledExecutorService);
@@ -1730,9 +1732,6 @@
return scheduledExecutorService.isRunnableScheduledAtTime(15000L);
}
}, 5000L, "Expected job failed to schedule");
- scheduledExecutorService.advanceTime(15000L);
- verify(response).handleCreateConnectionFailure(
- eq(new DisconnectCause(DisconnectCause.ERROR)));
}
private Call addSpyCall() {
diff --git a/tests/src/com/android/server/telecom/tests/PhoneAccountRegistrarTest.java b/tests/src/com/android/server/telecom/tests/PhoneAccountRegistrarTest.java
index fb92ae6..ffa08e2 100644
--- a/tests/src/com/android/server/telecom/tests/PhoneAccountRegistrarTest.java
+++ b/tests/src/com/android/server/telecom/tests/PhoneAccountRegistrarTest.java
@@ -23,17 +23,10 @@
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyObject;
-import static org.mockito.ArgumentMatchers.isA;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -90,8 +83,6 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -109,7 +100,6 @@
private final String PACKAGE_2 = "PACKAGE_2";
private final String COMPONENT_NAME = "com.android.server.telecom.tests.MockConnectionService";
private final TelecomSystem.SyncRoot mLock = new TelecomSystem.SyncRoot() { };
- private static final String TEST_ID = "123";
private PhoneAccountRegistrar mRegistrar;
@Mock private SubscriptionManager mSubscriptionManager;
@Mock private TelecomManager mTelecomManager;
@@ -1264,109 +1254,6 @@
defaultPhoneAccountHandle.phoneAccountHandle.getId());
}
- /**
- * Ensure an IllegalArgumentException is thrown when adding more than 10 schemes for a single
- * account
- */
- @Test
- public void testLimitOnSchemeCount() {
- PhoneAccountHandle handle = makeQuickAccountHandle(TEST_ID);
- PhoneAccount.Builder builder = new PhoneAccount.Builder(handle, TEST_LABEL);
- for (int i = 0; i < PhoneAccountRegistrar.MAX_PHONE_ACCOUNT_REGISTRATIONS + 1; i++) {
- builder.addSupportedUriScheme(Integer.toString(i));
- }
- try {
- mRegistrar.enforceLimitsOnSchemes(builder.build());
- fail("should have hit exception in enforceLimitOnSchemes");
- } catch (IllegalArgumentException e) {
- // pass test
- }
- }
-
- /**
- * Ensure an IllegalArgumentException is thrown when adding more 256 chars for a single
- * account
- */
- @Test
- public void testLimitOnSchemeLength() {
- PhoneAccountHandle handle = makeQuickAccountHandle(TEST_ID);
- PhoneAccount.Builder builder = new PhoneAccount.Builder(handle, TEST_LABEL);
- builder.addSupportedUriScheme(generateStringOfLen(257));
- try {
- mRegistrar.enforceLimitsOnSchemes(builder.build());
- fail("should have hit exception in enforceLimitOnSchemes");
- } catch (IllegalArgumentException e) {
- // pass test
- }
- }
-
- /**
- * Ensure an IllegalArgumentException is thrown when adding an address over the limit
- */
- @Test
- public void testLimitOnAddress() {
- String text = generateStringOfLen(100);
- PhoneAccountHandle handle = makeQuickAccountHandle(TEST_ID);
- PhoneAccount.Builder builder = new PhoneAccount.Builder(handle,TEST_LABEL)
- .setAddress(Uri.fromParts(text, text, text));
- try {
- mRegistrar.enforceCharacterLimit(builder.build());
- fail("failed to throw IllegalArgumentException");
- } catch (IllegalArgumentException e) {
- // pass test
- }
- finally {
- mRegistrar.unregisterPhoneAccount(handle);
- }
- }
-
- /**
- * Ensure an IllegalArgumentException is thrown when an Icon that throws an IOException is given
- */
- @Test
- public void testLimitOnIcon() throws Exception {
- Icon mockIcon = mock(Icon.class);
- // GIVEN
- PhoneAccount.Builder builder = new PhoneAccount.Builder(
- makeQuickAccountHandle(TEST_ID), TEST_LABEL).setIcon(mockIcon);
- try {
- // WHEN
- Mockito.doThrow(new IOException())
- .when(mockIcon).writeToStream(any(OutputStream.class));
- //THEN
- mRegistrar.enforceIconSizeLimit(builder.build());
- fail("failed to throw IllegalArgumentException");
- } catch (IllegalArgumentException e) {
- // pass test
- assertTrue(e.getMessage().contains(PhoneAccountRegistrar.ICON_ERROR_MSG));
- }
- }
-
- /**
- * Ensure an IllegalArgumentException is thrown when providing a SubscriptionAddress that
- * exceeds the PhoneAccountRegistrar limit.
- */
- @Test
- public void testLimitOnSubscriptionAddress() throws Exception {
- String text = generateStringOfLen(100);
- PhoneAccount.Builder builder = new PhoneAccount.Builder(makeQuickAccountHandle(TEST_ID),
- TEST_LABEL).setSubscriptionAddress(Uri.fromParts(text, text, text));
- try {
- mRegistrar.enforceCharacterLimit(builder.build());
- fail("failed to throw IllegalArgumentException");
- } catch (IllegalArgumentException e) {
- // pass test
- }
- }
-
- private String generateStringOfLen(int len){
- StringBuilder sb = new StringBuilder();
- for(int i=0; i < len; i++){
- sb.append("a");
- }
- return sb.toString();
- }
-
private static ComponentName makeQuickConnectionServiceComponentName() {
return new ComponentName(
"com.android.server.telecom.tests",
diff --git a/tests/src/com/android/server/telecom/tests/TelecomServiceImplTest.java b/tests/src/com/android/server/telecom/tests/TelecomServiceImplTest.java
index 572c975..2d2b4bc 100644
--- a/tests/src/com/android/server/telecom/tests/TelecomServiceImplTest.java
+++ b/tests/src/com/android/server/telecom/tests/TelecomServiceImplTest.java
@@ -454,7 +454,7 @@
add(SIP_PA_HANDLE_17);
}};
when(mFakePhoneAccountRegistrar
- .getAllPhoneAccountHandlesForPackage(any(UserHandle.class), anyString()))
+ .getPhoneAccountsForPackage(anyString(), any(UserHandle.class)))
.thenReturn(phoneAccountHandleList);
makeAccountsVisibleToAllUsers(TEL_PA_HANDLE_16, SIP_PA_HANDLE_17);
assertEquals(phoneAccountHandleList,