summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--InCallUI/res/layout/call_button_fragment.xml2
-rw-r--r--InCallUI/res/values-af/strings.xml5
-rw-r--r--InCallUI/res/values-am/strings.xml5
-rw-r--r--InCallUI/res/values-ar/strings.xml5
-rw-r--r--InCallUI/res/values-az-rAZ/strings.xml5
-rw-r--r--InCallUI/res/values-bg/strings.xml5
-rw-r--r--InCallUI/res/values-bn-rBD/strings.xml15
-rw-r--r--InCallUI/res/values-ca/strings.xml5
-rw-r--r--InCallUI/res/values-cs/strings.xml5
-rw-r--r--InCallUI/res/values-da/strings.xml5
-rw-r--r--InCallUI/res/values-de/strings.xml5
-rw-r--r--InCallUI/res/values-el/strings.xml5
-rw-r--r--InCallUI/res/values-en-rAU/strings.xml7
-rw-r--r--InCallUI/res/values-en-rGB/strings.xml7
-rw-r--r--InCallUI/res/values-en-rIN/strings.xml7
-rw-r--r--InCallUI/res/values-es-rUS/strings.xml5
-rw-r--r--InCallUI/res/values-es/strings.xml5
-rw-r--r--InCallUI/res/values-et-rEE/strings.xml7
-rw-r--r--InCallUI/res/values-eu-rES/strings.xml5
-rw-r--r--InCallUI/res/values-fa/strings.xml7
-rw-r--r--InCallUI/res/values-fi/strings.xml5
-rw-r--r--InCallUI/res/values-fr-rCA/strings.xml5
-rw-r--r--InCallUI/res/values-fr/strings.xml5
-rw-r--r--InCallUI/res/values-gl-rES/strings.xml5
-rw-r--r--InCallUI/res/values-gu-rIN/strings.xml5
-rw-r--r--InCallUI/res/values-hi/strings.xml5
-rw-r--r--InCallUI/res/values-hr/strings.xml5
-rw-r--r--InCallUI/res/values-hu/strings.xml5
-rw-r--r--InCallUI/res/values-hy-rAM/strings.xml5
-rw-r--r--InCallUI/res/values-in/strings.xml5
-rw-r--r--InCallUI/res/values-is-rIS/strings.xml5
-rw-r--r--InCallUI/res/values-it/strings.xml5
-rw-r--r--InCallUI/res/values-iw/strings.xml5
-rw-r--r--InCallUI/res/values-ja/strings.xml5
-rw-r--r--InCallUI/res/values-ka-rGE/strings.xml5
-rw-r--r--InCallUI/res/values-kk-rKZ/strings.xml5
-rw-r--r--InCallUI/res/values-km-rKH/strings.xml5
-rw-r--r--InCallUI/res/values-kn-rIN/strings.xml5
-rw-r--r--InCallUI/res/values-ko/strings.xml5
-rw-r--r--InCallUI/res/values-ky-rKG/strings.xml5
-rw-r--r--InCallUI/res/values-lo-rLA/strings.xml5
-rw-r--r--InCallUI/res/values-lt/strings.xml5
-rw-r--r--InCallUI/res/values-lv/strings.xml5
-rw-r--r--InCallUI/res/values-mk-rMK/strings.xml5
-rw-r--r--InCallUI/res/values-ml-rIN/strings.xml5
-rw-r--r--InCallUI/res/values-mn-rMN/strings.xml5
-rw-r--r--InCallUI/res/values-mr-rIN/strings.xml5
-rw-r--r--InCallUI/res/values-ms-rMY/strings.xml5
-rw-r--r--InCallUI/res/values-my-rMM/strings.xml5
-rw-r--r--InCallUI/res/values-nb/strings.xml5
-rw-r--r--InCallUI/res/values-ne-rNP/strings.xml5
-rw-r--r--InCallUI/res/values-nl/strings.xml5
-rw-r--r--InCallUI/res/values-pa-rIN/strings.xml5
-rw-r--r--InCallUI/res/values-pl/strings.xml5
-rw-r--r--InCallUI/res/values-pt-rBR/strings.xml5
-rw-r--r--InCallUI/res/values-pt-rPT/strings.xml5
-rw-r--r--InCallUI/res/values-pt/strings.xml5
-rw-r--r--InCallUI/res/values-ro/strings.xml5
-rw-r--r--InCallUI/res/values-ru/strings.xml5
-rw-r--r--InCallUI/res/values-si-rLK/strings.xml5
-rw-r--r--InCallUI/res/values-sk/strings.xml5
-rw-r--r--InCallUI/res/values-sl/strings.xml5
-rw-r--r--InCallUI/res/values-sq-rAL/strings.xml5
-rw-r--r--InCallUI/res/values-sr/strings.xml5
-rw-r--r--InCallUI/res/values-sv/strings.xml5
-rw-r--r--InCallUI/res/values-sw/strings.xml5
-rw-r--r--InCallUI/res/values-ta-rIN/strings.xml5
-rw-r--r--InCallUI/res/values-te-rIN/strings.xml5
-rw-r--r--InCallUI/res/values-th/strings.xml5
-rw-r--r--InCallUI/res/values-tl/strings.xml5
-rw-r--r--InCallUI/res/values-tr/strings.xml5
-rw-r--r--InCallUI/res/values-uk/strings.xml5
-rw-r--r--InCallUI/res/values-ur-rPK/strings.xml5
-rw-r--r--InCallUI/res/values-uz-rUZ/strings.xml5
-rw-r--r--InCallUI/res/values-vi/strings.xml5
-rw-r--r--InCallUI/res/values-zh-rCN/strings.xml5
-rw-r--r--InCallUI/res/values-zh-rHK/strings.xml5
-rw-r--r--InCallUI/res/values-zh-rTW/strings.xml5
-rw-r--r--InCallUI/res/values-zu/strings.xml5
-rw-r--r--InCallUI/res/values/strings.xml17
-rw-r--r--InCallUI/src/com/android/incallui/AnswerPresenter.java5
-rw-r--r--InCallUI/src/com/android/incallui/Call.java72
-rw-r--r--InCallUI/src/com/android/incallui/CallButtonFragment.java21
-rw-r--r--InCallUI/src/com/android/incallui/CallButtonPresenter.java4
-rw-r--r--InCallUI/src/com/android/incallui/ExternalCallList.java105
-rw-r--r--InCallUI/src/com/android/incallui/ExternalCallNotifier.java406
-rw-r--r--InCallUI/src/com/android/incallui/InCallPresenter.java31
-rw-r--r--InCallUI/src/com/android/incallui/InCallServiceImpl.java2
-rw-r--r--InCallUI/src/com/android/incallui/NotificationBroadcastReceiver.java8
-rw-r--r--InCallUI/src/com/android/incallui/StatusBarNotifier.java7
-rw-r--r--InCallUI/src/com/android/incallui/VideoCallFragment.java8
-rw-r--r--InCallUI/src/com/android/incallui/VideoCallPresenter.java52
-rw-r--r--InCallUI/src/com/android/incallui/VideoUtils.java8
-rw-r--r--InCallUI/tests/src/com/android/incallui/ExternalCallListTest.java142
-rw-r--r--InCallUI/tests/src/com/android/incallui/ExternalCallNotifierTest.java212
-rw-r--r--InCallUI/tests/src/com/android/incallui/InCallPresenterTest.java6
-rw-r--r--InCallUI/tests/src/com/android/incallui/TestTelecomCall.java161
97 files changed, 1535 insertions, 144 deletions
diff --git a/InCallUI/res/layout/call_button_fragment.xml b/InCallUI/res/layout/call_button_fragment.xml
index 6dbfbf73a..802e3de62 100644
--- a/InCallUI/res/layout/call_button_fragment.xml
+++ b/InCallUI/res/layout/call_button_fragment.xml
@@ -126,7 +126,7 @@
<ToggleButton android:id="@+id/pauseVideoButton"
style="@style/InCallCompoundButton"
android:background="@drawable/btn_compound_video_off"
- android:contentDescription="@string/onscreenPauseVideoText"
+ android:contentDescription="@string/onscreenTurnOffCameraText"
android:visibility="gone" />
<!-- "Change to audio call" for video calls. -->
diff --git a/InCallUI/res/values-af/strings.xml b/InCallUI/res/values-af/strings.xml
index 30c8428b4..3e376896d 100644
--- a/InCallUI/res/values-af/strings.xml
+++ b/InCallUI/res/values-af/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Maak toe"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Bel terug"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Boodskap"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Voortgesette oproep op \'n ander toestel"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Sit oproep deur"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Skakel vliegtuigmodus eers af om \'n oproep te maak."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Nie geregistreer op netwerk nie."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Sellulêre netwerk is nie beskikbaar nie."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Video-oproep"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Verander na stemoproep"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Wissel kamera"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Laat video wag"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Skakel kamera aan"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Skakel kamera af"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Nog opsies"</string>
<string name="player_started" msgid="3478865572468310331">"Speler het begin"</string>
<string name="player_stopped" msgid="1278611664986561535">"Speler het gestop"</string>
diff --git a/InCallUI/res/values-am/strings.xml b/InCallUI/res/values-am/strings.xml
index 5306c9c97..ecfb2a958 100644
--- a/InCallUI/res/values-am/strings.xml
+++ b/InCallUI/res/values-am/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"አስወግድ"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"መልሰህ ደውል"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"መልእክት"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"በሌላ መሳሪያ ጥሪ በመካሄድ ላይ ነው"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"ጥሪ አስተላልፍ"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"ለመደወል፣ መጀመሪያ የአውሮፕላኑን ሁኔታ ያጥፉ።"</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"በአውታረ መረቡ ላይ አልተመዘገበም።"</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"የተንቀሳቃሽ ስልክ አውታረ መረብ አይገኝም።"</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"የቪዲዮ ጥሪ"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"ወደ ድምፅ ጥሪ ይለውጡ"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"ካሜራ ቀይር"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"ቪድዮ ለአፍታ አቁም"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"ካሜራ ያብሩ"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"ካሜራ ያጥፉ"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"ተጨማሪ አማራጮች"</string>
<string name="player_started" msgid="3478865572468310331">"አጫዋች ጀምሯል"</string>
<string name="player_stopped" msgid="1278611664986561535">"አጫዋች ቆሟል"</string>
diff --git a/InCallUI/res/values-ar/strings.xml b/InCallUI/res/values-ar/strings.xml
index a9b4b1d6b..0c315da22 100644
--- a/InCallUI/res/values-ar/strings.xml
+++ b/InCallUI/res/values-ar/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"تجاهل"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"معاودة الاتصال"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"رسالة"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"مكالمة جارية على جهاز آخر"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"تحويل الاتصال"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"لإجراء مكالمة، أوقف تشغيل وضع الطائرة أولاً."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"غير مسجل على الشبكة."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"شبكة الجوّال غير متاحة."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"مكالمة فيديو"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"التغيير إلى مكالمة صوتية"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"تبديل الكاميرا"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"إيقاف الفيديو مؤقتًا"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"تشغيل الكاميرا"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"إيقاف الكاميرا"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"خيارات أخرى"</string>
<string name="player_started" msgid="3478865572468310331">"تم بدء المشغّل"</string>
<string name="player_stopped" msgid="1278611664986561535">"تم إيقاف المشغّل"</string>
diff --git a/InCallUI/res/values-az-rAZ/strings.xml b/InCallUI/res/values-az-rAZ/strings.xml
index 3ce629fc8..779843ea6 100644
--- a/InCallUI/res/values-az-rAZ/strings.xml
+++ b/InCallUI/res/values-az-rAZ/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Rədd edin"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Geriyə zəng"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Mesaj"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Digər cihazda davam etməkdə olan zəng"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Zəngi Transfer edin"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Zəng etmək üçün ilk olaraq Uçuş Rejimini söndürün."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Şəbəkədə qeydə alınmayıb."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobil şəbəkə əlçatan deyil"</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Video zəng"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Səsli çağrıya dəyişin"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Kameraya keçin"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Videonu durdurun"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Kameranı yandırın"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Kameranı söndürün"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Daha çox seçim"</string>
<string name="player_started" msgid="3478865572468310331">"Pleyer Başladıldı"</string>
<string name="player_stopped" msgid="1278611664986561535">"Pleyer Dayandırıldı"</string>
diff --git a/InCallUI/res/values-bg/strings.xml b/InCallUI/res/values-bg/strings.xml
index 92baee56e..87c5de523 100644
--- a/InCallUI/res/values-bg/strings.xml
+++ b/InCallUI/res/values-bg/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Отхвърляне"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Обр. обажд."</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Съобщение"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Текущо обаждане на друго устройство"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Прехвърляне на обаждането"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"За да осъществите обаждане, първо изключете самолетния режим."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Няма регистрация в мрежата."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Няма достъп до клетъчната мрежа."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Видеообажд."</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Преминаване към гласово обаждане"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Превключване на камерата"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Поставяне на видеовръзката на пауза"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Включване на камерата"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Изключване на камерата"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Още опции"</string>
<string name="player_started" msgid="3478865572468310331">"Плейърът е стартиран"</string>
<string name="player_stopped" msgid="1278611664986561535">"Плейърът е спрян"</string>
diff --git a/InCallUI/res/values-bn-rBD/strings.xml b/InCallUI/res/values-bn-rBD/strings.xml
index a6eb58f7e..0e05f6de0 100644
--- a/InCallUI/res/values-bn-rBD/strings.xml
+++ b/InCallUI/res/values-bn-rBD/strings.xml
@@ -27,7 +27,7 @@
<string name="audio_mode_speaker" msgid="6160127758732918123">"স্পিকার"</string>
<string name="audio_mode_earpiece" msgid="3138677187223932893">"হ্যান্ডসেট ইয়ারপিস"</string>
<string name="audio_mode_wired_headset" msgid="583080366967943196">"তারযুক্ত হেডসেট"</string>
- <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string>
+ <string name="audio_mode_bluetooth" msgid="3188504589946495676">"ব্লুটুথ"</string>
<string name="wait_prompt_str" msgid="3784275777844586675">"নিম্নলিখিত টোনগুলি পাঠাবেন?\n"</string>
<string name="pause_prompt_str" msgid="4507496811727697620">"টোনগুলি পাঠানো হচ্ছে\n"</string>
<string name="send_button" msgid="4054398309483035794">"পাঠান"</string>
@@ -60,13 +60,13 @@
<string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> এর থেকে মিসড কল"</string>
<string name="notification_ongoing_call" msgid="8633734299234807397">"চলমান কল"</string>
<string name="notification_ongoing_work_call" msgid="3465083293325006579">"চলমান কাজের কল"</string>
- <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"চলমান Wi-Fi কল"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"চলমান Wi-Fi কাজের কল"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"চলমান ওয়াই-ফাই কল"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"চলমান ওয়াই-ফাই কাজের কল"</string>
<string name="notification_on_hold" msgid="3151343576023182586">"হোল্ডে রয়েছে"</string>
<string name="notification_incoming_call" msgid="5904745644632328863">"আগত কল"</string>
<string name="notification_incoming_work_call" msgid="281305845895342925">"আগত কাজের কল"</string>
- <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"আগত Wi-Fi কল"</string>
- <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"আগত Wi-Fi কাজের কল"</string>
+ <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"আগত ওয়াই-ফাই কল"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"আগত ওয়াই-ফাই কাজের কল"</string>
<string name="notification_incoming_video_call" msgid="7814873581838165772">"আগত ভিডিও কল"</string>
<string name="notification_requesting_video_call" msgid="4844596091477863245">"আগত ভিডিও অনুরোধ"</string>
<string name="notification_voicemail_title" msgid="7595628197933709144">"নতুন ভয়েসমেল"</string>
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"খারিজ করুন"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"ঘুরিয়ে কল করুন"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"বার্তা"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"অন্য ডিভাইসে চালু থাকা কল"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"কল স্থানান্তর করুন"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"একটি কল করতে, প্রথমে বিমানমোড বন্ধ করুন৷"</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"নেটওয়ার্কে নিবন্ধিত নয়৷"</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"সেলুলার নেটওয়ার্ক উপলব্ধ নয়।"</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"ভিডিও কল"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"ভয়েস কলে পরিবর্তন করুন"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"ক্যামেরা স্যুইচ করুন"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"ভিডিও বিরাম দিন"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"ক্যামেরা চালু করুন"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"ক্যামেরা বন্ধ করুন"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"আরো বিকল্প"</string>
<string name="player_started" msgid="3478865572468310331">"প্লেয়ার শুরু হয়েছে"</string>
<string name="player_stopped" msgid="1278611664986561535">"প্লেয়ার বন্ধ হয়ে গেছে"</string>
diff --git a/InCallUI/res/values-ca/strings.xml b/InCallUI/res/values-ca/strings.xml
index e7129a57a..2f315c230 100644
--- a/InCallUI/res/values-ca/strings.xml
+++ b/InCallUI/res/values-ca/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Ignora"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Torna trucada"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Missatge"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Trucada en curs en un altre dispositiu"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Transfereix la trucada"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Per fer una trucada, primer desactiva el mode d\'avió."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"No s\'ha registrat a la xarxa."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"La xarxa mòbil no està disponible."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videotrucada"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Canvia a trucada de veu"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Canvia la càmera"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Posa en pausa el vídeo"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Activa la càmera"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Desactiva la càmera"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Més opcions"</string>
<string name="player_started" msgid="3478865572468310331">"S\'ha iniciat el reproductor"</string>
<string name="player_stopped" msgid="1278611664986561535">"S\'ha aturat el reproductor"</string>
diff --git a/InCallUI/res/values-cs/strings.xml b/InCallUI/res/values-cs/strings.xml
index 9f869f231..11efecc85 100644
--- a/InCallUI/res/values-cs/strings.xml
+++ b/InCallUI/res/values-cs/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Odmítnout"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Zavolat zpět"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Posl. zprávu"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Probíhá hovor na jiném zařízení"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Převést hovor sem"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Chcete-li telefonovat, nejprve vypněte režim Letadlo."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Přihlášení k síti nebylo úspěšné."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilní síť je nedostupná."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videohovor"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Změnit na hlasové volání"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Přepnout kameru"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Pozastavit video"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Zapnout kameru"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Vypnout kameru"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Další možnosti"</string>
<string name="player_started" msgid="3478865572468310331">"Přehrávač spuštěn"</string>
<string name="player_stopped" msgid="1278611664986561535">"Přehrávač zastaven"</string>
diff --git a/InCallUI/res/values-da/strings.xml b/InCallUI/res/values-da/strings.xml
index 01167cbbb..a43e452d7 100644
--- a/InCallUI/res/values-da/strings.xml
+++ b/InCallUI/res/values-da/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Afvis"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Ring tilbage"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Besked"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Igangværende opkald på en anden enhed"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Overfør opkald"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Slå Flytilstand fra først for at foretage et opkald."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Ikke registreret på netværket."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilnetværket er ikke tilgængeligt."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videoopkald"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Skift til taleopkald"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Skift kamera"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Sæt video på pause"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Slå kameraet til"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Slå kameraet fra"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Flere valgmuligheder"</string>
<string name="player_started" msgid="3478865572468310331">"Afspilleren er startet"</string>
<string name="player_stopped" msgid="1278611664986561535">"Afspilleren er stoppet"</string>
diff --git a/InCallUI/res/values-de/strings.xml b/InCallUI/res/values-de/strings.xml
index dd9f9b84d..7cb4de92a 100644
--- a/InCallUI/res/values-de/strings.xml
+++ b/InCallUI/res/values-de/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Ablehnen"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Zurückrufen"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Nachricht"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Aktiver Anruf auf anderem Gerät"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Anruf übertragen"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Deaktiviere zunächst den Flugmodus, um einen Anruf zu tätigen."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Nicht in Netzwerk registriert."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilfunknetz nicht verfügbar."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videoanruf"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Zu Sprachanruf wechseln"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Kamera wechseln"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Video pausieren"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Kamera einschalten"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Kamera ausschalten"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Weitere Optionen"</string>
<string name="player_started" msgid="3478865572468310331">"Videoübertragung gestartet"</string>
<string name="player_stopped" msgid="1278611664986561535">"Videoübertragung gestoppt"</string>
diff --git a/InCallUI/res/values-el/strings.xml b/InCallUI/res/values-el/strings.xml
index bdec7d0b2..011c99047 100644
--- a/InCallUI/res/values-el/strings.xml
+++ b/InCallUI/res/values-el/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Παράβλεψη"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Επανάκληση"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Μήνυμα"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Κλήση σε εξέλιξη σε άλλη συσκευή"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Μεταφορά κλήσης"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Για να πραγματοποιήσετε μια κλήση, απενεργοποιήστε πρώτα τη λειτουργία πτήσης."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Δεν έχετε εγγραφεί στο δίκτυο."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Το δίκτυο κινητής τηλεφωνίας δεν είναι διαθέσιμο."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Βιντεοκλ."</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Αλλαγή σε φωνητική κλήση"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Αλλαγή κάμερας"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Παύση βίντεο"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Ενεργοποίηση κάμερας"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Απενεργοποίηση κάμερας"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Περισσότερες επιλογές"</string>
<string name="player_started" msgid="3478865572468310331">"Το πρόγραμμα αναπαραγωγής βίντεο ξεκίνησε"</string>
<string name="player_stopped" msgid="1278611664986561535">"Το πρόγραμμα αναπαραγωγής βίντεο διακόπηκε"</string>
diff --git a/InCallUI/res/values-en-rAU/strings.xml b/InCallUI/res/values-en-rAU/strings.xml
index 19fcd9b97..f4f9716d6 100644
--- a/InCallUI/res/values-en-rAU/strings.xml
+++ b/InCallUI/res/values-en-rAU/strings.xml
@@ -17,7 +17,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telephone"</string>
+ <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Phone"</string>
<string name="onHold" msgid="527593602772521700">"On hold"</string>
<string name="unknown" msgid="3646075119047488748">"unknown"</string>
<string name="private_num" msgid="6081418498487514686">"Private number"</string>
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Dismiss"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Call back"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Message"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Ongoing call on another device"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Transfer call"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"To place a call, first turn off Aeroplane mode."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Not registered on network."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobile network not available."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Video call"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Change to voice call"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Switch camera"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Pause video"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Turn on camera"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Turn off camera"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"More options"</string>
<string name="player_started" msgid="3478865572468310331">"Player Started"</string>
<string name="player_stopped" msgid="1278611664986561535">"Player Stopped"</string>
diff --git a/InCallUI/res/values-en-rGB/strings.xml b/InCallUI/res/values-en-rGB/strings.xml
index 19fcd9b97..f4f9716d6 100644
--- a/InCallUI/res/values-en-rGB/strings.xml
+++ b/InCallUI/res/values-en-rGB/strings.xml
@@ -17,7 +17,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telephone"</string>
+ <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Phone"</string>
<string name="onHold" msgid="527593602772521700">"On hold"</string>
<string name="unknown" msgid="3646075119047488748">"unknown"</string>
<string name="private_num" msgid="6081418498487514686">"Private number"</string>
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Dismiss"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Call back"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Message"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Ongoing call on another device"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Transfer call"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"To place a call, first turn off Aeroplane mode."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Not registered on network."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobile network not available."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Video call"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Change to voice call"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Switch camera"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Pause video"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Turn on camera"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Turn off camera"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"More options"</string>
<string name="player_started" msgid="3478865572468310331">"Player Started"</string>
<string name="player_stopped" msgid="1278611664986561535">"Player Stopped"</string>
diff --git a/InCallUI/res/values-en-rIN/strings.xml b/InCallUI/res/values-en-rIN/strings.xml
index 19fcd9b97..f4f9716d6 100644
--- a/InCallUI/res/values-en-rIN/strings.xml
+++ b/InCallUI/res/values-en-rIN/strings.xml
@@ -17,7 +17,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telephone"</string>
+ <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Phone"</string>
<string name="onHold" msgid="527593602772521700">"On hold"</string>
<string name="unknown" msgid="3646075119047488748">"unknown"</string>
<string name="private_num" msgid="6081418498487514686">"Private number"</string>
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Dismiss"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Call back"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Message"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Ongoing call on another device"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Transfer call"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"To place a call, first turn off Aeroplane mode."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Not registered on network."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobile network not available."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Video call"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Change to voice call"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Switch camera"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Pause video"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Turn on camera"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Turn off camera"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"More options"</string>
<string name="player_started" msgid="3478865572468310331">"Player Started"</string>
<string name="player_stopped" msgid="1278611664986561535">"Player Stopped"</string>
diff --git a/InCallUI/res/values-es-rUS/strings.xml b/InCallUI/res/values-es-rUS/strings.xml
index ab9540721..39818a4bb 100644
--- a/InCallUI/res/values-es-rUS/strings.xml
+++ b/InCallUI/res/values-es-rUS/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Descartar"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Llamar"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Mensaje"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Llamada en curso en otro dispositivo"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Transferir llamada"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Para realizar una llamada, primero debes desactivar el modo de avión."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"No está registrado en la red."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"La red móvil no está disponible."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Video"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Cambiar a llamada de voz"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Cambiar cámara"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Pausar video"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Activar la cámara"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Desactivar la cámara"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Más opciones"</string>
<string name="player_started" msgid="3478865572468310331">"Se inició el reproductor"</string>
<string name="player_stopped" msgid="1278611664986561535">"Se detuvo el reproductor"</string>
diff --git a/InCallUI/res/values-es/strings.xml b/InCallUI/res/values-es/strings.xml
index 518cf72a9..b0fcc5fb3 100644
--- a/InCallUI/res/values-es/strings.xml
+++ b/InCallUI/res/values-es/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Rechazar"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Llamar"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Mensaje"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Llamada activa en otro dispositivo"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Transferir llamada"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Para realizar una llamada, primero debes desactivar el modo avión."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"No estás registrado en la red."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"La red móvil no está disponible."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videollamada"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Cambiar a llamada de voz"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Cambiar cámara"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Pausar vídeo"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Activar cámara"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Desactivar cámara"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Más opciones"</string>
<string name="player_started" msgid="3478865572468310331">"Reproductor iniciado"</string>
<string name="player_stopped" msgid="1278611664986561535">"Reproductor detenido"</string>
diff --git a/InCallUI/res/values-et-rEE/strings.xml b/InCallUI/res/values-et-rEE/strings.xml
index 8741c73af..9b90ef5a5 100644
--- a/InCallUI/res/values-et-rEE/strings.xml
+++ b/InCallUI/res/values-et-rEE/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Loobu"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Helista tagasi"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Saada sõnum"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Pooleliolev kõne teise seadmes"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Kõne ülekandmine"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Helistamiseks lülitage esmalt lennukirežiim välja."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Ei ole võrgus registreeritud."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobiilsidevõrk pole saadaval."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videokõne"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Mine üle häälkõnele"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Vaheta kaamerat"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Peata video"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Lülita kaamera sisse"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Lülita kaamera välja"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Rohkem valikuid"</string>
<string name="player_started" msgid="3478865572468310331">"Pleier käivitati"</string>
<string name="player_stopped" msgid="1278611664986561535">"Pleier peatati"</string>
@@ -141,7 +144,7 @@
<string name="custom_message_cancel" msgid="5920059627508662163">"Tühista"</string>
<string name="custom_message_send" msgid="3798076337006735995">"Saada"</string>
<string name="description_target_answer" msgid="1111945818996518320">"Vastamine"</string>
- <string name="description_target_send_sms" msgid="3652217769615310018">"SMS-i saatmine"</string>
+ <string name="description_target_send_sms" msgid="3652217769615310018">"Saada SMS"</string>
<string name="description_target_decline" msgid="7108154434759234035">"Tagasilükkamine"</string>
<string name="description_target_answer_video_call" msgid="4655616461181308405">"Vastamine videokõnena"</string>
<string name="description_target_answer_audio_call" msgid="3234714934649708854">"Vastamine helikõnena"</string>
diff --git a/InCallUI/res/values-eu-rES/strings.xml b/InCallUI/res/values-eu-rES/strings.xml
index 66860076b..5b59d977c 100644
--- a/InCallUI/res/values-eu-rES/strings.xml
+++ b/InCallUI/res/values-eu-rES/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Baztertu"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Itzuli deia"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Bidali SMSa"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Dei bat abian da beste gailu batean"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Transferitu deia"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Deitzeko, desaktibatu hegaldi modua."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Ez dago sarean erregistratuta."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Sare mugikorra ez dago erabilgarri."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Bideo-deia"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Aldatu ahots-deira"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Aldatu kamera"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Pausatu bideoa"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Aktibatu kamera"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Desaktibatu kamera"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Aukera gehiago"</string>
<string name="player_started" msgid="3478865572468310331">"Abian da erreproduzigailua"</string>
<string name="player_stopped" msgid="1278611664986561535">"Gelditu da erreproduzigailua"</string>
diff --git a/InCallUI/res/values-fa/strings.xml b/InCallUI/res/values-fa/strings.xml
index 27e9606f1..43390c79c 100644
--- a/InCallUI/res/values-fa/strings.xml
+++ b/InCallUI/res/values-fa/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"نپذیرفتن"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"پاسخ تماس"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"پیام"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"تماس در حال انجام در دستگاهی دیگر"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"انتقال تماس"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"برای برقراری تماس، ابتدا حالت هواپیما را خاموش کنید."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"در شبکه ثبت نشده است."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"شبکه تلفن همراه در دسترس نیست."</string>
@@ -99,7 +101,7 @@
<string name="incall_call_type_label_sip" msgid="1327822795765282192">"‏تماس SIP"</string>
<string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"تماس اضطراری"</string>
<string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"درحال روشن کردن رادیو…‏"</string>
- <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"سرویسی دردسترس نیست. درحال تلاش مجدد…‏"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"سرویسی در دسترس نیست. درحال تلاش مجدد…‏"</string>
<string name="dial_emergency_error" msgid="582305854626092376">"تماس ممکن نیست. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> شماره اضطراری نیست."</string>
<string name="dial_emergency_empty_error" msgid="199888628163390267">"تماس ممکن نیست. فقط شماره اضطراری."</string>
<string name="dialerKeyboardHintText" msgid="8533449463925408141">"استفاده از صفحه‌کلید برای شماره‌گیری"</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"تماس ویدیویی"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"تغییر به تماس صوتی"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"تعویض دوربین"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"توقف موقت ویدیو"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"روشن کردن دوربین"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"خاموش کردن دوربین"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"گزینه‌های بیشتر"</string>
<string name="player_started" msgid="3478865572468310331">"پخش‌کننده راه‌اندازی شد"</string>
<string name="player_stopped" msgid="1278611664986561535">"پخش‌کننده متوقف شد"</string>
diff --git a/InCallUI/res/values-fi/strings.xml b/InCallUI/res/values-fi/strings.xml
index 084c69662..392d55b8e 100644
--- a/InCallUI/res/values-fi/strings.xml
+++ b/InCallUI/res/values-fi/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Hylkää"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Soita"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Viesti"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Puhelu on kesken toisella laitteella."</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Siirrä puhelu"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Poista lentokonetila käytöstä ennen puhelun soittamista."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Ei rekisteröity verkkoon"</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Matkapuhelinverkko ei ole käytettävissä."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Video"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Muuta äänipuheluksi"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Vaihda kameraa"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Keskeytä video"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Käynnistä kamera"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Sammuta kamera"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Lisäasetukset"</string>
<string name="player_started" msgid="3478865572468310331">"Soitin käynnistettiin."</string>
<string name="player_stopped" msgid="1278611664986561535">"Soitin pysäytettiin."</string>
diff --git a/InCallUI/res/values-fr-rCA/strings.xml b/InCallUI/res/values-fr-rCA/strings.xml
index 2218e78c8..a8d39ca6b 100644
--- a/InCallUI/res/values-fr-rCA/strings.xml
+++ b/InCallUI/res/values-fr-rCA/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Fermer"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Rappeler"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Message"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Appel en cours sur un autre appareil"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Transférer l\'appel"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Pour faire un appel, d\'abord désactiver le mode Avion."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Non enregistré sur le réseau."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Réseau cellulaire non disponible."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Appel vidéo"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Passer à un appel vocal"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Changer d\'appareil photo"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Interrompre la vidéo"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Activer la caméra"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Désactiver la caméra"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Plus d\'options"</string>
<string name="player_started" msgid="3478865572468310331">"Le lecteur a démarré"</string>
<string name="player_stopped" msgid="1278611664986561535">"Le lecteur a arrêté"</string>
diff --git a/InCallUI/res/values-fr/strings.xml b/InCallUI/res/values-fr/strings.xml
index 3dbf8c108..35fd86c4d 100644
--- a/InCallUI/res/values-fr/strings.xml
+++ b/InCallUI/res/values-fr/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Fermer"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Rappeler"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Envoyer SMS"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Appel en cours sur un autre appareil"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Transférer l\'appel"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Veuillez désactiver le mode Avion avant de passer un appel."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Non enregistré sur le réseau."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Réseau mobile indisponible."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Appel vidéo"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Passer à un appel vocal"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Changer de caméra"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Suspendre la vidéo"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Activer la caméra"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Désactiver la caméra"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Plus d\'options"</string>
<string name="player_started" msgid="3478865572468310331">"Le lecteur a démarré."</string>
<string name="player_stopped" msgid="1278611664986561535">"Le lecteur s\'est arrêté."</string>
diff --git a/InCallUI/res/values-gl-rES/strings.xml b/InCallUI/res/values-gl-rES/strings.xml
index 7a3725fca..5297329ef 100644
--- a/InCallUI/res/values-gl-rES/strings.xml
+++ b/InCallUI/res/values-gl-rES/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Ignorar"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Dev. chamada"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Mensaxe"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Chamada en curso noutro dispositivo"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Transferir chamada"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Para realizar unha chamada, primeiro desactiva o modo avión."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Sen rexistro na rede."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Rede móbil non dispoñible."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videocham."</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Cambiar para chamada de voz"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Cambiar cámara"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Pausar vídeo"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Acender cámara"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Apagar cámara"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Máis opcións"</string>
<string name="player_started" msgid="3478865572468310331">"Iniciouse o reprodutor"</string>
<string name="player_stopped" msgid="1278611664986561535">"Detívose o reprodutor"</string>
diff --git a/InCallUI/res/values-gu-rIN/strings.xml b/InCallUI/res/values-gu-rIN/strings.xml
index 30dfb8822..e04e29000 100644
--- a/InCallUI/res/values-gu-rIN/strings.xml
+++ b/InCallUI/res/values-gu-rIN/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"છોડી દો"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"કૉલ બૅક કરો"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"સંદેશ"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"અન્ય ઉપકરણ પર ચાલી રહેલ કૉલ"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"કૉલ સ્થાનાંતરિત કરો"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"કૉલ કરવા માટે, પહેલા એરપ્લેન મોડને બંધ કરો."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"નેટવર્ક પર નોંધણી કરાયેલ નથી."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"સેલ્યુલર નેટવર્ક ઉપલબ્ધ નથી."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"વિડિઓ કૉલ"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"વૉઇસ કૉલ પર બદલો"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"કૅમેરા પર સ્વિચ કરો"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"વિડિઓ થોભાવો"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"કૅમેરો ચાલુ કરો"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"કૅમેરો બંધ કરો"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"વધુ વિકલ્પો"</string>
<string name="player_started" msgid="3478865572468310331">"પ્લેયર પ્રારંભ કર્યું"</string>
<string name="player_stopped" msgid="1278611664986561535">"પ્લેયર બંધ કર્યું"</string>
diff --git a/InCallUI/res/values-hi/strings.xml b/InCallUI/res/values-hi/strings.xml
index 6d4e8ae9a..f076ac291 100644
--- a/InCallUI/res/values-hi/strings.xml
+++ b/InCallUI/res/values-hi/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"ख़ारिज करें"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"कॉल बैक करें"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"संदेश"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"दूसरे डिवाइस पर चल रहा कॉल"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"कॉल स्थानान्तरित करें"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"कॉल करने के लिए, पहले हवाई जहाज़ मोड बंद करें."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"नेटवर्क पर पंजीकृत नहीं."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"सेल्युलर नेटवर्क उपलब्ध नहीं."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"वीडियो कॉल"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"वॉइस कॉल में बदलें"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"कैमरा स्विच करें"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"वीडियो रोकें"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"कैमरा चालू करें"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"कैमरा बंद करें"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"अधिक विकल्प"</string>
<string name="player_started" msgid="3478865572468310331">"प्लेयर प्रारंभ हो गया"</string>
<string name="player_stopped" msgid="1278611664986561535">"प्लेयर रुक गया"</string>
diff --git a/InCallUI/res/values-hr/strings.xml b/InCallUI/res/values-hr/strings.xml
index f870af148..1100b0c39 100644
--- a/InCallUI/res/values-hr/strings.xml
+++ b/InCallUI/res/values-hr/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Odbaci"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Uzvrati"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Poruka"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Poziv u tijeku na drugom uređaju"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Prijenos poziva"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Da biste uspostavili poziv, isključite način rada u zrakoplovu."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Nije registrirano na mreži."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilna mreža nije dostupna."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videopoziv"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Prijeđi na glasovni poziv"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Promijeni kameru"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Pauziraj videopoziv"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Uključivanje kamere"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Isključivanje kamere"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Više opcija"</string>
<string name="player_started" msgid="3478865572468310331">"Player je pokrenut"</string>
<string name="player_stopped" msgid="1278611664986561535">"Player je prekinut"</string>
diff --git a/InCallUI/res/values-hu/strings.xml b/InCallUI/res/values-hu/strings.xml
index 9cac188dd..543b3527a 100644
--- a/InCallUI/res/values-hu/strings.xml
+++ b/InCallUI/res/values-hu/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Elvetés"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Visszahívás"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Üzenet"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Folyamatban lévő hívás egy másik eszközön"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Hívásátirányítás"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Hívásindításhoz kapcsolja ki a Repülős üzemmódot."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Nincs regisztrálva a hálózaton."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"A mobilhálózat nem áll rendelkezésre."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videóhívás"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Váltás hanghívásra"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Váltás a kamerák között"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Videó szüneteltetése"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Kamera bekapcsolása"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Kamera kikapcsolása"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"További lehetőségek"</string>
<string name="player_started" msgid="3478865572468310331">"A lejátszó elindult"</string>
<string name="player_stopped" msgid="1278611664986561535">"A lejátszó leállt"</string>
diff --git a/InCallUI/res/values-hy-rAM/strings.xml b/InCallUI/res/values-hy-rAM/strings.xml
index 75d0ce081..2c03bd286 100644
--- a/InCallUI/res/values-hy-rAM/strings.xml
+++ b/InCallUI/res/values-hy-rAM/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Փակել"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Հետ զանգել"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Հաղորդագրություն"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Ընթացիկ զանգ այլ սարքում"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Փոխանցել զանգը"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Զանգ կատարելու համար նախ անջատեք Ինքնաթիռային ռեժիմը:"</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Ցանցում գրանցված չէ:"</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Բջջային ցանցն անհասանելի է:"</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Տեսազանգ"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Փոխարկել ձայնային կանչի"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Փոխել տեսախցիկը"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Դադարեցնել տեսազանգը"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Միացնել տեսախցիկը"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Անջատել տեսախցիկը"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Այլ ընտրանքներ"</string>
<string name="player_started" msgid="3478865572468310331">"Նվագարկիչը մեկնարկել է"</string>
<string name="player_stopped" msgid="1278611664986561535">"Նվագարկիչը դադարեցվել է"</string>
diff --git a/InCallUI/res/values-in/strings.xml b/InCallUI/res/values-in/strings.xml
index ba1a2feb6..0506c4edd 100644
--- a/InCallUI/res/values-in/strings.xml
+++ b/InCallUI/res/values-in/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Tutup"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Telepon balik"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Pesan"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Panggilan yang berlangsung di perangkat lain"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Transfer Panggilan"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Untuk melakukan panggilan, terlebih dahulu nonaktifkan mode Pesawat."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Tidak terdaftar pada jaringan."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Jaringan seluler tidak tersedia."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Video call"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Ubah ke panggilan suara"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Beralih kamera"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Jeda video"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Nyalakan kamera"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Matikan kamera"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Opsi lainnya"</string>
<string name="player_started" msgid="3478865572468310331">"Pemutar Dimulai"</string>
<string name="player_stopped" msgid="1278611664986561535">"Pemutar Dihentikan"</string>
diff --git a/InCallUI/res/values-is-rIS/strings.xml b/InCallUI/res/values-is-rIS/strings.xml
index e749b1758..60eb5df87 100644
--- a/InCallUI/res/values-is-rIS/strings.xml
+++ b/InCallUI/res/values-is-rIS/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Hunsa"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Hringja til baka"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Skilaboð"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Símtal í gangi í öðru tæki"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Flytja símtal"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Til að hringja símtal þarftu fyrst að slökkva á flugstillingu."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Ekki skráð á símkerfi."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Farsímakerfi ekki til staðar."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Myndsímtal"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Breyta í símtal"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Skipta um myndavél"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Gera hlé á myndskeiði"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Kveikja á myndavél"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Slökkva á myndavél"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Fleiri valkostir"</string>
<string name="player_started" msgid="3478865572468310331">"Spilari ræstur"</string>
<string name="player_stopped" msgid="1278611664986561535">"Spilari stöðvaður"</string>
diff --git a/InCallUI/res/values-it/strings.xml b/InCallUI/res/values-it/strings.xml
index 72a8db82f..3d8114d24 100644
--- a/InCallUI/res/values-it/strings.xml
+++ b/InCallUI/res/values-it/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Ignora"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Richiama"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Messaggio"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Chiamata in corso su un altro dispositivo"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Trasferisci chiamata"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Per fare una chiamata, disattiva la modalità aereo."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Non registrato sulla rete."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Rete dati non disponibile."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videochiam"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Passa a chiamata vocale"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Cambia fotocamera"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Metti in pausa video"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Attiva fotocamera"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Disattiva fotocamera"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Altre opzioni"</string>
<string name="player_started" msgid="3478865572468310331">"Player avviato"</string>
<string name="player_stopped" msgid="1278611664986561535">"Player interrotto"</string>
diff --git a/InCallUI/res/values-iw/strings.xml b/InCallUI/res/values-iw/strings.xml
index 7fdc1c2ec..d27ba0f2b 100644
--- a/InCallUI/res/values-iw/strings.xml
+++ b/InCallUI/res/values-iw/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"בטל"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"התקשר חזרה"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"שלח הודעה"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"באחד מהמכשירים האחרים מתבצעת שיחה"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"העבר את השיחה"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"כדי להתקשר, כבה תחילה את מצב טיסה."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"לא רשום ברשת."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"רשת סלולרית אינה זמינה."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"שיחת וידאו"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"שנה לשיחה קולית"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"החלף מצלמה"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"השהה וידאו"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"הפעל את המצלמה"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"כבה את המצלמה"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"אפשרויות נוספות"</string>
<string name="player_started" msgid="3478865572468310331">"הנגן הופעל"</string>
<string name="player_stopped" msgid="1278611664986561535">"הנגן הפסיק"</string>
diff --git a/InCallUI/res/values-ja/strings.xml b/InCallUI/res/values-ja/strings.xml
index bfb46e623..5962f338d 100644
--- a/InCallUI/res/values-ja/strings.xml
+++ b/InCallUI/res/values-ja/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"拒否する"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"コールバック"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"メッセージ"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"別の端末で通話中"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"通話を転送"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"機内モードを OFF にしてから発信してください。"</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"ご加入の通信サービスがありません。"</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"モバイル ネットワークが利用できません。"</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"ビデオ"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"音声通話に変更"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"カメラを切り替え"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"ビデオハングアウトを一時停止"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"カメラを ON にする"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"カメラを OFF にする"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"その他のオプション"</string>
<string name="player_started" msgid="3478865572468310331">"プレーヤーを開始しました"</string>
<string name="player_stopped" msgid="1278611664986561535">"プレーヤーを停止しました"</string>
diff --git a/InCallUI/res/values-ka-rGE/strings.xml b/InCallUI/res/values-ka-rGE/strings.xml
index d732a8e2d..87ee73659 100644
--- a/InCallUI/res/values-ka-rGE/strings.xml
+++ b/InCallUI/res/values-ka-rGE/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"დახურვა"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"გადარეკვა"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"შეტყობინება"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"სხვა მოწყობილობაზე მიმდინარე ზარი"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"ზარის ტრანსფერი"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"ზარის განსახორციელებლად, ჯერ გამორთეთ თვითმფრინავის რეჟიმი."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"არ არის რეგისტრირებული ქსელში."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"ფიჭური ქსელი მიუწვდომელია."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"ვიდეო ზარი"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"ხმოვან ზარზე გადართვა"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"კამერის გადართვა"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"ვიდეოს დაპაუზება"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"კამერის ჩართვა"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"კამერის გამორთვა"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"სხვა ვარიანტები"</string>
<string name="player_started" msgid="3478865572468310331">"დამკვრელი ჩაირთო"</string>
<string name="player_stopped" msgid="1278611664986561535">"დამკვრელი გამოირთო"</string>
diff --git a/InCallUI/res/values-kk-rKZ/strings.xml b/InCallUI/res/values-kk-rKZ/strings.xml
index c6f208927..2f7213560 100644
--- a/InCallUI/res/values-kk-rKZ/strings.xml
+++ b/InCallUI/res/values-kk-rKZ/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Қабылдамау"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Кері қоңырау шалу"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Хабар"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Қоңырау басқа құрылғыдан шалынуда"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Қоңырауды басқа құрылғыға бағыттау"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Қоңырау шалу үшін алдымен ұшақ режимін өшіріңіз."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Желіде тіркелмеген."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Ұялы желі қол жетімді емес."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Бейне қоңырау"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Дауыстық қоңырауға өзгерту"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Камераны ауыстыру"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Бейнені кідірту"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Камераны қосу"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Камераны өшіру"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Қосымша опциялар"</string>
<string name="player_started" msgid="3478865572468310331">"Ойнатқыш іске қосылды"</string>
<string name="player_stopped" msgid="1278611664986561535">"Ойнатқыш тоқтатылды"</string>
diff --git a/InCallUI/res/values-km-rKH/strings.xml b/InCallUI/res/values-km-rKH/strings.xml
index d0a0dfc93..8df9c3a54 100644
--- a/InCallUI/res/values-km-rKH/strings.xml
+++ b/InCallUI/res/values-km-rKH/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"បដិសេធ"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"ហៅ​ទៅ​វិញ"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"សារ"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"ការ​ហៅ​កំពុង​ដំណើរការ​លើ​ឧបករណ៍​ផ្សេង"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"ផ្ទេរ​ការហៅ"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"ដើម្បីកំណត់ការហៅ សូមបិទរបៀបពេលជិះយន្តហោះជាមុនសិន"</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"មិនបានចុះឈ្មោះនៅលើបណ្ដាញទេ"</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"បណ្ដាញចល័តមិនអាចប្រើបានទេ"</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"ហៅជាវីដេអូ"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"ប្ដូរ​ទៅ​ការ​ហៅ​ជា​សំឡេង"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"ប្ដូរកាមេរ៉ា"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"ផ្អាក​វីដេអូ"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"បើកកាមេរ៉ា"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"បិទកាមេរ៉ា"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"ជម្រើសច្រើនទៀត"</string>
<string name="player_started" msgid="3478865572468310331">"អ្នកលេងបានចាប់ផ្តើម"</string>
<string name="player_stopped" msgid="1278611664986561535">"អ្នកលេងបានឈប់"</string>
diff --git a/InCallUI/res/values-kn-rIN/strings.xml b/InCallUI/res/values-kn-rIN/strings.xml
index 7f0e59fbd..3619fb700 100644
--- a/InCallUI/res/values-kn-rIN/strings.xml
+++ b/InCallUI/res/values-kn-rIN/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"ವಜಾಗೊಳಿಸಿ"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"ಮರಳಿ ಕರೆ"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"ಸಂದೇಶ"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"ಮತ್ತೊಂದು ಸಾಧನದಲ್ಲಿ ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆ"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"ಕರೆ ವರ್ಗಾಯಿಸಿ"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"ಕರೆ ಮಾಡಲು, ಮೊದಲು ಏರ್‌ಪ್ಲೇನ್‌‌ ಮೋಡ್‌‌ ಆಫ್‌ ಮಾಡಿ."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಇನ್ನೂ ನೋಂದಣಿಯಾಗಿಲ್ಲ."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"ಸೆಲ್ಯುಲಾರ್ ನೆಟ್‌ವರ್ಕ್‌ ಲಭ್ಯವಿಲ್ಲ."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"ವೀಡಿಯೊ ಕರೆ"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"ಧ್ವನಿ ಕರೆಗೆ ಬದಲಾಯಿಸಿ"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"ಕ್ಯಾಮರಾ ಬದಲಿಸಿ"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"ವೀಡಿಯೊ ವಿರಾಮಗೊಳಿಸು"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"ಕ್ಯಾಮರಾ ಆನ್ ಮಾಡಿ"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"ಕ್ಯಾಮರಾ ಆಫ್ ಮಾಡಿ"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗಳು"</string>
<string name="player_started" msgid="3478865572468310331">"ಪ್ಲೇಯರ್‌ ಪ್ರಾರಂಭವಾಗಿದೆ"</string>
<string name="player_stopped" msgid="1278611664986561535">"ಪ್ಲೇಯರ್‌ ನಿಲ್ಲಿಸಲಾಗಿದೆ"</string>
diff --git a/InCallUI/res/values-ko/strings.xml b/InCallUI/res/values-ko/strings.xml
index 0100643e5..74e134711 100644
--- a/InCallUI/res/values-ko/strings.xml
+++ b/InCallUI/res/values-ko/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"해제"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"전화 걸기"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"메시지"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"다른 기기에서 진행 중인 통화"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"통화 전환"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"전화를 걸려면 먼저 비행기 모드를 해제하세요."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"네트워크에서 등록되지 않았습니다."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"사용 가능한 이동통신망이 없습니다."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"화상 통화"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"음성 통화로 변경"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"카메라 전환"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"동영상 일지중지"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"카메라 켜기"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"카메라 끄기"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"옵션 더보기"</string>
<string name="player_started" msgid="3478865572468310331">"플레이어가 시작되었습니다."</string>
<string name="player_stopped" msgid="1278611664986561535">"플레이어가 중지되었습니다."</string>
diff --git a/InCallUI/res/values-ky-rKG/strings.xml b/InCallUI/res/values-ky-rKG/strings.xml
index 250fdca6c..d98216988 100644
--- a/InCallUI/res/values-ky-rKG/strings.xml
+++ b/InCallUI/res/values-ky-rKG/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Этибарга албоо"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Кайра чалуу"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Билдирүү"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Башка түзмөктө сүйлөшүп жатасыз"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Чалууну бул түзмөккө өткөрүү"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Учак режимин өчүрүп туруп чалыңыз."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Тармакта катталган эмес."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Мобилдик тармак жеткиликтүү эмес."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Видео чалуу"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Үн чалууга өзгөртүү"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Камераны которуштуруу"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Видеону тындыруу"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Камераны күйгүзүү"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Камераны өчүрүү"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Дагы параметрлер"</string>
<string name="player_started" msgid="3478865572468310331">"Ойноткуч башталды"</string>
<string name="player_stopped" msgid="1278611664986561535">"Ойноткуч токтотулду"</string>
diff --git a/InCallUI/res/values-lo-rLA/strings.xml b/InCallUI/res/values-lo-rLA/strings.xml
index afdd104a2..4588124e8 100644
--- a/InCallUI/res/values-lo-rLA/strings.xml
+++ b/InCallUI/res/values-lo-rLA/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"ປິດໄວ້"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"ໂທກັບ"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"ຂໍ້ຄວາມ"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"ສາຍທີ່ກຳລັງໂທອອກໃນອຸປະກອນອື່ນ"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"ໂອນສາຍ"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"ເພື່ອເຮັດການໂທ, ໃຫ້ປິດໂໝດເຮືອບິນກ່ອນ"</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"ບໍ່ໄດ້ລົງທະບຽນໃນເຄືອຂ່າຍ."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"ບໍ່​ມີ​ເຄືອ​ຂ່າຍ​ມື​ຖື​ທີ່​​ໃຊ້​ໄດ້."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"​ການໂທ​​ວິ​ດີ​ໂອ"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"ປ່ຽນ​ເປັນ​ການ​ໂທ​ດ້ວຍ​ສຽງ"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"ສັບປ່ຽນກ້ອງ"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"ຢຸດວິດີໂອຊົ່ວຄາວ"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"ເປີດກ້ອງ"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"ປິດກ້ອງ"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"ຕົວເລືອກ​ເພີ່ມ​ເຕີມ"</string>
<string name="player_started" msgid="3478865572468310331">"ເຄື່ອງ​ຫຼິ້ນ​ເລີ່ມ​ຕົ້ນ​ແລ້ວ"</string>
<string name="player_stopped" msgid="1278611664986561535">"ເຄື່ອງ​ຫຼິ້ນ​ຢຸດ​ແລ້ວ"</string>
diff --git a/InCallUI/res/values-lt/strings.xml b/InCallUI/res/values-lt/strings.xml
index c7c2aab5d..bb8784bfc 100644
--- a/InCallUI/res/values-lt/strings.xml
+++ b/InCallUI/res/values-lt/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Atsisakyti"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Perskambinti"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Siųsti pranešimą"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Kitame įrenginyje vykstantis skambutis"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Perkelti skambutį"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Jei norite skambinti, išjunkite lėktuvo režimą."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Neregistruota tinkle."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Korinis tinklas nepasiekiamas"</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Vaizdo skambutis"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Pakeisti į balso skambutį"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Perjungti fotoaparatą"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Pristabdyti vaizdo įrašą"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Įjungti fotoaparatą"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Išjungti fotoaparatą"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Daugiau parinkčių"</string>
<string name="player_started" msgid="3478865572468310331">"Leistuvė paleista"</string>
<string name="player_stopped" msgid="1278611664986561535">"Leistuvė sustabdyta"</string>
diff --git a/InCallUI/res/values-lv/strings.xml b/InCallUI/res/values-lv/strings.xml
index 07fb1ba41..dc3cd62b2 100644
--- a/InCallUI/res/values-lv/strings.xml
+++ b/InCallUI/res/values-lv/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Noraidīt"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Atzvanīt"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Sūtīt īsziņu"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Notiekošs zvans citā ierīcē"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Pāradresēt zvanu"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Lai veiktu zvanu, vispirms izslēdziet lidojuma režīmu."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Nav reģistrēts tīklā."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilais tīkls nav pieejams."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videozvans"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Mainīt uz balss zvanu"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Pārslēgt kameru"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Pārtraukt video plūsmu"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Ieslēgt kameru"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Izslēgt kameru"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Citas iespējas"</string>
<string name="player_started" msgid="3478865572468310331">"Atskaņošana sākta"</string>
<string name="player_stopped" msgid="1278611664986561535">"Atskaņošana apturēta"</string>
diff --git a/InCallUI/res/values-mk-rMK/strings.xml b/InCallUI/res/values-mk-rMK/strings.xml
index cc39dfc98..0d5d4dda6 100644
--- a/InCallUI/res/values-mk-rMK/strings.xml
+++ b/InCallUI/res/values-mk-rMK/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Отфрли"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Врати повик"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Порака"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Повик во тек на друг уред"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Префрлање повик"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"За да остварите повик, прво исклучете го авионскиот режим."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Не е регистриран на мрежа."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Не е достапна мобилна мрежа."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Видеоповик"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Промени во гласовен повик"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Промени ја камерата"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Паузирај видео"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Вклучете ја камерата"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Исклучете ја камерата"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Повеќе опции"</string>
<string name="player_started" msgid="3478865572468310331">"Плеерот се вклучи"</string>
<string name="player_stopped" msgid="1278611664986561535">"Плеерот запре"</string>
diff --git a/InCallUI/res/values-ml-rIN/strings.xml b/InCallUI/res/values-ml-rIN/strings.xml
index 2635df4cb..d5ce2b950 100644
--- a/InCallUI/res/values-ml-rIN/strings.xml
+++ b/InCallUI/res/values-ml-rIN/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"ഡിസ്മിസ്"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"തിരിച്ചുവിളിക്കുക"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"സന്ദേശം"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"മറ്റൊരു ഉപകരണത്തിൽ നടന്നുകൊണ്ടിരിക്കുന്ന കോൾ"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"കോൾ കൈമാറുക"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"ഒരു കോൾ ചെയ്യാൻ, ആദ്യം ഫ്ലൈറ്റ് മോഡ് ഓഫുചെയ്യുക."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"നെറ്റ്‌വർക്കിൽ രജിസ്റ്റർ ചെയ്‌തിട്ടില്ല."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"സെല്ലുലാർ നെറ്റ്‌വർക്ക് ലഭ്യമല്ല."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"വീഡിയോ കോൾ"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"വോയ്‌സ്‌ കോളിലേക്ക് മാറ്റുക"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"ക്യാമറ സ്വിച്ചുചെയ്യുക"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"വീഡിയോ താൽക്കാലികമായി നിർത്തുക"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"ക്യാമറ ഓണാക്കുക"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"ക്യാമറ ഓഫാക്കുക"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"കൂടുതൽ ഓ‌പ്‌ഷനുകൾ"</string>
<string name="player_started" msgid="3478865572468310331">"പ്ലെയർ ആരംഭിച്ചു"</string>
<string name="player_stopped" msgid="1278611664986561535">"പ്ലേയർ നിർത്തി"</string>
diff --git a/InCallUI/res/values-mn-rMN/strings.xml b/InCallUI/res/values-mn-rMN/strings.xml
index 8a17d0f1b..1b0375030 100644
--- a/InCallUI/res/values-mn-rMN/strings.xml
+++ b/InCallUI/res/values-mn-rMN/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Алгасах"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Буцааж залгах"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Зурвас"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Өөр төхөөрөмж дээр хийгдэж буй дуудлага"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Дуудлага шилжүүлэх"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Залгахын тулд эхлээд Нислэгийн горимоос гарна уу."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Сүлжээнд бүртгэгдээгүй байна."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Үүрэн сүлжээ байхгүй."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Видео дуудлага"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Дуут дуудлага руу өөрчлөх"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Камер солих"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Видеог түр зогсоох"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Камераа асаана уу"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Камер унтраах"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Нэмэлт сонголт"</string>
<string name="player_started" msgid="3478865572468310331">"Тоглуулагчийг эхлүүлсэн"</string>
<string name="player_stopped" msgid="1278611664986561535">"Тоглуулагчийг зогсоосон"</string>
diff --git a/InCallUI/res/values-mr-rIN/strings.xml b/InCallUI/res/values-mr-rIN/strings.xml
index c7b0675db..defedaabd 100644
--- a/InCallUI/res/values-mr-rIN/strings.xml
+++ b/InCallUI/res/values-mr-rIN/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"डिसमिस करा"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"पुन्हा कॉल करा"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"संदेश"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"दुसऱ्या डिव्हाइसवर सुरु असलेला कॉल"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"कॉल स्थानांतरित करा"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"कॉल करण्यासाठी, प्रथम विमान मोड बंद करा."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"नेटवर्कवर नोंदणीकृत नाही."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"मोबाईल नेटवर्क उपलब्ध नाही."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"व्हिडिओ कॉल"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"व्हॉइस कॉल वर बदला"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"कॅमेरा स्विच करा"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"व्हिडिओला विराम द्या"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"कॅमेरा चालू करा"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"कॅमेरा बंद करा"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"अधिक पर्याय"</string>
<string name="player_started" msgid="3478865572468310331">"प्लेअर सुरु झाले"</string>
<string name="player_stopped" msgid="1278611664986561535">"प्लेअर थांबले"</string>
diff --git a/InCallUI/res/values-ms-rMY/strings.xml b/InCallUI/res/values-ms-rMY/strings.xml
index b42ac149f..7be8fe800 100644
--- a/InCallUI/res/values-ms-rMY/strings.xml
+++ b/InCallUI/res/values-ms-rMY/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Ketepikan"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Panggil balik"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Mesej"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Panggilan sedang berlangsung pada peranti lain"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Pindahkan Panggilan"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Untuk membuat panggilan, matikan mod Pesawat terlebih dahulu."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Tidak didaftarkan pada rangkaian."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Rangkaian selular tidak tersedia."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Panggilan video"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Tukar ke panggilan suara"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Tukar kamera"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Jeda video"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Hidupkan kamera"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Matikan kamera"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Lagi pilihan"</string>
<string name="player_started" msgid="3478865572468310331">"Pemain Dimulakan"</string>
<string name="player_stopped" msgid="1278611664986561535">"Pemain Dihentikan"</string>
diff --git a/InCallUI/res/values-my-rMM/strings.xml b/InCallUI/res/values-my-rMM/strings.xml
index 3a85d947c..4275c2127 100644
--- a/InCallUI/res/values-my-rMM/strings.xml
+++ b/InCallUI/res/values-my-rMM/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"ပယ်ပါ"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"ပြန်ခေါ်ပါ"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"မက်ဆေ့ဂျ်"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"အခြားကိရိယာတွင် လက်ရှိခေါ်ဆိုနေမှု"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"ခေါ်ဆိုမှုကို လွှဲပြောင်းပါ"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"ခေါ်ဆိုမှု ပြုလုပ်ရန်အတွက် လေယာဉ်ပျံမုဒ်ကို ဦးစွာပိတ်ပါ။"</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"ကွန်ယက်ပေါ်တွင် မှတ်ပုံတင်ထားခြင်း မရှိပါ။"</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"ဆယ်လူလာ ကွန်ရက် မရှိပါ။"</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"ဗီဒီယို ခေါ်ဆိုမှု"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"အသံခေါ်ဆိုမှုသို့ ပြောင်းပါ"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"ကင်မရာပြောင်းပါ"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"ဗီဒီယို ခေတ္တရပ်ပါ"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"ကင်မရာဖွင့်ပါ"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"ကင်မရာပိတ်ပါ"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"နောက်ထပ် ရွေးစရာများ"</string>
<string name="player_started" msgid="3478865572468310331">"ပလေယာ စပါပြီ"</string>
<string name="player_stopped" msgid="1278611664986561535">"ပလေယာ ရပ်တန့်သွားပါပြီ"</string>
diff --git a/InCallUI/res/values-nb/strings.xml b/InCallUI/res/values-nb/strings.xml
index f919105e8..e89a2db79 100644
--- a/InCallUI/res/values-nb/strings.xml
+++ b/InCallUI/res/values-nb/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Avvis"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Ring tilbake"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Melding"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Samtale pågår på en annen enhet"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Overfør samtalen"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"For å ringe, slå av flymodus først."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Ikke registrert på nettverket."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilnettverket er ikke tilgjengelig."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videoanrop"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Bytt til taleanrop"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Bytt kamera"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Sett videoen på pause"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Slå på kameraet"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Slå av kameraet"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Flere alternativer"</string>
<string name="player_started" msgid="3478865572468310331">"Avspilleren har startet"</string>
<string name="player_stopped" msgid="1278611664986561535">"Avspilleren har stoppet"</string>
diff --git a/InCallUI/res/values-ne-rNP/strings.xml b/InCallUI/res/values-ne-rNP/strings.xml
index d5eb353fa..dc569de3c 100644
--- a/InCallUI/res/values-ne-rNP/strings.xml
+++ b/InCallUI/res/values-ne-rNP/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"खारेज गर्नुहोस्"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"कल फर्काउने"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"सन्देश"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"अर्को यन्त्रमा चलिरहेको कल"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"कल स्थानान्तरण गर्नुहोस्"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"कल गर्नका लागि, पहिले हवाइजहाज मोड बन्द गर्नुहोस्।"</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"नेटवर्कमा दर्ता भएको छैन।"</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"सेलुलर नेटवर्क उपलब्ध छैन।"</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"भिडियो कल"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"आवाज कलमा परिवर्तन गर्नुहोस्"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"क्यामेरा स्विच गर्नुहोस्"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"भिडियो रोक्नुहोस्"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"क्यामेरालाई सक्रिय गर्नुहोस्"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"क्यामेरालाई निष्क्रिय पार्नुहोस्"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"थप विकल्पहरू"</string>
<string name="player_started" msgid="3478865572468310331">"प्लेयर सुरु भयो"</string>
<string name="player_stopped" msgid="1278611664986561535">"प्लेयर रोकियो"</string>
diff --git a/InCallUI/res/values-nl/strings.xml b/InCallUI/res/values-nl/strings.xml
index eeb17b6fc..048af49f5 100644
--- a/InCallUI/res/values-nl/strings.xml
+++ b/InCallUI/res/values-nl/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Sluiten"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Terugbellen"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Bericht"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Actief gesprek op een ander apparaat"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Gesprek doorschakelen"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Als je wilt bellen, moet je eerst de vliegtuigmodus uitschakelen."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Niet geregistreerd op netwerk."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobiel netwerk niet beschikbaar."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Vid.gespr."</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Wijzigen in spraakoproep"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Van camera wisselen"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Video onderbreken"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Camera inschakelen"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Camera uitschakelen"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Meer opties"</string>
<string name="player_started" msgid="3478865572468310331">"Speler gestart"</string>
<string name="player_stopped" msgid="1278611664986561535">"Speler gestopt"</string>
diff --git a/InCallUI/res/values-pa-rIN/strings.xml b/InCallUI/res/values-pa-rIN/strings.xml
index 8bcaa849c..cecb60cde 100644
--- a/InCallUI/res/values-pa-rIN/strings.xml
+++ b/InCallUI/res/values-pa-rIN/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"ਰੱਦ ਕਰੋ"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"ਵਾਪਸ ਕਾਲ ਕਰੋ"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"ਸੁਨੇਹਾ"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"ਕਿਸੇ ਹੋਰ ਡੀਵਾਈਸ \'ਤੇ ਜਾਰੀ ਕਾਲ"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"ਕਾਲ ਟ੍ਰਾਂਸਫਰ ਕਰੋ"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"ਇੱਕ ਕਾਲ ਕਰਨ ਲਈ, ਪਹਿਲਾਂ ਜਹਾਜ਼ ਮੋਡ ਬੰਦ ਕਰੋ।"</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"ਨੈੱਟਵਰਕ \'ਤੇ ਰਜਿਸਟਰ ਨਹੀਂ।"</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"ਸੈਲਿਊਲਰ ਨੈੱਟਵਰਕ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।"</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"ਵੀਡੀਓ ਕਾਲ"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"ਵੌਇਸ ਕਾਲ ਵਿੱਚ ਬਦਲੋ"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"ਕੈਮਰੇ \'ਤੇ ਬਦਲੋ"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"ਵੀਡੀਓ ਰੋਕੋ"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"ਕੈਮਰਾ ਚਾਲੂ ਕਰੋ"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"ਕੈਮਰਾ ਬੰਦ ਕਰੋ"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"ਹੋਰ ਚੋਣਾਂ"</string>
<string name="player_started" msgid="3478865572468310331">"ਪਲੇਅਰ ਸ਼ੁਰੂ ਹੋ ਗਿਆ"</string>
<string name="player_stopped" msgid="1278611664986561535">"ਪਲੇਅਰ ਰੁਕ ਗਿਆ"</string>
diff --git a/InCallUI/res/values-pl/strings.xml b/InCallUI/res/values-pl/strings.xml
index bdb6aba1c..5327a3456 100644
--- a/InCallUI/res/values-pl/strings.xml
+++ b/InCallUI/res/values-pl/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Odrzuć"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Oddzwoń"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Wyślij SMS-a"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Trwająca rozmowa na innym urządzeniu"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Przełącz rozmowę"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Aby rozpocząć połączenie, wyłącz najpierw tryb samolotowy."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Nie zarejestrowano w sieci."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Sieć komórkowa jest niedostępna."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Rozmowa wideo"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Zmień na połączenie głosowe"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Przełącz kamerę"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Wstrzymaj wideo"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Włącz kamerę"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Wyłącz kamerę"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Więcej opcji"</string>
<string name="player_started" msgid="3478865572468310331">"Odtwarzacz włączony"</string>
<string name="player_stopped" msgid="1278611664986561535">"Odtwarzacz zatrzymany"</string>
diff --git a/InCallUI/res/values-pt-rBR/strings.xml b/InCallUI/res/values-pt-rBR/strings.xml
index c59b15547..bdee586b9 100644
--- a/InCallUI/res/values-pt-rBR/strings.xml
+++ b/InCallUI/res/values-pt-rBR/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Dispensar"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Retor. cham."</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Mensagem"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Chamada em andamento em outro dispositivo"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Transferir chamada"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Para fazer uma chamada, primeiro desative o modo avião."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Não registrado na rede."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Rede celular não disponível."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videocham."</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Alterar para chamada de voz"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Alternar câmera"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Pausar vídeo"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Ativar câmera"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Desativar câmera"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Mais opções"</string>
<string name="player_started" msgid="3478865572468310331">"Player iniciado"</string>
<string name="player_stopped" msgid="1278611664986561535">"Player interrompido"</string>
diff --git a/InCallUI/res/values-pt-rPT/strings.xml b/InCallUI/res/values-pt-rPT/strings.xml
index 2b26efcb5..791da6228 100644
--- a/InCallUI/res/values-pt-rPT/strings.xml
+++ b/InCallUI/res/values-pt-rPT/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Ignorar"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Ligar de volta"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Mensagem"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Chamada em curso noutro dispositivo"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Transferir chamada"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Para efetuar uma chamada, desative primeiro o Modo de avião."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Sem registo na rede."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Rede móvel não disponível."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videochamada"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Mudar para chamada de voz"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Trocar câmara"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Interromper vídeo"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Ativar câmara"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Desativar câmara"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Mais opções"</string>
<string name="player_started" msgid="3478865572468310331">"Leitor iniciado"</string>
<string name="player_stopped" msgid="1278611664986561535">"Leitor interrompido"</string>
diff --git a/InCallUI/res/values-pt/strings.xml b/InCallUI/res/values-pt/strings.xml
index c59b15547..bdee586b9 100644
--- a/InCallUI/res/values-pt/strings.xml
+++ b/InCallUI/res/values-pt/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Dispensar"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Retor. cham."</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Mensagem"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Chamada em andamento em outro dispositivo"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Transferir chamada"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Para fazer uma chamada, primeiro desative o modo avião."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Não registrado na rede."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Rede celular não disponível."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videocham."</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Alterar para chamada de voz"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Alternar câmera"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Pausar vídeo"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Ativar câmera"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Desativar câmera"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Mais opções"</string>
<string name="player_started" msgid="3478865572468310331">"Player iniciado"</string>
<string name="player_stopped" msgid="1278611664986561535">"Player interrompido"</string>
diff --git a/InCallUI/res/values-ro/strings.xml b/InCallUI/res/values-ro/strings.xml
index 031c48a90..deb2fabab 100644
--- a/InCallUI/res/values-ro/strings.xml
+++ b/InCallUI/res/values-ro/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Refuzați"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Apelați înapoi"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Trimiteți mesaj"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Apel în curs pe alt dispozitiv"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Transferați apelul"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Pentru a apela, mai întâi dezactivați modul Avion."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Neînregistrat în rețea."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Rețeaua mobilă nu este disponibilă."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Apel video"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Treceți la apel vocal"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Comutați camera foto"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Întrerupeți apelul video"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Activați camera"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Dezactivați camera"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Mai multe opțiuni"</string>
<string name="player_started" msgid="3478865572468310331">"Playerul a pornit"</string>
<string name="player_stopped" msgid="1278611664986561535">"Playerul s-a oprit"</string>
diff --git a/InCallUI/res/values-ru/strings.xml b/InCallUI/res/values-ru/strings.xml
index fdc8f6a36..fa1bea991 100644
--- a/InCallUI/res/values-ru/strings.xml
+++ b/InCallUI/res/values-ru/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Закрыть"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Перезвонить"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Написать SMS"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Вы участвуете в разговоре на другом устройстве"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Перевести на это устройство"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Отключите режим полета."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Нет регистрации в сети."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Мобильная сеть недоступна."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Видеовызов"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Отключить видео"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Сменить камеру"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Приостановить видео"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Включить камеру"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Выключить камеру"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Другие настройки"</string>
<string name="player_started" msgid="3478865572468310331">"Видеоплеер включен"</string>
<string name="player_stopped" msgid="1278611664986561535">"Видеоплеер отключен"</string>
diff --git a/InCallUI/res/values-si-rLK/strings.xml b/InCallUI/res/values-si-rLK/strings.xml
index 129e1815d..b976d6764 100644
--- a/InCallUI/res/values-si-rLK/strings.xml
+++ b/InCallUI/res/values-si-rLK/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"අස් කරන්න"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"පසුඇමතුම"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"පණිවිඩය"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"වෙනත් උපාංගයක සිදු වන ඇමතුම"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"ඇමතුම මාරු කරන්න"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"ඇමතුමක් ගැනීමට, මුලින්ම ගුවන් යානා ප්‍රකාරය ක්‍රියාවිරහිත කරන්න."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"ජාලය මත ලියාපදිංචි වී නැත."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"සෙලියුලර් ජාලය නොතිබේ."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"වීඩියෝ ඇමතුම"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"හඬ ඇමතුමක් වෙත මාරු කරන්න"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"කැමරාව මාරු කරන්න"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"විඩියෝව විරාම කරන්න"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"කැමරාව ක්‍රියාත්මක කරන්න"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"කැමරාව ක්‍රියා විරහිත කරන්න"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"තවත් විකල්ප"</string>
<string name="player_started" msgid="3478865572468310331">"ධාවකය ආරම්භ කරන ලදි"</string>
<string name="player_stopped" msgid="1278611664986561535">"ධාවකය නැවතුණි"</string>
diff --git a/InCallUI/res/values-sk/strings.xml b/InCallUI/res/values-sk/strings.xml
index d55399323..95f69a12d 100644
--- a/InCallUI/res/values-sk/strings.xml
+++ b/InCallUI/res/values-sk/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Zatvoriť"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Zavolať späť"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Správa"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Prebiehajúci hovor v inom zariadení"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Prepojiť hovor"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Ak chcete volať, vypnite najprv režim v lietadle."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Prihlásenie do siete nebolo úspešné."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilná sieť nie je k dispozícii."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videohovor"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Zmeniť na hlasový hovor"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Zapnúť kameru"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Pozastaviť video"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Zapnúť fotoaparát"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Vypnúť fotoaparát"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Ďalšie možnosti"</string>
<string name="player_started" msgid="3478865572468310331">"Prehrávač bol spustený"</string>
<string name="player_stopped" msgid="1278611664986561535">"Prehrávač bol zastavený"</string>
diff --git a/InCallUI/res/values-sl/strings.xml b/InCallUI/res/values-sl/strings.xml
index 6ed298fdd..0e436f553 100644
--- a/InCallUI/res/values-sl/strings.xml
+++ b/InCallUI/res/values-sl/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Opusti"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Povrat. klic"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"SMS"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Aktivni klic v drugi napravi"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Prenos klica"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Če želite poklicati, najprej izklopite način za letalo."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Ni registrirano v omrežju."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilno omrežje ni na voljo."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videoklic"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Preklopi na glasovni klic"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Preklopi med fotoaparati"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Zaustavi video"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Vklopi kamero"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Izklopi kamero"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Več možnosti"</string>
<string name="player_started" msgid="3478865572468310331">"Predvajanje začeto"</string>
<string name="player_stopped" msgid="1278611664986561535">"Predvajanje ustavljeno"</string>
diff --git a/InCallUI/res/values-sq-rAL/strings.xml b/InCallUI/res/values-sq-rAL/strings.xml
index b3a9acd23..84db53145 100644
--- a/InCallUI/res/values-sq-rAL/strings.xml
+++ b/InCallUI/res/values-sq-rAL/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Largoje"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Ri-telefono"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Mesazh"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Telefonatë në vazhdim në një pajisje tjetër"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Transfero telefonatën"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Për të kryer telefonatë, së pari çaktivizo modalitetin e aeroplanit."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"I paregjistruar në rrjet."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Rrjeti celular nuk mundësohet."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Telefonatë me video"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Ndërro në telefonatë me video"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Ndërro kamerën"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Vendose në pauzë videon"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Aktivizo kamerën"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Çaktivizo kamerën"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Opsione të tjera"</string>
<string name="player_started" msgid="3478865572468310331">"Luajtësi filloi"</string>
<string name="player_stopped" msgid="1278611664986561535">"Luajtësi ndaloi"</string>
diff --git a/InCallUI/res/values-sr/strings.xml b/InCallUI/res/values-sr/strings.xml
index a6f317b1b..12ffc1270 100644
--- a/InCallUI/res/values-sr/strings.xml
+++ b/InCallUI/res/values-sr/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Одбаци"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Узврати позив"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Пошаљи SMS"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Позив је у току на другом уређају"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Пребаци позив"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Да бисте упутили позив, прво искључите режим рада у авиону."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Није регистровано на мрежи."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Мобилна мрежа није доступна."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Видео позив"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Промени у гласовни позив"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Промени камеру"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Паузирај видео"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Укључи камеру"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Искључи камеру"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Још опција"</string>
<string name="player_started" msgid="3478865572468310331">"Плејер је покренут"</string>
<string name="player_stopped" msgid="1278611664986561535">"Плејер је заустављен"</string>
diff --git a/InCallUI/res/values-sv/strings.xml b/InCallUI/res/values-sv/strings.xml
index 2a91e1dd3..bda578cf8 100644
--- a/InCallUI/res/values-sv/strings.xml
+++ b/InCallUI/res/values-sv/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Ignorera"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Ring upp"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Meddelande"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Pågående samtal på en annan enhet"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Överför samtal"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Om du vill ringa måste du först inaktivera flygplansläge."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Inte registrerat på nätverk."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Det finns inget mobilnät tillgängligt."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Videosamt."</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Byt till röstsamtal"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Byt kamera"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Pausa video"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Slå på kameran"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Stäng av kameran"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Fler alternativ"</string>
<string name="player_started" msgid="3478865572468310331">"Videospelaren har startats"</string>
<string name="player_stopped" msgid="1278611664986561535">"Videospelaren har stoppats"</string>
diff --git a/InCallUI/res/values-sw/strings.xml b/InCallUI/res/values-sw/strings.xml
index 3b29d18d3..3965fb71e 100644
--- a/InCallUI/res/values-sw/strings.xml
+++ b/InCallUI/res/values-sw/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Ondoa"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Mpigie"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Ujumbe"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Una Hangout inayoendelea kwenye kifaa kingine"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Hamisha Hangout"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Ili upige simu kwanza, zima Hali ya ndegeni."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Haijasajiliwa kwenye mtandao."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Mitandao ya simu za mkononi haipatikani."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Hangout ya Video"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Badilisha iwe simu ya sauti"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Badilisha kamera"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Sitisha video"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Washa kamera"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Zima kamera"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Chaguo zaidi"</string>
<string name="player_started" msgid="3478865572468310331">"Kichezaji Kimeanzishwa"</string>
<string name="player_stopped" msgid="1278611664986561535">"Kichezaji Kimekomeshwa"</string>
diff --git a/InCallUI/res/values-ta-rIN/strings.xml b/InCallUI/res/values-ta-rIN/strings.xml
index cdaf61395..0c3fc5062 100644
--- a/InCallUI/res/values-ta-rIN/strings.xml
+++ b/InCallUI/res/values-ta-rIN/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"நிராகரி"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"திரும்ப அழை"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"செய்தி அனுப்பு"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"மற்றொரு சாதனத்தில் செயலில் இருக்கும் அழைப்பு"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"அழைப்பை இடமாற்று"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"அழைப்பதற்கு, முதலில் விமானப் பயன்முறையை முடக்கவும்."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"நெட்வொர்க்கில் பதிவுசெய்யப்படவில்லை."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"செல்லுலார் நெட்வொர்க் கிடைக்கவில்லை."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"வீடியோ அழைப்பு"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"குரல் அழைப்பிற்கு மாறு"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"கேமராவை மாற்று"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"வீடியோவை இடைநிறுத்து"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"கேமராவை இயக்கு"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"கேமராவை முடக்கு"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"கூடுதல் விருப்பங்கள்"</string>
<string name="player_started" msgid="3478865572468310331">"வீடியோ பிளேயர் துவங்கியது"</string>
<string name="player_stopped" msgid="1278611664986561535">"வீடியோ பிளேயர் நிறுத்தப்பட்டது"</string>
diff --git a/InCallUI/res/values-te-rIN/strings.xml b/InCallUI/res/values-te-rIN/strings.xml
index 74134fc15..b53c2f19e 100644
--- a/InCallUI/res/values-te-rIN/strings.xml
+++ b/InCallUI/res/values-te-rIN/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"తీసివేయి"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"తిరిగి కాల్ చేయి"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"సందేశం పంపు"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"మరో పరికరంలో కాల్ జరుగుతోంది"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"కాల్‌ను బదిలీ చేయి"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"కాల్ చేయడానికి, ముందుగా ఎయిర్‌ప్లైన్ మోడ్‌ను ఆపివేయండి."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"నెట్‌వర్క్‌లో నమోదు కాలేదు."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"సెల్యులార్ నెట్‌వర్క్ అందుబాటులో లేదు."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"వీడియో కాల్"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"వాయిస్ కాల్‌కి మార్చు"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"కెమెరాను మార్చు"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"వీడియోను పాజ్ చేయి"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"కెమెరాను ఆన్ చేయి"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"కెమెరాను ఆఫ్ చేయి"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"మరిన్ని ఎంపికలు"</string>
<string name="player_started" msgid="3478865572468310331">"ప్లేయర్ ప్రారంభమైంది"</string>
<string name="player_stopped" msgid="1278611664986561535">"ప్లేయర్ ఆపివేయబడింది"</string>
diff --git a/InCallUI/res/values-th/strings.xml b/InCallUI/res/values-th/strings.xml
index db9b3418f..680226538 100644
--- a/InCallUI/res/values-th/strings.xml
+++ b/InCallUI/res/values-th/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"ปิด"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"โทรกลับ"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"ข้อความ"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"กำลังใช้สายบนอุปกรณ์อื่น"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"โอนสาย"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"หากต้องการโทรออก ให้ปิดโหมดบนเครื่องบินก่อน"</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"ยังไม่ได้ลงทะเบียนบนเครือข่าย"</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"เครือข่ายมือถือใช้งานไม่ได้"</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"แฮงเอาท์วิดีโอ"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"เปลี่ยนเป็นการโทรด้วยเสียง"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"เปลี่ยนกล้อง"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"หยุดวิดีโอชั่วคราว"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"เปิดกล้อง"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"ปิดกล้อง"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"ตัวเลือกเพิ่มเติม"</string>
<string name="player_started" msgid="3478865572468310331">"โปรแกรมเล่นเริ่มทำงานแล้ว"</string>
<string name="player_stopped" msgid="1278611664986561535">"โปรแกรมเล่นหยุดแล้ว"</string>
diff --git a/InCallUI/res/values-tl/strings.xml b/InCallUI/res/values-tl/strings.xml
index 994e5b6d1..e2b3b8cdb 100644
--- a/InCallUI/res/values-tl/strings.xml
+++ b/InCallUI/res/values-tl/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"I-dismiss"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Tawagan"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Mensahe"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Kasalukuyang tawag sa isa pang device"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Ilipat ang Tawag"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Upang tumawag, paki-off muna ang Airplane mode."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Hindi nakarehistro sa network."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Hindi available ang cellular network."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Mag-video call"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Gawing voice call"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Lumipat ng camera"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"I-pause ang video"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"I-on ang camera"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"I-off ang camera"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Higit pang mga opsyon"</string>
<string name="player_started" msgid="3478865572468310331">"Nagsimula na ang Player"</string>
<string name="player_stopped" msgid="1278611664986561535">"Huminto ang Player"</string>
diff --git a/InCallUI/res/values-tr/strings.xml b/InCallUI/res/values-tr/strings.xml
index feec3f183..31b3b1e2c 100644
--- a/InCallUI/res/values-tr/strings.xml
+++ b/InCallUI/res/values-tr/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Yok say"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Geri ara"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"İleti"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Başka bir cihazda devam eden çağrı"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Çağrıyı Aktar"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Çağrı yapmak için öncelikle Uçak modunu kapatın."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Ağda kayıtlı değil."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Hücresel ağ kullanılamıyor."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Vid. görşm"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Sesli çağrıya geç"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Kamerayı değiştir"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Videoyu duraklat"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Kamerayı aç"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Kamerayı kapat"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Diğer seçenekler"</string>
<string name="player_started" msgid="3478865572468310331">"Oynatıcı Başlatıldı"</string>
<string name="player_stopped" msgid="1278611664986561535">"Oynatıcı Durduruldu"</string>
diff --git a/InCallUI/res/values-uk/strings.xml b/InCallUI/res/values-uk/strings.xml
index 39c7c5c13..6ff276303 100644
--- a/InCallUI/res/values-uk/strings.xml
+++ b/InCallUI/res/values-uk/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Відхилити"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Передзвонити"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Написати SMS"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Поточний виклик на іншому пристрої"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Передати виклик"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Щоб зателефонувати, вимкніть режим польоту."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Не зареєстровано в мережі."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Мобільна мережа недоступна."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Відеодзвінок"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Перейти в режим голосового виклику"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Вибрати камеру"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Призупинити відео"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Увімкнути камеру"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Вимкнути камеру"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Інші опції"</string>
<string name="player_started" msgid="3478865572468310331">"Програвач запущено"</string>
<string name="player_stopped" msgid="1278611664986561535">"Програвач зупинено"</string>
diff --git a/InCallUI/res/values-ur-rPK/strings.xml b/InCallUI/res/values-ur-rPK/strings.xml
index 2d5a9125a..75252e612 100644
--- a/InCallUI/res/values-ur-rPK/strings.xml
+++ b/InCallUI/res/values-ur-rPK/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"برخاست کریں"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"واپس کال کریں"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"پیغام"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"ایک اور آلے پر جاری کال"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"کال منتقل کریں"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"کال کرنے کیلئے، پہلے ہوائی جہاز طرز کو آف کریں۔"</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"نیٹ ورک پر رجسٹرڈ نہیں ہے۔"</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"سیلولر نیٹ ورک دستیاب نہیں ہے۔"</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"ویڈیو کال"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"صوتی کال میں تبدیل کریں"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"کیمرا سوئچ کریں"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"ویڈیو موقوف کریں"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"کیمرا آن کریں"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"کیمرا آف کریں"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"مزید اختیارات"</string>
<string name="player_started" msgid="3478865572468310331">"پلیئر شروع ہوگیا"</string>
<string name="player_stopped" msgid="1278611664986561535">"پلیئر بند ہوگیا"</string>
diff --git a/InCallUI/res/values-uz-rUZ/strings.xml b/InCallUI/res/values-uz-rUZ/strings.xml
index 817e02e06..7eebb455e 100644
--- a/InCallUI/res/values-uz-rUZ/strings.xml
+++ b/InCallUI/res/values-uz-rUZ/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Rad etish"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Telefon qilish"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"SMS yuborish"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Boshqa qurilmada hozir qo‘ng‘iroq amalga oshirilmoqda."</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Qo‘ng‘iroqni o‘tkazish"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Qo‘ng‘iroq qilish uchun, avval “Parvoz rejimi” o‘chirilishi kerak."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Tarmoqda ro‘yxatdan o‘tmagan."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Uyali tarmoq mavjud emas."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Video qo‘ng‘iroq"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Ovozli qo‘ng‘iroqqa o‘zgartirish"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Kamerani almashtirish"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Videoni to‘xtatib turish"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Kamerani yoqish"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Kamerani o‘chirish"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Ko‘proq"</string>
<string name="player_started" msgid="3478865572468310331">"Pleyer ishga tushirildi"</string>
<string name="player_stopped" msgid="1278611664986561535">"Pleyer to‘xtatildi"</string>
diff --git a/InCallUI/res/values-vi/strings.xml b/InCallUI/res/values-vi/strings.xml
index 473650d60..2e09307a1 100644
--- a/InCallUI/res/values-vi/strings.xml
+++ b/InCallUI/res/values-vi/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Loại bỏ"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Gọi lại"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Tin nhắn"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Cuộc gọi đang diễn ra trên một thiết bị khác"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Chuyển cuộc gọi"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Để thực hiện cuộc gọi, trước tiên, hãy tắt chế độ trên Máy bay."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Chưa được đăng ký trên mạng."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Không có mạng di động."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Cuộc gọi điện video"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Thay đổi thành cuộc gọi thoại"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Chuyển máy ảnh"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Dừng video"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Bật máy ảnh"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Tắt máy ảnh"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Tùy chọn khác"</string>
<string name="player_started" msgid="3478865572468310331">"Đã khởi động trình phát"</string>
<string name="player_stopped" msgid="1278611664986561535">"Đã dừng trình phát"</string>
diff --git a/InCallUI/res/values-zh-rCN/strings.xml b/InCallUI/res/values-zh-rCN/strings.xml
index 4ff11f1aa..e51a7199e 100644
--- a/InCallUI/res/values-zh-rCN/strings.xml
+++ b/InCallUI/res/values-zh-rCN/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"拒绝"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"回电"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"发短信"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"其他设备上有正在进行的通话"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"转接通话"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"要拨打电话,请先关闭飞行模式。"</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"尚未注册网络。"</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"无法连接到移动网络。"</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"视频通话"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"改为语音通话"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"切换摄像头"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"暂停视频"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"开启摄像头"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"关闭摄像头"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"更多选项"</string>
<string name="player_started" msgid="3478865572468310331">"播放器已启动"</string>
<string name="player_stopped" msgid="1278611664986561535">"播放器已停止"</string>
diff --git a/InCallUI/res/values-zh-rHK/strings.xml b/InCallUI/res/values-zh-rHK/strings.xml
index 9213658b1..5994a23bf 100644
--- a/InCallUI/res/values-zh-rHK/strings.xml
+++ b/InCallUI/res/values-zh-rHK/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"拒絕"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"回電"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"短訊"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"其他裝置上有正在進行的通話"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"轉接來電"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"如要撥打電話,請先關閉飛行模式。"</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"未在網絡上註冊。"</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"無法連線至流動網絡。"</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"視像通話"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"變更為語音通話"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"切換鏡頭"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"暫停視像通話"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"開啟攝影機"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"關閉攝影機"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"更多選項"</string>
<string name="player_started" msgid="3478865572468310331">"已啟動播放器"</string>
<string name="player_stopped" msgid="1278611664986561535">"已停止播放器"</string>
diff --git a/InCallUI/res/values-zh-rTW/strings.xml b/InCallUI/res/values-zh-rTW/strings.xml
index 0c52ee22a..70c087050 100644
--- a/InCallUI/res/values-zh-rTW/strings.xml
+++ b/InCallUI/res/values-zh-rTW/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"拒絕"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"回撥"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"傳送簡訊"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"其他裝置上有進行中的通話"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"轉接來電"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"撥號前,請先關閉飛航模式。"</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"尚未註冊網路。"</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"無法連線到行動網路。"</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"視訊通話"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"變更為語音通話"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"切換鏡頭"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"暫停視訊畫面"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"開啟攝影機"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"關閉攝影機"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"更多選項"</string>
<string name="player_started" msgid="3478865572468310331">"已啟動播放器"</string>
<string name="player_stopped" msgid="1278611664986561535">"已停止播放器"</string>
diff --git a/InCallUI/res/values-zu/strings.xml b/InCallUI/res/values-zu/strings.xml
index f04867c8c..9a8c3aab8 100644
--- a/InCallUI/res/values-zu/strings.xml
+++ b/InCallUI/res/values-zu/strings.xml
@@ -83,6 +83,8 @@
<string name="notification_action_dismiss" msgid="1998811618480434300">"Cashisa"</string>
<string name="notification_missedCall_call_back" msgid="7855043480614703539">"Phinda ushayele"</string>
<string name="notification_missedCall_message" msgid="2407410183079324393">"Umlayezo"</string>
+ <string name="notification_external_call" msgid="5611236780302924816">"Ikholi eqhubekayo kwenye idivayisi"</string>
+ <string name="notification_transfer_call" msgid="687009078741947505">"Dlulisela ikholi"</string>
<string name="incall_error_power_off" msgid="3626117639377110403">"Ukwenza ikholi, vala kuqala imodi Yendiza."</string>
<string name="incall_error_emergency_only" msgid="8704761887752183855">"Ayibhalisiwe kwinethiwekhi."</string>
<string name="incall_error_out_of_service" msgid="1830319376612608339">"Inethiwekhi yeselula ayitholakali."</string>
@@ -121,7 +123,8 @@
<string name="onscreenVideoCallText" msgid="1578940167445068369">"Ikholi yevidiyo"</string>
<string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Shintshela kukholi yezwi"</string>
<string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Shintsha Ikhamera"</string>
- <string name="onscreenPauseVideoText" msgid="1268768027709892604">"Misa isikhashana ividiyo"</string>
+ <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Vula ikhamera"</string>
+ <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Vala ikhamera"</string>
<string name="onscreenOverflowText" msgid="7932741239724473887">"Izinketho eziningi"</string>
<string name="player_started" msgid="3478865572468310331">"Umdlali uqalile"</string>
<string name="player_stopped" msgid="1278611664986561535">"Umdlali umisiwe"</string>
diff --git a/InCallUI/res/values/strings.xml b/InCallUI/res/values/strings.xml
index 57a1b5389..84eb14c0a 100644
--- a/InCallUI/res/values/strings.xml
+++ b/InCallUI/res/values/strings.xml
@@ -218,6 +218,17 @@
The user will be able to send text messages using the phone number.
[CHAR LIMIT=12] -->
<string name="notification_missedCall_message">Message</string>
+ <!-- The "label" of the in-call Notification for an ongoing external call.
+ External calls are a representation of a call which is in progress on the user's other
+ device (e.g. another phone or a watch).
+ [CHAR LIMIT=60] -->
+ <string name="notification_external_call">Ongoing call on another device</string>
+ <!-- Notification action displayed for external call notifications. External calls are a
+ representation of a call which is in progress on the user's other device (e.g. another
+ phone or a watch). The "transfer call" action initiates the process of transferring an
+ external call to the current device.
+ [CHAR LIMIT=30] -->
+ <string name="notification_transfer_call">Transfer Call</string>
<!-- In-call screen: call failure message displayed in an error dialog -->
<string name="incall_error_power_off">To place a call, first turn off Airplane mode.</string>
@@ -313,8 +324,10 @@
<!-- Text for the onscreen "Switch camera" button. When clicked, this switches the user's camera
for video calling between the front-facing camera and the back-facing camera. -->
<string name="onscreenSwitchCameraText">Switch camera</string>
- <!-- Text for the onscreen "Pause video" button. -->
- <string name="onscreenPauseVideoText">Pause video</string>
+ <!-- Text for the onscreen "turn on camera" button. -->
+ <string name="onscreenTurnOnCameraText">Turn on camera</string>
+ <!-- Text for the onscreen "turn off camera" button. -->
+ <string name="onscreenTurnOffCameraText">Turn off camera</string>
<!-- Text for the onscreen overflow button, to see additional actions which can be done. -->
<string name="onscreenOverflowText">More options</string>
diff --git a/InCallUI/src/com/android/incallui/AnswerPresenter.java b/InCallUI/src/com/android/incallui/AnswerPresenter.java
index 6757268f3..883b54fed 100644
--- a/InCallUI/src/com/android/incallui/AnswerPresenter.java
+++ b/InCallUI/src/com/android/incallui/AnswerPresenter.java
@@ -128,10 +128,7 @@ public class AnswerPresenter extends Presenter<AnswerPresenter.AnswerUi>
@Override
public void onUpgradeToVideo(Call call) {
Log.d(this, "onUpgradeToVideo: " + this + " call=" + call);
- if (getUi() == null) {
- Log.d(this, "onUpgradeToVideo ui is null");
- return;
- }
+ showAnswerUi(true);
boolean isUpgradePending = isVideoUpgradePending(call);
InCallPresenter inCallPresenter = InCallPresenter.getInstance();
if (isUpgradePending
diff --git a/InCallUI/src/com/android/incallui/Call.java b/InCallUI/src/com/android/incallui/Call.java
index 447c34c88..d552ecfe5 100644
--- a/InCallUI/src/com/android/incallui/Call.java
+++ b/InCallUI/src/com/android/incallui/Call.java
@@ -33,6 +33,8 @@ import android.telecom.VideoProfile;
import android.text.TextUtils;
import com.android.contacts.common.CallUtil;
+import com.android.contacts.common.compat.CallSdkCompat;
+import com.android.contacts.common.compat.CompatUtils;
import com.android.contacts.common.compat.SdkVersionOverride;
import com.android.contacts.common.compat.telecom.TelecomManagerCompat;
import com.android.contacts.common.testing.NeededForTesting;
@@ -400,13 +402,30 @@ public class Call {
setState(state);
}
+ /**
+ * Creates a new instance of a {@link Call}. Registers a callback for
+ * {@link android.telecom.Call} events.
+ */
public Call(android.telecom.Call telecomCall) {
+ this(telecomCall, true /* registerCallback */);
+ }
+
+ /**
+ * Creates a new instance of a {@link Call}. Optionally registers a callback for
+ * {@link android.telecom.Call} events.
+ *
+ * Intended for use when creating a {@link Call} instance for use with the
+ * {@link ContactInfoCache}, where we do not want to register callbacks for the new call.
+ */
+ public Call(android.telecom.Call telecomCall, boolean registerCallback) {
mTelecomCall = telecomCall;
mId = ID_PREFIX + Integer.toString(sIdCounter++);
- updateFromTelecomCall();
+ updateFromTelecomCall(registerCallback);
- mTelecomCall.registerCallback(mTelecomCallCallback);
+ if (registerCallback) {
+ mTelecomCall.registerCallback(mTelecomCallCallback);
+ }
mTimeAddedMs = System.currentTimeMillis();
}
@@ -426,7 +445,8 @@ public class Call {
private void update() {
Trace.beginSection("Update");
int oldState = getState();
- updateFromTelecomCall();
+ // We want to potentially register a video call callback here.
+ updateFromTelecomCall(true /* registerCallback */);
if (oldState != getState() && getState() == Call.State.DISCONNECTED) {
CallList.getInstance().onDisconnect(this);
} else {
@@ -435,7 +455,7 @@ public class Call {
Trace.endSection();
}
- private void updateFromTelecomCall() {
+ private void updateFromTelecomCall(boolean registerCallback) {
Log.d(this, "updateFromTelecomCall: " + mTelecomCall.toString());
final int translatedState = translateState(mTelecomCall.getState());
if (mState != State.BLOCKED) {
@@ -444,7 +464,7 @@ public class Call {
maybeCancelVideoUpgrade(mTelecomCall.getDetails().getVideoState());
}
- if (mTelecomCall.getVideoCall() != null) {
+ if (registerCallback && mTelecomCall.getVideoCall() != null) {
if (mVideoCallCallback == null) {
mVideoCallCallback = new InCallVideoCallCallback(this);
}
@@ -883,9 +903,46 @@ public class Call {
}
/**
+ * Determines if the call is an external call.
+ *
+ * An external call is one which does not exist locally for the
+ * {@link android.telecom.ConnectionService} it is associated with.
+ *
+ * External calls are only supported in N and higher.
+ *
+ * @return {@code true} if the call is an external call, {@code false} otherwise.
+ */
+ public boolean isExternalCall() {
+ return CompatUtils.isNCompatible() &&
+ hasProperty(CallSdkCompat.Details.PROPERTY_IS_EXTERNAL_CALL);
+ }
+
+ /**
+ * Determines if the external call is pullable.
+ *
+ * An external call is one which does not exist locally for the
+ * {@link android.telecom.ConnectionService} it is associated with. An external call may be
+ * "pullable", which means that the user can request it be transferred to the current device.
+ *
+ * External calls are only supported in N and higher.
+ *
+ * @return {@code true} if the call is an external call, {@code false} otherwise.
+ */
+ public boolean isPullableExternalCall() {
+ return CompatUtils.isNCompatible() &&
+ (mTelecomCall.getDetails().getCallCapabilities()
+ & CallSdkCompat.Details.CAPABILITY_CAN_PULL_CALL)
+ == CallSdkCompat.Details.CAPABILITY_CAN_PULL_CALL;
+ }
+
+ /**
* Logging utility methods
*/
public void logCallInitiationType() {
+ if (isExternalCall()) {
+ return;
+ }
+
if (getState() == State.INCOMING) {
getLogState().callInitiationMethod = LogState.INITIATION_INCOMING;
} else if (getIntentExtras() != null) {
@@ -903,11 +960,12 @@ public class Call {
return String.valueOf(mId);
}
- return String.format(Locale.US, "[%s, %s, %s, children:%s, parent:%s, conferenceable:%s, " +
- "videoState:%s, mSessionModificationState:%d, VideoSettings:%s]",
+ return String.format(Locale.US, "[%s, %s, %s, %s, children:%s, parent:%s, " +
+ "conferenceable:%s, videoState:%s, mSessionModificationState:%d, VideoSettings:%s]",
mId,
State.toString(getState()),
Details.capabilitiesToString(mTelecomCall.getDetails().getCallCapabilities()),
+ Details.propertiesToString(mTelecomCall.getDetails().getCallProperties()),
mChildCallIds,
getParentId(),
this.mTelecomCall.getConferenceableCalls(),
diff --git a/InCallUI/src/com/android/incallui/CallButtonFragment.java b/InCallUI/src/com/android/incallui/CallButtonFragment.java
index 5a25b6a7b..6b633eaf3 100644
--- a/InCallUI/src/com/android/incallui/CallButtonFragment.java
+++ b/InCallUI/src/com/android/incallui/CallButtonFragment.java
@@ -65,7 +65,6 @@ public class CallButtonFragment
implements CallButtonPresenter.CallButtonUi, OnMenuItemClickListener, OnDismissListener,
View.OnClickListener {
- private static final int INVALID_INDEX = -1;
private int mButtonMaxVisible;
// The button is currently visible in the UI
private static final int BUTTON_VISIBLE = 1;
@@ -182,7 +181,7 @@ public class CallButtonFragment
super.onActivityCreated(savedInstanceState);
// set the buttons
- updateAudioButtons(getPresenter().getSupportedAudio());
+ updateAudioButtons();
}
@Override
@@ -425,8 +424,14 @@ public class CallButtonFragment
}
@Override
- public void setVideoPaused(boolean isPaused) {
- mPauseVideoButton.setSelected(isPaused);
+ public void setVideoPaused(boolean isVideoPaused) {
+ mPauseVideoButton.setSelected(isVideoPaused);
+
+ if (isVideoPaused) {
+ mPauseVideoButton.setContentDescription(getText(R.string.onscreenTurnOnCameraText));
+ } else {
+ mPauseVideoButton.setContentDescription(getText(R.string.onscreenTurnOffCameraText));
+ }
}
@Override
@@ -505,7 +510,7 @@ public class CallButtonFragment
@Override
public void setAudio(int mode) {
- updateAudioButtons(getPresenter().getSupportedAudio());
+ updateAudioButtons();
refreshAudioModePopup();
if (mPrevAudioMode != mode) {
@@ -516,7 +521,7 @@ public class CallButtonFragment
@Override
public void setSupportedAudio(int modeMask) {
- updateAudioButtons(modeMask);
+ updateAudioButtons();
refreshAudioModePopup();
}
@@ -555,7 +560,7 @@ public class CallButtonFragment
public void onDismiss(PopupMenu menu) {
Log.d(this, "- onDismiss: " + menu);
mAudioModePopupVisible = false;
- updateAudioButtons(getPresenter().getSupportedAudio());
+ updateAudioButtons();
}
/**
@@ -600,7 +605,7 @@ public class CallButtonFragment
* Updates the audio button so that the appriopriate visual layers
* are visible based on the supported audio formats.
*/
- private void updateAudioButtons(int supportedModes) {
+ private void updateAudioButtons() {
final boolean bluetoothSupported = isSupported(CallAudioState.ROUTE_BLUETOOTH);
final boolean speakerSupported = isSupported(CallAudioState.ROUTE_SPEAKER);
diff --git a/InCallUI/src/com/android/incallui/CallButtonPresenter.java b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
index e8c2d4b13..df1cd6645 100644
--- a/InCallUI/src/com/android/incallui/CallButtonPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
@@ -366,7 +366,6 @@ public class CallButtonPresenter extends Presenter<CallButtonPresenter.CallButto
private void updateButtonsState(Call call) {
Log.v(this, "updateButtonsState");
final CallButtonUi ui = getUi();
-
final boolean isVideo = VideoUtils.isVideoCall(call);
// Common functionality (audio, hold, etc).
@@ -398,6 +397,9 @@ public class CallButtonPresenter extends Presenter<CallButtonPresenter.CallButto
ui.showButton(BUTTON_DOWNGRADE_TO_AUDIO, showDowngradeToAudio);
ui.showButton(BUTTON_SWITCH_CAMERA, isVideo);
ui.showButton(BUTTON_PAUSE_VIDEO, isVideo);
+ if (isVideo) {
+ getUi().setVideoPaused(!VideoUtils.isTransmissionEnabled(call));
+ }
ui.showButton(BUTTON_DIALPAD, true);
ui.showButton(BUTTON_MERGE, showMerge);
diff --git a/InCallUI/src/com/android/incallui/ExternalCallList.java b/InCallUI/src/com/android/incallui/ExternalCallList.java
new file mode 100644
index 000000000..06e0bb975
--- /dev/null
+++ b/InCallUI/src/com/android/incallui/ExternalCallList.java
@@ -0,0 +1,105 @@
+package com.android.incallui;
+
+import com.google.common.base.Preconditions;
+
+import com.android.contacts.common.compat.CallSdkCompat;
+
+import android.os.Handler;
+import android.os.Looper;
+import android.telecom.Call;
+import android.util.ArraySet;
+
+import java.util.Collections;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * Tracks the external calls known to the InCall UI.
+ *
+ * External calls are those with {@link android.telecom.Call.Details#PROPERTY_IS_EXTERNAL_CALL}.
+ */
+public class ExternalCallList {
+
+ public interface ExternalCallListener {
+ void onExternalCallAdded(Call call);
+ void onExternalCallRemoved(Call call);
+ void onExternalCallUpdated(Call call);
+ }
+
+ /**
+ * Handles {@link android.telecom.Call.Callback} callbacks.
+ */
+ private final Call.Callback mTelecomCallCallback = new Call.Callback() {
+ @Override
+ public void onDetailsChanged(Call call, Call.Details details) {
+ notifyExternalCallUpdated(call);
+ }
+ };
+
+ private final Set<Call> mExternalCalls = new ArraySet<>();
+ private final Set<ExternalCallListener> mExternalCallListeners = Collections.newSetFromMap(
+ new ConcurrentHashMap<ExternalCallListener, Boolean>(8, 0.9f, 1));
+
+ /**
+ * Begins tracking an external call and notifies listeners of the new call.
+ */
+ public void onCallAdded(Call telecomCall) {
+ Preconditions.checkArgument(telecomCall.getDetails()
+ .hasProperty(CallSdkCompat.Details.PROPERTY_IS_EXTERNAL_CALL));
+ mExternalCalls.add(telecomCall);
+ telecomCall.registerCallback(mTelecomCallCallback, new Handler(Looper.getMainLooper()));
+ notifyExternalCallAdded(telecomCall);
+ }
+
+ /**
+ * Stops tracking an external call and notifies listeners of the removal of the call.
+ */
+ public void onCallRemoved(Call telecomCall) {
+ Preconditions.checkArgument(mExternalCalls.contains(telecomCall));
+ mExternalCalls.remove(telecomCall);
+ telecomCall.unregisterCallback(mTelecomCallCallback);
+ notifyExternalCallRemoved(telecomCall);
+ }
+
+ /**
+ * Adds a new listener to external call events.
+ */
+ public void addExternalCallListener(ExternalCallListener listener) {
+ mExternalCallListeners.add(Preconditions.checkNotNull(listener));
+ }
+
+ /**
+ * Removes a listener to external call events.
+ */
+ public void removeExternalCallListener(ExternalCallListener listener) {
+ Preconditions.checkArgument(mExternalCallListeners.contains(listener));
+ mExternalCallListeners.remove(Preconditions.checkNotNull(listener));
+ }
+
+ /**
+ * Notifies listeners of the addition of a new external call.
+ */
+ private void notifyExternalCallAdded(Call call) {
+ for (ExternalCallListener listener : mExternalCallListeners) {
+ listener.onExternalCallAdded(call);
+ }
+ }
+
+ /**
+ * Notifies listeners of the removal of an external call.
+ */
+ private void notifyExternalCallRemoved(Call call) {
+ for (ExternalCallListener listener : mExternalCallListeners) {
+ listener.onExternalCallRemoved(call);
+ }
+ }
+
+ /**
+ * Notifies listeners of changes to an external call.
+ */
+ private void notifyExternalCallUpdated(Call call) {
+ for (ExternalCallListener listener : mExternalCallListeners) {
+ listener.onExternalCallUpdated(call);
+ }
+ }
+}
diff --git a/InCallUI/src/com/android/incallui/ExternalCallNotifier.java b/InCallUI/src/com/android/incallui/ExternalCallNotifier.java
new file mode 100644
index 000000000..40a2e02bf
--- /dev/null
+++ b/InCallUI/src/com/android/incallui/ExternalCallNotifier.java
@@ -0,0 +1,406 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.incallui;
+
+import com.google.common.base.Preconditions;
+
+import com.android.contacts.common.ContactsUtils;
+import com.android.contacts.common.compat.CallSdkCompat;
+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.R;
+import com.android.incallui.util.TelecomCallUtil;
+
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.drawable.BitmapDrawable;
+import android.net.Uri;
+import android.support.annotation.Nullable;
+import android.telecom.Call;
+import android.telecom.PhoneAccount;
+import android.text.BidiFormatter;
+import android.text.TextDirectionHeuristics;
+import android.text.TextUtils;
+import android.util.ArrayMap;
+
+import java.util.Map;
+
+/**
+ * Handles the display of notifications for "external calls".
+ *
+ * External calls are a representation of a call which is in progress on the user's other device
+ * (e.g. another phone, or a watch).
+ */
+public class ExternalCallNotifier implements ExternalCallList.ExternalCallListener {
+
+ /**
+ * Tag used with the notification manager to uniquely identify external call notifications.
+ */
+ private static final String NOTIFICATION_TAG = "EXTERNAL_CALL";
+
+ /**
+ * Represents a call and associated cached notification data.
+ */
+ private static class NotificationInfo {
+ private final Call mCall;
+ private final int mNotificationId;
+ @Nullable private String mContentTitle;
+ @Nullable private Bitmap mLargeIcon;
+ @Nullable private String mPersonReference;
+
+ public NotificationInfo(Call call, int notificationId) {
+ Preconditions.checkNotNull(call);
+ mCall = call;
+ mNotificationId = notificationId;
+ }
+
+ public Call getCall() {
+ return mCall;
+ }
+
+ public int getNotificationId() {
+ return mNotificationId;
+ }
+
+ public @Nullable String getContentTitle() {
+ return mContentTitle;
+ }
+
+ public @Nullable Bitmap getLargeIcon() {
+ return mLargeIcon;
+ }
+
+ public @Nullable String getPersonReference() {
+ return mPersonReference;
+ }
+
+ public void setContentTitle(@Nullable String contentTitle) {
+ mContentTitle = contentTitle;
+ }
+
+ public void setLargeIcon(@Nullable Bitmap largeIcon) {
+ mLargeIcon = largeIcon;
+ }
+
+ public void setPersonReference(@Nullable String personReference) {
+ mPersonReference = personReference;
+ }
+ }
+
+ private final Context mContext;
+ private final ContactInfoCache mContactInfoCache;
+ private Map<Call, NotificationInfo> mNotifications = new ArrayMap<>();
+ private int mNextUniqueNotificationId;
+ private ContactsPreferences mContactsPreferences;
+
+ /**
+ * Initializes a new instance of the external call notifier.
+ */
+ public ExternalCallNotifier(Context context, ContactInfoCache contactInfoCache) {
+ mContext = Preconditions.checkNotNull(context);
+ mContactsPreferences = ContactsPreferencesFactory.newContactsPreferences(mContext);
+ mContactInfoCache = Preconditions.checkNotNull(contactInfoCache);
+ }
+
+ /**
+ * Handles the addition of a new external call by showing a new notification.
+ * Triggered by {@link CallList#onCallAdded(android.telecom.Call)}.
+ */
+ @Override
+ public void onExternalCallAdded(android.telecom.Call call) {
+ Log.i(this, "onExternalCallAdded " + call);
+ Preconditions.checkArgument(!mNotifications.containsKey(call));
+ NotificationInfo info = new NotificationInfo(call, mNextUniqueNotificationId++);
+ mNotifications.put(call, info);
+
+ showNotifcation(info);
+ }
+
+ /**
+ * Handles the removal of an external call by hiding its associated notification.
+ * Triggered by {@link CallList#onCallRemoved(android.telecom.Call)}.
+ */
+ @Override
+ public void onExternalCallRemoved(android.telecom.Call call) {
+ Log.i(this, "onExternalCallRemoved " + call);
+
+ dismissNotification(call);
+ }
+
+ /**
+ * Handles updates to an external call.
+ */
+ @Override
+ public void onExternalCallUpdated(Call call) {
+ Preconditions.checkArgument(mNotifications.containsKey(call));
+ postNotification(mNotifications.get(call));
+ }
+
+ /**
+ * Initiates a call pull given a notification ID.
+ *
+ * @param notificationId The notification ID associated with the external call which is to be
+ * pulled.
+ */
+ public void pullExternalCall(int notificationId) {
+ for (NotificationInfo info : mNotifications.values()) {
+ if (info.getNotificationId() == notificationId) {
+ CallSdkCompat.pullExternalCall(info.getCall());
+ return;
+ }
+ }
+ }
+
+ /**
+ * Shows a notification for a new external call. Performs a contact cache lookup to find any
+ * associated photo and information for the call.
+ */
+ private void showNotifcation(final NotificationInfo info) {
+ // We make a call to the contact info cache to query for supplemental data to what the
+ // call provides. This includes the contact name and photo.
+ // This callback will always get called immediately and synchronously with whatever data
+ // it has available, and may make a subsequent call later (same thread) if it had to
+ // call into the contacts provider for more data.
+ com.android.incallui.Call incallCall = new com.android.incallui.Call(info.getCall(),
+ false /* registerCallback */);
+
+ mContactInfoCache.findInfo(incallCall, false /* isIncoming */,
+ new ContactInfoCache.ContactInfoCacheCallback() {
+ @Override
+ public void onContactInfoComplete(String callId,
+ ContactInfoCache.ContactCacheEntry entry) {
+
+ // Ensure notification still exists as the external call could have been
+ // removed during async contact info lookup.
+ if (mNotifications.containsKey(info.getCall())) {
+ saveContactInfo(info, entry);
+ }
+ }
+
+ @Override
+ public void onImageLoadComplete(String callId,
+ ContactInfoCache.ContactCacheEntry entry) {
+
+ // Ensure notification still exists as the external call could have been
+ // removed during async contact info lookup.
+ if (mNotifications.containsKey(info.getCall())) {
+ savePhoto(info, entry);
+ }
+ }
+
+ @Override
+ public void onContactInteractionsInfoComplete(String callId,
+ ContactInfoCache.ContactCacheEntry entry) {
+ }
+ });
+ }
+
+ /**
+ * Dismisses a notification for an external call.
+ */
+ private void dismissNotification(Call call) {
+ Preconditions.checkArgument(mNotifications.containsKey(call));
+
+ NotificationManager notificationManager =
+ (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
+ notificationManager.cancel(NOTIFICATION_TAG, mNotifications.get(call).getNotificationId());
+
+ mNotifications.remove(call);
+ }
+
+ /**
+ * Attempts to build a large icon to use for the notification based on the contact info and
+ * post the updated notification to the notification manager.
+ */
+ private void savePhoto(NotificationInfo info, ContactInfoCache.ContactCacheEntry entry) {
+ Bitmap largeIcon = getLargeIconToDisplay(mContext, entry, info.getCall());
+ if (largeIcon != null) {
+ largeIcon = getRoundedIcon(mContext, largeIcon);
+ }
+ info.setLargeIcon(largeIcon);
+ postNotification(info);
+ }
+
+ /**
+ * Builds and stores the contact information the notification will display and posts the updated
+ * notification to the notification manager.
+ */
+ private void saveContactInfo(NotificationInfo info, ContactInfoCache.ContactCacheEntry entry) {
+ info.setContentTitle(getContentTitle(mContext, mContactsPreferences,
+ entry, info.getCall()));
+ info.setPersonReference(getPersonReference(entry, info.getCall()));
+ postNotification(info);
+ }
+
+ /**
+ * Rebuild an existing or show a new notification given {@link NotificationInfo}.
+ */
+ private void postNotification(NotificationInfo info) {
+ Log.i(this, "postNotification : " + info.getContentTitle());
+ Notification.Builder builder = new Notification.Builder(mContext);
+ // Set notification as ongoing since calls are long-running versus a point-in-time notice.
+ builder.setOngoing(true);
+ // Make the notification prioritized over the other normal notifications.
+ builder.setPriority(Notification.PRIORITY_HIGH);
+ // Set the content ("Ongoing call on another device")
+ builder.setContentText(mContext.getString(R.string.notification_external_call));
+ builder.setSmallIcon(R.drawable.ic_call_white_24dp);
+ builder.setContentTitle(info.getContentTitle());
+ builder.setLargeIcon(info.getLargeIcon());
+ builder.setColor(mContext.getResources().getColor(R.color.dialer_theme_color));
+ builder.addPerson(info.getPersonReference());
+
+ // Where the external call supports being transferred to the local device, add an action
+ // to the notification to initiate the call pull process.
+ if ((info.getCall().getDetails().getCallCapabilities()
+ & CallSdkCompat.Details.CAPABILITY_CAN_PULL_CALL)
+ == CallSdkCompat.Details.CAPABILITY_CAN_PULL_CALL) {
+
+ Intent intent = new Intent(
+ NotificationBroadcastReceiver.ACTION_PULL_EXTERNAL_CALL, null, mContext,
+ NotificationBroadcastReceiver.class);
+ intent.putExtra(NotificationBroadcastReceiver.EXTRA_NOTIFICATION_ID,
+ info.getNotificationId());
+
+ builder.addAction(new Notification.Action.Builder(R.drawable.ic_call_white_24dp,
+ mContext.getText(R.string.notification_transfer_call),
+ PendingIntent.getBroadcast(mContext, 0, intent, 0)).build());
+ }
+
+ /**
+ * This builder is used for the notification shown when the device is locked and the user
+ * has set their notification settings to 'hide sensitive content'
+ * {@see Notification.Builder#setPublicVersion}.
+ */
+ Notification.Builder publicBuilder = new Notification.Builder(mContext);
+ publicBuilder.setSmallIcon(R.drawable.ic_call_white_24dp);
+ publicBuilder.setColor(mContext.getResources().getColor(R.color.dialer_theme_color));
+
+ builder.setPublicVersion(publicBuilder.build());
+ Notification notification = builder.build();
+
+ NotificationManager notificationManager =
+ (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
+ notificationManager.notify(NOTIFICATION_TAG, info.getNotificationId(), notification);
+ }
+
+ /**
+ * Finds a large icon to display in a notification for a call. For conference calls, a
+ * conference call icon is used, otherwise if contact info is specified, the user's contact
+ * photo or avatar is used.
+ *
+ * @param context The context.
+ * @param contactInfo The contact cache info.
+ * @param call The call.
+ * @return The large icon to use for the notification.
+ */
+ private @Nullable Bitmap getLargeIconToDisplay(Context context,
+ ContactInfoCache.ContactCacheEntry contactInfo, android.telecom.Call call) {
+
+ Bitmap largeIcon = null;
+ if (call.getDetails().hasProperty(android.telecom.Call.Details.PROPERTY_CONFERENCE) &&
+ !call.getDetails()
+ .hasProperty(android.telecom.Call.Details.PROPERTY_GENERIC_CONFERENCE)) {
+
+ largeIcon = BitmapFactory.decodeResource(context.getResources(),
+ R.drawable.img_conference);
+ }
+ if (contactInfo.photo != null && (contactInfo.photo instanceof BitmapDrawable)) {
+ largeIcon = ((BitmapDrawable) contactInfo.photo).getBitmap();
+ }
+ return largeIcon;
+ }
+
+ /**
+ * Given a bitmap, returns a rounded version of the icon suitable for display in a notification.
+ *
+ * @param context The context.
+ * @param bitmap The bitmap to round.
+ * @return The rounded bitmap.
+ */
+ private @Nullable Bitmap getRoundedIcon(Context context, @Nullable Bitmap bitmap) {
+ if (bitmap == null) {
+ return null;
+ }
+ final int height = (int) context.getResources().getDimension(
+ android.R.dimen.notification_large_icon_height);
+ final int width = (int) context.getResources().getDimension(
+ android.R.dimen.notification_large_icon_width);
+ return BitmapUtil.getRoundedBitmap(bitmap, width, height);
+ }
+
+ /**
+ * Builds a notification content title for a call. If the call is a conference call, it is
+ * identified as such. Otherwise an attempt is made to show an associated contact name or
+ * phone number.
+ *
+ * @param context The context.
+ * @param contactsPreferences Contacts preferences, used to determine the preferred formatting
+ * for contact names.
+ * @param contactInfo The contact info which was looked up in the contact cache.
+ * @param call The call to generate a title for.
+ * @return The content title.
+ */
+ private @Nullable String getContentTitle(Context context,
+ @Nullable ContactsPreferences contactsPreferences,
+ ContactInfoCache.ContactCacheEntry contactInfo, android.telecom.Call call) {
+
+ if (call.getDetails().hasProperty(android.telecom.Call.Details.PROPERTY_CONFERENCE) &&
+ !call.getDetails()
+ .hasProperty(android.telecom.Call.Details.PROPERTY_GENERIC_CONFERENCE)) {
+
+ return context.getResources().getString(R.string.card_title_conf_call);
+ }
+
+ String preferredName = ContactDisplayUtils.getPreferredDisplayName(contactInfo.namePrimary,
+ contactInfo.nameAlternative, contactsPreferences);
+ if (TextUtils.isEmpty(preferredName)) {
+ return TextUtils.isEmpty(contactInfo.number) ? null : BidiFormatter.getInstance()
+ .unicodeWrap(contactInfo.number, TextDirectionHeuristics.LTR);
+ }
+ return preferredName;
+ }
+
+ /**
+ * Gets a "person reference" for a notification, used by the system to determine whether the
+ * notification should be allowed past notification interruption filters.
+ *
+ * @param contactInfo The contact info from cache.
+ * @param call The call.
+ * @return the person reference.
+ */
+ private String getPersonReference(ContactInfoCache.ContactCacheEntry contactInfo,
+ Call call) {
+
+ String number = TelecomCallUtil.getNumber(call);
+ // Query {@link Contacts#CONTENT_LOOKUP_URI} directly with work lookup key is not allowed.
+ // So, do not pass {@link Contacts#CONTENT_LOOKUP_URI} to NotificationManager to avoid
+ // NotificationManager using it.
+ if (contactInfo.lookupUri != null && contactInfo.userType != ContactsUtils.USER_TYPE_WORK) {
+ return contactInfo.lookupUri.toString();
+ } else if (!TextUtils.isEmpty(number)) {
+ return Uri.fromParts(PhoneAccount.SCHEME_TEL, number, null).toString();
+ }
+ return "";
+ }
+}
diff --git a/InCallUI/src/com/android/incallui/InCallPresenter.java b/InCallUI/src/com/android/incallui/InCallPresenter.java
index 0109d7ee6..38507eef9 100644
--- a/InCallUI/src/com/android/incallui/InCallPresenter.java
+++ b/InCallUI/src/com/android/incallui/InCallPresenter.java
@@ -41,6 +41,7 @@ import android.view.Window;
import android.view.WindowManager;
import com.android.contacts.common.GeoUtil;
+import com.android.contacts.common.compat.CallSdkCompat;
import com.android.contacts.common.compat.CompatUtils;
import com.android.contacts.common.compat.telecom.TelecomManagerCompat;
import com.android.contacts.common.interactions.TouchPointManager;
@@ -109,9 +110,11 @@ public class InCallPresenter implements CallList.Listener,
private AudioModeProvider mAudioModeProvider;
private StatusBarNotifier mStatusBarNotifier;
+ private ExternalCallNotifier mExternalCallNotifier;
private ContactInfoCache mContactInfoCache;
private Context mContext;
private CallList mCallList;
+ private ExternalCallList mExternalCallList;
private InCallActivity mInCallActivity;
private InCallState mInCallState = InCallState.NO_CALLS;
private ProximitySensor mProximitySensor;
@@ -299,8 +302,10 @@ public class InCallPresenter implements CallList.Listener,
public void setUp(Context context,
CallList callList,
+ ExternalCallList externalCallList,
AudioModeProvider audioModeProvider,
StatusBarNotifier statusBarNotifier,
+ ExternalCallNotifier externalCallNotifier,
ContactInfoCache contactInfoCache,
ProximitySensor proximitySensor) {
if (mServiceConnected) {
@@ -318,6 +323,7 @@ public class InCallPresenter implements CallList.Listener,
mContactInfoCache = contactInfoCache;
mStatusBarNotifier = statusBarNotifier;
+ mExternalCallNotifier = externalCallNotifier;
addListener(mStatusBarNotifier);
mAudioModeProvider = audioModeProvider;
@@ -329,6 +335,8 @@ public class InCallPresenter implements CallList.Listener,
addInCallUiListener(mAnswerPresenter);
mCallList = callList;
+ mExternalCallList = externalCallList;
+ externalCallList.addExternalCallListener(mExternalCallNotifier);
// This only gets called by the service so this is okay.
mServiceConnected = true;
@@ -501,7 +509,12 @@ public class InCallPresenter implements CallList.Listener,
if (shouldAttemptBlocking(call)) {
maybeBlockCall(call);
} else {
- mCallList.onCallAdded(call);
+ if (call.getDetails()
+ .hasProperty(CallSdkCompat.Details.PROPERTY_IS_EXTERNAL_CALL)) {
+ mExternalCallList.onCallAdded(call);
+ } else {
+ mCallList.onCallAdded(call);
+ }
}
// Since a call has been added we are no longer waiting for Telecom to send us a call.
@@ -590,8 +603,13 @@ public class InCallPresenter implements CallList.Listener,
}
public void onCallRemoved(android.telecom.Call call) {
- mCallList.onCallRemoved(call);
- call.unregisterCallback(mCallCallback);
+ if (call.getDetails()
+ .hasProperty(CallSdkCompat.Details.PROPERTY_IS_EXTERNAL_CALL)) {
+ mExternalCallList.onCallRemoved(call);
+ } else {
+ mCallList.onCallRemoved(call);
+ call.unregisterCallback(mCallCallback);
+ }
}
public void onCanAddCallChanged(boolean canAddCall) {
@@ -1506,6 +1524,9 @@ public class InCallPresenter implements CallList.Listener,
if (mStatusBarNotifier != null) {
removeListener(mStatusBarNotifier);
}
+ if (mExternalCallNotifier != null && mExternalCallList != null) {
+ mExternalCallList.removeExternalCallListener(mExternalCallNotifier);
+ }
mStatusBarNotifier = null;
if (mCallList != null) {
@@ -1808,6 +1829,10 @@ public class InCallPresenter implements CallList.Listener,
return mAnswerPresenter;
}
+ ExternalCallNotifier getExternalCallNotifier() {
+ return mExternalCallNotifier;
+ }
+
/**
* Private constructor. Must use getInstance() to get this singleton.
*/
diff --git a/InCallUI/src/com/android/incallui/InCallServiceImpl.java b/InCallUI/src/com/android/incallui/InCallServiceImpl.java
index 86936973e..1414bc51d 100644
--- a/InCallUI/src/com/android/incallui/InCallServiceImpl.java
+++ b/InCallUI/src/com/android/incallui/InCallServiceImpl.java
@@ -64,8 +64,10 @@ public class InCallServiceImpl extends InCallService {
InCallPresenter.getInstance().setUp(
getApplicationContext(),
CallList.getInstance(),
+ new ExternalCallList(),
AudioModeProvider.getInstance(),
new StatusBarNotifier(context, contactInfoCache),
+ new ExternalCallNotifier(context, contactInfoCache),
contactInfoCache,
new ProximitySensor(
context,
diff --git a/InCallUI/src/com/android/incallui/NotificationBroadcastReceiver.java b/InCallUI/src/com/android/incallui/NotificationBroadcastReceiver.java
index 2543b783d..27f71159d 100644
--- a/InCallUI/src/com/android/incallui/NotificationBroadcastReceiver.java
+++ b/InCallUI/src/com/android/incallui/NotificationBroadcastReceiver.java
@@ -45,6 +45,10 @@ public class NotificationBroadcastReceiver extends BroadcastReceiver {
"com.android.incallui.ACTION_ACCEPT_VIDEO_UPGRADE_REQUEST";
public static final String ACTION_DECLINE_VIDEO_UPGRADE_REQUEST =
"com.android.incallui.ACTION_DECLINE_VIDEO_UPGRADE_REQUEST";
+ public static final String ACTION_PULL_EXTERNAL_CALL =
+ "com.android.incallui.ACTION_PULL_EXTERNAL_CALL";
+ public static final String EXTRA_NOTIFICATION_ID =
+ "com.android.incallui.extra.EXTRA_NOTIFICATION_ID";
@Override
public void onReceive(Context context, Intent intent) {
@@ -68,6 +72,10 @@ public class NotificationBroadcastReceiver extends BroadcastReceiver {
VideoProfile.STATE_BIDIRECTIONAL, context);
} else if (action.equals(ACTION_DECLINE_VIDEO_UPGRADE_REQUEST)) {
InCallPresenter.getInstance().declineUpgradeRequest(context);
+ } else if (action.equals(ACTION_PULL_EXTERNAL_CALL)) {
+ int notificationId = intent.getIntExtra(EXTRA_NOTIFICATION_ID, -1);
+ InCallPresenter.getInstance().getExternalCallNotifier()
+ .pullExternalCall(notificationId);
}
}
diff --git a/InCallUI/src/com/android/incallui/StatusBarNotifier.java b/InCallUI/src/com/android/incallui/StatusBarNotifier.java
index 5bf8e169c..0662cca8d 100644
--- a/InCallUI/src/com/android/incallui/StatusBarNotifier.java
+++ b/InCallUI/src/com/android/incallui/StatusBarNotifier.java
@@ -247,8 +247,11 @@ public class StatusBarNotifier implements InCallPresenter.InCallStateListener,
getContentString(call, contactInfo.userType);
final String contentTitle = getContentTitle(contactInfo, call);
+ final boolean isVideoUpgradeRequest = call.getSessionModificationState()
+ == Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST;
final int notificationType;
- if (callState == Call.State.INCOMING || callState == Call.State.CALL_WAITING) {
+ if (callState == Call.State.INCOMING || callState == Call.State.CALL_WAITING
+ || isVideoUpgradeRequest) {
notificationType = NOTIFICATION_INCOMING_CALL;
} else {
notificationType = NOTIFICATION_IN_CALL;
@@ -301,8 +304,6 @@ public class StatusBarNotifier implements InCallPresenter.InCallStateListener,
builder.setLargeIcon(largeIcon);
builder.setColor(mContext.getResources().getColor(R.color.dialer_theme_color));
- final boolean isVideoUpgradeRequest = call.getSessionModificationState()
- == Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST;
if (isVideoUpgradeRequest) {
builder.setUsesChronometer(false);
addDismissUpgradeRequestAction(builder);
diff --git a/InCallUI/src/com/android/incallui/VideoCallFragment.java b/InCallUI/src/com/android/incallui/VideoCallFragment.java
index cb8c6449b..6a46a423d 100644
--- a/InCallUI/src/com/android/incallui/VideoCallFragment.java
+++ b/InCallUI/src/com/android/incallui/VideoCallFragment.java
@@ -435,12 +435,11 @@ public class VideoCallFragment extends BaseFragment<VideoCallPresenter,
*/
@Override
public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
-
mIsLandscape = getResources().getBoolean(R.bool.is_layout_landscape);
-
Log.d(this, "onActivityCreated: IsLandscape=" + mIsLandscape);
getPresenter().init(getActivity());
+
+ super.onActivityCreated(savedInstanceState);
}
@Override
@@ -499,6 +498,7 @@ public class VideoCallFragment extends BaseFragment<VideoCallPresenter,
public void onPause() {
super.onPause();
Log.d(this, "onPause:");
+ getPresenter().cancelAutoFullScreen();
}
@Override
@@ -549,6 +549,7 @@ public class VideoCallFragment extends BaseFragment<VideoCallPresenter,
* Hides and shows the incoming video view and changes the outgoing video view's state based on
* whether outgoing view is enabled or not.
*/
+ @Override
public void showVideoViews(boolean previewPaused, boolean showIncoming) {
inflateVideoUi(true);
@@ -567,6 +568,7 @@ public class VideoCallFragment extends BaseFragment<VideoCallPresenter,
/**
* Hide all video views.
*/
+ @Override
public void hideVideoUi() {
inflateVideoUi(false);
}
diff --git a/InCallUI/src/com/android/incallui/VideoCallPresenter.java b/InCallUI/src/com/android/incallui/VideoCallPresenter.java
index 9a33d80eb..3494afa6d 100644
--- a/InCallUI/src/com/android/incallui/VideoCallPresenter.java
+++ b/InCallUI/src/com/android/incallui/VideoCallPresenter.java
@@ -81,7 +81,9 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi
private Runnable mAutoFullscreenRunnable = new Runnable() {
@Override
public void run() {
- if (mAutoFullScreenPending && !InCallPresenter.getInstance().isDialpadVisible()) {
+ if (mAutoFullScreenPending && !InCallPresenter.getInstance().isDialpadVisible()
+ && mIsVideoMode) {
+
Log.v(this, "Automatically entering fullscreen mode.");
InCallPresenter.getInstance().setFullScreen(true);
mAutoFullScreenPending = false;
@@ -242,6 +244,10 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi
InCallVideoCallCallbackNotifier.getInstance().addVideoEventListener(this);
mCurrentVideoState = VideoProfile.STATE_AUDIO_ONLY;
mCurrentCallState = Call.State.INVALID;
+
+ final InCallPresenter.InCallState inCallState =
+ InCallPresenter.getInstance().getInCallState();
+ onStateChange(inCallState, inCallState, CallList.getInstance());
}
/**
@@ -258,6 +264,8 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi
return;
}
+ cancelAutoFullScreen();
+
InCallPresenter.getInstance().removeListener(this);
InCallPresenter.getInstance().removeDetailsListener(this);
InCallPresenter.getInstance().removeIncomingCallListener(this);
@@ -495,7 +503,7 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi
updateCameraSelection(call);
if (isVideoCall) {
- enterVideoMode(call);
+ adjustVideoMode(call);
} else if (isVideoMode()) {
exitVideoMode();
}
@@ -555,7 +563,7 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi
Log.d(this, "onPrimaryCallChanged: Entering video mode...");
updateCameraSelection(newPrimaryCall);
- enterVideoMode(newPrimaryCall);
+ adjustVideoMode(newPrimaryCall);
}
}
@@ -630,7 +638,7 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi
* Handles a change to the video call. Sets the surfaces on the previous call to null and sets
* the surfaces on the new video call accordingly.
*
- * @param videoCall The new video call.
+ * @param call The new video call.
*/
private void changeVideoCall(Call call) {
final VideoCall videoCall = call.getTelecomCall().getVideoCall();
@@ -651,13 +659,13 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi
}
if (VideoUtils.isVideoCall(call) && hasChanged) {
- enterVideoMode(call);
+ adjustVideoMode(call);
}
}
private static boolean isCameraRequired(int videoState) {
- return VideoProfile.isBidirectional(videoState) ||
- VideoProfile.isTransmissionEnabled(videoState);
+ return VideoProfile.isBidirectional(videoState)
+ || VideoProfile.isTransmissionEnabled(videoState);
}
private boolean isCameraRequired() {
@@ -665,14 +673,16 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi
}
/**
- * Enters video mode by showing the video surfaces and making other adjustments (eg. audio).
+ * Adjusts the current video mode by setting up the preview and display surfaces as necessary.
+ * Expected to be called whenever the video state associated with a call changes (e.g. a user
+ * turns their camera on or off) to ensure the correct surfaces are shown/hidden.
* TODO(vt): Need to adjust size and orientation of preview surface here.
*/
- private void enterVideoMode(Call call) {
+ private void adjustVideoMode(Call call) {
VideoCall videoCall = call.getVideoCall();
int newVideoState = call.getVideoState();
- Log.d(this, "enterVideoMode videoCall= " + videoCall + " videoState: " + newVideoState);
+ Log.d(this, "adjustVideoMode videoCall= " + videoCall + " videoState: " + newVideoState);
VideoCallUi ui = getUi();
if (ui == null) {
Log.e(this, "Error VideoCallUi is null so returning");
@@ -692,16 +702,15 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi
videoCall.setDeviceOrientation(mDeviceOrientation);
enableCamera(videoCall, isCameraRequired(newVideoState));
}
+ int previousVideoState = mCurrentVideoState;
mCurrentVideoState = newVideoState;
-
mIsVideoMode = true;
- maybeAutoEnterFullscreen(call);
- }
-
- private static boolean isSpeakerEnabledForVideoCalls() {
- // TODO: Make this a carrier configurable setting. For now this is always true. b/20090407
- return true;
+ // adjustVideoMode may be called if we are already in a 1-way video state. In this case
+ // we do not want to trigger auto-fullscreen mode.
+ if (!VideoUtils.isVideoCall(previousVideoState) && VideoUtils.isVideoCall(newVideoState)) {
+ maybeAutoEnterFullscreen(call);
+ }
}
private void enableCamera(VideoCall videoCall, boolean isCameraRequired) {
@@ -1068,6 +1077,8 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi
* 2. Call is not active
* 3. Call is not video call
* 4. Already in fullscreen mode
+ * 5. The current video state is not bi-directional (if the remote party stops transmitting,
+ * the user's contact photo would dominate in fullscreen mode).
*
* @param call The current call.
*/
@@ -1079,7 +1090,8 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi
if (call == null || (
call != null && (call.getState() != Call.State.ACTIVE ||
!VideoUtils.isVideoCall(call)) ||
- InCallPresenter.getInstance().isFullscreen())) {
+ InCallPresenter.getInstance().isFullscreen()) ||
+ !VideoUtils.isBidirectionalVideoCall(call)) {
// Ensure any previously scheduled attempt to enter fullscreen is cancelled.
cancelAutoFullScreen();
return;
@@ -1106,10 +1118,6 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi
mAutoFullScreenPending = false;
}
- private static boolean isAudioRouteEnabled(int audioRoute, int audioRouteMask) {
- return ((audioRoute & audioRouteMask) != 0);
- }
-
private static void updateCameraSelection(Call call) {
Log.d(TAG, "updateCameraSelection: call=" + call);
Log.d(TAG, "updateCameraSelection: call=" + toSimpleString(call));
diff --git a/InCallUI/src/com/android/incallui/VideoUtils.java b/InCallUI/src/com/android/incallui/VideoUtils.java
index 8641d60ec..a2eb8bcf2 100644
--- a/InCallUI/src/com/android/incallui/VideoUtils.java
+++ b/InCallUI/src/com/android/incallui/VideoUtils.java
@@ -45,6 +45,14 @@ public class VideoUtils {
return VideoProfile.isBidirectional(call.getVideoState());
}
+ public static boolean isTransmissionEnabled(Call call) {
+ if (!CompatUtils.isVideoCompatible()) {
+ return false;
+ }
+
+ return VideoProfile.isTransmissionEnabled(call.getVideoState());
+ }
+
public static boolean isIncomingVideoCall(Call call) {
if (!VideoUtils.isVideoCall(call)) {
return false;
diff --git a/InCallUI/tests/src/com/android/incallui/ExternalCallListTest.java b/InCallUI/tests/src/com/android/incallui/ExternalCallListTest.java
new file mode 100644
index 000000000..070bdf522
--- /dev/null
+++ b/InCallUI/tests/src/com/android/incallui/ExternalCallListTest.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.incallui;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.net.Uri;
+import android.os.Bundle;
+import android.telecom.*;
+import android.telecom.Call;
+import android.test.AndroidTestCase;
+
+import java.lang.reflect.Constructor;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+public class ExternalCallListTest extends AndroidTestCase {
+
+ private static class Listener implements ExternalCallList.ExternalCallListener {
+ private CountDownLatch mCallAddedLatch = new CountDownLatch(1);
+ private CountDownLatch mCallRemovedLatch = new CountDownLatch(1);
+ private CountDownLatch mCallUpdatedLatch = new CountDownLatch(1);
+
+ @Override
+ public void onExternalCallAdded(Call call) {
+ mCallAddedLatch.countDown();
+ }
+
+ @Override
+ public void onExternalCallRemoved(Call call) {
+ mCallRemovedLatch.countDown();
+ }
+
+ @Override
+ public void onExternalCallUpdated(Call call) {
+ mCallUpdatedLatch.countDown();
+ }
+
+ public boolean awaitCallAdded() {
+ try {
+ return mCallAddedLatch.await(WAIT_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
+ } catch (InterruptedException e) {
+ return false;
+ }
+ }
+
+ public boolean awaitCallRemoved() {
+ try {
+ return mCallRemovedLatch.await(WAIT_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
+ } catch (InterruptedException e) {
+ return false;
+ }
+ }
+
+ public boolean awaitCallUpdated() {
+ try {
+ return mCallUpdatedLatch.await(WAIT_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
+ } catch (InterruptedException e) {
+ return false;
+ }
+ }
+ }
+
+ private static final int WAIT_TIMEOUT_MILLIS = 5000;
+
+ private ExternalCallList mExternalCallList = new ExternalCallList();
+ private Listener mExternalCallListener = new Listener();
+
+ @Override
+ public void setUp() throws Exception {
+ super.setUp();
+ mExternalCallList.addExternalCallListener(mExternalCallListener);
+ }
+
+ public void testAddCallSuccess() {
+ TestTelecomCall call = getTestCall(Call.Details.PROPERTY_IS_EXTERNAL_CALL);
+ mExternalCallList.onCallAdded(call.getCall());
+ assertTrue(mExternalCallListener.awaitCallAdded());
+ }
+
+ public void testAddCallFail() {
+ TestTelecomCall call = getTestCall(0 /* no properties */);
+ try {
+ mExternalCallList.onCallAdded(call.getCall());
+ fail();
+ } catch (IllegalArgumentException e) {
+ }
+ }
+
+ public void testUpdateCall() {
+ TestTelecomCall call = getTestCall(Call.Details.PROPERTY_IS_EXTERNAL_CALL);
+ mExternalCallList.onCallAdded(call.getCall());
+ assertTrue(mExternalCallListener.awaitCallAdded());
+
+ call.forceDetailsUpdate();
+ assertTrue(mExternalCallListener.awaitCallUpdated());
+ }
+
+ public void testRemoveCall() {
+ TestTelecomCall call = getTestCall(Call.Details.PROPERTY_IS_EXTERNAL_CALL);
+ mExternalCallList.onCallAdded(call.getCall());
+ assertTrue(mExternalCallListener.awaitCallAdded());
+
+ mExternalCallList.onCallRemoved(call.getCall());
+ assertTrue(mExternalCallListener.awaitCallRemoved());
+ }
+
+ private TestTelecomCall getTestCall(int properties) {
+ TestTelecomCall testCall = TestTelecomCall.createInstance(
+ "1",
+ Uri.parse("tel:650-555-1212"), /* handle */
+ TelecomManager.PRESENTATION_ALLOWED, /* handlePresentation */
+ "Joe", /* callerDisplayName */
+ TelecomManager.PRESENTATION_ALLOWED, /* callerDisplayNamePresentation */
+ new PhoneAccountHandle(new ComponentName("test", "class"),
+ "handle"), /* accountHandle */
+ Call.Details.CAPABILITY_CAN_PULL_CALL, /* capabilities */
+ properties, /* properties */
+ null, /* disconnectCause */
+ 0, /* connectTimeMillis */
+ null, /* GatewayInfo */
+ VideoProfile.STATE_AUDIO_ONLY, /* videoState */
+ null, /* statusHints */
+ null, /* extras */
+ null /* intentExtras */);
+ return testCall;
+ }
+}
diff --git a/InCallUI/tests/src/com/android/incallui/ExternalCallNotifierTest.java b/InCallUI/tests/src/com/android/incallui/ExternalCallNotifierTest.java
new file mode 100644
index 000000000..e57efef67
--- /dev/null
+++ b/InCallUI/tests/src/com/android/incallui/ExternalCallNotifierTest.java
@@ -0,0 +1,212 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.incallui;
+
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.anyBoolean;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.timeout;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import com.android.contacts.common.preference.ContactsPreferences;
+
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.Spy;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.res.Resources;
+import android.net.Uri;
+import android.telecom.*;
+import android.telecom.Call;
+import android.telephony.TelephonyManager;
+import android.test.AndroidTestCase;
+import android.test.mock.MockContext;
+
+/**
+ * Unit tests for {@link ExternalCallNotifier}.
+ */
+public class ExternalCallNotifierTest extends AndroidTestCase {
+ private static final int TIMEOUT_MILLIS = 5000;
+ private static final String NAME_PRIMARY = "Full Name";
+ private static final String NAME_ALTERNATIVE = "Name, Full";
+ private static final String LOCATION = "US";
+ private static final String NUMBER = "6505551212";
+
+ @Mock private ContactsPreferences mContactsPreferences;
+ @Mock private NotificationManager mNotificationManager;
+ @Mock private MockContext mMockContext;
+ @Mock private Resources mResources;
+ @Mock private StatusBarNotifier mStatusBarNotifier;
+ @Mock private ContactInfoCache mContactInfoCache;
+ @Mock private TelecomManager mTelecomManager;
+ @Mock private TelephonyManager mTelephonyManager;
+ @Mock private ProximitySensor mProximitySensor;
+ @Mock private CallList mCallList;
+ private InCallPresenter mInCallPresenter;
+ private ExternalCallNotifier mExternalCallNotifier;
+ private ContactInfoCache.ContactCacheEntry mContactInfo;
+
+ @Override
+ public void setUp() throws Exception {
+ super.setUp();
+ MockitoAnnotations.initMocks(this);
+
+ when(mContactsPreferences.getDisplayOrder())
+ .thenReturn(ContactsPreferences.DISPLAY_ORDER_PRIMARY);
+
+ // Setup the mock context to return mocks for some of the needed services; the notification
+ // service is especially important as we want to be able to intercept calls into it and
+ // validate the notifcations.
+ when(mMockContext.getSystemService(eq(Context.NOTIFICATION_SERVICE)))
+ .thenReturn(mNotificationManager);
+ when(mMockContext.getSystemService(eq(Context.TELECOM_SERVICE)))
+ .thenReturn(mTelecomManager);
+ when(mMockContext.getSystemService(eq(Context.TELEPHONY_SERVICE)))
+ .thenReturn(mTelephonyManager);
+
+ // These aspects of the context are used by the notification builder to build the actual
+ // notification; we will rely on the actual implementations of these.
+ when(mMockContext.getPackageManager()).thenReturn(mContext.getPackageManager());
+ when(mMockContext.getResources()).thenReturn(mContext.getResources());
+ when(mMockContext.getApplicationInfo()).thenReturn(mContext.getApplicationInfo());
+ when(mMockContext.getContentResolver()).thenReturn(mContext.getContentResolver());
+ when(mMockContext.getPackageName()).thenReturn(mContext.getPackageName());
+
+ ContactsPreferencesFactory.setTestInstance(null);
+ mExternalCallNotifier = new ExternalCallNotifier(mMockContext, mContactInfoCache);
+
+ // We don't directly use the InCallPresenter in the test, or even in ExternalCallNotifier
+ // itself. However, ExternalCallNotifier needs to make instances of
+ // com.android.incallui.Call for the purpose of performing contact cache lookups. The
+ // Call class depends on the static InCallPresenter for a number of things, so we need to
+ // set it up here to prevent crashes.
+ mInCallPresenter = InCallPresenter.getInstance();
+ mInCallPresenter.setUp(mMockContext, mCallList, new ExternalCallList(),
+ null, mStatusBarNotifier, mExternalCallNotifier, mContactInfoCache,
+ mProximitySensor);
+
+ // Unlocked all contact info is available
+ mContactInfo = new ContactInfoCache.ContactCacheEntry();
+ mContactInfo.namePrimary = NAME_PRIMARY;
+ mContactInfo.nameAlternative = NAME_ALTERNATIVE;
+ mContactInfo.location = LOCATION;
+ mContactInfo.number = NUMBER;
+
+ // Given the mock ContactInfoCache cache, we need to mock out what happens when the
+ // ExternalCallNotifier calls into the contact info cache to do a lookup. We will always
+ // return mock info stored in mContactInfo.
+ doAnswer(new Answer() {
+ @Override
+ public Object answer(InvocationOnMock invocation) throws Throwable {
+ Object[] args = invocation.getArguments();
+ com.android.incallui.Call call = (com.android.incallui.Call) args[0];
+ ContactInfoCache.ContactInfoCacheCallback callback
+ = (ContactInfoCache.ContactInfoCacheCallback) args[2];
+ callback.onContactInfoComplete(call.getId(), mContactInfo);
+ return null;
+ }
+ }).when(mContactInfoCache).findInfo(any(com.android.incallui.Call.class), anyBoolean(),
+ any(ContactInfoCache.ContactInfoCacheCallback.class));
+ }
+
+ @Override
+ public void tearDown() throws Exception {
+ super.tearDown();
+ ContactsPreferencesFactory.setTestInstance(null);
+ mInCallPresenter.tearDown();
+ }
+
+ public void testPostNonPullable() {
+ TestTelecomCall call = getTestCall(false);
+ mExternalCallNotifier.onExternalCallAdded(call.getCall());
+ Notification notification = verifyNotificationPosted();
+ assertNull(notification.actions);
+ }
+
+ public void testPostPullable() {
+ TestTelecomCall call = getTestCall(true);
+ mExternalCallNotifier.onExternalCallAdded(call.getCall());
+ Notification notification = verifyNotificationPosted();
+ assertEquals(1, notification.actions.length);
+ }
+
+ public void testNotificationDismissed() {
+ TestTelecomCall call = getTestCall(false);
+ mExternalCallNotifier.onExternalCallAdded(call.getCall());
+ verifyNotificationPosted();
+
+ mExternalCallNotifier.onExternalCallRemoved(call.getCall());
+ verify(mNotificationManager, timeout(TIMEOUT_MILLIS)).cancel(eq("EXTERNAL_CALL"), eq(0));
+ }
+
+ public void testNotificationUpdated() {
+ TestTelecomCall call = getTestCall(false);
+ mExternalCallNotifier.onExternalCallAdded(call.getCall());
+ verifyNotificationPosted();
+
+ call.setCapabilities(android.telecom.Call.Details.CAPABILITY_CAN_PULL_CALL);
+ mExternalCallNotifier.onExternalCallUpdated(call.getCall());
+
+ ArgumentCaptor<Notification> notificationCaptor =
+ ArgumentCaptor.forClass(Notification.class);
+ verify(mNotificationManager, timeout(TIMEOUT_MILLIS).times(2))
+ .notify(eq("EXTERNAL_CALL"), eq(0), notificationCaptor.capture());
+ Notification notification1 = notificationCaptor.getAllValues().get(0);
+ assertNull(notification1.actions);
+ Notification notification2 = notificationCaptor.getAllValues().get(1);
+ assertEquals(1, notification2.actions.length);
+ }
+
+ private Notification verifyNotificationPosted() {
+ ArgumentCaptor<Notification> notificationCaptor =
+ ArgumentCaptor.forClass(Notification.class);
+ verify(mNotificationManager, timeout(TIMEOUT_MILLIS))
+ .notify(eq("EXTERNAL_CALL"), eq(0), notificationCaptor.capture());
+ return notificationCaptor.getValue();
+ }
+
+ private TestTelecomCall getTestCall(boolean canPull) {
+ TestTelecomCall testCall = TestTelecomCall.createInstance(
+ "1",
+ Uri.parse("tel:650-555-1212"), /* handle */
+ TelecomManager.PRESENTATION_ALLOWED, /* handlePresentation */
+ "Joe", /* callerDisplayName */
+ TelecomManager.PRESENTATION_ALLOWED, /* callerDisplayNamePresentation */
+ new PhoneAccountHandle(new ComponentName("test", "class"),
+ "handle"), /* accountHandle */
+ canPull ? android.telecom.Call.Details.CAPABILITY_CAN_PULL_CALL : 0, /* capabilities */
+ Call.Details.PROPERTY_IS_EXTERNAL_CALL, /* properties */
+ null, /* disconnectCause */
+ 0, /* connectTimeMillis */
+ null, /* GatewayInfo */
+ VideoProfile.STATE_AUDIO_ONLY, /* videoState */
+ null, /* statusHints */
+ null, /* extras */
+ null /* intentExtras */);
+ return testCall;
+ }
+}
diff --git a/InCallUI/tests/src/com/android/incallui/InCallPresenterTest.java b/InCallUI/tests/src/com/android/incallui/InCallPresenterTest.java
index ed8d6223c..f0f08ab68 100644
--- a/InCallUI/tests/src/com/android/incallui/InCallPresenterTest.java
+++ b/InCallUI/tests/src/com/android/incallui/InCallPresenterTest.java
@@ -39,6 +39,7 @@ public class InCallPresenterTest extends InstrumentationTestCase {
@Mock private InCallActivity mInCallActivity;
@Mock private AudioModeProvider mAudioModeProvider;
@Mock private StatusBarNotifier mStatusBarNotifier;
+ @Mock private ExternalCallNotifier mExternalCallNotifier;
@Mock private ContactInfoCache mContactInfoCache;
@Mock private ProximitySensor mProximitySensor;
@@ -57,8 +58,9 @@ public class InCallPresenterTest extends InstrumentationTestCase {
when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
mInCallPresenter = InCallPresenter.getInstance();
- mInCallPresenter.setUp(mContext, mCallList.getCallList(), mAudioModeProvider,
- mStatusBarNotifier, mContactInfoCache, mProximitySensor);
+ mInCallPresenter.setUp(mContext, mCallList.getCallList(), new ExternalCallList(),
+ mAudioModeProvider, mStatusBarNotifier, mExternalCallNotifier, mContactInfoCache,
+ mProximitySensor);
}
@Override
diff --git a/InCallUI/tests/src/com/android/incallui/TestTelecomCall.java b/InCallUI/tests/src/com/android/incallui/TestTelecomCall.java
new file mode 100644
index 000000000..48ac6e18f
--- /dev/null
+++ b/InCallUI/tests/src/com/android/incallui/TestTelecomCall.java
@@ -0,0 +1,161 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.incallui;
+
+import com.google.common.base.Preconditions;
+
+import android.content.Context;
+import android.net.Uri;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.telecom.DisconnectCause;
+import android.telecom.GatewayInfo;
+import android.telecom.PhoneAccountHandle;
+import android.telecom.StatusHints;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+/**
+ * Wrapper class which uses reflection to create instances of {@link android.telecom.Call} for use
+ * with unit testing. Since {@link android.telecom.Call} is final, it cannot be mocked using
+ * mockito, and since all setter methods are hidden, it is necessary to use reflection. In the
+ * future, it would be desirable to replace this if a different mocking solution is used.
+ */
+public class TestTelecomCall {
+
+ private android.telecom.Call mCall;
+
+ public static @Nullable TestTelecomCall createInstance(String callId,
+ Uri handle,
+ int handlePresentation,
+ String callerDisplayName,
+ int callerDisplayNamePresentation,
+ PhoneAccountHandle accountHandle,
+ int capabilities,
+ int properties,
+ DisconnectCause disconnectCause,
+ long connectTimeMillis,
+ GatewayInfo gatewayInfo,
+ int videoState,
+ StatusHints statusHints,
+ Bundle extras,
+ Bundle intentExtras) {
+
+ try {
+ // Phone and InCall adapter are @hide, so we cannot refer to them directly.
+ Class<?> phoneClass = Class.forName("android.telecom.Phone");
+ Class<?> incallAdapterClass = Class.forName("android.telecom.InCallAdapter");
+ Class<?> callClass = android.telecom.Call.class;
+ Constructor<?> cons = callClass
+ .getDeclaredConstructor(phoneClass, String.class, incallAdapterClass);
+ cons.setAccessible(true);
+
+ android.telecom.Call call = (android.telecom.Call) cons.newInstance(null, callId, null);
+
+ // Create an instance of the call details.
+ Class<?> callDetailsClass = android.telecom.Call.Details.class;
+ Constructor<?> detailsCons = callDetailsClass.getDeclaredConstructor(
+ String.class, /* telecomCallId */
+ Uri.class, /* handle */
+ int.class, /* handlePresentation */
+ String.class, /* callerDisplayName */
+ int.class, /* callerDisplayNamePresentation */
+ PhoneAccountHandle.class, /* accountHandle */
+ int.class, /* capabilities */
+ int.class, /* properties */
+ DisconnectCause.class, /* disconnectCause */
+ long.class, /* connectTimeMillis */
+ GatewayInfo.class, /* gatewayInfo */
+ int.class, /* videoState */
+ StatusHints.class, /* statusHints */
+ Bundle.class, /* extras */
+ Bundle.class /* intentExtras */);
+ detailsCons.setAccessible(true);
+
+ android.telecom.Call.Details details = (android.telecom.Call.Details)
+ detailsCons.newInstance(callId, handle, handlePresentation, callerDisplayName,
+ callerDisplayNamePresentation, accountHandle, capabilities, properties,
+ disconnectCause, connectTimeMillis, gatewayInfo, videoState,
+ statusHints,
+ extras, intentExtras);
+
+ // Finally, set this as the details of the call.
+ Field detailsField = call.getClass().getDeclaredField("mDetails");
+ detailsField.setAccessible(true);
+ detailsField.set(call, details);
+
+ return new TestTelecomCall(call);
+ } catch (NoSuchMethodException nsm) {
+ return null;
+ } catch (ClassNotFoundException cnf) {
+ return null;
+ } catch (IllegalAccessException e) {
+ return null;
+ } catch (InstantiationException e) {
+ return null;
+ } catch (InvocationTargetException e) {
+ return null;
+ } catch (NoSuchFieldException e) {
+ return null;
+ }
+ }
+
+ private TestTelecomCall(android.telecom.Call call) {
+ mCall = call;
+ }
+
+ public android.telecom.Call getCall() {
+ return mCall;
+ }
+
+ public void forceDetailsUpdate() {
+ Preconditions.checkNotNull(mCall);
+
+ try {
+ Method method = mCall.getClass().getDeclaredMethod("fireDetailsChanged",
+ android.telecom.Call.Details.class);
+ method.setAccessible(true);
+ method.invoke(mCall, mCall.getDetails());
+ } catch (NoSuchMethodException e) {
+ Log.e(this, "forceDetailsUpdate", e);
+ } catch (InvocationTargetException e) {
+ Log.e(this, "forceDetailsUpdate", e);
+ } catch (IllegalAccessException e) {
+ Log.e(this, "forceDetailsUpdate", e);
+ }
+ }
+
+ public void setCapabilities(int capabilities) {
+ Preconditions.checkNotNull(mCall);
+ try {
+ Field field = mCall.getDetails().getClass().getDeclaredField("mCallCapabilities");
+ field.setAccessible(true);
+ field.set(mCall.getDetails(), capabilities);
+ } catch (IllegalAccessException e) {
+ Log.e(this, "setProperties", e);
+ } catch (NoSuchFieldException e) {
+ Log.e(this, "setProperties", e);
+ }
+ }
+
+ public void setCall(android.telecom.Call call) {
+ mCall = call;
+ }
+}