am 932a8ca3: (-s ours) am 26608149: (-s ours) Import translations. DO NOT MERGE
* commit '932a8ca348060ea2ff4ef81782e412b94a47fd8a':
Import translations. DO NOT MERGE
diff --git a/InCallUI/Android.mk b/InCallUI/Android.mk
deleted file mode 100644
index 74c91eb..0000000
--- a/InCallUI/Android.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_STATIC_JAVA_LIBRARIES := com.android.services.telephony.common \
- guava \
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := InCallUI
-LOCAL_CERTIFICATE := platform
-LOCAL_PRIVELEGED_MODULE := false
-
-LOCAL_PROGUARD_FLAG_FILES := proguard.flags
-
-include $(BUILD_PACKAGE)
-
-# Build the test package
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/InCallUI/AndroidManifest.xml b/InCallUI/AndroidManifest.xml
deleted file mode 100644
index 42d8e31..0000000
--- a/InCallUI/AndroidManifest.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2013 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.incallui"
- coreApp="true" >
-
- <original-package android:name="com.android.incallui" />
-
- <uses-permission android:name="android.permission.READ_CONTACTS" />
- <uses-permission android:name="android.permission.VIBRATE"/>
- <uses-permission android:name="android.permission.INTERNET" />
- <uses-permission android:name="android.permission.WAKE_LOCK"/>
-
- <application
- android:name="InCallApp"
- android:label="@string/inCallLabel"
- android:supportsRtl="true">
-
- <!-- Main in-call UI activity. This is never launched directly
- from outside the phone app; instead, it's either launched by
- the OutgoingCallBroadcaster (for outgoing calls), or as the
- fullScreenIntent of a notification (for incoming calls.) -->
- <activity android:name=".InCallActivity"
- android:theme="@style/Theme.InCallScreen"
- android:label="@string/inCallLabel"
- android:excludeFromRecents="true"
- android:launchMode="singleInstance"
- android:screenOrientation="nosensor"
- android:configChanges="keyboardHidden"
- android:exported="false">
- </activity>
-
- <service android:name="CallHandlerService">
- <intent-filter>
- <action android:name="com.android.services.telephony.common.ICallHandlerService" />
- </intent-filter>
- </service>
-
- <!-- BroadcastReceiver for receiving Intents from Notification mechanism. -->
- <receiver android:name="InCallApp$NotificationBroadcastReceiver" exported="false">
- <intent-filter>
- <action android:name="com.android.incallui.ACTION_HANG_UP_ONGOING_CALL" />
- </intent-filter>
- </receiver>
-
- </application>
-</manifest>
diff --git a/InCallUI/res/anim/call_status_pulse.xml b/InCallUI/res/anim/call_status_pulse.xml
new file mode 100644
index 0000000..abda25b
--- /dev/null
+++ b/InCallUI/res/anim/call_status_pulse.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+<alpha xmlns:android="http://schemas.android.com/apk/res/android"
+ android:fromAlpha="0.5"
+ android:toAlpha="1"
+ android:duration="600"
+ android:repeatCount="infinite"
+ android:repeatMode="reverse" />
diff --git a/InCallUI/res/anim/incall_dialpad_slide_in.xml b/InCallUI/res/anim/incall_dialpad_slide_in.xml
deleted file mode 100644
index 89f4552..0000000
--- a/InCallUI/res/anim/incall_dialpad_slide_in.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<objectAnimator
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:interpolator="@android:anim/decelerate_interpolator"
- android:valueFrom="1.0"
- android:valueTo="0"
- android:valueType="floatType"
- android:propertyName="yFraction"
- android:duration="200" />
\ No newline at end of file
diff --git a/InCallUI/res/anim/incall_dialpad_slide_out.xml b/InCallUI/res/anim/incall_dialpad_slide_out.xml
deleted file mode 100644
index 7fa03a2..0000000
--- a/InCallUI/res/anim/incall_dialpad_slide_out.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<objectAnimator
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:interpolator="@android:anim/decelerate_interpolator"
- android:valueFrom="0"
- android:valueTo="1.0"
- android:valueType="floatType"
- android:propertyName="yFraction"
- android:duration="200" />
\ No newline at end of file
diff --git a/InCallUI/res/color/selectable_icon_tint.xml b/InCallUI/res/color/selectable_icon_tint.xml
new file mode 100644
index 0000000..b8aad13
--- /dev/null
+++ b/InCallUI/res/color/selectable_icon_tint.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="@color/button_disabled_color" android:state_enabled="false" />
+ <item android:color="@color/incall_accent_color" android:state_selected="true" />
+ <item android:color="@color/incall_accent_color" android:state_pressed="true" />
+ <item android:color="@color/button_default_color" />
+</selector>
+
diff --git a/InCallUI/res/drawable-hdpi/business_unknown.png b/InCallUI/res/drawable-hdpi/business_unknown.png
deleted file mode 100644
index b369939..0000000
--- a/InCallUI/res/drawable-hdpi/business_unknown.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/dial_background_texture.png b/InCallUI/res/drawable-hdpi/dial_background_texture.png
deleted file mode 100644
index 9df3b1e..0000000
--- a/InCallUI/res/drawable-hdpi/dial_background_texture.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/dial_num_0_no_plus_wht.png b/InCallUI/res/drawable-hdpi/dial_num_0_no_plus_wht.png
deleted file mode 100644
index 69849ec..0000000
--- a/InCallUI/res/drawable-hdpi/dial_num_0_no_plus_wht.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/dial_num_1_no_vm_wht.png b/InCallUI/res/drawable-hdpi/dial_num_1_no_vm_wht.png
deleted file mode 100644
index af7ec42..0000000
--- a/InCallUI/res/drawable-hdpi/dial_num_1_no_vm_wht.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/dial_num_2_wht.png b/InCallUI/res/drawable-hdpi/dial_num_2_wht.png
deleted file mode 100644
index 2ae20ab..0000000
--- a/InCallUI/res/drawable-hdpi/dial_num_2_wht.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/dial_num_3_wht.png b/InCallUI/res/drawable-hdpi/dial_num_3_wht.png
deleted file mode 100644
index 991d5f3..0000000
--- a/InCallUI/res/drawable-hdpi/dial_num_3_wht.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/dial_num_4_wht.png b/InCallUI/res/drawable-hdpi/dial_num_4_wht.png
deleted file mode 100644
index 7aad3ef..0000000
--- a/InCallUI/res/drawable-hdpi/dial_num_4_wht.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/dial_num_5_wht.png b/InCallUI/res/drawable-hdpi/dial_num_5_wht.png
deleted file mode 100644
index 42a1d0b..0000000
--- a/InCallUI/res/drawable-hdpi/dial_num_5_wht.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/dial_num_6_wht.png b/InCallUI/res/drawable-hdpi/dial_num_6_wht.png
deleted file mode 100644
index b03e019..0000000
--- a/InCallUI/res/drawable-hdpi/dial_num_6_wht.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/dial_num_7_wht.png b/InCallUI/res/drawable-hdpi/dial_num_7_wht.png
deleted file mode 100644
index 8b72fff..0000000
--- a/InCallUI/res/drawable-hdpi/dial_num_7_wht.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/dial_num_8_wht.png b/InCallUI/res/drawable-hdpi/dial_num_8_wht.png
deleted file mode 100644
index 822f21a..0000000
--- a/InCallUI/res/drawable-hdpi/dial_num_8_wht.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/dial_num_9_wht.png b/InCallUI/res/drawable-hdpi/dial_num_9_wht.png
deleted file mode 100644
index 2ee944b..0000000
--- a/InCallUI/res/drawable-hdpi/dial_num_9_wht.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/dial_num_pound_wht.png b/InCallUI/res/drawable-hdpi/dial_num_pound_wht.png
deleted file mode 100644
index e10e57d..0000000
--- a/InCallUI/res/drawable-hdpi/dial_num_pound_wht.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/dial_num_star_wht.png b/InCallUI/res/drawable-hdpi/dial_num_star_wht.png
deleted file mode 100644
index 1dfc111..0000000
--- a/InCallUI/res/drawable-hdpi/dial_num_star_wht.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/fab_blue.png b/InCallUI/res/drawable-hdpi/fab_blue.png
new file mode 100644
index 0000000..8ff3d29
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/fab_blue.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/fab_ic_call.png b/InCallUI/res/drawable-hdpi/fab_ic_call.png
new file mode 100644
index 0000000..548a391
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/fab_ic_call.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/fab_ic_end_call.png b/InCallUI/res/drawable-hdpi/fab_ic_end_call.png
new file mode 100644
index 0000000..b7f54d3
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/fab_ic_end_call.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/fab_ic_message.png b/InCallUI/res/drawable-hdpi/fab_ic_message.png
new file mode 100644
index 0000000..a1cf2ad
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/fab_ic_message.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/fab_red.png b/InCallUI/res/drawable-hdpi/fab_red.png
new file mode 100644
index 0000000..497cc79
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/fab_red.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_ab_dialer_holo_dark.png b/InCallUI/res/drawable-hdpi/ic_ab_dialer_holo_dark.png
deleted file mode 100644
index ecfeb2d..0000000
--- a/InCallUI/res/drawable-hdpi/ic_ab_dialer_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_active_state_dialer_holo_dark.png b/InCallUI/res/drawable-hdpi/ic_active_state_dialer_holo_dark.png
deleted file mode 100644
index f4a08be..0000000
--- a/InCallUI/res/drawable-hdpi/ic_active_state_dialer_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_add_contact_holo_dark.png b/InCallUI/res/drawable-hdpi/ic_add_contact_holo_dark.png
deleted file mode 100644
index 88ff33b..0000000
--- a/InCallUI/res/drawable-hdpi/ic_add_contact_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_bluetooth_holo_dark.png b/InCallUI/res/drawable-hdpi/ic_bluetooth_holo_dark.png
deleted file mode 100644
index ba22b0f..0000000
--- a/InCallUI/res/drawable-hdpi/ic_bluetooth_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_call_white_24dp.png b/InCallUI/res/drawable-hdpi/ic_call_white_24dp.png
new file mode 100644
index 0000000..1902e72
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/ic_call_white_24dp.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_dialpad_holo_dark.png b/InCallUI/res/drawable-hdpi/ic_dialpad_holo_dark.png
deleted file mode 100644
index a0ab6c4..0000000
--- a/InCallUI/res/drawable-hdpi/ic_dialpad_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_groups_holo_dark.png b/InCallUI/res/drawable-hdpi/ic_groups_holo_dark.png
deleted file mode 100644
index 6194506..0000000
--- a/InCallUI/res/drawable-hdpi/ic_groups_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_hold_pause_holo_dark.png b/InCallUI/res/drawable-hdpi/ic_hold_pause_holo_dark.png
deleted file mode 100644
index 2b3ff3d..0000000
--- a/InCallUI/res/drawable-hdpi/ic_hold_pause_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_in_call_bt_dk.png b/InCallUI/res/drawable-hdpi/ic_in_call_bt_dk.png
deleted file mode 100644
index 4901a2c..0000000
--- a/InCallUI/res/drawable-hdpi/ic_in_call_bt_dk.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_in_call_touch_handle_normal.png b/InCallUI/res/drawable-hdpi/ic_in_call_touch_handle_normal.png
deleted file mode 100644
index e852534..0000000
--- a/InCallUI/res/drawable-hdpi/ic_in_call_touch_handle_normal.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_incall_switch_holo_dark.png b/InCallUI/res/drawable-hdpi/ic_incall_switch_holo_dark.png
deleted file mode 100644
index 429511b..0000000
--- a/InCallUI/res/drawable-hdpi/ic_incall_switch_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_lockscreen_answer_activated.png b/InCallUI/res/drawable-hdpi/ic_lockscreen_answer_activated.png
deleted file mode 100644
index 3d2752f..0000000
--- a/InCallUI/res/drawable-hdpi/ic_lockscreen_answer_activated.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_lockscreen_answer_normal.png b/InCallUI/res/drawable-hdpi/ic_lockscreen_answer_normal.png
deleted file mode 100644
index 9e26eda..0000000
--- a/InCallUI/res/drawable-hdpi/ic_lockscreen_answer_normal.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_lockscreen_decline_activated.png b/InCallUI/res/drawable-hdpi/ic_lockscreen_decline_activated.png
deleted file mode 100644
index b7a438f..0000000
--- a/InCallUI/res/drawable-hdpi/ic_lockscreen_decline_activated.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_lockscreen_decline_normal.png b/InCallUI/res/drawable-hdpi/ic_lockscreen_decline_normal.png
deleted file mode 100644
index a687ae3..0000000
--- a/InCallUI/res/drawable-hdpi/ic_lockscreen_decline_normal.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_merge_holo_dark.png b/InCallUI/res/drawable-hdpi/ic_merge_holo_dark.png
deleted file mode 100644
index 5069cbe..0000000
--- a/InCallUI/res/drawable-hdpi/ic_merge_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_more_indicator_holo_dark.png b/InCallUI/res/drawable-hdpi/ic_more_indicator_holo_dark.png
deleted file mode 100644
index 554f7e9..0000000
--- a/InCallUI/res/drawable-hdpi/ic_more_indicator_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_mute_holo_dark.png b/InCallUI/res/drawable-hdpi/ic_mute_holo_dark.png
deleted file mode 100644
index f17a2da..0000000
--- a/InCallUI/res/drawable-hdpi/ic_mute_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_phone_paused_white_24dp.png b/InCallUI/res/drawable-hdpi/ic_phone_paused_white_24dp.png
new file mode 100644
index 0000000..a2177f5
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/ic_phone_paused_white_24dp.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_sound_bluetooth_holo_dark.png b/InCallUI/res/drawable-hdpi/ic_sound_bluetooth_holo_dark.png
deleted file mode 100644
index c7f2402..0000000
--- a/InCallUI/res/drawable-hdpi/ic_sound_bluetooth_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_sound_handset_holo_dark.png b/InCallUI/res/drawable-hdpi/ic_sound_handset_holo_dark.png
deleted file mode 100644
index 288141a..0000000
--- a/InCallUI/res/drawable-hdpi/ic_sound_handset_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_sound_holo_dark.png b/InCallUI/res/drawable-hdpi/ic_sound_holo_dark.png
deleted file mode 100644
index 08ee3e8..0000000
--- a/InCallUI/res/drawable-hdpi/ic_sound_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_sound_off_speakerphone_holo_dark.png b/InCallUI/res/drawable-hdpi/ic_sound_off_speakerphone_holo_dark.png
deleted file mode 100644
index 6f12d52..0000000
--- a/InCallUI/res/drawable-hdpi/ic_sound_off_speakerphone_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_sound_speakerphone_holo_dark.png b/InCallUI/res/drawable-hdpi/ic_sound_speakerphone_holo_dark.png
deleted file mode 100644
index eadd0cd..0000000
--- a/InCallUI/res/drawable-hdpi/ic_sound_speakerphone_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_text_holo_dark.png b/InCallUI/res/drawable-hdpi/ic_text_holo_dark.png
deleted file mode 100644
index 6d21e42..0000000
--- a/InCallUI/res/drawable-hdpi/ic_text_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_add_call.png b/InCallUI/res/drawable-hdpi/ic_toolbar_add_call.png
new file mode 100644
index 0000000..06603f2
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/ic_toolbar_add_call.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_arrow_whitespace.png b/InCallUI/res/drawable-hdpi/ic_toolbar_arrow_whitespace.png
new file mode 100644
index 0000000..ea02daa
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/ic_toolbar_arrow_whitespace.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_audio_bluetooth.png b/InCallUI/res/drawable-hdpi/ic_toolbar_audio_bluetooth.png
new file mode 100644
index 0000000..05e19bc
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/ic_toolbar_audio_bluetooth.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_audio_headphones.png b/InCallUI/res/drawable-hdpi/ic_toolbar_audio_headphones.png
new file mode 100644
index 0000000..413fdff
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/ic_toolbar_audio_headphones.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_audio_phone.png b/InCallUI/res/drawable-hdpi/ic_toolbar_audio_phone.png
new file mode 100644
index 0000000..90ee1fb
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/ic_toolbar_audio_phone.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_dialpad.png b/InCallUI/res/drawable-hdpi/ic_toolbar_dialpad.png
new file mode 100644
index 0000000..69ece11
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/ic_toolbar_dialpad.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_hold.png b/InCallUI/res/drawable-hdpi/ic_toolbar_hold.png
new file mode 100644
index 0000000..f32d6d5
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/ic_toolbar_hold.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_merge.png b/InCallUI/res/drawable-hdpi/ic_toolbar_merge.png
new file mode 100644
index 0000000..2871555
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/ic_toolbar_merge.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_mic_off.png b/InCallUI/res/drawable-hdpi/ic_toolbar_mic_off.png
new file mode 100644
index 0000000..b142ca8
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/ic_toolbar_mic_off.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_speaker_on.png b/InCallUI/res/drawable-hdpi/ic_toolbar_speaker_on.png
new file mode 100644
index 0000000..c934b13
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/ic_toolbar_speaker_on.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_swap.png b/InCallUI/res/drawable-hdpi/ic_toolbar_swap.png
new file mode 100644
index 0000000..e673f32
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/ic_toolbar_swap.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_video.png b/InCallUI/res/drawable-hdpi/ic_toolbar_video.png
new file mode 100644
index 0000000..cef47aa
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/ic_toolbar_video.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_video_off.png b/InCallUI/res/drawable-hdpi/ic_toolbar_video_off.png
new file mode 100644
index 0000000..968ded7
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/ic_toolbar_video_off.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_video_switch.png b/InCallUI/res/drawable-hdpi/ic_toolbar_video_switch.png
new file mode 100644
index 0000000..cdd623d
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/ic_toolbar_video_switch.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/img_business.png b/InCallUI/res/drawable-hdpi/img_business.png
new file mode 100644
index 0000000..f706342
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/img_business.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/img_emergency.png b/InCallUI/res/drawable-hdpi/img_emergency.png
new file mode 100644
index 0000000..7e5eff4
--- /dev/null
+++ b/InCallUI/res/drawable-hdpi/img_emergency.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/list_focused_holo.9.png b/InCallUI/res/drawable-hdpi/list_focused_holo.9.png
deleted file mode 100644
index 516f5c7..0000000
--- a/InCallUI/res/drawable-hdpi/list_focused_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/list_pressed_holo_dark.9.png b/InCallUI/res/drawable-hdpi/list_pressed_holo_dark.9.png
deleted file mode 100644
index 596accb..0000000
--- a/InCallUI/res/drawable-hdpi/list_pressed_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/list_selector_disabled_holo_dark.9.png b/InCallUI/res/drawable-hdpi/list_selector_disabled_holo_dark.9.png
deleted file mode 100644
index c8afb46..0000000
--- a/InCallUI/res/drawable-hdpi/list_selector_disabled_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/picture_emergency.png b/InCallUI/res/drawable-hdpi/picture_emergency.png
deleted file mode 100644
index 0e13a43..0000000
--- a/InCallUI/res/drawable-hdpi/picture_emergency.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/picture_unknown.png b/InCallUI/res/drawable-hdpi/picture_unknown.png
index 26d2be1..297480e 100644
--- a/InCallUI/res/drawable-hdpi/picture_unknown.png
+++ b/InCallUI/res/drawable-hdpi/picture_unknown.png
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/stat_sys_phone_call.png b/InCallUI/res/drawable-hdpi/stat_sys_phone_call.png
deleted file mode 100644
index 7eda84c..0000000
--- a/InCallUI/res/drawable-hdpi/stat_sys_phone_call.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/stat_sys_phone_call_end.png b/InCallUI/res/drawable-hdpi/stat_sys_phone_call_end.png
deleted file mode 100644
index bc74937..0000000
--- a/InCallUI/res/drawable-hdpi/stat_sys_phone_call_end.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-hdpi/stat_sys_phone_call_on_hold.png b/InCallUI/res/drawable-hdpi/stat_sys_phone_call_on_hold.png
deleted file mode 100644
index 7e7bc3e..0000000
--- a/InCallUI/res/drawable-hdpi/stat_sys_phone_call_on_hold.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-hdpi/ic_ab_dialer_holo_dark.png b/InCallUI/res/drawable-ldrtl-hdpi/ic_ab_dialer_holo_dark.png
deleted file mode 100644
index 7ec3709..0000000
--- a/InCallUI/res/drawable-ldrtl-hdpi/ic_ab_dialer_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-hdpi/ic_add_contact_holo_dark.png b/InCallUI/res/drawable-ldrtl-hdpi/ic_add_contact_holo_dark.png
deleted file mode 100644
index b6a1381..0000000
--- a/InCallUI/res/drawable-ldrtl-hdpi/ic_add_contact_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-hdpi/ic_groups_holo_dark.png b/InCallUI/res/drawable-ldrtl-hdpi/ic_groups_holo_dark.png
deleted file mode 100644
index 185c55b..0000000
--- a/InCallUI/res/drawable-ldrtl-hdpi/ic_groups_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-hdpi/ic_in_call_touch_handle_normal.png b/InCallUI/res/drawable-ldrtl-hdpi/ic_in_call_touch_handle_normal.png
deleted file mode 100644
index 4a3628b..0000000
--- a/InCallUI/res/drawable-ldrtl-hdpi/ic_in_call_touch_handle_normal.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-hdpi/ic_lockscreen_answer_activated.png b/InCallUI/res/drawable-ldrtl-hdpi/ic_lockscreen_answer_activated.png
deleted file mode 100644
index f1deb75..0000000
--- a/InCallUI/res/drawable-ldrtl-hdpi/ic_lockscreen_answer_activated.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-hdpi/ic_more_indicator_holo_dark.png b/InCallUI/res/drawable-ldrtl-hdpi/ic_more_indicator_holo_dark.png
deleted file mode 100644
index adb18ae..0000000
--- a/InCallUI/res/drawable-ldrtl-hdpi/ic_more_indicator_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-hdpi/ic_sound_handset_holo_dark.png b/InCallUI/res/drawable-ldrtl-hdpi/ic_sound_handset_holo_dark.png
deleted file mode 100644
index 207d941..0000000
--- a/InCallUI/res/drawable-ldrtl-hdpi/ic_sound_handset_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-hdpi/ic_sound_holo_dark.png b/InCallUI/res/drawable-ldrtl-hdpi/ic_sound_holo_dark.png
deleted file mode 100644
index c2e8adb..0000000
--- a/InCallUI/res/drawable-ldrtl-hdpi/ic_sound_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-hdpi/ic_text_holo_dark.png b/InCallUI/res/drawable-ldrtl-hdpi/ic_text_holo_dark.png
deleted file mode 100644
index 667e961..0000000
--- a/InCallUI/res/drawable-ldrtl-hdpi/ic_text_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-hdpi/stat_sys_phone_call.png b/InCallUI/res/drawable-ldrtl-hdpi/stat_sys_phone_call.png
deleted file mode 100644
index e0f33f8..0000000
--- a/InCallUI/res/drawable-ldrtl-hdpi/stat_sys_phone_call.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-hdpi/stat_sys_phone_call_on_hold.png b/InCallUI/res/drawable-ldrtl-hdpi/stat_sys_phone_call_on_hold.png
deleted file mode 100644
index 18de248..0000000
--- a/InCallUI/res/drawable-ldrtl-hdpi/stat_sys_phone_call_on_hold.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-mdpi/ic_ab_dialer_holo_dark.png b/InCallUI/res/drawable-ldrtl-mdpi/ic_ab_dialer_holo_dark.png
deleted file mode 100644
index 6020b3d..0000000
--- a/InCallUI/res/drawable-ldrtl-mdpi/ic_ab_dialer_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-mdpi/ic_add_contact_holo_dark.png b/InCallUI/res/drawable-ldrtl-mdpi/ic_add_contact_holo_dark.png
deleted file mode 100644
index 72abb91..0000000
--- a/InCallUI/res/drawable-ldrtl-mdpi/ic_add_contact_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-mdpi/ic_groups_holo_dark.png b/InCallUI/res/drawable-ldrtl-mdpi/ic_groups_holo_dark.png
deleted file mode 100644
index 844bed3..0000000
--- a/InCallUI/res/drawable-ldrtl-mdpi/ic_groups_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-mdpi/ic_in_call_touch_handle_normal.png b/InCallUI/res/drawable-ldrtl-mdpi/ic_in_call_touch_handle_normal.png
deleted file mode 100644
index 13b2ecf..0000000
--- a/InCallUI/res/drawable-ldrtl-mdpi/ic_in_call_touch_handle_normal.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-mdpi/ic_lockscreen_answer_activated.png b/InCallUI/res/drawable-ldrtl-mdpi/ic_lockscreen_answer_activated.png
deleted file mode 100644
index 3d68ff9..0000000
--- a/InCallUI/res/drawable-ldrtl-mdpi/ic_lockscreen_answer_activated.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-mdpi/ic_more_indicator_holo_dark.png b/InCallUI/res/drawable-ldrtl-mdpi/ic_more_indicator_holo_dark.png
deleted file mode 100644
index 2de388f..0000000
--- a/InCallUI/res/drawable-ldrtl-mdpi/ic_more_indicator_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-mdpi/ic_sound_handset_holo_dark.png b/InCallUI/res/drawable-ldrtl-mdpi/ic_sound_handset_holo_dark.png
deleted file mode 100644
index 6bf0e8d..0000000
--- a/InCallUI/res/drawable-ldrtl-mdpi/ic_sound_handset_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-mdpi/ic_sound_holo_dark.png b/InCallUI/res/drawable-ldrtl-mdpi/ic_sound_holo_dark.png
deleted file mode 100644
index 561e8fa..0000000
--- a/InCallUI/res/drawable-ldrtl-mdpi/ic_sound_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-mdpi/ic_text_holo_dark.png b/InCallUI/res/drawable-ldrtl-mdpi/ic_text_holo_dark.png
deleted file mode 100644
index 4429d02..0000000
--- a/InCallUI/res/drawable-ldrtl-mdpi/ic_text_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-mdpi/stat_sys_phone_call.png b/InCallUI/res/drawable-ldrtl-mdpi/stat_sys_phone_call.png
deleted file mode 100644
index d771d87..0000000
--- a/InCallUI/res/drawable-ldrtl-mdpi/stat_sys_phone_call.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-mdpi/stat_sys_phone_call_on_hold.png b/InCallUI/res/drawable-ldrtl-mdpi/stat_sys_phone_call_on_hold.png
deleted file mode 100644
index 60f665d..0000000
--- a/InCallUI/res/drawable-ldrtl-mdpi/stat_sys_phone_call_on_hold.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-xhdpi/ic_ab_dialer_holo_dark.png b/InCallUI/res/drawable-ldrtl-xhdpi/ic_ab_dialer_holo_dark.png
deleted file mode 100644
index c42e7e3..0000000
--- a/InCallUI/res/drawable-ldrtl-xhdpi/ic_ab_dialer_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-xhdpi/ic_add_contact_holo_dark.png b/InCallUI/res/drawable-ldrtl-xhdpi/ic_add_contact_holo_dark.png
deleted file mode 100644
index 60068fd..0000000
--- a/InCallUI/res/drawable-ldrtl-xhdpi/ic_add_contact_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-xhdpi/ic_groups_holo_dark.png b/InCallUI/res/drawable-ldrtl-xhdpi/ic_groups_holo_dark.png
deleted file mode 100644
index 38ea395..0000000
--- a/InCallUI/res/drawable-ldrtl-xhdpi/ic_groups_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-xhdpi/ic_in_call_touch_handle_normal.png b/InCallUI/res/drawable-ldrtl-xhdpi/ic_in_call_touch_handle_normal.png
deleted file mode 100644
index c707950..0000000
--- a/InCallUI/res/drawable-ldrtl-xhdpi/ic_in_call_touch_handle_normal.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-xhdpi/ic_lockscreen_answer_activated.png b/InCallUI/res/drawable-ldrtl-xhdpi/ic_lockscreen_answer_activated.png
deleted file mode 100644
index 1acdc59..0000000
--- a/InCallUI/res/drawable-ldrtl-xhdpi/ic_lockscreen_answer_activated.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-xhdpi/ic_more_indicator_holo_dark.png b/InCallUI/res/drawable-ldrtl-xhdpi/ic_more_indicator_holo_dark.png
deleted file mode 100644
index 6fe45cd..0000000
--- a/InCallUI/res/drawable-ldrtl-xhdpi/ic_more_indicator_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-xhdpi/ic_sound_handset_holo_dark.png b/InCallUI/res/drawable-ldrtl-xhdpi/ic_sound_handset_holo_dark.png
deleted file mode 100644
index 1c1f1ad..0000000
--- a/InCallUI/res/drawable-ldrtl-xhdpi/ic_sound_handset_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-xhdpi/ic_sound_holo_dark.png b/InCallUI/res/drawable-ldrtl-xhdpi/ic_sound_holo_dark.png
deleted file mode 100644
index ac38205..0000000
--- a/InCallUI/res/drawable-ldrtl-xhdpi/ic_sound_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-xhdpi/ic_text_holo_dark.png b/InCallUI/res/drawable-ldrtl-xhdpi/ic_text_holo_dark.png
deleted file mode 100644
index 2a28bab..0000000
--- a/InCallUI/res/drawable-ldrtl-xhdpi/ic_text_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-xhdpi/stat_sys_phone_call.png b/InCallUI/res/drawable-ldrtl-xhdpi/stat_sys_phone_call.png
deleted file mode 100644
index 86af9c2..0000000
--- a/InCallUI/res/drawable-ldrtl-xhdpi/stat_sys_phone_call.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-ldrtl-xhdpi/stat_sys_phone_call_on_hold.png b/InCallUI/res/drawable-ldrtl-xhdpi/stat_sys_phone_call_on_hold.png
deleted file mode 100644
index 2cbcb5f..0000000
--- a/InCallUI/res/drawable-ldrtl-xhdpi/stat_sys_phone_call_on_hold.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/business_unknown.png b/InCallUI/res/drawable-mdpi/business_unknown.png
deleted file mode 100644
index eac97a9..0000000
--- a/InCallUI/res/drawable-mdpi/business_unknown.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/dial_background_texture.png b/InCallUI/res/drawable-mdpi/dial_background_texture.png
deleted file mode 100644
index 90cd07c..0000000
--- a/InCallUI/res/drawable-mdpi/dial_background_texture.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/fab_blue.png b/InCallUI/res/drawable-mdpi/fab_blue.png
new file mode 100644
index 0000000..2ca6b4b
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/fab_blue.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/fab_ic_call.png b/InCallUI/res/drawable-mdpi/fab_ic_call.png
new file mode 100644
index 0000000..ff7b345
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/fab_ic_call.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/fab_ic_end_call.png b/InCallUI/res/drawable-mdpi/fab_ic_end_call.png
new file mode 100644
index 0000000..76ce397
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/fab_ic_end_call.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/fab_ic_message.png b/InCallUI/res/drawable-mdpi/fab_ic_message.png
new file mode 100644
index 0000000..74876fe
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/fab_ic_message.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/fab_red.png b/InCallUI/res/drawable-mdpi/fab_red.png
new file mode 100644
index 0000000..c9e76a0
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/fab_red.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_ab_dialer_holo_dark.png b/InCallUI/res/drawable-mdpi/ic_ab_dialer_holo_dark.png
deleted file mode 100644
index 51ad9e3..0000000
--- a/InCallUI/res/drawable-mdpi/ic_ab_dialer_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_active_state_dialer_holo_dark.png b/InCallUI/res/drawable-mdpi/ic_active_state_dialer_holo_dark.png
deleted file mode 100644
index 6ff8e48..0000000
--- a/InCallUI/res/drawable-mdpi/ic_active_state_dialer_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_add_contact_holo_dark.png b/InCallUI/res/drawable-mdpi/ic_add_contact_holo_dark.png
deleted file mode 100644
index 867f494..0000000
--- a/InCallUI/res/drawable-mdpi/ic_add_contact_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_bluetooth_holo_dark.png b/InCallUI/res/drawable-mdpi/ic_bluetooth_holo_dark.png
deleted file mode 100644
index fb69031..0000000
--- a/InCallUI/res/drawable-mdpi/ic_bluetooth_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_call_white_24dp.png b/InCallUI/res/drawable-mdpi/ic_call_white_24dp.png
new file mode 100644
index 0000000..d4e5f5d
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/ic_call_white_24dp.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_dialpad_holo_dark.png b/InCallUI/res/drawable-mdpi/ic_dialpad_holo_dark.png
deleted file mode 100644
index b57fcf3..0000000
--- a/InCallUI/res/drawable-mdpi/ic_dialpad_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_groups_holo_dark.png b/InCallUI/res/drawable-mdpi/ic_groups_holo_dark.png
deleted file mode 100644
index fefee32..0000000
--- a/InCallUI/res/drawable-mdpi/ic_groups_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_hold_pause_holo_dark.png b/InCallUI/res/drawable-mdpi/ic_hold_pause_holo_dark.png
deleted file mode 100644
index 7d550de..0000000
--- a/InCallUI/res/drawable-mdpi/ic_hold_pause_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_in_call_bt_dk.png b/InCallUI/res/drawable-mdpi/ic_in_call_bt_dk.png
deleted file mode 100644
index 820ebe1..0000000
--- a/InCallUI/res/drawable-mdpi/ic_in_call_bt_dk.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_in_call_touch_handle_normal.png b/InCallUI/res/drawable-mdpi/ic_in_call_touch_handle_normal.png
deleted file mode 100644
index cebdc4d..0000000
--- a/InCallUI/res/drawable-mdpi/ic_in_call_touch_handle_normal.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_incall_switch_holo_dark.png b/InCallUI/res/drawable-mdpi/ic_incall_switch_holo_dark.png
deleted file mode 100644
index 5b35ef1..0000000
--- a/InCallUI/res/drawable-mdpi/ic_incall_switch_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_lockscreen_answer_activated.png b/InCallUI/res/drawable-mdpi/ic_lockscreen_answer_activated.png
deleted file mode 100644
index 6a78f81..0000000
--- a/InCallUI/res/drawable-mdpi/ic_lockscreen_answer_activated.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_merge_holo_dark.png b/InCallUI/res/drawable-mdpi/ic_merge_holo_dark.png
deleted file mode 100644
index bd34def..0000000
--- a/InCallUI/res/drawable-mdpi/ic_merge_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_more_indicator_holo_dark.png b/InCallUI/res/drawable-mdpi/ic_more_indicator_holo_dark.png
deleted file mode 100644
index 27b6d33..0000000
--- a/InCallUI/res/drawable-mdpi/ic_more_indicator_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_mute_holo_dark.png b/InCallUI/res/drawable-mdpi/ic_mute_holo_dark.png
deleted file mode 100644
index 801d1e0..0000000
--- a/InCallUI/res/drawable-mdpi/ic_mute_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_phone_paused_white_24dp.png b/InCallUI/res/drawable-mdpi/ic_phone_paused_white_24dp.png
new file mode 100644
index 0000000..7dc920b
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/ic_phone_paused_white_24dp.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_sound_bluetooth_holo_dark.png b/InCallUI/res/drawable-mdpi/ic_sound_bluetooth_holo_dark.png
deleted file mode 100644
index c0e95cb..0000000
--- a/InCallUI/res/drawable-mdpi/ic_sound_bluetooth_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_sound_handset_holo_dark.png b/InCallUI/res/drawable-mdpi/ic_sound_handset_holo_dark.png
deleted file mode 100644
index e5fce57..0000000
--- a/InCallUI/res/drawable-mdpi/ic_sound_handset_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_sound_holo_dark.png b/InCallUI/res/drawable-mdpi/ic_sound_holo_dark.png
deleted file mode 100644
index 060f926..0000000
--- a/InCallUI/res/drawable-mdpi/ic_sound_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_text_holo_dark.png b/InCallUI/res/drawable-mdpi/ic_text_holo_dark.png
deleted file mode 100644
index 80b95ee..0000000
--- a/InCallUI/res/drawable-mdpi/ic_text_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_add_call.png b/InCallUI/res/drawable-mdpi/ic_toolbar_add_call.png
new file mode 100644
index 0000000..1ee2fb1
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/ic_toolbar_add_call.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_arrow_whitespace.png b/InCallUI/res/drawable-mdpi/ic_toolbar_arrow_whitespace.png
new file mode 100644
index 0000000..c39990d
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/ic_toolbar_arrow_whitespace.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_audio_bluetooth.png b/InCallUI/res/drawable-mdpi/ic_toolbar_audio_bluetooth.png
new file mode 100644
index 0000000..a6634ed
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/ic_toolbar_audio_bluetooth.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_audio_headphones.png b/InCallUI/res/drawable-mdpi/ic_toolbar_audio_headphones.png
new file mode 100644
index 0000000..b387e85
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/ic_toolbar_audio_headphones.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_audio_phone.png b/InCallUI/res/drawable-mdpi/ic_toolbar_audio_phone.png
new file mode 100644
index 0000000..b4d887c
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/ic_toolbar_audio_phone.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_dialpad.png b/InCallUI/res/drawable-mdpi/ic_toolbar_dialpad.png
new file mode 100644
index 0000000..9baa21b
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/ic_toolbar_dialpad.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_hold.png b/InCallUI/res/drawable-mdpi/ic_toolbar_hold.png
new file mode 100644
index 0000000..c837273
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/ic_toolbar_hold.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_merge.png b/InCallUI/res/drawable-mdpi/ic_toolbar_merge.png
new file mode 100644
index 0000000..2fba865
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/ic_toolbar_merge.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_mic_off.png b/InCallUI/res/drawable-mdpi/ic_toolbar_mic_off.png
new file mode 100644
index 0000000..c6b02b8
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/ic_toolbar_mic_off.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_speaker_on.png b/InCallUI/res/drawable-mdpi/ic_toolbar_speaker_on.png
new file mode 100644
index 0000000..008e245
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/ic_toolbar_speaker_on.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_swap.png b/InCallUI/res/drawable-mdpi/ic_toolbar_swap.png
new file mode 100644
index 0000000..acc9850
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/ic_toolbar_swap.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_video.png b/InCallUI/res/drawable-mdpi/ic_toolbar_video.png
new file mode 100644
index 0000000..3f13f9c
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/ic_toolbar_video.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_video_off.png b/InCallUI/res/drawable-mdpi/ic_toolbar_video_off.png
new file mode 100644
index 0000000..64a69f2
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/ic_toolbar_video_off.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_video_switch.png b/InCallUI/res/drawable-mdpi/ic_toolbar_video_switch.png
new file mode 100644
index 0000000..6d097c9
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/ic_toolbar_video_switch.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/img_business.png b/InCallUI/res/drawable-mdpi/img_business.png
new file mode 100644
index 0000000..90738a7
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/img_business.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/img_emergency.png b/InCallUI/res/drawable-mdpi/img_emergency.png
new file mode 100644
index 0000000..0209eb9
--- /dev/null
+++ b/InCallUI/res/drawable-mdpi/img_emergency.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/list_focused_holo.9.png b/InCallUI/res/drawable-mdpi/list_focused_holo.9.png
deleted file mode 100644
index 7c0599e..0000000
--- a/InCallUI/res/drawable-mdpi/list_focused_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/list_pressed_holo_dark.9.png b/InCallUI/res/drawable-mdpi/list_pressed_holo_dark.9.png
deleted file mode 100644
index fd0e8d7..0000000
--- a/InCallUI/res/drawable-mdpi/list_pressed_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/list_selector_disabled_holo_dark.9.png b/InCallUI/res/drawable-mdpi/list_selector_disabled_holo_dark.9.png
deleted file mode 100644
index c9002b7..0000000
--- a/InCallUI/res/drawable-mdpi/list_selector_disabled_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/picture_emergency.png b/InCallUI/res/drawable-mdpi/picture_emergency.png
deleted file mode 100644
index a224b80..0000000
--- a/InCallUI/res/drawable-mdpi/picture_emergency.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/picture_unknown.png b/InCallUI/res/drawable-mdpi/picture_unknown.png
index 1ee333c..dd043d4 100644
--- a/InCallUI/res/drawable-mdpi/picture_unknown.png
+++ b/InCallUI/res/drawable-mdpi/picture_unknown.png
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/stat_sys_phone_call.png b/InCallUI/res/drawable-mdpi/stat_sys_phone_call.png
deleted file mode 100644
index 70a4bbe..0000000
--- a/InCallUI/res/drawable-mdpi/stat_sys_phone_call.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/stat_sys_phone_call_end.png b/InCallUI/res/drawable-mdpi/stat_sys_phone_call_end.png
deleted file mode 100644
index 15e7e67..0000000
--- a/InCallUI/res/drawable-mdpi/stat_sys_phone_call_end.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-mdpi/stat_sys_phone_call_on_hold.png b/InCallUI/res/drawable-mdpi/stat_sys_phone_call_on_hold.png
deleted file mode 100644
index 20ff4b6..0000000
--- a/InCallUI/res/drawable-mdpi/stat_sys_phone_call_on_hold.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/business_unknown.png b/InCallUI/res/drawable-xhdpi/business_unknown.png
deleted file mode 100644
index aa84456..0000000
--- a/InCallUI/res/drawable-xhdpi/business_unknown.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/dial_background_texture.png b/InCallUI/res/drawable-xhdpi/dial_background_texture.png
deleted file mode 100644
index 02aacc8..0000000
--- a/InCallUI/res/drawable-xhdpi/dial_background_texture.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/fab_blue.png b/InCallUI/res/drawable-xhdpi/fab_blue.png
new file mode 100644
index 0000000..300b07e
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/fab_blue.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/fab_ic_call.png b/InCallUI/res/drawable-xhdpi/fab_ic_call.png
new file mode 100644
index 0000000..2bff65e
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/fab_ic_call.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/fab_ic_end_call.png b/InCallUI/res/drawable-xhdpi/fab_ic_end_call.png
new file mode 100644
index 0000000..1c95e17
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/fab_ic_end_call.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/fab_ic_message.png b/InCallUI/res/drawable-xhdpi/fab_ic_message.png
new file mode 100644
index 0000000..5e3334a
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/fab_ic_message.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/fab_red.png b/InCallUI/res/drawable-xhdpi/fab_red.png
new file mode 100644
index 0000000..373e49e
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/fab_red.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_ab_dialer_holo_dark.png b/InCallUI/res/drawable-xhdpi/ic_ab_dialer_holo_dark.png
deleted file mode 100644
index 3f43a82..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_ab_dialer_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_active_state_dialer_holo_dark.png b/InCallUI/res/drawable-xhdpi/ic_active_state_dialer_holo_dark.png
deleted file mode 100644
index 0211d69..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_active_state_dialer_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_add_contact_holo_dark.png b/InCallUI/res/drawable-xhdpi/ic_add_contact_holo_dark.png
deleted file mode 100644
index 7298882..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_add_contact_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_bluetooth_holo_dark.png b/InCallUI/res/drawable-xhdpi/ic_bluetooth_holo_dark.png
deleted file mode 100644
index 24cb893..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_bluetooth_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_call_white_24dp.png b/InCallUI/res/drawable-xhdpi/ic_call_white_24dp.png
new file mode 100644
index 0000000..cde9cea
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/ic_call_white_24dp.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_dialpad_holo_dark.png b/InCallUI/res/drawable-xhdpi/ic_dialpad_holo_dark.png
deleted file mode 100644
index f9a002c..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_dialpad_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_groups_holo_dark.png b/InCallUI/res/drawable-xhdpi/ic_groups_holo_dark.png
deleted file mode 100644
index 470ca27..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_groups_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_hold_pause_holo_dark.png b/InCallUI/res/drawable-xhdpi/ic_hold_pause_holo_dark.png
deleted file mode 100644
index d296675..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_hold_pause_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_in_call_bt_dk.png b/InCallUI/res/drawable-xhdpi/ic_in_call_bt_dk.png
deleted file mode 100644
index 8ca78f4..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_in_call_bt_dk.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_in_call_touch_handle_normal.png b/InCallUI/res/drawable-xhdpi/ic_in_call_touch_handle_normal.png
deleted file mode 100644
index 1d112f2..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_in_call_touch_handle_normal.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_incall_switch_holo_dark.png b/InCallUI/res/drawable-xhdpi/ic_incall_switch_holo_dark.png
deleted file mode 100644
index 9168c32..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_incall_switch_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_lockscreen_answer_activated.png b/InCallUI/res/drawable-xhdpi/ic_lockscreen_answer_activated.png
deleted file mode 100644
index cd6a6ab..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_lockscreen_answer_activated.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_merge_holo_dark.png b/InCallUI/res/drawable-xhdpi/ic_merge_holo_dark.png
deleted file mode 100644
index 57baa20..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_merge_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_more_indicator_holo_dark.png b/InCallUI/res/drawable-xhdpi/ic_more_indicator_holo_dark.png
deleted file mode 100644
index 3d9897a..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_more_indicator_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_mute_holo_dark.png b/InCallUI/res/drawable-xhdpi/ic_mute_holo_dark.png
deleted file mode 100644
index a882a76..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_mute_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_phone_paused_white_24dp.png b/InCallUI/res/drawable-xhdpi/ic_phone_paused_white_24dp.png
new file mode 100644
index 0000000..a8becf4
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/ic_phone_paused_white_24dp.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_sound_bluetooth_holo_dark.png b/InCallUI/res/drawable-xhdpi/ic_sound_bluetooth_holo_dark.png
deleted file mode 100644
index 867d87d..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_sound_bluetooth_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_sound_handset_holo_dark.png b/InCallUI/res/drawable-xhdpi/ic_sound_handset_holo_dark.png
deleted file mode 100644
index 42e19bd..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_sound_handset_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_sound_holo_dark.png b/InCallUI/res/drawable-xhdpi/ic_sound_holo_dark.png
deleted file mode 100644
index aa2a5af..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_sound_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_text_holo_dark.png b/InCallUI/res/drawable-xhdpi/ic_text_holo_dark.png
deleted file mode 100644
index e80a042..0000000
--- a/InCallUI/res/drawable-xhdpi/ic_text_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_add_call.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_add_call.png
new file mode 100644
index 0000000..b251d6b
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/ic_toolbar_add_call.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_arrow_whitespace.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_arrow_whitespace.png
new file mode 100644
index 0000000..cdaa79d
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/ic_toolbar_arrow_whitespace.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_bluetooth.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_bluetooth.png
new file mode 100644
index 0000000..88f6bb9
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_bluetooth.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_headphones.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_headphones.png
new file mode 100644
index 0000000..1acfcaf
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_headphones.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_phone.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_phone.png
new file mode 100644
index 0000000..0ba8f1e
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_phone.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_dialpad.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_dialpad.png
new file mode 100644
index 0000000..cf803d1
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/ic_toolbar_dialpad.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_hold.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_hold.png
new file mode 100644
index 0000000..8fecf75
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/ic_toolbar_hold.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_merge.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_merge.png
new file mode 100644
index 0000000..777483e
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/ic_toolbar_merge.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_mic_off.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_mic_off.png
new file mode 100644
index 0000000..cf2041a
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/ic_toolbar_mic_off.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_speaker_on.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_speaker_on.png
new file mode 100644
index 0000000..5b5831c
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/ic_toolbar_speaker_on.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_swap.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_swap.png
new file mode 100644
index 0000000..38917cb
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/ic_toolbar_swap.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_video.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_video.png
new file mode 100644
index 0000000..b20f504
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/ic_toolbar_video.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_video_off.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_video_off.png
new file mode 100644
index 0000000..1b269a6
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/ic_toolbar_video_off.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_video_switch.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_video_switch.png
new file mode 100644
index 0000000..fae6bfd
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/ic_toolbar_video_switch.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/img_business.png b/InCallUI/res/drawable-xhdpi/img_business.png
new file mode 100644
index 0000000..7b04d95
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/img_business.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/img_emergency.png b/InCallUI/res/drawable-xhdpi/img_emergency.png
new file mode 100644
index 0000000..5c00d9d
--- /dev/null
+++ b/InCallUI/res/drawable-xhdpi/img_emergency.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/list_focused_holo.9.png b/InCallUI/res/drawable-xhdpi/list_focused_holo.9.png
deleted file mode 100644
index 690cb1e..0000000
--- a/InCallUI/res/drawable-xhdpi/list_focused_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/list_pressed_holo_dark.9.png b/InCallUI/res/drawable-xhdpi/list_pressed_holo_dark.9.png
deleted file mode 100644
index 29037a0..0000000
--- a/InCallUI/res/drawable-xhdpi/list_pressed_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/list_selector_disabled_holo_dark.9.png b/InCallUI/res/drawable-xhdpi/list_selector_disabled_holo_dark.9.png
deleted file mode 100644
index 88726b6..0000000
--- a/InCallUI/res/drawable-xhdpi/list_selector_disabled_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/picture_emergency.png b/InCallUI/res/drawable-xhdpi/picture_emergency.png
deleted file mode 100644
index 08b421e..0000000
--- a/InCallUI/res/drawable-xhdpi/picture_emergency.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/picture_unknown.png b/InCallUI/res/drawable-xhdpi/picture_unknown.png
index db74fd9..0525c86 100644
--- a/InCallUI/res/drawable-xhdpi/picture_unknown.png
+++ b/InCallUI/res/drawable-xhdpi/picture_unknown.png
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/stat_sys_phone_call.png b/InCallUI/res/drawable-xhdpi/stat_sys_phone_call.png
deleted file mode 100644
index 1bb4340..0000000
--- a/InCallUI/res/drawable-xhdpi/stat_sys_phone_call.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/stat_sys_phone_call_end.png b/InCallUI/res/drawable-xhdpi/stat_sys_phone_call_end.png
deleted file mode 100644
index b0b1bc1..0000000
--- a/InCallUI/res/drawable-xhdpi/stat_sys_phone_call_end.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xhdpi/stat_sys_phone_call_on_hold.png b/InCallUI/res/drawable-xhdpi/stat_sys_phone_call_on_hold.png
deleted file mode 100644
index a6748d8..0000000
--- a/InCallUI/res/drawable-xhdpi/stat_sys_phone_call_on_hold.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/business_unknown.png b/InCallUI/res/drawable-xxhdpi/business_unknown.png
deleted file mode 100644
index 6273bb3..0000000
--- a/InCallUI/res/drawable-xxhdpi/business_unknown.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/dial_background_texture.png b/InCallUI/res/drawable-xxhdpi/dial_background_texture.png
deleted file mode 100644
index 437741c..0000000
--- a/InCallUI/res/drawable-xxhdpi/dial_background_texture.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/fab_blue.png b/InCallUI/res/drawable-xxhdpi/fab_blue.png
new file mode 100644
index 0000000..76d68ac
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/fab_blue.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/fab_ic_call.png b/InCallUI/res/drawable-xxhdpi/fab_ic_call.png
new file mode 100644
index 0000000..a756b95
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/fab_ic_call.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/fab_ic_end_call.png b/InCallUI/res/drawable-xxhdpi/fab_ic_end_call.png
new file mode 100644
index 0000000..37e8264
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/fab_ic_end_call.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/fab_ic_message.png b/InCallUI/res/drawable-xxhdpi/fab_ic_message.png
new file mode 100644
index 0000000..66984b1
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/fab_ic_message.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/fab_red.png b/InCallUI/res/drawable-xxhdpi/fab_red.png
new file mode 100644
index 0000000..92eb979
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/fab_red.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_ab_dialer_holo_dark.png b/InCallUI/res/drawable-xxhdpi/ic_ab_dialer_holo_dark.png
deleted file mode 100644
index 3c8021c..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_ab_dialer_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_active_state_dialer_holo_dark.png b/InCallUI/res/drawable-xxhdpi/ic_active_state_dialer_holo_dark.png
deleted file mode 100644
index 26a22ba..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_active_state_dialer_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_add_contact_holo_dark.png b/InCallUI/res/drawable-xxhdpi/ic_add_contact_holo_dark.png
deleted file mode 100644
index 6eed276..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_add_contact_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_bluetooth_holo_dark.png b/InCallUI/res/drawable-xxhdpi/ic_bluetooth_holo_dark.png
deleted file mode 100644
index 4b668b7..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_bluetooth_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_call_white_24dp.png b/InCallUI/res/drawable-xxhdpi/ic_call_white_24dp.png
new file mode 100644
index 0000000..b761bc4
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/ic_call_white_24dp.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_dialpad_holo_dark.png b/InCallUI/res/drawable-xxhdpi/ic_dialpad_holo_dark.png
deleted file mode 100644
index c8ce94b..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_dialpad_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_groups_holo_dark.png b/InCallUI/res/drawable-xxhdpi/ic_groups_holo_dark.png
deleted file mode 100644
index 6fdaa5d..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_groups_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_hold_pause_holo_dark.png b/InCallUI/res/drawable-xxhdpi/ic_hold_pause_holo_dark.png
deleted file mode 100644
index e38bea1..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_hold_pause_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_in_call_bt_dk.png b/InCallUI/res/drawable-xxhdpi/ic_in_call_bt_dk.png
deleted file mode 100644
index e94c772..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_in_call_bt_dk.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_in_call_touch_handle_normal.png b/InCallUI/res/drawable-xxhdpi/ic_in_call_touch_handle_normal.png
deleted file mode 100644
index b41967b..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_in_call_touch_handle_normal.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_incall_switch_holo_dark.png b/InCallUI/res/drawable-xxhdpi/ic_incall_switch_holo_dark.png
deleted file mode 100644
index 67c1d7d..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_incall_switch_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_lockscreen_answer_activated.png b/InCallUI/res/drawable-xxhdpi/ic_lockscreen_answer_activated.png
deleted file mode 100644
index 173b54c..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_lockscreen_answer_activated.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_merge_holo_dark.png b/InCallUI/res/drawable-xxhdpi/ic_merge_holo_dark.png
deleted file mode 100644
index a7125af..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_merge_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_more_indicator_holo_dark.png b/InCallUI/res/drawable-xxhdpi/ic_more_indicator_holo_dark.png
deleted file mode 100644
index 42f6549..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_more_indicator_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_mute_holo_dark.png b/InCallUI/res/drawable-xxhdpi/ic_mute_holo_dark.png
deleted file mode 100644
index 678b7fb..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_mute_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_phone_paused_white_24dp.png b/InCallUI/res/drawable-xxhdpi/ic_phone_paused_white_24dp.png
new file mode 100644
index 0000000..baf0cf2
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/ic_phone_paused_white_24dp.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_sound_bluetooth_holo_dark.png b/InCallUI/res/drawable-xxhdpi/ic_sound_bluetooth_holo_dark.png
deleted file mode 100644
index 8646bec..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_sound_bluetooth_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_sound_handset_holo_dark.png b/InCallUI/res/drawable-xxhdpi/ic_sound_handset_holo_dark.png
deleted file mode 100644
index 7f89efb..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_sound_handset_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_sound_holo_dark.png b/InCallUI/res/drawable-xxhdpi/ic_sound_holo_dark.png
deleted file mode 100644
index 5d36d4e..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_sound_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_text_holo_dark.png b/InCallUI/res/drawable-xxhdpi/ic_text_holo_dark.png
deleted file mode 100644
index b73e8b0..0000000
--- a/InCallUI/res/drawable-xxhdpi/ic_text_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_add_call.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_add_call.png
new file mode 100644
index 0000000..6e343c7
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/ic_toolbar_add_call.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_arrow_whitespace.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_arrow_whitespace.png
new file mode 100644
index 0000000..7377040
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/ic_toolbar_arrow_whitespace.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_bluetooth.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_bluetooth.png
new file mode 100644
index 0000000..b8a385d
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_bluetooth.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_headphones.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_headphones.png
new file mode 100644
index 0000000..62d0ae3
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_headphones.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_phone.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_phone.png
new file mode 100644
index 0000000..0e88501
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_phone.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_dialpad.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_dialpad.png
new file mode 100644
index 0000000..a754f68
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/ic_toolbar_dialpad.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_hold.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_hold.png
new file mode 100644
index 0000000..f3757a8
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/ic_toolbar_hold.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_merge.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_merge.png
new file mode 100644
index 0000000..5d04600
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/ic_toolbar_merge.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_mic_off.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_mic_off.png
new file mode 100644
index 0000000..ae41d5c
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/ic_toolbar_mic_off.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_speaker_on.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_speaker_on.png
new file mode 100644
index 0000000..d1bbb09
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/ic_toolbar_speaker_on.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_swap.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_swap.png
new file mode 100644
index 0000000..ea9127e
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/ic_toolbar_swap.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_video.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_video.png
new file mode 100644
index 0000000..5c52dd6
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/ic_toolbar_video.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_video_off.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_video_off.png
new file mode 100644
index 0000000..898b7c0
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/ic_toolbar_video_off.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_video_switch.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_video_switch.png
new file mode 100644
index 0000000..4380a47
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/ic_toolbar_video_switch.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/img_business.png b/InCallUI/res/drawable-xxhdpi/img_business.png
new file mode 100644
index 0000000..c17e4c9
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/img_business.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/img_emergency.png b/InCallUI/res/drawable-xxhdpi/img_emergency.png
new file mode 100644
index 0000000..4eaaba5
--- /dev/null
+++ b/InCallUI/res/drawable-xxhdpi/img_emergency.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/list_focused_holo.9.png b/InCallUI/res/drawable-xxhdpi/list_focused_holo.9.png
deleted file mode 100644
index 3e4ca68..0000000
--- a/InCallUI/res/drawable-xxhdpi/list_focused_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/list_pressed_holo_dark.9.png b/InCallUI/res/drawable-xxhdpi/list_pressed_holo_dark.9.png
deleted file mode 100644
index d4952ea..0000000
--- a/InCallUI/res/drawable-xxhdpi/list_pressed_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/list_selector_disabled_holo_dark.9.png b/InCallUI/res/drawable-xxhdpi/list_selector_disabled_holo_dark.9.png
deleted file mode 100644
index 26234b1..0000000
--- a/InCallUI/res/drawable-xxhdpi/list_selector_disabled_holo_dark.9.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/picture_unknown.png b/InCallUI/res/drawable-xxhdpi/picture_unknown.png
index 38bec2c..e6a95fa 100644
--- a/InCallUI/res/drawable-xxhdpi/picture_unknown.png
+++ b/InCallUI/res/drawable-xxhdpi/picture_unknown.png
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/stat_sys_phone_call.png b/InCallUI/res/drawable-xxhdpi/stat_sys_phone_call.png
deleted file mode 100644
index 9348384..0000000
--- a/InCallUI/res/drawable-xxhdpi/stat_sys_phone_call.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/stat_sys_phone_call_end.png b/InCallUI/res/drawable-xxhdpi/stat_sys_phone_call_end.png
deleted file mode 100644
index 1f3a81b..0000000
--- a/InCallUI/res/drawable-xxhdpi/stat_sys_phone_call_end.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable-xxhdpi/stat_sys_phone_call_on_hold.png b/InCallUI/res/drawable-xxhdpi/stat_sys_phone_call_on_hold.png
deleted file mode 100644
index 6403ce8..0000000
--- a/InCallUI/res/drawable-xxhdpi/stat_sys_phone_call_on_hold.png
+++ /dev/null
Binary files differ
diff --git a/InCallUI/res/drawable/btn_add.xml b/InCallUI/res/drawable/btn_add.xml
new file mode 100644
index 0000000..515d65b
--- /dev/null
+++ b/InCallUI/res/drawable/btn_add.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item android:drawable="@drawable/btn_background" />
+
+ <item>
+ <bitmap android:src="@drawable/ic_toolbar_add_call"
+ android:gravity="center"
+ android:tint="@color/selectable_icon_tint" />
+ </item>
+
+</layer-list>
\ No newline at end of file
diff --git a/InCallUI/res/drawable/btn_background.xml b/InCallUI/res/drawable/btn_background.xml
new file mode 100644
index 0000000..5978858
--- /dev/null
+++ b/InCallUI/res/drawable/btn_background.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<!-- Background resource for "compound buttons" in the in-call UI.
+ These buttons have two states (checked and unchecked), and
+ show a blue bar along the bottom edge when checked. -->
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/incall_accent_color">
+ <item>
+ <selector>
+
+ <item android:state_focused="true"
+ android:drawable="@drawable/btn_unselected_focused" />
+
+ <item android:drawable="@drawable/btn_unselected" />
+
+ </selector>
+ </item>
+</ripple>
diff --git a/InCallUI/res/drawable/btn_change_to_video.xml b/InCallUI/res/drawable/btn_change_to_video.xml
new file mode 100644
index 0000000..255b9b6
--- /dev/null
+++ b/InCallUI/res/drawable/btn_change_to_video.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item android:drawable="@drawable/btn_background" />
+
+ <item>
+ <bitmap android:src="@drawable/ic_toolbar_video"
+ android:gravity="center"
+ android:tint="@color/selectable_icon_tint" />
+ </item>
+
+</layer-list>
\ No newline at end of file
diff --git a/InCallUI/res/drawable/btn_change_to_voice.xml b/InCallUI/res/drawable/btn_change_to_voice.xml
new file mode 100644
index 0000000..974dd4a
--- /dev/null
+++ b/InCallUI/res/drawable/btn_change_to_voice.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item android:drawable="@drawable/btn_background" />
+
+ <item>
+ <bitmap android:src="@drawable/ic_toolbar_audio_phone"
+ android:gravity="center"
+ android:tint="@color/selectable_icon_tint" />
+ </item>
+
+</layer-list>
\ No newline at end of file
diff --git a/InCallUI/res/drawable/btn_compound_audio.xml b/InCallUI/res/drawable/btn_compound_audio.xml
index 5d36494..9c474c9 100644
--- a/InCallUI/res/drawable/btn_compound_audio.xml
+++ b/InCallUI/res/drawable/btn_compound_audio.xml
@@ -37,7 +37,7 @@
(In states where the audio button *not* a toggle, we explicitly
hide this layer.) -->
<item android:id="@+id/compoundBackgroundItem"
- android:drawable="@drawable/btn_fake_compound_background" />
+ android:drawable="@drawable/btn_compound_background" />
<!-- The little triangle that indicates that this isn't a plain
button, but will instead pop up a menu. This layer is *not*
@@ -45,8 +45,9 @@
<!-- Use an explicit <bitmap> to avoid scaling the icon up to the full
size of the button. -->
<item android:id="@+id/moreIndicatorItem">
- <bitmap android:src="@drawable/ic_more_indicator_holo_dark"
- android:gravity="center" />
+ <bitmap android:src="@drawable/ic_toolbar_arrow_whitespace"
+ android:gravity="center"
+ android:tint="@color/selectable_icon_tint" />
</item>
<!-- Finally, the button icon.
@@ -69,31 +70,27 @@
<!-- Bluetooth is active -->
<item android:id="@+id/bluetoothItem">
- <bitmap android:src="@drawable/ic_sound_bluetooth_holo_dark"
- android:gravity="center" />
+ <bitmap android:src="@drawable/ic_toolbar_audio_bluetooth"
+ android:gravity="center"
+ android:tint="@color/selectable_icon_tint" />
</item>
<!-- Handset earpiece is active -->
<item android:id="@+id/handsetItem">
- <bitmap android:src="@drawable/ic_sound_handset_holo_dark"
- android:gravity="center" />
+ <bitmap android:src="@drawable/ic_toolbar_audio_phone"
+ android:gravity="center"
+ android:tint="@color/selectable_icon_tint" />
</item>
<!-- Speakerphone icon showing 'speaker on' state -->
- <item android:id="@+id/speakerphoneOnItem">
- <bitmap android:src="@drawable/ic_sound_speakerphone_holo_dark"
- android:gravity="center" />
+ <item android:id="@+id/speakerphoneItem">
+ <bitmap android:src="@drawable/ic_toolbar_speaker_on"
+ android:gravity="center"
+ android:tint="@color/selectable_icon_tint" />
</item>
- <!-- Speakerphone icon showing 'speaker off' state -->
- <item android:id="@+id/speakerphoneOffItem">
- <bitmap android:src="@drawable/ic_sound_off_speakerphone_holo_dark"
- android:gravity="center" />
- </item>
-
- <!-- Generic "audio mode" icon. Looks almost identical to
- ic_sound_speakerphone_holo_dark.png -->
+ <!-- Generic "audio mode" icon. -->
<!-- TODO: is this actually needed? -->
<!--
<item android:id="@+id/soundItem">
diff --git a/InCallUI/res/drawable/btn_compound_background.xml b/InCallUI/res/drawable/btn_compound_background.xml
index 6f2ef5f..93e6c31 100644
--- a/InCallUI/res/drawable/btn_compound_background.xml
+++ b/InCallUI/res/drawable/btn_compound_background.xml
@@ -15,20 +15,21 @@
-->
<!-- Background resource for "compound buttons" in the in-call UI.
- These buttons have two states (checked and unchecked), and
- show a blue bar along the bottom edge when checked. -->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ These buttons have two states (selected and unselected). -->
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/incall_accent_color">
+ <item>
+ <selector>
+ <item android:state_selected="true" android:state_focused="true"
+ android:drawable="@drawable/btn_selected_focused" />
- <item android:state_pressed="true"
- android:drawable="@drawable/list_pressed_holo_dark" />
- <item android:state_checked="true" android:state_focused="true"
- android:drawable="@drawable/list_selector_focused_and_checked" />
- <item android:state_focused="true"
- android:drawable="@drawable/list_focused_holo" />
- <item android:state_checked="true"
- android:drawable="@drawable/ic_active_state_dialer_holo_dark" />
+ <item android:state_focused="true"
+ android:drawable="@drawable/btn_unselected_focused" />cd
- <item
- android:drawable="@android:color/transparent" />
+ <item android:state_selected="true"
+ android:drawable="@drawable/btn_selected" />
-</selector>
+ <item android:drawable="@drawable/btn_unselected" />
+ </selector>
+ </item>
+</ripple>
\ No newline at end of file
diff --git a/InCallUI/res/drawable/btn_compound_dialpad.xml b/InCallUI/res/drawable/btn_compound_dialpad.xml
index b44f2fa..fcd9a3c 100644
--- a/InCallUI/res/drawable/btn_compound_dialpad.xml
+++ b/InCallUI/res/drawable/btn_compound_dialpad.xml
@@ -23,8 +23,9 @@
<!-- ...and the actual icon on top. Use an explicit <bitmap> to avoid scaling
the icon up to the full size of the button. -->
<item>
- <bitmap android:src="@drawable/ic_dialpad_holo_dark"
- android:gravity="center" />
+ <bitmap android:src="@drawable/ic_toolbar_dialpad"
+ android:gravity="center"
+ android:tint="@color/selectable_icon_tint" />
</item>
</layer-list>
diff --git a/InCallUI/res/drawable/btn_fake_compound_hold.xml b/InCallUI/res/drawable/btn_compound_hold.xml
similarity index 82%
rename from InCallUI/res/drawable/btn_fake_compound_hold.xml
rename to InCallUI/res/drawable/btn_compound_hold.xml
index 04bdd94..dcf9507 100644
--- a/InCallUI/res/drawable/btn_fake_compound_hold.xml
+++ b/InCallUI/res/drawable/btn_compound_hold.xml
@@ -18,13 +18,14 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The standard "compound button" background. -->
- <item android:drawable="@drawable/btn_fake_compound_background" />
+ <item android:drawable="@drawable/btn_compound_background" />
<!-- ...and the actual icon on top. Use an explicit <bitmap> to avoid scaling
the icon up to the full size of the button. -->
<item>
- <bitmap android:src="@drawable/ic_hold_pause_holo_dark"
- android:gravity="center" />
+ <bitmap android:src="@drawable/ic_toolbar_hold"
+ android:gravity="center"
+ android:tint="@color/selectable_icon_tint" />
</item>
</layer-list>
diff --git a/InCallUI/res/drawable/btn_fake_compound_mute.xml b/InCallUI/res/drawable/btn_compound_mute.xml
similarity index 74%
rename from InCallUI/res/drawable/btn_fake_compound_mute.xml
rename to InCallUI/res/drawable/btn_compound_mute.xml
index 69048a2..68a8c9b 100644
--- a/InCallUI/res/drawable/btn_fake_compound_mute.xml
+++ b/InCallUI/res/drawable/btn_compound_mute.xml
@@ -18,13 +18,13 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The standard "compound button" background. -->
- <item android:drawable="@drawable/btn_fake_compound_background" />
+ <item android:drawable="@drawable/btn_compound_background" />
- <!-- ...and the actual icon on top. Use an explicit <bitmap> to avoid scaling
- the icon up to the full size of the button. -->
+ <!-- Use an explicit <bitmap> to avoid scaling the icon up to the full size of the button. -->
<item>
- <bitmap android:src="@drawable/ic_mute_holo_dark"
- android:gravity="center" />
+ <bitmap android:src="@drawable/ic_toolbar_mic_off"
+ android:gravity="center"
+ android:tint="@color/selectable_icon_tint" />
</item>
</layer-list>
diff --git a/InCallUI/res/drawable/btn_compound_video_off.xml b/InCallUI/res/drawable/btn_compound_video_off.xml
new file mode 100644
index 0000000..776df50
--- /dev/null
+++ b/InCallUI/res/drawable/btn_compound_video_off.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<!-- Layers used to render the in-call "Mute" compound button. -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <!-- The standard "compound button" background. -->
+ <item android:drawable="@drawable/btn_compound_background" />
+
+ <!-- Use an explicit <bitmap> to avoid scaling the icon up to the full size of the button. -->
+ <item>
+ <bitmap android:src="@drawable/ic_toolbar_video_off"
+ android:gravity="center"
+ android:tint="@color/selectable_icon_tint" />
+ </item>
+
+</layer-list>
diff --git a/InCallUI/res/drawable/btn_compound_video_switch.xml b/InCallUI/res/drawable/btn_compound_video_switch.xml
new file mode 100644
index 0000000..aa14593
--- /dev/null
+++ b/InCallUI/res/drawable/btn_compound_video_switch.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<!-- Layers used to render the in-call "Mute" compound button. -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <!-- The standard "compound button" background. -->
+ <item android:drawable="@drawable/btn_compound_background" />
+
+ <!-- Use an explicit <bitmap> to avoid scaling the icon up to the full size of the button. -->
+ <item>
+ <bitmap android:src="@drawable/ic_toolbar_video_switch"
+ android:gravity="center"
+ android:tint="@color/selectable_icon_tint" />
+ </item>
+
+</layer-list>
diff --git a/InCallUI/res/drawable/btn_fake_compound_background.xml b/InCallUI/res/drawable/btn_fake_compound_background.xml
deleted file mode 100644
index 197f589..0000000
--- a/InCallUI/res/drawable/btn_fake_compound_background.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<!-- Background resource for "compound buttons" in the in-call UI.
- These buttons have two states (checked and unchecked), and
- show a blue bar along the bottom edge when checked. -->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
- <item android:state_pressed="true" android:state_selected="true"
- android:drawable="@drawable/list_selector_selected_and_pressed" />
- <item android:state_pressed="true"
- android:drawable="@drawable/list_pressed_holo_dark" />
- <item android:state_selected="true" android:state_focused="true"
- android:drawable="@drawable/list_selector_focused_and_checked" />
- <item android:state_focused="true"
- android:drawable="@drawable/list_focused_holo" />
- <item android:state_selected="true"
- android:drawable="@drawable/ic_active_state_dialer_holo_dark" />
-
- <item
- android:drawable="@android:color/transparent" />
-
-</selector>
\ No newline at end of file
diff --git a/InCallUI/res/drawable/btn_merge.xml b/InCallUI/res/drawable/btn_merge.xml
new file mode 100644
index 0000000..78e1974
--- /dev/null
+++ b/InCallUI/res/drawable/btn_merge.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item android:drawable="@drawable/btn_background" />
+
+ <item>
+ <bitmap android:src="@drawable/ic_toolbar_merge"
+ android:gravity="center"
+ android:tint="@color/selectable_icon_tint" />
+ </item>
+
+</layer-list>
\ No newline at end of file
diff --git a/InCallUI/res/drawable/btn_overflow.xml b/InCallUI/res/drawable/btn_overflow.xml
new file mode 100644
index 0000000..e851ece
--- /dev/null
+++ b/InCallUI/res/drawable/btn_overflow.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item android:drawable="@drawable/btn_background" />
+
+ <item>
+ <bitmap android:src="@drawable/ic_overflow_menu"
+ android:gravity="center"
+ android:tint="@color/selectable_icon_tint" />
+ </item>
+
+</layer-list>
\ No newline at end of file
diff --git a/InCallUI/res/drawable/btn_selected.xml b/InCallUI/res/drawable/btn_selected.xml
new file mode 100644
index 0000000..1446e41
--- /dev/null
+++ b/InCallUI/res/drawable/btn_selected.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
+ <item>
+ <shape android:shape="oval">
+ <solid android:color="@color/button_selected_color" />
+ </shape>
+ </item>
+</layer-list>
\ No newline at end of file
diff --git a/InCallUI/res/drawable/btn_selected_focused.xml b/InCallUI/res/drawable/btn_selected_focused.xml
new file mode 100644
index 0000000..2eda9bf
--- /dev/null
+++ b/InCallUI/res/drawable/btn_selected_focused.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
+ <item android:drawable="@drawable/btn_selected" />
+
+ <item>
+ <shape android:shape="oval" >
+ <stroke
+ android:width="4dp"
+ android:color="@color/focus_color" />
+ </shape>
+ </item>
+</layer-list>
\ No newline at end of file
diff --git a/InCallUI/res/drawable/btn_swap.xml b/InCallUI/res/drawable/btn_swap.xml
new file mode 100644
index 0000000..7a82411
--- /dev/null
+++ b/InCallUI/res/drawable/btn_swap.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item android:drawable="@drawable/btn_background" />
+
+ <item>
+ <bitmap android:src="@drawable/ic_toolbar_swap"
+ android:gravity="center"
+ android:tint="@color/selectable_icon_tint" />
+ </item>
+
+</layer-list>
\ No newline at end of file
diff --git a/InCallUI/res/drawable/btn_unselected.xml b/InCallUI/res/drawable/btn_unselected.xml
new file mode 100644
index 0000000..aed995c
--- /dev/null
+++ b/InCallUI/res/drawable/btn_unselected.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
+ <item>
+ <shape android:shape="oval">
+ <solid android:color="@color/incall_background_color" />
+ </shape>
+ </item>
+</layer-list>
\ No newline at end of file
diff --git a/InCallUI/res/drawable/btn_unselected_focused.xml b/InCallUI/res/drawable/btn_unselected_focused.xml
new file mode 100644
index 0000000..66075d4
--- /dev/null
+++ b/InCallUI/res/drawable/btn_unselected_focused.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
+ <item android:drawable="@drawable/btn_unselected" />
+ <item>
+ <shape android:shape="oval" >
+ <stroke
+ android:width="4dp"
+ android:color="@color/focus_color" />
+ </shape>
+ </item>
+</layer-list>
\ No newline at end of file
diff --git a/InCallUI/res/drawable/clickable_dim_effect.xml b/InCallUI/res/drawable/clickable_dim_effect.xml
deleted file mode 100644
index e4b4f6f..0000000
--- a/InCallUI/res/drawable/clickable_dim_effect.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<!-- Background drawable used with dim effect for secondary photo. -->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
- <item android:state_pressed="true" android:state_enabled="true"
- android:drawable="@drawable/list_pressed_holo_dark" />
- <item android:drawable="@color/on_hold_dim_effect" />
-
-</selector>
diff --git a/InCallUI/res/drawable/dialpad_key_colors.xml b/InCallUI/res/drawable/dialpad_key_colors.xml
deleted file mode 100644
index 27b4d4f..0000000
--- a/InCallUI/res/drawable/dialpad_key_colors.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item
- android:state_pressed="true"
- android:drawable="@color/background_dialpad_pressed" />
- <item android:drawable="@color/background_dialpad" />
-</selector>
diff --git a/InCallUI/res/drawable/end_call_background.xml b/InCallUI/res/drawable/end_call_background.xml
index 53f4e54..8f3926f 100644
--- a/InCallUI/res/drawable/end_call_background.xml
+++ b/InCallUI/res/drawable/end_call_background.xml
@@ -15,14 +15,5 @@
-->
<!-- Background drawable used to render the "end call" button. -->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
- <item android:state_enabled="false"
- android:drawable="@drawable/end_call_disabled_state" />
-
- <item android:state_pressed="true"
- android:drawable="@drawable/end_call_pressed_state" />
-
- <item android:drawable="@drawable/end_call_active_state" />
-
-</selector>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/end_call_touch_feedback_tint" />
diff --git a/InCallUI/res/drawable/ic_in_call_touch_handle.xml b/InCallUI/res/drawable/ic_incall_audio_handle.xml
similarity index 60%
rename from InCallUI/res/drawable/ic_in_call_touch_handle.xml
rename to InCallUI/res/drawable/ic_incall_audio_handle.xml
index 7e234b6..2e71a5b 100644
--- a/InCallUI/res/drawable/ic_in_call_touch_handle.xml
+++ b/InCallUI/res/drawable/ic_incall_audio_handle.xml
@@ -17,17 +17,24 @@
<!-- Touch handle for the GlowPadView widget on the incoming call screen -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <!-- Audio call icon on tinted floating action bar background. -->
<item
android:state_enabled="true"
android:state_active="false"
- android:state_focused="false"
- android:drawable="@drawable/ic_in_call_touch_handle_normal" />
-
- <!-- "Pressed" state uses the same simple "ring" image as on the lockscreen -->
- <item
- android:state_enabled="true"
- android:state_active="true"
- android:state_focused="false"
- android:drawable="@drawable/ic_lockscreen_handle_pressed" />
+ android:state_focused="false">
+ <layer-list>
+ <item>
+ <bitmap
+ android:src="@drawable/fab_blue"
+ android:tint="@color/glowpad_incoming_widget_background_tint" />
+ </item>
+ <item>
+ <bitmap
+ android:gravity="center"
+ android:src="@drawable/fab_ic_call"
+ android:tint="@color/glowpad_incoming_widget_tint" />
+ </item>
+ </layer-list>
+ </item>
</selector>
diff --git a/InCallUI/res/drawable/ic_incall_video_handle.xml b/InCallUI/res/drawable/ic_incall_video_handle.xml
new file mode 100644
index 0000000..a24e305
--- /dev/null
+++ b/InCallUI/res/drawable/ic_incall_video_handle.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<!-- Touch handle for the GlowPadView widget on the incoming call screen -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <!-- Video call icon on tinted floating action bar background. -->
+ <item
+ android:state_enabled="true"
+ android:state_active="false"
+ android:state_focused="false">
+ <layer-list>
+ <item>
+ <bitmap
+ android:src="@drawable/fab_blue"
+ android:tint="@color/glowpad_incoming_widget_background_tint" />
+ </item>
+ <item>
+ <bitmap
+ android:gravity="center"
+ android:src="@drawable/ic_videocam"
+ android:tint="@color/glowpad_incoming_widget_tint" />
+ </item>
+ </layer-list>
+ </item>
+
+</selector>
diff --git a/InCallUI/res/drawable/ic_lockscreen_answer_activated_layer.xml b/InCallUI/res/drawable/ic_lockscreen_answer_activated_layer.xml
index 6889581..dd227d5 100644
--- a/InCallUI/res/drawable/ic_lockscreen_answer_activated_layer.xml
+++ b/InCallUI/res/drawable/ic_lockscreen_answer_activated_layer.xml
@@ -14,18 +14,11 @@
limitations under the License.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:drawable="@drawable/fab_blue" />
<item>
- <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
- <solid android:color="#99cc00"/>
- <size
- android:width="@dimen/incoming_call_widget_circle_size"
- android:height="@dimen/incoming_call_widget_circle_size" />
- </shape>
+ <bitmap
+ android:gravity="center"
+ android:src="@drawable/fab_ic_call"
+ android:tint="@color/glowpad_widget_active_color" />
</item>
- <item
- android:top="@dimen/incoming_call_widget_asset_margin"
- android:right="@dimen/incoming_call_widget_asset_margin"
- android:bottom="@dimen/incoming_call_widget_asset_margin"
- android:left="@dimen/incoming_call_widget_asset_margin"
- android:drawable="@drawable/ic_lockscreen_answer_activated" />
</layer-list>
diff --git a/InCallUI/res/drawable/ic_lockscreen_answer_normal_layer.xml b/InCallUI/res/drawable/ic_lockscreen_answer_normal_layer.xml
index 083fe3f..2898823 100644
--- a/InCallUI/res/drawable/ic_lockscreen_answer_normal_layer.xml
+++ b/InCallUI/res/drawable/ic_lockscreen_answer_normal_layer.xml
@@ -23,10 +23,10 @@
android:height="@dimen/incoming_call_widget_circle_size" />
</shape>
</item>
- <item
- android:top="@dimen/incoming_call_widget_asset_margin"
- android:right="@dimen/incoming_call_widget_asset_margin"
- android:bottom="@dimen/incoming_call_widget_asset_margin"
- android:left="@dimen/incoming_call_widget_asset_margin"
- android:drawable="@drawable/ic_lockscreen_answer_normal" />
+ <item>
+ <bitmap
+ android:gravity="center"
+ android:src="@drawable/fab_ic_call"
+ android:tint="@color/glowpad_call_widget_normal_tint" />
+ </item>
</layer-list>
diff --git a/InCallUI/res/drawable/ic_lockscreen_answer_video.xml b/InCallUI/res/drawable/ic_lockscreen_answer_video.xml
new file mode 100644
index 0000000..0557797
--- /dev/null
+++ b/InCallUI/res/drawable/ic_lockscreen_answer_video.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+<!-- Used with incoming call wigdet. -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:state_enabled="true" android:state_active="false" android:state_focused="false"
+ android:drawable="@drawable/ic_lockscreen_answer_video_normal_layer"/>
+ <item
+ android:state_enabled="true" android:state_active="true" android:state_focused="false"
+ android:drawable="@drawable/ic_lockscreen_answer_video_activated_layer" />
+ <item
+ android:state_enabled="true" android:state_active="false" android:state_focused="true"
+ android:drawable="@drawable/ic_lockscreen_answer_video_activated_layer" />
+</selector>
diff --git a/InCallUI/res/drawable/ic_lockscreen_answer_video_activated_layer.xml b/InCallUI/res/drawable/ic_lockscreen_answer_video_activated_layer.xml
new file mode 100644
index 0000000..57a3c09
--- /dev/null
+++ b/InCallUI/res/drawable/ic_lockscreen_answer_video_activated_layer.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:drawable="@drawable/fab_blue" />
+ <item>
+ <bitmap
+ android:gravity="center"
+ android:src="@drawable/ic_videocam"
+ android:tint="@color/glowpad_widget_active_color" />
+ </item>
+</layer-list>
diff --git a/InCallUI/res/drawable/ic_lockscreen_answer_video_normal_layer.xml b/InCallUI/res/drawable/ic_lockscreen_answer_video_normal_layer.xml
new file mode 100644
index 0000000..708bbcc
--- /dev/null
+++ b/InCallUI/res/drawable/ic_lockscreen_answer_video_normal_layer.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+ <!-- A fake circle to fix the size of this layer asset. -->
+ <item>
+ <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
+ <solid android:color="#00000000"/>
+ <size
+ android:width="@dimen/incoming_call_widget_circle_size"
+ android:height="@dimen/incoming_call_widget_circle_size" />
+ </shape>
+ </item>
+ <item>
+ <bitmap
+ android:gravity="center"
+ android:src="@drawable/ic_videocam"
+ android:tint="@color/glowpad_call_widget_normal_tint" />
+ </item>
+</layer-list>
diff --git a/InCallUI/res/drawable/ic_lockscreen_decline_activated_layer.xml b/InCallUI/res/drawable/ic_lockscreen_decline_activated_layer.xml
index e3606d1..096c32b 100644
--- a/InCallUI/res/drawable/ic_lockscreen_decline_activated_layer.xml
+++ b/InCallUI/res/drawable/ic_lockscreen_decline_activated_layer.xml
@@ -14,18 +14,11 @@
limitations under the License.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:drawable="@drawable/fab_red" />
<item>
- <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
- <solid android:color="#ff4040"/>
- <size
- android:width="@dimen/incoming_call_widget_circle_size"
- android:height="@dimen/incoming_call_widget_circle_size" />
- </shape>
+ <bitmap
+ android:gravity="center"
+ android:src="@drawable/fab_ic_end_call"
+ android:tint="@color/glowpad_widget_active_color" />
</item>
- <item
- android:top="@dimen/incoming_call_widget_asset_margin"
- android:right="@dimen/incoming_call_widget_asset_margin"
- android:bottom="@dimen/incoming_call_widget_asset_margin"
- android:left="@dimen/incoming_call_widget_asset_margin"
- android:drawable="@drawable/ic_lockscreen_decline_activated" />
</layer-list>
diff --git a/InCallUI/res/drawable/ic_lockscreen_decline_normal_layer.xml b/InCallUI/res/drawable/ic_lockscreen_decline_normal_layer.xml
index 2896bef..4da5f8d 100644
--- a/InCallUI/res/drawable/ic_lockscreen_decline_normal_layer.xml
+++ b/InCallUI/res/drawable/ic_lockscreen_decline_normal_layer.xml
@@ -23,10 +23,10 @@
android:height="@dimen/incoming_call_widget_circle_size" />
</shape>
</item>
- <item
- android:top="@dimen/incoming_call_widget_asset_margin"
- android:right="@dimen/incoming_call_widget_asset_margin"
- android:bottom="@dimen/incoming_call_widget_asset_margin"
- android:left="@dimen/incoming_call_widget_asset_margin"
- android:drawable="@drawable/ic_lockscreen_decline_normal" />
+ <item>
+ <bitmap
+ android:gravity="center"
+ android:src="@drawable/fab_ic_end_call"
+ android:tint="@color/glowpad_end_call_widget_normal_tint" />
+ </item>
</layer-list>
diff --git a/InCallUI/res/drawable/ic_lockscreen_decline_video.xml b/InCallUI/res/drawable/ic_lockscreen_decline_video.xml
new file mode 100644
index 0000000..cedd497
--- /dev/null
+++ b/InCallUI/res/drawable/ic_lockscreen_decline_video.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+<!-- Used with incoming call wigdet. -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:state_enabled="true" android:state_active="false" android:state_focused="false"
+ android:drawable="@drawable/ic_lockscreen_decline_video_normal_layer"/>
+ <item
+ android:state_enabled="true" android:state_active="true" android:state_focused="false"
+ android:drawable="@drawable/ic_lockscreen_decline_video_activated_layer" />
+ <item
+ android:state_enabled="true" android:state_active="false" android:state_focused="true"
+ android:drawable="@drawable/ic_lockscreen_decline_video_activated_layer" />
+</selector>
diff --git a/InCallUI/res/drawable/ic_lockscreen_decline_video_activated_layer.xml b/InCallUI/res/drawable/ic_lockscreen_decline_video_activated_layer.xml
new file mode 100644
index 0000000..63fe4ca
--- /dev/null
+++ b/InCallUI/res/drawable/ic_lockscreen_decline_video_activated_layer.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:drawable="@drawable/fab_red" />
+ <item>
+ <bitmap
+ android:gravity="center"
+ android:src="@drawable/ic_toolbar_video_off"
+ android:tint="@color/glowpad_widget_active_color" />
+ </item>
+</layer-list>
diff --git a/InCallUI/res/drawable/ic_lockscreen_decline_video_normal_layer.xml b/InCallUI/res/drawable/ic_lockscreen_decline_video_normal_layer.xml
new file mode 100644
index 0000000..370d515
--- /dev/null
+++ b/InCallUI/res/drawable/ic_lockscreen_decline_video_normal_layer.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+ <!-- A fake circle to fix the size of this layer asset. -->
+ <item>
+ <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
+ <solid android:color="#00000000"/>
+ <size
+ android:width="@dimen/incoming_call_widget_circle_size"
+ android:height="@dimen/incoming_call_widget_circle_size" />
+ </shape>
+ </item>
+ <item>
+ <bitmap
+ android:gravity="center"
+ android:src="@drawable/ic_toolbar_video_off"
+ android:tint="@color/glowpad_call_widget_normal_tint" />
+ </item>
+</layer-list>
diff --git a/InCallUI/res/drawable/ic_lockscreen_outerring.xml b/InCallUI/res/drawable/ic_lockscreen_outerring.xml
index d64825d..489515f 100644
--- a/InCallUI/res/drawable/ic_lockscreen_outerring.xml
+++ b/InCallUI/res/drawable/ic_lockscreen_outerring.xml
@@ -15,10 +15,8 @@
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="oval"
- >
+ android:shape="oval">
<size android:height="@dimen/glowpadview_outerring_diameter"
android:width="@dimen/glowpadview_outerring_diameter" />
- <solid android:color="#00000000" />
- <stroke android:color="#1affffff" android:width="2dp" />
+ <stroke android:color="@color/glowpad_outer_ring_color" android:width="1dp" />
</shape>
diff --git a/InCallUI/res/drawable/ic_lockscreen_text_activated_layer.xml b/InCallUI/res/drawable/ic_lockscreen_text_activated_layer.xml
index 489201f..040b399 100644
--- a/InCallUI/res/drawable/ic_lockscreen_text_activated_layer.xml
+++ b/InCallUI/res/drawable/ic_lockscreen_text_activated_layer.xml
@@ -16,16 +16,16 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
- <solid android:color="#99cc00"/>
+ <stroke android:color="@color/glowpad_text_widget_ring_color" android:width="1dp"/>
<size
android:width="@dimen/incoming_call_widget_circle_size"
android:height="@dimen/incoming_call_widget_circle_size" />
</shape>
</item>
- <item
- android:top="@dimen/incoming_call_widget_asset_margin"
- android:right="@dimen/incoming_call_widget_asset_margin"
- android:bottom="@dimen/incoming_call_widget_asset_margin"
- android:left="@dimen/incoming_call_widget_asset_margin"
- android:drawable="@drawable/ic_text_holo_dark" />
+ <item>
+ <bitmap
+ android:gravity="center"
+ android:src="@drawable/fab_ic_message"
+ android:tint="@color/glowpad_widget_active_color" />
+ </item>
</layer-list>
diff --git a/InCallUI/res/drawable/ic_lockscreen_text_normal_layer.xml b/InCallUI/res/drawable/ic_lockscreen_text_normal_layer.xml
index a591484..950d1c3 100644
--- a/InCallUI/res/drawable/ic_lockscreen_text_normal_layer.xml
+++ b/InCallUI/res/drawable/ic_lockscreen_text_normal_layer.xml
@@ -23,10 +23,10 @@
android:height="@dimen/incoming_call_widget_circle_size" />
</shape>
</item>
- <item
- android:top="@dimen/incoming_call_widget_asset_margin"
- android:right="@dimen/incoming_call_widget_asset_margin"
- android:bottom="@dimen/incoming_call_widget_asset_margin"
- android:left="@dimen/incoming_call_widget_asset_margin"
- android:drawable="@drawable/ic_text_holo_dark" />
+ <item>
+ <bitmap
+ android:gravity="center"
+ android:src="@drawable/fab_ic_message"
+ android:tint="@color/glowpad_text_widget_normal_tint" />
+ </item>
</layer-list>
diff --git a/InCallUI/res/drawable/list_selector_focused_and_checked.xml b/InCallUI/res/drawable/list_selector_focused_and_checked.xml
deleted file mode 100644
index 113dae8..0000000
--- a/InCallUI/res/drawable/list_selector_focused_and_checked.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
- <item android:drawable="@drawable/ic_active_state_dialer_holo_dark" />
- <item android:drawable="@drawable/list_focused_holo" />
-</layer-list>
diff --git a/InCallUI/res/drawable/list_selector_selected_and_pressed.xml b/InCallUI/res/drawable/list_selector_selected_and_pressed.xml
deleted file mode 100644
index d81ee36..0000000
--- a/InCallUI/res/drawable/list_selector_selected_and_pressed.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
- <item android:drawable="@drawable/ic_active_state_dialer_holo_dark" />
- <item android:drawable="@drawable/list_pressed_holo_dark" />
-</layer-list>
\ No newline at end of file
diff --git a/InCallUI/res/layout-land/call_card_content.xml b/InCallUI/res/layout-land/call_card_content.xml
new file mode 100644
index 0000000..ddcd403
--- /dev/null
+++ b/InCallUI/res/layout-land/call_card_content.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" >
+
+ <LinearLayout
+ android:id="@+id/primary_call_info_container"
+ android:layout_alignParentStart="true"
+ android:layout_centerVertical="true"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:elevation="@dimen/primary_call_elevation"
+ android:background="@color/incall_call_banner_background_color"
+ android:paddingTop="@dimen/call_banner_primary_call_container_top_padding"
+ android:clipChildren="false"
+ android:clipToPadding="false" >
+
+ <include layout="@layout/primary_call_info" />
+
+ <fragment android:name="com.android.incallui.CallButtonFragment"
+ android:id="@+id/callButtonFragment"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" >
+
+ <!-- Secondary "Call info" block, for the background ("on hold") call. -->
+ <include layout="@layout/secondary_call_info"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom" />
+
+ </FrameLayout>
+
+ </LinearLayout>
+
+ <!-- Contact photo for primary call info -->
+ <ImageView android:id="@+id/photo"
+ android:layout_toEndOf="@id/primary_call_info_container"
+ android:layout_width="match_parent"
+ android:layout_gravity="start|center_vertical"
+ android:layout_height="match_parent"
+ android:gravity="start|center_vertical"
+ android:scaleType="centerCrop"
+ android:contentDescription="@string/contactPhoto"
+ android:src="@drawable/picture_unknown" />
+
+ <include layout="@layout/manage_conference_call_button"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignTop="@id/photo" />
+
+ <fragment android:name="com.android.incallui.VideoCallFragment"
+ android:layout_alignParentStart="true"
+ android:layout_gravity="start|center_vertical"
+ android:id="@+id/videoCallFragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+ <!-- Progress spinner, useful for indicating pending operations such as upgrade to video. -->
+ <FrameLayout
+ android:id="@+id/progressSpinner"
+ android:layout_toEndOf="@id/primary_call_info_container"
+ android:background="#63000000"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:layout_centerHorizontal="true"
+ android:layout_centerVertical="true"
+ android:visibility="gone" >
+
+ <ProgressBar
+ android:id="@+id/progress_bar"
+ style="@android:style/Widget.Material.ProgressBar"
+ android:layout_gravity="center"
+ android:layout_width="48dp"
+ android:layout_height="48dp"
+ android:indeterminate="true" />
+ </FrameLayout>
+
+ <!-- Placeholder for the dialpad which is replaced with the dialpad fragment when shown. -->
+ <FrameLayout
+ android:id="@+id/dialpadFragmentContainer"
+ android:layout_toEndOf="@id/primary_call_info_container"
+ android:layout_gravity="end|center_vertical"
+ android:layout_alignParentEnd="true"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+ <fragment android:name="com.android.incallui.AnswerFragment"
+ android:id="@+id/answerFragment"
+ android:layout_toEndOf="@id/primary_call_info_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="start"
+ android:layout_gravity="end|center_vertical"
+ android:layout_marginBottom="@dimen/glowpadview_margin_bottom"
+ android:visibility="gone" />
+
+ <FrameLayout
+ android:id="@+id/floating_end_call_action_button_container"
+ android:layout_width="@dimen/end_call_floating_action_button_diameter"
+ android:layout_height="@dimen/end_call_floating_action_button_diameter"
+ android:background="@drawable/fab_red"
+ android:layout_centerHorizontal="true"
+ android:layout_marginBottom="@dimen/end_call_button_margin_bottom"
+ android:layout_alignParentBottom="true" >
+
+ <ImageButton android:id="@+id/floating_end_call_action_button"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/end_call_background"
+ android:src="@drawable/fab_ic_end_call"
+ android:scaleType="center"
+ android:contentDescription="@string/onscreenEndCallText" />
+
+ </FrameLayout>
+
+</RelativeLayout>
diff --git a/InCallUI/res/layout-land/video_call_views.xml b/InCallUI/res/layout-land/video_call_views.xml
new file mode 100644
index 0000000..7065d45
--- /dev/null
+++ b/InCallUI/res/layout-land/video_call_views.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" >
+
+ <TextureView
+ android:id="@+id/incomingVideo"
+ android:layout_gravity="center_horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+ <!-- The width and height are replaced at runtime based on the selected camera. -->
+ <TextureView
+ android:id="@+id/previewVideo"
+ android:layout_gravity="bottom|right"
+ android:layout_margin="@dimen/video_preview_margin"
+ android:layout_width="70dp"
+ android:layout_height="120dp" />
+</FrameLayout>
\ No newline at end of file
diff --git a/InCallUI/res/layout/answer_fragment.xml b/InCallUI/res/layout/answer_fragment.xml
index 15c2093..7026dd1 100644
--- a/InCallUI/res/layout/answer_fragment.xml
+++ b/InCallUI/res/layout/answer_fragment.xml
@@ -25,13 +25,13 @@
android:focusable="true"
android:layout_centerHorizontal="true"
android:gravity="center"
- android:background="@android:color/black"
+ android:background="@color/glowpad_background_color"
android:visibility="gone"
- dc:targetDrawables="@array/incoming_call_widget_3way_targets"
- dc:targetDescriptions="@array/incoming_call_widget_3way_target_descriptions"
- dc:directionDescriptions="@array/incoming_call_widget_3way_direction_descriptions"
- dc:handleDrawable="@drawable/ic_in_call_touch_handle"
+ dc:targetDrawables="@array/incoming_call_widget_audio_with_sms_targets"
+ dc:targetDescriptions="@array/incoming_call_widget_audio_with_sms_target_descriptions"
+ dc:directionDescriptions="@array/incoming_call_widget_audio_with_sms_direction_descriptions"
+ dc:handleDrawable="@drawable/ic_incall_audio_handle"
dc:outerRingDrawable="@drawable/ic_lockscreen_outerring"
dc:outerRadius="@dimen/glowpadview_target_placement_radius"
dc:innerRadius="@dimen/glowpadview_inner_radius"
@@ -40,5 +40,4 @@
dc:vibrationDuration="20"
dc:glowRadius="@dimen/glowpadview_glow_radius"
dc:pointDrawable="@drawable/ic_lockscreen_glowdot"
- dc:allowScaling="true"
- />
+ dc:allowScaling="true" />
diff --git a/InCallUI/res/layout/call_button_fragment.xml b/InCallUI/res/layout/call_button_fragment.xml
index a182fc1..aa87d0c 100644
--- a/InCallUI/res/layout/call_button_fragment.xml
+++ b/InCallUI/res/layout/call_button_fragment.xml
@@ -30,144 +30,136 @@
<!-- Main cluster of onscreen buttons on the lower part of the screen. -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/bottomButtons"
- android:orientation="vertical"
- android:layout_width="match_parent"
- android:background="#0000ff"
- android:layout_margin="0dp"
- android:padding="0dp"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:visibility="invisible">
+ android:id="@+id/bottomButtons"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_margin="0dp"
+ android:padding="0dp"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:animateLayoutChanges="true"
+ android:visibility="invisible" >
- <!-- Row 1, the "extra button row": A couple of relatively rare
- buttons used only in certain call states.
- Most of the time this whole row is GONE.
- For now, at least, there's only ever one button visible here
- at a time, so this can be a simple FrameLayout. -->
- <include android:id="@+id/extraButtonRow"
- layout="@layout/extra_button_row"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"/>
-
- <!-- Row 2: The "End call" button. -->
- <ImageButton android:id="@+id/endButton"
- style="@style/InCallEndButton"
- android:layout_width="match_parent"
- android:src="@drawable/ic_in_call_phone_hangup"
- android:background="@drawable/end_call_background"
- android:contentDescription="@string/onscreenEndCallText"/>
-
- <!-- Row 3: The main batch of in-call buttons:
- Dialpad / Audio mode / Mute / Hold / Add call
- Visible in all states except while an incoming call is
- ringing. -->
<LinearLayout
- android:orientation="horizontal"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingStart="@dimen/button_cluster_side_padding"
- android:paddingEnd="@dimen/button_cluster_side_padding"
- android:background="@color/button_background"
- >
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingStart="@dimen/button_cluster_horizontal_padding"
+ android:paddingEnd="@dimen/button_cluster_horizontal_padding"
+ android:background="@color/button_background_color"
+ android:gravity="bottom|center_horizontal">
- <!-- This row has either 4 or 5 buttons, depending on
- whether the device supports "Hold" (i.e. 4 buttons on
- CDMA devices, 5 buttons on GSM devices.) The buttons
- are interspersed with 'layout_weight="1"' placeholder
- views so that they'll be spaced evenly in both cases.
+ <!-- This row only ever shows either 4 or 5 buttons. This may depend on whether the device
+ supports "Hold" (i.e. 4 buttons on CDMA devices, 5 buttons on GSM devices.) or whether
+ it is in a video call.
- But note there are a couple of *pairs* of buttons that share a
- single "slot", namely Hold/Swap and Add/Merge. For these, the
- code in InCallTouchUi is responsible for making sure that at any
- point exactly one of the pair is VISIBLE and the other is
- GONE. -->
+ There are a couple of *pairs* of buttons that share a single "slot", namely Hold/Swap
+ and Add/Merge. For these, the code in InCallTouchUi is responsible for making sure
+ that at any point exactly one of the pair is VISIBLE and the other is GONE.
- <!-- Separator between left padding and 1st button -->
- <View style="@style/VerticalSeparator"/>
+ If there are more than 5 buttons eligible to be shown, the presenter is responsible for
+ collapsing those options into an overflow menu, which appears as one of the buttons
+ in the row instead. -->
- <!-- "Dialpad" -->
- <!-- This is a "compound button": it has checked and unchecked states. -->
- <ToggleButton android:id="@+id/dialpadButton"
- style="@style/InCallCompoundButton"
- android:background="@drawable/btn_compound_dialpad"
- android:contentDescription="@string/onscreenShowDialpadText"
- />
+ <!-- FAR LEFT SLOT ===================================================================== -->
- <!-- Separator between 1st and 2nd button -->
- <View style="@style/VerticalSeparator"/>
-
- <!-- "Audio mode" -->
- <!-- This is a multi-mode button that can behave either like a
- simple "compound button" with two states *or* like an
- action button that brings up a popup menu; see
- btn_compound_audio.xml and InCallTouchUi.updateAudioButton()
- for the full details. -->
+ <!-- "Audio mode". this is a multi-mode button that can behave either like a simple
+ "compound button" with two states *or* like an action button that brings up a popup
+ menu; see btn_compound_audio.xml and CallButtonFragment.updateAudioButtons(). -->
<ImageButton android:id="@+id/audioButton"
- style="@style/InCallButton"
- android:background="@drawable/btn_compound_audio"
- android:contentDescription="@string/onscreenAudioText"
- />
+ style="@style/InCallCompoundButton"
+ android:background="@drawable/btn_compound_audio"
+ android:contentDescription="@string/onscreenAudioText" />
- <!-- Separator between 2nd and 3rd button -->
- <View style="@style/VerticalSeparator"/>
+ <!-- "Change to audio call" for video calls. -->
+ <ImageButton android:id="@+id/changeToVoiceButton"
+ style="@style/InCallButton"
+ android:background="@drawable/btn_change_to_voice"
+ android:contentDescription="@string/onscreenChangeToVoiceText"
+ android:visibility="gone" />
+
+ <!-- MIDDLE LEFT SLOT ================================================================== -->
<!-- "Mute" -->
- <!-- This is a "compound button": it has checked and unchecked states. -->
<ImageButton android:id="@+id/muteButton"
- style="@style/InCallButton"
- android:background="@drawable/btn_fake_compound_mute"
- android:contentDescription="@string/onscreenMuteText"
- />
+ style="@style/InCallCompoundButton"
+ android:background="@drawable/btn_compound_mute"
+ android:contentDescription="@string/onscreenMuteText" />
- <!-- Separator between 3rd and 4th button -->
- <View style="@style/VerticalSeparator"/>
+ <!-- CENTER SLOT ======================================================================= -->
- <!-- This slot is either "Hold" or "Swap", depending on
- the state of the call. One or the other of these
- must always be set to GONE. -->
+ <!-- "Dialpad" -->
+ <ImageButton android:id="@+id/dialpadButton"
+ style="@style/InCallCompoundButton"
+ android:background="@drawable/btn_compound_dialpad"
+ android:contentDescription="@string/onscreenShowDialpadText" />
+
+ <!-- MIDDLE RIGHT SLOT ================================================================= -->
+
+ <!-- This slot is either "Hold" or "Swap", depending on the state of the call. One or the
+ other of these must always be set to GONE. -->
+
<!-- "Hold" -->
- <!-- This is a "compound button": it has checked and unchecked states. -->
<ImageButton android:id="@+id/holdButton"
- style="@style/InCallButton"
- android:background="@drawable/btn_fake_compound_hold"
- android:contentDescription="@string/onscreenHoldText"
- />
+ style="@style/InCallCompoundButton"
+ android:background="@drawable/btn_compound_hold"
+ android:contentDescription="@string/onscreenHoldText" />
+
<!-- "Swap" (or "Manage calls" in some CDMA states) -->
<ImageButton android:id="@+id/swapButton"
- style="@style/InCallButton"
- android:src="@drawable/ic_incall_switch_holo_dark"
- android:contentDescription="@string/onscreenSwapCallsText"
- android:visibility="gone"
- />
+ style="@style/InCallButton"
+ android:background="@drawable/btn_swap"
+ android:contentDescription="@string/onscreenSwapCallsText"
+ android:visibility="gone" />
- <!-- Separator between 4th and 5th button (if 5th exists) -->
- <View android:id="@+id/holdSwapSpacer"
- style="@style/VerticalSeparator"/>
+ <!-- "Change to video call" -->
+ <ImageButton android:id="@+id/changeToVideoButton"
+ style="@style/InCallButton"
+ android:background="@drawable/btn_change_to_video"
+ android:contentDescription="@string/onscreenVideoCallText"
+ android:visibility="gone" />
- <!-- This slot is either "Add" or "Merge", depending on
- the state of the call. One or the other of these
- must always be set to GONE. -->
+ <!-- "Switch camera" for video calls. -->
+ <ImageButton android:id="@+id/switchCameraButton"
+ style="@style/InCallCompoundButton"
+ android:background="@drawable/btn_compound_video_switch"
+ android:contentDescription="@string/onscreenSwitchCameraText"
+ android:visibility="gone" />
+
+ <!-- FAR RIGHT SLOT ==================================================================== -->
+
+ <!-- This slot is either "Add" or "Merge", depending on the state of the call. One or the
+ other of these must always be set to GONE. -->
+
<!-- "Add Call" -->
<ImageButton android:id="@+id/addButton"
- style="@style/InCallButton"
- android:src="@drawable/ic_add_contact_holo_dark"
- android:contentDescription="@string/onscreenAddCallText"
- android:visibility="gone"
- />
- <!-- "Merge calls" -->
- <!-- This button is used only on GSM devices, where we know
- that "Add" and "Merge" are never available at the same time.
- The "Merge" button for CDMA devices is "cdmaMergeButton" above. -->
- <ImageButton android:id="@+id/mergeButton"
- style="@style/InCallButton"
- android:src="@drawable/ic_merge_holo_dark"
- android:contentDescription="@string/onscreenMergeCallsText"
- android:visibility="gone"
- />
+ style="@style/InCallButton"
+ android:background="@drawable/btn_add"
+ android:contentDescription="@string/onscreenAddCallText"
+ android:visibility="gone" />
- <!-- Separator between 4th (or 5th) button and right padding -->
- <View style="@style/VerticalSeparator"/>
+ <!-- "Merge calls". This button is used only on GSM devices, where we know that "Add" and
+ "Merge" are never available at the same time. The "Merge" button for CDMA devices is
+ "cdmaMergeButton" above. -->
+ <ImageButton android:id="@+id/mergeButton"
+ style="@style/InCallButton"
+ android:background="@drawable/btn_merge"
+ android:contentDescription="@string/onscreenMergeCallsText"
+ android:visibility="gone" />
+
+ <!-- "Switch camera" for video calls. -->
+ <ImageButton android:id="@+id/pauseVideoButton"
+ style="@style/InCallCompoundButton"
+ android:background="@drawable/btn_compound_video_off"
+ android:contentDescription="@string/onscreenPauseVideoText"
+ android:visibility="gone" />
+
+ <!-- "Overflow" -->
+ <ImageButton android:id="@+id/overflowButton"
+ style="@style/InCallButton"
+ android:background="@drawable/btn_overflow"
+ android:contentDescription="@string/onscreenOverflowText"
+ android:visibility="gone" />
</LinearLayout>
diff --git a/InCallUI/res/layout/call_card.xml b/InCallUI/res/layout/call_card.xml
deleted file mode 100644
index af47ef7..0000000
--- a/InCallUI/res/layout/call_card.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
- ~ Copyright (C) 2013 The Android Open Source Project
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License
- -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/call_card"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
-
- <!-- The main content of the CallCard is either one or two "call info"
- blocks, depending on whether one or two lines are in use.
-
- The call_info blocks are stacked vertically inside a CallCard (LinearLayout),
- each with layout_weight="1". If only one line is in use (i.e. the
- common case) then the 2nd call info will be GONE and thus the 1st one
- will expand to fill the full height of the CallCard. -->
-
-
- <!-- Primary "call card" block, for the foreground call. -->
- <include android:id="@+id/primary_call_info"
- layout="@layout/primary_call_info" />
-
- <!-- Secondary "Call info" block, for the background ("on hold") call. -->
- <ViewStub android:id="@+id/secondary_call_info"
- android:layout="@layout/secondary_call_info"
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="1" />
-
-</LinearLayout>
diff --git a/InCallUI/res/layout/call_card_content.xml b/InCallUI/res/layout/call_card_content.xml
new file mode 100644
index 0000000..6d0ee88
--- /dev/null
+++ b/InCallUI/res/layout/call_card_content.xml
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <!-- The main content of the CallCard is either one or two "call info"
+ blocks, depending on whether one or two lines are in use.
+
+ The call_info blocks are stacked vertically inside a CallCard (LinearLayout),
+ each with layout_weight="1". If only one line is in use (i.e. the
+ common case) then the 2nd call info will be GONE and thus the 1st one
+ will expand to fill the full height of the CallCard. -->
+
+ <!-- Primary "call card" block, for the foreground call. -->
+ <LinearLayout
+ android:id="@+id/primary_call_info_container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:elevation="@dimen/primary_call_elevation"
+ android:layout_centerHorizontal="true"
+ android:background="@color/incall_call_banner_background_color"
+ android:paddingTop="@dimen/call_banner_primary_call_container_top_padding"
+ android:clipChildren="false"
+ android:clipToPadding="false">
+
+ <include layout="@layout/primary_call_info" />
+
+ <fragment android:name="com.android.incallui.CallButtonFragment"
+ android:id="@+id/callButtonFragment"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" />
+
+ <TextView android:id="@+id/connectionServiceMessage"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:visibility="gone"
+ android:padding="@dimen/call_banner_side_padding"
+ android:background="@android:color/white" />
+
+ </LinearLayout>
+
+ <!-- Contact photo for primary call info -->
+ <ImageView android:id="@+id/photo"
+ android:layout_below="@id/primary_call_info_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_gravity="center_vertical"
+ android:gravity="top|center_horizontal"
+ android:scaleType="centerCrop"
+ android:contentDescription="@string/contactPhoto"
+ android:src="@drawable/picture_unknown" />
+
+ <fragment android:name="com.android.incallui.VideoCallFragment"
+ android:id="@+id/videoCallFragment"
+ android:layout_alignParentTop="true"
+ android:layout_gravity="top|center_horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+ <!-- Progress spinner, useful for indicating pending operations such as upgrade to video. -->
+ <FrameLayout
+ android:id="@+id/progressSpinner"
+ android:layout_below="@id/primary_call_info_container"
+ android:background="#63000000"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:layout_centerHorizontal="true"
+ android:layout_centerVertical="true"
+ android:visibility="gone">
+
+ <ProgressBar
+ android:id="@+id/progress_bar"
+ style="@android:style/Widget.Material.ProgressBar"
+ android:layout_gravity="center"
+ android:layout_width="48dp"
+ android:layout_height="48dp"
+ android:indeterminate="true" />
+ </FrameLayout>
+
+ <!-- Secondary "Call info" block, for the background ("on hold") call. -->
+ <include layout="@layout/secondary_call_info" />
+
+ <include layout="@layout/manage_conference_call_button"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignTop="@id/photo" />
+
+ <!-- Placeholder for the dialpad which is replaced with the dialpad fragment when shown. -->
+ <FrameLayout
+ android:id="@+id/dialpadFragmentContainer"
+ android:layout_below="@id/primary_call_info_container"
+ android:layout_gravity="bottom|center_horizontal"
+ android:layout_alignParentBottom="true"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+ <fragment android:name="com.android.incallui.AnswerFragment"
+ android:id="@+id/answerFragment"
+ android:layout_below="@id/primary_call_info_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_gravity="bottom|center_horizontal"
+ android:layout_marginBottom="@dimen/glowpadview_margin_bottom"
+ android:visibility="gone" />
+
+ <FrameLayout
+ android:id="@+id/floating_end_call_action_button_container"
+ android:layout_width="@dimen/end_call_floating_action_button_diameter"
+ android:layout_height="@dimen/end_call_floating_action_button_diameter"
+ android:background="@drawable/fab_red"
+ android:layout_centerHorizontal="true"
+ android:layout_marginBottom="@dimen/end_call_button_margin_bottom"
+ android:layout_alignParentBottom="true" >
+
+ <ImageButton android:id="@+id/floating_end_call_action_button"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/end_call_background"
+ android:src="@drawable/fab_ic_end_call"
+ android:scaleType="center"
+ android:contentDescription="@string/onscreenEndCallText" />
+
+ </FrameLayout>
+
+</RelativeLayout>
diff --git a/InCallUI/res/layout/dialpad_incall.xml b/InCallUI/res/layout/dialpad_incall.xml
deleted file mode 100644
index d9473c1..0000000
--- a/InCallUI/res/layout/dialpad_incall.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<TableLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/dialpad"
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="4"
- android:layout_gravity="center_horizontal"
- android:paddingLeft="@dimen/dialpad_horizontal_padding"
- android:paddingRight="@dimen/dialpad_horizontal_padding"
- android:background="@color/background_dialpad"
- android:stretchColumns="*"
- android:layoutDirection="ltr" >
-
- <TableRow style="@style/InCallDialpadTableRowStyle">
- <include layout="@layout/dialpad_key_incall" android:id="@+id/one"/>
- <include layout="@layout/dialpad_key_incall" android:id="@+id/two"/>
- <include layout="@layout/dialpad_key_incall" android:id="@+id/three"/>
- </TableRow>
-
- <TableRow style="@style/InCallDialpadTableRowStyle">
- <include layout="@layout/dialpad_key_incall" android:id="@+id/four"/>
- <include layout="@layout/dialpad_key_incall" android:id="@+id/five"/>
- <include layout="@layout/dialpad_key_incall" android:id="@+id/six"/>
- </TableRow>
-
- <TableRow style="@style/InCallDialpadTableRowStyle">
- <include layout="@layout/dialpad_key_incall" android:id="@+id/seven"/>
- <include layout="@layout/dialpad_key_incall" android:id="@+id/eight"/>
- <include layout="@layout/dialpad_key_incall" android:id="@+id/nine"/>
- </TableRow>
-
- <TableRow style="@style/InCallDialpadTableRowStyle">
- <com.android.dialer.dialpad.DialpadKeyButton
- android:id="@+id/star"
- style="@style/InCallDialpadKeyButtonStyle">
- <LinearLayout
- style="@style/InCallDialpadKeyInternalLayoutStyle">
- <TextView
- android:id="@+id/dialpad_key_number"
- style="@style/InCallDialpadKeyStarPoundStyle"
- android:textSize="@dimen/dialpad_key_star_size" />
- <View
- android:layout_height="match_parent"
- android:layout_width="@dimen/dialpad_key_letters_width" />
- </LinearLayout>
- </com.android.dialer.dialpad.DialpadKeyButton>
- <include layout="@layout/dialpad_key_incall" android:id="@+id/zero"/>
- <com.android.dialer.dialpad.DialpadKeyButton
- android:id="@+id/pound"
- style="@style/InCallDialpadKeyButtonStyle">
- <LinearLayout
- style="@style/InCallDialpadKeyInternalLayoutStyle">
- <TextView
- android:id="@+id/dialpad_key_number"
- style="@style/InCallDialpadKeyStarPoundStyle"
- android:textSize="@dimen/dialpad_key_pound_size" />
- <View
- android:layout_height="match_parent"
- android:layout_width="@dimen/dialpad_key_letters_width" />
- </LinearLayout>
- </com.android.dialer.dialpad.DialpadKeyButton>
- </TableRow>
-</TableLayout>
diff --git a/InCallUI/res/layout/dialpad_key_incall.xml b/InCallUI/res/layout/dialpad_key_incall.xml
deleted file mode 100644
index 8ce4b51..0000000
--- a/InCallUI/res/layout/dialpad_key_incall.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<FrameLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- style="@style/InCallDialpadKeyButtonStyle">
-
- <LinearLayout style="@style/InCallDialpadKeyInternalLayoutStyle">
-
- <!-- Note in the referenced styles that we assign hard widths to these components
- because we want them to line up vertically when we arrange them in an MxN grid -->
-
- <TextView
- android:id="@+id/dialpad_key_number"
- style="@style/InCallDialpadKeyNumberStyle" />
-
- <TextView
- android:id="@+id/dialpad_key_letters"
- style="@style/InCallDialpadKeyLettersStyle" />
- </LinearLayout>
-</FrameLayout>
\ No newline at end of file
diff --git a/InCallUI/res/layout/dtmf_twelve_key_dialer_view.xml b/InCallUI/res/layout/dtmf_twelve_key_dialer_view.xml
index d921ca3..efd6982 100644
--- a/InCallUI/res/layout/dtmf_twelve_key_dialer_view.xml
+++ b/InCallUI/res/layout/dtmf_twelve_key_dialer_view.xml
@@ -19,44 +19,12 @@
android:id="@+id/dtmf_twelve_key_dialer_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical"
- android:layout_marginTop="1dip" >
+ android:orientation="vertical">
<view class="com.android.incallui.DialpadFragment$HoverIgnoringLinearLayout"
android:orientation="vertical"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@color/background_dialpad">
-
-
- <!-- Display of the digits you've typed so far.
- This widget appears completely non-interactive to the user: you
- can't edit or "hit backspace" since these are DTMF tones you've
- already sent over the network. But it's still an EditText rather
- than a TextView because it needs to receive key events from a
- hard keyboard, if present (see mDialerKeyListener). -->
- <EditText
- android:id="@+id/dtmfDialerField"
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="1"
- android:layout_marginTop="10dp"
- android:layout_marginBottom="5dp"
- android:layout_marginStart="32dp"
- android:layout_marginEnd="32dp"
- android:paddingEnd="16dp"
- android:paddingStart="16dp"
- android:singleLine="true"
- android:scrollHorizontally="true"
- android:gravity="center"
- android:freezesText="true"
- android:background="@color/background_dialpad"
- android:fontFamily="sans-serif-light"
- android:textSize="@dimen/dialpad_digits_text_size"
- android:textColor="@color/dialpad_digits_text_color"
- android:focusableInTouchMode="false"
- android:clickable="false"/>
-
- <include layout="@layout/dialpad_incall"/>
+ android:layout_height="match_parent" >
+ <include layout="@layout/dialpad_view"/>
</view>
</view>
diff --git a/InCallUI/res/layout/extra_button_row.xml b/InCallUI/res/layout/extra_button_row.xml
deleted file mode 100644
index ade3e4e..0000000
--- a/InCallUI/res/layout/extra_button_row.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- ~ Copyright (C) 2013 The Android Open Source Project
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License
- -->
-
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="@color/button_background">
- <!-- The buttons here have a text label floating off to the side
- (which is necessary because these buttons are used only in
- a few rare states, and the meaning of the icon might not be
- obvious.) The entire row (button + text) is clickable. -->
-
- <!-- "Manage conference" -->
- <!-- This button is used only on GSM devices, during a conference call. -->
- <LinearLayout android:id="@+id/manageConferenceButton"
- android:orientation="horizontal"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingStart="@dimen/button_cluster_side_padding"
- android:paddingEnd="@dimen/button_cluster_side_padding"
- android:background="?android:attr/selectableItemBackground"
- android:visibility="gone">
- <!-- The entire LinearLayout here is clickable, so we don't
- care about clicks on the ImageButton itself. -->
- <ImageButton android:id="@+id/manageConferenceButtonImage"
- android:clickable="false"
- style="@style/InCallExtraRowButton"
- android:src="@drawable/ic_groups_holo_dark"
- android:contentDescription="@string/onscreenManageConferenceText" />
- <TextView android:id="@+id/manageConferenceButtonLabel"
- style="@style/InCallExtraRowButtonLabel"
- android:text="@string/onscreenManageConferenceText" />
- </LinearLayout>
-
- <!-- CDMA-specific "Merge" -->
- <!-- This button is used only on CDMA devices, where we can't use
- the Merge button in the main button row (because the "Add Call"
- button might need to be enabled at the same time.) -->
- <LinearLayout android:id="@+id/cdmaMergeButton"
- android:orientation="horizontal"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingStart="@dimen/button_cluster_side_padding"
- android:paddingEnd="@dimen/button_cluster_side_padding"
- android:background="?android:attr/selectableItemBackground"
- android:visibility="gone">
- <!-- The entire LinearLayout here is clickable, so we don't
- care about clicks on the ImageButton itself. -->
- <ImageButton android:id="@+id/cdmaMergeButtonImage"
- android:clickable="false"
- style="@style/InCallExtraRowButton"
- android:src="@drawable/ic_merge_holo_dark"
- android:contentDescription="@string/onscreenMergeCallsText" />
- <TextView android:id="@+id/cdmaMergeButtonLabel"
- style="@style/InCallExtraRowButtonLabel"
- android:text="@string/onscreenMergeCallsText" />
- </LinearLayout>
-
-</FrameLayout>
diff --git a/InCallUI/res/layout/incall_screen.xml b/InCallUI/res/layout/incall_screen.xml
index 892f917..9f75695 100644
--- a/InCallUI/res/layout/incall_screen.xml
+++ b/InCallUI/res/layout/incall_screen.xml
@@ -15,65 +15,25 @@
-->
<!-- In-call Phone UI; see InCallActivity.java. -->
-<FrameLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:id="@+id/main">
+ android:id="@+id/main" >
- <LinearLayout
- android:id="@+id/in_call_and_button_container"
+ <fragment android:name="com.android.incallui.CallCardFragment"
+ android:id="@+id/callCardFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical">
-
- <RelativeLayout
- android:id="@+id/in_call_card_container"
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="1">
-
- <fragment
- android:name="com.android.incallui.CallCardFragment"
- android:id="@+id/callCardFragment"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_alignParentTop="true"
- android:layout_alignParentStart="true" />
- <fragment
- android:name="com.android.incallui.DialpadFragment"
- android:id="@+id/dialpadFragment"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_alignParentTop="true"
- android:layout_alignParentStart="true" />
- </RelativeLayout>
-
- <fragment android:name="com.android.incallui.CallButtonFragment"
- android:id="@+id/callButtonFragment"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"/>
-
- </LinearLayout>
-
- <fragment android:name="com.android.incallui.AnswerFragment"
- android:id="@+id/answerFragment"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:layout_centerHorizontal="true"
- android:gravity="top"
- android:layout_gravity="bottom|center_horizontal"
- android:layout_marginBottom="@dimen/glowpadview_margin_bottom"
- android:visibility="gone" />
+ android:layout_alignParentTop="true"
+ android:layout_alignParentStart="true" />
<fragment android:name="com.android.incallui.ConferenceManagerFragment"
- android:id="@+id/conferenceManagerFragment"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_alignParentTop="true"
- android:layout_alignParentStart="true"
- android:layout_alignParentBottom="true"
- android:layout_alignParentEnd="true" />
+ android:id="@+id/conferenceManagerFragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_alignParentTop="true"
+ android:layout_alignParentStart="true"
+ android:layout_alignParentBottom="true"
+ android:layout_alignParentEnd="true" />
</FrameLayout>
diff --git a/InCallUI/res/layout/manage_conference_call_button.xml b/InCallUI/res/layout/manage_conference_call_button.xml
new file mode 100644
index 0000000..d8ddf21
--- /dev/null
+++ b/InCallUI/res/layout/manage_conference_call_button.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<!-- This button is used only on GSM devices, during a conference call. -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/manage_conference_call_button"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:paddingStart="@dimen/call_banner_side_padding"
+ android:paddingEnd="@dimen/secondary_call_banner_right_padding"
+ android:paddingTop="@dimen/call_banner_secondary_call_top_bottom_padding"
+ android:paddingBottom="@dimen/call_banner_secondary_call_top_bottom_padding"
+ android:background="@color/incall_banner_secondary_background_color">
+
+ <!-- The entire LinearLayout here is clickable, so we ignore ImageButton clicks. -->
+ <ImageView android:id="@+id/manageConferenceButtonImage"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:src="@drawable/ic_group_white_24dp"
+ android:tint="@color/incall_banner_secondary_text_color"
+ android:contentDescription="@string/onscreenManageConferenceText" />
+
+ <TextView android:id="@+id/manageConferenceButtonLabel"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingStart="24dp"
+ android:gravity="center_vertical"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textColor="@color/incall_banner_secondary_text_color"
+ android:text="@string/onscreenManageConferenceText" />
+
+</LinearLayout>
diff --git a/InCallUI/res/layout/primary_call_info.xml b/InCallUI/res/layout/primary_call_info.xml
index 0d37a73..1f3b954 100644
--- a/InCallUI/res/layout/primary_call_info.xml
+++ b/InCallUI/res/layout/primary_call_info.xml
@@ -16,167 +16,131 @@
~ limitations under the License
-->
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="1">
+<!-- "Call Banner" for primary call, the foregound or ringing call. The "call banner" is a block
+ of info about a single call, including the contact name, phone number, call time counter, and
+ other status info. This info is shown as a "banner" overlaid across the top of contact photo.
+ -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/primary_call_banner"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:minHeight="@dimen/call_banner_height"
+ android:paddingStart="@dimen/call_banner_side_padding"
+ android:paddingEnd="@dimen/call_banner_side_padding"
+ android:clipChildren="false"
+ android:clipToPadding="false"
+ android:animateLayoutChanges="true"
+ android:gravity="center">
- <!-- Contact photo for primary call info -->
- <ImageView android:id="@+id/photo"
- android:layout_alignParentStart="true"
- android:layout_alignParentTop="true"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:gravity="top|center_horizontal"
- android:scaleType="centerCrop"
- android:contentDescription="@string/contactPhoto"
- android:src="@drawable/picture_unknown"/>
+ <LinearLayout android:id="@+id/callStateButton"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:clipChildren="false"
+ android:clipToPadding="false">
+
+ <!-- Subscription provider or WiFi calling icon displayed to the left of the label -->
+ <ImageView android:id="@+id/callStateIcon"
+ android:layout_width="16dp"
+ android:layout_height="16dp"
+ android:layout_marginEnd="4dp"
+ android:baselineAlignBottom="true"
+ android:tint="@color/incall_accent_color"
+ android:alpha="0.0"
+ android:scaleType="centerInside"
+ android:visibility="gone" />
+
+ <ImageView android:id="@+id/videoCallIcon"
+ android:src="@drawable/ic_toolbar_video"
+ android:layout_width="16dp"
+ android:layout_height="16dp"
+ android:layout_marginEnd="4dp"
+ android:baselineAlignBottom="true"
+ android:tint="@color/incall_accent_color"
+ android:scaleType="centerInside"
+ android:visibility="gone" />
+
+ <TextView android:id="@+id/callStateLabel"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceLarge"
+ android:textColor="@color/incall_accent_color"
+ android:textSize="@dimen/call_status_text_size"
+ android:alpha="0.7"
+ android:singleLine="true"
+ android:gravity="start"
+ android:ellipsize="end" />
+ </LinearLayout>
+
+ <!-- Name (or the phone number, if we don't have a name to display). -->
+ <com.android.phone.common.widget.ResizingTextTextView android:id="@+id/name"
+ xmlns:ex="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="-5dp"
+ android:fontFamily="sans-serif-light"
+ android:textAppearance="?android:attr/textAppearanceLarge"
+ android:textSize="@dimen/call_name_text_size"
+ android:singleLine="true"
+ ex:resizing_text_min_size="@dimen/call_name_text_min_size" />
+
<LinearLayout
- android:layout_width="match_parent"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:clipChildren="false"
+ android:clipToPadding="false">
+
+ <!-- Label (like "Mobile" or "Work", if present) and phone number, side by side -->
+ <LinearLayout android:id="@+id/labelAndNumber"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:orientation="vertical">
+ android:layout_weight="1"
+ android:orientation="horizontal">
- <!-- "Call Banner" for primary call, the foregound or ringing call.
- The "call banner" is a block of info about a single call,
- including the contact name, phone number, call time counter,
- and other status info. This info is shown as a "banner"
- overlaid across the top of contact photo. -->
- <RelativeLayout android:id="@+id/primary_call_banner"
- style="@style/PrimaryCallInfoPrimaryCallBanner"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:minHeight="@dimen/call_banner_height"
- android:paddingStart="@dimen/call_banner_side_padding"
- android:paddingEnd="@dimen/call_banner_side_padding"
- android:paddingTop="@dimen/call_banner_top_bottom_padding"
- android:paddingBottom="@dimen/call_banner_top_bottom_padding"
- android:background="@color/incall_call_banner_background">
-
- <!-- Name (or the phone number, if we don't have a name to display). -->
- <TextView android:id="@+id/name"
- android:layout_alignParentTop="true"
- android:layout_alignParentStart="true"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingEnd="@dimen/call_banner_name_number_right_padding"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:textColor="@color/incall_call_banner_text_color"
- android:singleLine="true"
- android:textAlignment="viewStart"/>
-
- <!-- Label (like "Mobile" or "Work", if present) and phone number, side by side -->
- <LinearLayout android:id="@+id/labelAndNumber"
- android:layout_below="@id/name"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingEnd="@dimen/call_banner_name_number_right_padding"
- android:orientation="horizontal">
- <TextView android:id="@+id/phoneNumber"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="@color/incall_call_banner_text_color"
- android:singleLine="true"
- android:textDirection="ltr" />
<TextView android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="@color/incall_call_banner_text_color"
- android:textAllCaps="true"
+ android:textColor="@color/incall_call_banner_subtext_color"
+ android:textSize="@dimen/call_label_text_size"
android:singleLine="true"
- android:layout_marginStart="6dp" />
- </LinearLayout>
+ android:textDirection="ltr" />
- <!-- Elapsed time indication for a call in progress. -->
- <TextView android:id="@+id/elapsedTime"
- android:layout_alignParentEnd="true"
- android:layout_centerVertical="true"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:textColor="@color/incall_call_banner_text_color"
- android:singleLine="true"
- android:visibility="invisible" />
-
- <!-- Call type indication: a special label and/or branding
- for certain kinds of calls (like "Internet call" for a SIP call.) -->
- <TextView android:id="@+id/callTypeLabel"
- android:layout_below="@id/labelAndNumber"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="@color/incall_call_banner_text_color"
- android:maxLines="1"
- android:ellipsize="end" />
-
- </RelativeLayout> <!-- End of call_banner -->
-
-
- <LinearLayout android:id="@+id/supplementary_info_container"
- style="@style/PrimaryCallInfoSupplementaryInfoContainer"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical|right"
- android:orientation="vertical"
- android:background="@color/incall_secondary_info_background"
- android:animateLayoutChanges="true">
-
- <!-- Shown when a gateway provider is used during any outgoing call. -->
- <LinearLayout android:id="@+id/providerInfo"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="@dimen/provider_info_top_bottom_padding"
- android:paddingBottom="@dimen/provider_info_top_bottom_padding"
- android:paddingStart="@dimen/call_banner_side_padding"
- android:paddingEnd="@dimen/call_banner_side_padding"
- android:gravity="end"
- android:orientation="horizontal"
- android:background="@android:color/transparent"
- android:visibility="gone">
- <TextView android:id="@+id/providerLabel"
- android:layout_width="0px"
+ <TextView android:id="@+id/phoneNumber"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_weight="6"
+ android:layout_marginStart="6dp"
android:textAppearance="?android:attr/textAppearanceSmall"
- android:textAllCaps="true"
- android:textColor="@color/incall_call_banner_text_color"
- android:singleLine="true"
- android:ellipsize="marquee" />
- <TextView android:id="@+id/providerAddress"
- android:layout_width="0px"
- android:layout_height="wrap_content"
- android:layout_weight="4"
- android:gravity="end"
- android:paddingStart="8dp"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textAllCaps="true"
- android:textColor="@color/incall_call_banner_text_color"
- android:singleLine="true"
- android:ellipsize="middle" />
- </LinearLayout>
+ android:textColor="@color/incall_call_banner_subtext_color"
+ android:textSize="@dimen/call_label_text_size"
+ android:singleLine="true" />
- <!-- The "call state label": In some states, this shows a special
- indication like "Dialing" or "Incoming call" or "Call ended".
- It's unused for the normal case of an active ongoing call. -->
- <TextView android:id="@+id/callStateLabel"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="@dimen/provider_info_top_bottom_padding"
- android:paddingBottom="@dimen/provider_info_top_bottom_padding"
- android:paddingStart="@dimen/call_banner_side_padding"
- android:paddingEnd="@dimen/call_banner_side_padding"
- android:gravity="end"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="@color/incall_call_banner_text_color"
- android:textAllCaps="true"
- android:background="@android:color/transparent"
- android:singleLine="true"
- android:ellipsize="end"/>
</LinearLayout>
+ <!-- Elapsed time indication for a call in progress. -->
+ <TextView android:id="@+id/elapsedTime"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textColor="@color/incall_call_banner_subtext_color"
+ android:textSize="@dimen/call_label_text_size"
+ android:singleLine="true"
+ android:visibility="gone" />
+
</LinearLayout>
+ <!-- Call type indication: a special label and/or branding
+ for certain kinds of calls (like "SIP call" for a SIP call.) -->
+ <TextView android:id="@+id/callTypeLabel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textColor="@color/incall_call_banner_text_color"
+ android:maxLines="1"
+ android:ellipsize="end" />
-</FrameLayout>
+</LinearLayout> <!-- End of call_banner -->
diff --git a/InCallUI/res/layout/secondary_call_info.xml b/InCallUI/res/layout/secondary_call_info.xml
index 787dc59..237559d 100644
--- a/InCallUI/res/layout/secondary_call_info.xml
+++ b/InCallUI/res/layout/secondary_call_info.xml
@@ -14,65 +14,66 @@
limitations under the License.
-->
-<!-- XML resource file for secondary call info, which will be used by CallCard.
- See also call_card.xml.
+<!-- XML resource file for secondary call info, which will be used by CallCard. -->
- This should look similar to primary call info (primary_call_info.xml), but
- to optimize the view usage, the structure is different. -->
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/secondary_call_info"
android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:orientation="horizontal"
+ android:paddingStart="@dimen/call_banner_side_padding"
+ android:paddingEnd="@dimen/secondary_call_banner_right_padding"
+ android:paddingTop="@dimen/call_banner_secondary_call_top_bottom_padding"
+ android:paddingBottom="@dimen/call_banner_secondary_call_top_bottom_padding"
+ android:background="@color/incall_banner_secondary_background_color"
+ android:elevation="@dimen/secondary_call_elevation">
- <!-- Contact photo for call_info #2 -->
- <ImageView android:id="@+id/secondaryCallPhoto"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:gravity="top|center_horizontal"
- android:scaleType="centerCrop"
- android:contentDescription="@string/onHold" />
-
- <View android:id="@+id/dim_effect_for_secondary_photo"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@drawable/clickable_dim_effect"/>
-
- <!-- Parent FrameLayout is used to size the background correctly, while the child TextView
- just wraps its content and is aligned with layout_gravity start so that it is aligned
- to the correct side in RTL mode regardless of whether the text is Arabic or not -->
- <FrameLayout
- android:layout_width="match_parent"
- android:layout_height="@dimen/call_banner_height"
- android:paddingStart="@dimen/call_banner_side_padding"
- android:paddingEnd="@dimen/secondary_call_banner_right_padding"
- android:paddingTop="@dimen/call_banner_top_bottom_padding"
- android:paddingBottom="@dimen/call_banner_top_bottom_padding"
- android:background="@color/incall_call_banner_background">
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:orientation="vertical">
<!-- Name (or the phone number, if we don't have a name to display). -->
<TextView android:id="@+id/secondaryCallName"
- style="@style/SecondaryCallInfoSecondaryCallName"
- android:layout_gravity="bottom|start"
- android:layout_width="wrap_content"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
- android:textColor="@color/incall_call_banner_text_color"
+ android:textColor="@color/incall_banner_secondary_text_color"
android:ellipsize="marquee"
android:singleLine="true"/>
- </FrameLayout>
+ <!-- Provider, e.g. AT&T, that a call is associated with -->
+ <LinearLayout android:id="@+id/secondary_call_provider_info"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:visibility="gone" >
+ <ImageView android:id="@+id/secondaryCallProviderIcon"
+ android:layout_width="@dimen/call_provider_small_icon_size"
+ android:layout_height="@dimen/call_provider_small_icon_size"
+ android:layout_marginRight="2dp"
+ android:baselineAlignBottom="true"
+ android:scaleType="centerInside" />
+ <TextView android:id="@+id/secondaryCallProviderLabel"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/onHold"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textColor="@color/incall_banner_secondary_text_color"
+ android:singleLine="true"/>
+ </LinearLayout>
+ </LinearLayout>
<!-- Call status of the background call, usually the string "On hold". -->
<TextView android:id="@+id/secondaryCallStatus"
- style="@style/SecondaryCallInfoSecondaryCallStatus"
android:layout_width="wrap_content"
- android:layout_height="@dimen/call_banner_height"
- android:gravity="bottom|end"
- android:layout_gravity="end"
- android:paddingStart="@dimen/call_banner_side_padding"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
android:paddingEnd="@dimen/call_banner_side_padding"
- android:paddingTop="@dimen/call_banner_top_bottom_padding"
- android:paddingBottom="@dimen/call_banner_top_bottom_padding"
android:text="@string/onHold"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="@color/incall_call_banner_text_color"
- android:textAllCaps="true"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textColor="@color/incall_banner_secondary_text_color"
+ android:textAlignment="textEnd"
android:singleLine="true" />
-</FrameLayout>
+
+</LinearLayout>
diff --git a/InCallUI/res/layout/select_account_list_item.xml b/InCallUI/res/layout/select_account_list_item.xml
new file mode 100644
index 0000000..1999fce
--- /dev/null
+++ b/InCallUI/res/layout/select_account_list_item.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!-- Layout of a single item in the InCallUI Account Chooser Dialog. -->
+<view class="com.android.contacts.common.widget.ActivityTouchLinearLayout"
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="4dp" >
+
+ <ImageView android:id="@+id/icon"
+ android:layout_width="48dp"
+ android:layout_height="48dp"
+ android:tint="@color/dialtacts_secondary_text_color"
+ android:scaleType="center" />
+
+ <TextView android:id="@+id/text"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:gravity="start|center_vertical"
+ android:layout_marginLeft="8dp"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="match_parent" />
+</view>
diff --git a/InCallUI/res/layout/video_call_fragment.xml b/InCallUI/res/layout/video_call_fragment.xml
new file mode 100644
index 0000000..d5e11ef
--- /dev/null
+++ b/InCallUI/res/layout/video_call_fragment.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" >
+
+ <ViewStub
+ android:id="@+id/videoCallViewsStub"
+ android:inflatedId="@+id/videoCallViews"
+ android:layout="@layout/video_call_views"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+</FrameLayout>
\ No newline at end of file
diff --git a/InCallUI/res/layout/video_call_views.xml b/InCallUI/res/layout/video_call_views.xml
new file mode 100644
index 0000000..ab03aa3
--- /dev/null
+++ b/InCallUI/res/layout/video_call_views.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" >
+
+ <TextureView
+ android:id="@+id/incomingVideo"
+ android:layout_gravity="center_vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+ <!-- The width and height are replaced at runtime based on the selected camera. -->
+ <TextureView
+ android:id="@+id/previewVideo"
+ android:layout_gravity="bottom|right"
+ android:layout_margin="@dimen/video_preview_margin"
+ android:layout_width="70dp"
+ android:layout_height="120dp" />
+</FrameLayout>
\ No newline at end of file
diff --git a/InCallUI/res/menu/incall_audio_mode_menu.xml b/InCallUI/res/menu/incall_audio_mode_menu.xml
index 0139895..070c181 100644
--- a/InCallUI/res/menu/incall_audio_mode_menu.xml
+++ b/InCallUI/res/menu/incall_audio_mode_menu.xml
@@ -19,20 +19,21 @@
<!-- TODO: Need final icon assets. Also, PopupMenu currently ignores the
android:icon attribute anyway(!) -->
<item android:id="@+id/audio_mode_speaker"
- android:icon="@drawable/ic_sound_holo_dark"
+ android:icon="@drawable/ic_toolbar_speaker_on"
android:title="@string/audio_mode_speaker" />
<!-- We display *either* "earpiece" or "wired headset", never both,
depending on whether a wired headset is physically plugged in
(see InCallTouchUi.showAudioModePopup().) -->
<item android:id="@+id/audio_mode_earpiece"
- android:icon="@drawable/ic_ab_dialer_holo_dark"
+ android:icon="@drawable/ic_toolbar_audio_phone"
android:title="@string/audio_mode_earpiece" />
+
<item android:id="@+id/audio_mode_wired_headset"
- android:icon="@drawable/ic_ab_dialer_holo_dark"
+ android:icon="@drawable/ic_toolbar_audio_headphones"
android:title="@string/audio_mode_wired_headset" />
<item android:id="@+id/audio_mode_bluetooth"
- android:icon="@drawable/ic_bluetooth_holo_dark"
+ android:icon="@drawable/ic_toolbar_audio_bluetooth"
android:title="@string/audio_mode_bluetooth" />
</menu>
diff --git a/InCallUI/res/menu/incall_overflow_menu.xml b/InCallUI/res/menu/incall_overflow_menu.xml
new file mode 100644
index 0000000..06208eb
--- /dev/null
+++ b/InCallUI/res/menu/incall_overflow_menu.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:id="@+id/overflow_merge_menu_item"
+ android:title="@string/overflowMergeMenuItemText" />
+
+ <item android:id="@+id/overflow_add_menu_item"
+ android:title="@string/overflowAddMenuItemText" />
+
+ <item android:id="@+id/overflow_hold_menu_item"
+ android:title="@string/overflowHoldMenuItemText" />
+
+ <item android:id="@+id/overflow_resume_menu_item"
+ android:title="@string/overflowResumeMenuItemText" />
+
+ <item android:id="@+id/overflow_swap_menu_item"
+ android:title="@string/overflowSwapMenuItemText" />
+</menu>
diff --git a/InCallUI/res/values-af/strings.xml b/InCallUI/res/values-af/strings.xml
new file mode 100644
index 0000000..b575fe2
--- /dev/null
+++ b/InCallUI/res/values-af/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Foon"</string>
+ <string name="onHold" msgid="9035493194749959955">"Hou aan"</string>
+ <string name="unknown" msgid="6878797917991465859">"Onbekend"</string>
+ <string name="private_num" msgid="6713286113000232309">"Privaat nommer"</string>
+ <string name="payphone" msgid="1931775086311769314">"Betaalfoon"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Lyn is besig"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Netwerk besig"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Geen reaksie nie, uitgetel"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Bediener onbereikbaar"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Nommer onbereikbaar"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Verkeerde gebruikernaam of wagwoord"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Geskakel van buite netwerk"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Bedienerfout. Probeer later weer."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Geen sein"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM-grens oorskry"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radio af"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Geen SIM of SIM-fout"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Mobiele netwerk is nie beskikbaar nie"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Uitgaande oproepe word beperk deur FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Jy kan nie uitgaande oproepe maak terwyl oproepblokkeer aan is nie."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Alle oproepe word deur toegangbeheer beperk."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Noodoproepe word beperk deur toegangbeheer."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Gewone oproepe word beperk deur toegangbeheer."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Ongeldige nommer"</string>
+ <string name="confCall" msgid="1904840547188336828">"Konferensie-oproep"</string>
+ <string name="call_lost" msgid="317670617901479594">"Oproep is verlore."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Luidspreker"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Selfoonoorstuk"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Bedraade kopfoon"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Stuur die volgende tone?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Stuur luitone\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Stuur"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Ja"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Nee"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Vervang die plekhouerkarakter met"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Konferensie-oproep <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Stemboodskapnommer"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Bel"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Probeer weer"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Konferensie-oproep"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Inkomende oproep"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Oproep beëindig"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Hou aan"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Lui af"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"In oproep"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"My nommer is <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Koppel tans video"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Video-oproep"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Versoek tans video"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Kan nie video-oproep koppel nie"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Jou terugbelnommer\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Jou noodterugbelnommer\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Bel"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Gemiste oproep"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Gemiste oproepe"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> gemiste oproepe"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Gemiste oproep van <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Oproep aan die gang"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Hou aan"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Inkomende oproep"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Inkomende video-oproep"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Inkomende videoversoek"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Nuwe stemboodskap"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Nuwe stemboodskap (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Bel <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Stemboodskapnommer onbekend"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Geen diens nie"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Gekose netwerk (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) nie beskikbaar nie"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Lui af"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Stem"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Aanvaar"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Maak toe"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Bel terug"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Boodskap"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Om \'n oproep te maak, skakel eers vliegtuigmodus af."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Nie geregistreer op netwerk nie."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mobiele netwerk nie beskikbaar nie."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Oproep nie gestuur nie, geen geldige nommer ingevoer nie."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Oproep nie gestuur nie."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Begin MMI-volgorde…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Nieondersteunde diens."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Kan nie oproepe wissel nie."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Kan nie oproep verdeel nie."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Onmoontlik om oproep deur te skakel."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Kan nie konferensie-oproepe doen nie."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Kan nie oproep verwerp nie."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Kan nie oproepe los nie."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Stemboodskapnommer is onbekend."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP-oproep"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Noodoproep"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Skakel tans radio aan…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Buite diensarea, probeer tans weer…"</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Oproep nie gestuur nie. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> is nie \'n noodnommer nie!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Oproep nie gestuur nie. Bel asseblief \'n noodnommer!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Gebruik sleutelbord om te bel"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Hou oproep"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Hervat oproep"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Voeg oproep by"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Voeg oproepe saam"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Verwissel oproepe"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Hou aan"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Einde"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Nommerbord"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Demp"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Voeg oproep by"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Voeg oproepe saam"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Ruil"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Bestuur oproepe"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Oudio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Video-oproep"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Verander na stemoproep"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Wissel kamera"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Laat video wag"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Meer opsies"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Diens"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Opstelling"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Nie gestel nie>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Ander oproepinstellings"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Bel via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Inkomend via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"kontakfoto"</string>
+ <string name="goPrivate" msgid="865837794424530980">"gaan privaat"</string>
+ <string name="selectContact" msgid="781975788478987237">"kies kontak"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Skryf jou eie..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Kanselleer"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Stuur"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"een"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"twee"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"drie"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"vier"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"vyf"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"ses"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"sewe"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"agt"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"nege"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"ster"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"nul"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"huts"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"bel"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"terugvee"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Luidsprekerfoon gekies"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Oorstuk gekies"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Bedrade kopstuk gekies"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Bluetooth-kopstuk gekies"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Oproep stilgemaak."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"Oproep ontdemp."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"Oproep uitgestel."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"Oproep uit uitstel verwyder."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Antwoord"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Stuur SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Wys af"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Antwoord as video-oproep"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Antwoord as oudio-oproep"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Aanvaar videoversoek"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Keur videoversoek af"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Gly op vir <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Gly links vir <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Gly regs vir <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Gly af vir <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibreer"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibreer"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Klank"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Verstek klank (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Foon-luitoon"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibreer wanneer lui"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Belblad outo-voltooi"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Luitoon en vibreer"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Bestuur konferensie-oproep"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Noodnommer"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Kies rekening"</string>
+</resources>
diff --git a/InCallUI/res/values-am/strings.xml b/InCallUI/res/values-am/strings.xml
new file mode 100644
index 0000000..4f50209
--- /dev/null
+++ b/InCallUI/res/values-am/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"ስልክ"</string>
+ <string name="onHold" msgid="9035493194749959955">"ያዝናቆይ"</string>
+ <string name="unknown" msgid="6878797917991465859">"ያልታወቀ"</string>
+ <string name="private_num" msgid="6713286113000232309">"የግል ቁጥር"</string>
+ <string name="payphone" msgid="1931775086311769314">"የክፍያ ስልክ"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"መስመሩ ተይዟል"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"አውታረመረብ ተይዟል"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"ምንም ምላሽ የለም፣ ጊዜው አልቋል"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"አገልጋይ አይደረስበትም"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"ቁጥር አይደረስበትም"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"የተሳሳየ ተጠቃሚ ስም እና ይለፍ ቃል"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"ከአውታረ መረብ ውጪ የተደወለ"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"የአግልጋይ ስህተት፣ እባክዎ በድጋሚ ቆይተው ይሞክሩ።"</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"ምንም አመልካች የለም"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM ወሰንአልፏል"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"ሬዲዮ ጠፍቷል"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"ምንም SIM ፣ ወይም የSIM ስህተት የለም"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"የተንቀሳቃሽ ስልክ አውታረ መረብ አይገኝም"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"ወጪ ጥሪዎች በFDN ተከልክለዋል።"</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"የጥሪ ክልከላ በርቶ ሳለ የወጪ ጥሪ ማድረግ አትችልም።"</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"ሁሉም ጥሪዎች በመድረሻ መቆጣጠሪያ የተከለከሉ ናቸው።"</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"የአደጋ ጊዜ ጥሪዎች በድረስ መቆጣጠሪያተከልክልዋል።"</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"መደበኛ ጥሪዎች በድረስ መቆጣጠሪያ ተከልክልዋል።"</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"ተቀባይነት የሌለው ቁጥር"</string>
+ <string name="confCall" msgid="1904840547188336828">"የስብሰባ ጥሪ"</string>
+ <string name="call_lost" msgid="317670617901479594">"ጥሪ ተቋርጣል።"</string>
+ <string name="ok" msgid="3811371167865772377">"እሺ"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"ድምጽ ማጉያ"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"የስልክ እጀታ ጆሮማዳመጫ"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"ባለ ገመድ የጆሮ ማዳመጫ"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"ብሉቱዝ"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"የሚከተሉትንድምፆች ላክ?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"ድምፆች በመላክ ላይ \n"</string>
+ <string name="send_button" msgid="4106860097497818751">" ላክ"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"አዎ"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"አይ"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"የልቅ ምልክት ተካ በ"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"የስብሰባ ጥሪ<xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"የድምፅ መልዕክት ቁጥር"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"በመደወል ላይ"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"እንደገና በመሞከር ላይ"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"የስብሰባ ጥሪ"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"ገቢ ጥሪ"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"ጥሪ አብቅቷል"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"ያዝናቆይ"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"በመዝጋት ላይ"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"ጥሪ ላይ"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"ቁጥሬ<xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> ነው"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"ቪዲዮ በማገናኘት ላይ"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"የቪዲዮ ጥሪ"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"ቪዲዮ በመጠየቅ ላይ"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"የቪዲዮ ጥሪን ማገናኘት አይቻልም"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"የመልሶ መደወያ ቁጥርዎ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"የድንገተማ መልሶ መደወያ ቁጥርዎ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"በመደወል ላይ"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"ያመለጠጥሪ"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"ያመለጡ ጥሪዎች"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ያመለጡ ጥሪዎች"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"ከ<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> ያመለጠ ጥሪ"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"እየተካሄደ ያለ ጥሪ"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"ያዝናቆይ"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"ገቢ ጥሪ"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"ገቢ የቪዲዮ ጥሪ"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"ገቢ የቪዲዮ ጥያቄ"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"አዲስ የድምፅ መልዕክት"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"አዲስ የድምፅ መልዕክት<xliff:g id="COUNT">%d</xliff:g>"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"ደውል <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"የማይታወቅ የድምፅ መልዕክት ቁጥር"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"ምንም አገልግሎት የለም"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"የተመረጠ አውታረመረብ(<xliff:g id="OPERATOR_NAME">%s</xliff:g>) የለም"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"ዝጋ"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"ቪዲዮ"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"ድምፅ"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"ተቀበል"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"ያጥፉ"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"መልሰህ ደውል"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"መልዕክት"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"ለመደወል፣ መጀመሪያየአውሮፕላኑን ሁነታ አጥፋ።"</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"በአውታረ መረቡ ላይ አልተመዘገበም።"</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"የተንቀሳቃሽ አደራጅ የለም።"</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"ጥሪ አልተላከም፣ ትክክለኛ ቁጥር አልገባም።"</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"ጥሪ አልተላከም።"</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"የMMI sequence…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"የማይደገፍ አገልግሎት።"</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"ጥሪዎችን ለመቀያየር አልተቻለም።"</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"ጥሪዎችን ለመለየት አልተቻለም።"</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"ጥሪዎችን ለመስደድ አልተቻለም።"</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"ለስብሰባ ጥሪዎች አልተቻለም።"</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"ጥሪ አለመቀበል አልተቻለም።"</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"ጥሪ(ዎችን) ለመተው አልተቻለም።"</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"የድምጽ መልዕክት ቁጥር አይታወቅም።"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"የSIP ጥሪ"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"የአደጋ ጊዜ ጥሪ"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"ሬዲዮ ክፈት"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"ከአገልግሎት መስጫ ክልል ውጪ፣ ድጋሚ በመሞከር ላይ..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"ጥሪ አልተላከም፣ <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> የአደጋ ቁጥር አይደለም!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"ጥሪ አልተላከም፣ እባክህ የአደጋ ጊዜ ቁጥር ደውል።"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"ለመደወል የሰሌዳ ቁልፍ ተጠቀም"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"ጥሪ አቆይ"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"ጥሪ ቀጥል"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"ጥሪ አክል"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"ጥሪዎችን አዋህድ"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"ጥሪዎችን ቀያይር"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"ያዝ"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"መጨረሻ"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"የመደወያ ሰሌዳ"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"ድምፀ-ከል አድርግ"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"ጥሪ ያክሉ"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"ጥሪዎችን አዋህድ"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"ማገላበጥ"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"ጥሪዎችን አደራጅ"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"ኦዲዮ"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"የቪዲዮ ጥሪ"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"ወደ ድምጽ ጥሪ ይለውጡ"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"ካሜራ ቀይር"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"ቪዲዮ ለአፍታ አቁም"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"ተጨማሪ አማራጮች"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"አገልግሎት"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"አዋቅር"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<አልተዘጋጀም >"</string>
+ <string name="other_settings" msgid="3672912580359716394">"ሌላ ጥሪ ቅንብሮች"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"በ<xliff:g id="PROVIDER_NAME">%s</xliff:g> በኩል በመደወል ላይ"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"በ<xliff:g id="PROVIDER_NAME">%s</xliff:g> በኩል የመጣ"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"የዕውቂያ ፎቶ"</string>
+ <string name="goPrivate" msgid="865837794424530980">"ወደ ብሕታዊነት ሂድ"</string>
+ <string name="selectContact" msgid="781975788478987237">"ዕውቂያ ምረጥ"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"የእራስዎን ይጻፉ..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"ይቅር"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"ላክ"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"አንድ"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"ሁለት"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"ሦስት"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"አራት"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"አምስት"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"ስድስት"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"ሰባት"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"ስምንት"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"ዘጠኝ"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"ኮከብ"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"ዜሮ"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"ፓውንድ"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"ደውል"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"የኋሊት ደምሳሽ"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"የስልክ ድምጽ ማጉያ ተመርጧል"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"የጆሮ ማዳመጫ ተመርጧል"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"ባለገመድ ጆሮ ማዳመጫ ተመርጧል"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"የብሉቱዝ ጆሮ ማዳመጫ ተመርጧል"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"ጥሪ ፀጥ ብሏል"</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"የጥሪ ድምጸ-ከል ተነስቷል።"</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"ጥሪ በይቆይ ላይ ነው"</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"ጥሪ ከይቆይ ተወግዷል።"</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"መልስ"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS ላክ"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"አትቀበል"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"እንደ ቪዲዮ ጥሪ ይመልሱ"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"እንደ ድምጽ ጥሪ ይመልሱ"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"የቪዲዮ ጥያቄ ተቀበል"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"የቪዲዮ ጥያቄ አትቀበል"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"ለ<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ወደ ላይ ያንሸራትቱ።"</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"ለ<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ወደ ግራ ያንሸራትቱ።"</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"ለ<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ወደ ቀኝ ያንሸራትቱ።"</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"ለ<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ወደ ታች ያንሸራትቱ።"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"ንዘር"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"ንዘር"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"ድምፅ"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"ነባሪ ድምጽ (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"የስልክ ጥሪ ድምፅ"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"በሚደወልበት ጊዜ ንዘር"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"የመደወያ ሰሌዳ ራስ-ሙላ"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"የደወል ቅላጼ እና ንዘረት"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"የስብሰባስልክ ጥሪ አደራጅ"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"የአደጋ ጊዜ ቁጥር"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"መለያ ይምረጡ"</string>
+</resources>
diff --git a/InCallUI/res/values-ar/strings.xml b/InCallUI/res/values-ar/strings.xml
new file mode 100644
index 0000000..0a476d4
--- /dev/null
+++ b/InCallUI/res/values-ar/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"الهاتف"</string>
+ <string name="onHold" msgid="9035493194749959955">"معلقة"</string>
+ <string name="unknown" msgid="6878797917991465859">"غير معروف"</string>
+ <string name="private_num" msgid="6713286113000232309">"رقم خاص"</string>
+ <string name="payphone" msgid="1931775086311769314">"هاتف الدفع"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"الخط مشغول"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"الشبكة مشغولة"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"ليس هناك استجابة، انقضت المهلة المحددة"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"لا يمكن الوصول إلى الخادم"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"الرقم لا يمكن الوصول إليه"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"اسم المستخدم غير صحيح أو كلمة المرور غير صحيحة"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"تم الاتصال من خارج الشبكة"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"خطأ بالخادم: إعادة المحاولة لاحقًا."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"لا إشارة"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"تم تعدي حد ACM"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"تم إيقاف اللاسلكي"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"لا تتوفر بطاقة SIM أو حدث خطأ في البطاقة"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"شبكة الجوال غير متاحة"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"يتم تقييد المكالمات الصادرة بواسطة FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"لا يمكنك إجراء مكالمات صادرة أثناء تشغيل حظر المكالمات."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"تم تقييد كل المكالمات بواسطة التحكم في الدخول."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"تم تقييد مكالمات الطوارئ بواسطة التحكم في الدخول."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"تم تقييد المكالمات العادية بواسطة التحكم في الدخول."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"الرقم غير صالح"</string>
+ <string name="confCall" msgid="1904840547188336828">"مكالمة جماعية"</string>
+ <string name="call_lost" msgid="317670617901479594">"تم فقد الاتصال."</string>
+ <string name="ok" msgid="3811371167865772377">"موافق"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"السماعة"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"سماعة الأذن للهاتف"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"سماعة رأس سلكية"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"بلوتوث"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"هل تريد إرسال النغمات التالية؟\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"إرسال النغمات\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"إرسال"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"نعم"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"لا"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"استبدال حرف البدل بـ"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"مكالمة جماعية <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"رقم البريد الصوتي"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"طلب"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"جارٍ إعادة المحاولة"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"مكالمة جماعية"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"مكالمة واردة"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"تم إنهاء الاتصال"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"معلقة"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"إنهاء المكالمة"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"قيد الاتصال"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"رقمي هو <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"جارٍ الاتصال بالفيديو"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"مكالمة فيديو"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"جارٍ طلب الفيديو"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"يتعذر الاتصال بمكالمة الفيديو"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"رقم معاودة الاتصال\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"رقم مكالمات الطوارئ \n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"جارٍ الطلب"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"مكالمة فائتة"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"المكالمات الفائتة"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> من المكالمات الفائتة"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"مكالمة فائتة من <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"مكالمة حالية"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"معلقة"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"مكالمة واردة"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"مكالمة فيديو واردة"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"طلب فيديو وارد"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"بريد صوتي جديد"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"بريد صوتي جديد (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"طلب <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"رقم البريد الصوتي غير معروف"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"لا خدمة"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"الشبكة المحددة (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) غير متاحة"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"قطع الاتصال"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"فيديو"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"الصوت"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"قبول"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"تجاهل"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"معاودة الاتصال"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"رسالة"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"لإجراء مكالمة، أوقف تشغيل وضع الطائرة أولاً."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"غير مسجل على الشبكة."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"شبكة الجوال غير متاحة."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"لم يتم إرسال الاتصال، لم يتم إدخال رقم صالح."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"لم يتم إرسال الاتصال."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"جارٍ بدء تسلسل MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"خدمة غير معتمدة."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"يتعذر تبديل المكالمات."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"يتعذر فصل المكالمة."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"تعذر تحويل الاتصال."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"يتعذر إجراء مكالمات جماعية."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"يتعذر رفض المكالمة."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"يتعذر إجراء مكالمات."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"رقم البريد الصوتي غير معروف."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"مكالمة SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"مكالمة الطوارئ"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"جارٍ تشغيل اللاسلكي..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"خارج نطاق الخدمة، جارٍ إعادة المحاولة..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"لم يتم إرسال المكالمة. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ليس رقم طوارئ."</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"لم يتم إرسال الاتصال. اطلب رقم طوارئ."</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"استخدام لوحة المفاتيح للطلب"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"تعطيل المكالمة مؤقتًا"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"استئناف المكالمة"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"إضافة مكالمة"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"دمج المكالمات"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"تبديل المكالمات"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"تعليق"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"الانتهاء"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"لوحة الاتصال"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"كتم الصوت"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"إضافة مكالمة"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"دمج المكالمات"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"تبديل"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"إدارة المكالمات"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"الصوت"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"مكالمة فيديو"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"التغيير إلى مكالمة صوتية"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"تبديل الكاميرا"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"إيقاف الفيديو مؤقتًا"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"خيارات أخرى"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"الخدمة"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"الإعداد"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<لم يتم التعيين>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"اعدادات المكالمات الاخرى"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"الاتصال عبر <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"واردة عبر <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"صورة جهة الاتصال"</string>
+ <string name="goPrivate" msgid="865837794424530980">"انتقال إلى مكالمة خاصة"</string>
+ <string name="selectContact" msgid="781975788478987237">"تحديد جهة اتصال"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"اكتب ردك..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"إلغاء"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"إرسال"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"واحد"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"اثنان"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"ثلاثة"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"أربعة"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"خمسة"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"ستة"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"سبعة"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"ثمانية"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"تسعة"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"نجمة"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"صفر"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"رنين"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"طلب"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"مسافة للخلف"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"تم كتم صوت المكالمة."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"رد"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"إرسال رسائل قصيرة SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"رفض"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"الرد بمكالمة فيديو"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"الرد بمكالمة صوتية"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"قبول طلب الفيديو"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"رفض طلب الفيديو"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"تمرير لأعلى لـ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"تمرير لليسار لـ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"تمرير لليمين لـ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"تمرير لأسفل لـ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"الاهتزاز"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"الاهتزاز"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"الصوت"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"الصوت الافتراضي (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"نغمة رنين الهاتف"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"اهتزاز عند الرنين"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"الإكمال التلقائي للوحة الاتصال"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"نغمة الرنين والاهتزاز"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"إدارة مكالمة جماعية"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"رقم الطوارئ"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"تحديد الحساب"</string>
+</resources>
diff --git a/InCallUI/res/values-az-rAZ/strings.xml b/InCallUI/res/values-az-rAZ/strings.xml
new file mode 100644
index 0000000..5f8946b
--- /dev/null
+++ b/InCallUI/res/values-az-rAZ/strings.xml
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefon"</string>
+ <string name="onHold" msgid="9035493194749959955">"Gözləmə mövqeyində"</string>
+ <string name="unknown" msgid="6878797917991465859">"Naməlum"</string>
+ <string name="private_num" msgid="6713286113000232309">"Şəxsi nömrə"</string>
+ <string name="payphone" msgid="1931775086311769314">"Telefon ödənişi"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Xətt məşğuldur"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Şəbəkə məşğuldur"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Cavab yoxdur, vaxt keçdi"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Server əlçatmazdır"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Nömrə əlçatmazdır"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Yanlış istifadəçi adı və ya parol"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Şəbəkədən kənar zəng edilib"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Server xətası. Yenidən cəhd edin."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Siqnal yoxdur"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM limiti keçilib"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radio deaktivdir"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"SIM və ya SIM xətası yoxdur"</string>
+ <string name="callFailed_outOfService" msgid="4825791466557236225">"Xidmət zonasından kənarda"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Gedən zənglər FDN tərəfindən məhdudlaşdırılıb."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Zənglər qadağan olduğu halda zəng edə bilməzsiniz."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Bütün zənglər giriş kontrolu ilə məhdudlaşdırılıb."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Təcili zənglər giriş kontrolu ilə məhdudlaşdırılıb."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Normal zənglər giriş kontrolu ilə məhdudlaşdırılıb."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Yanlış nömrə"</string>
+ <string name="confCall" msgid="1904840547188336828">"Konfrans zəngi"</string>
+ <string name="call_lost" msgid="317670617901479594">"Zəng itdi."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Dinamik"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Dəstək qulaqlığı"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Simli qulaqlıq"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Aşağıdakı tonlar göndərilsin?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Tonlar göndərilir\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Göndər"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Bəli"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Xeyr"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Joker simvolları əvəz edin"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Konfrans zəngi <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Səsli poçt nömrəsi"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Nömrə yığılır"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Yenidən sınanılır"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Konfrans zəngi"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Gələn zəng"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Zəng sona çatdı"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Gözləmədədir"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Dəstək asılır"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"zəngdadır"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Mənim nömrəm <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Nömrə yığılır"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Buraxılmış zəng"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Buraxılmış zənglər"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> buraxılmış zənglər"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> tərəfindən zəng buraxılıb"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Davam edən zəng"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Gözləmə mövqeyində"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Zəng gəlir"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Yeni səsli poçt"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Yeni səsli poçt (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Yığın <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Səsli poçt nömrəsi naməlumdur"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Xidmət yoxdur"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Seçilmiş (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) şəbəkə əlçatmazdır"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Dəstəyi qoyun"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Geriyə zəng"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Mesaj"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Zəng etmək üçün ilk olaraq Uçuş Rejimini söndürün."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Şəbəkədə qeydə alınmayıb."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mobil şəbəkə əlçatımlı deyil."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Zəng göndərilmədi, etibarlı nömrə daxil edilməyib."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Zəng göndərilmədi."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI başlanma ardıcıllığı…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Dəstəklənməyən xidmət."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Zəngləri keçirmək mümkün deyil."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Zəngi ayırmaq mümkün deyil."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Zəng transfer oluna bilmir."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Zənglərin konfransı mümkün deyil."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Zəngi rədd etmək mümkün deyil."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Zəng(ləri) buraxmaq mümkün deyil."</string>
+ <string name="incall_call_type_label_sip" msgid="2310958283037924371">"İnternet zəng"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Təcili zəng"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Radio yandırılır ..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Xidmət sahəsindən kənardadır, yenidən sınanılır…"</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Zəng göndərilmədi. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> təcili nömrə deyil!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Zəng göndərilmədi. Təcili nömrəyə zəng vurun!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Yığmaq üçün klaviatura istifadə edin"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Saxlayın"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Son"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Yığım paneli"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Susdurun"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Zəng əlavə edin"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Zəngləri birləşdirin"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Dəyişdirin"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Zəngləri idarə edin"</string>
+ <string name="onscreenManageConferenceText" msgid="6485935856534311346">"Konfransı idarə edin"</string>
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Video zəng"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Xidmət"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Quraşdırma"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Ayarlanmayıb>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Digər zəng parametrləri"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> vasitəsi ilə zəng edilir"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"kontakt fotosu"</string>
+ <string name="goPrivate" msgid="865837794424530980">"şəxsi rejimə keçin"</string>
+ <string name="selectContact" msgid="781975788478987237">"kontakt seçin"</string>
+ <string name="respond_via_sms_canned_response_1" msgid="2461606462788380215">"İndi danışmaq olmur. Nə olub?"</string>
+ <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Özüm zəng edəcəm."</string>
+ <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Özüm sonra zəng edəcəm."</string>
+ <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"İndi danışa bilmirəm. Sonra zəng edin."</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Özünüzünkünü yazın"</string>
+ <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Tez cavablar"</string>
+ <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Tez cavablara düzəliş edin"</string>
+ <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
+ <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"Tez cavab"</string>
+ <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"Defolt tətbiqləri sıfırla"</string>
+ <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"Mesaj <xliff:g id="PHONE_NUMBER">%s</xliff:g> nömrəsinə göndərildi."</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"bir"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"iki"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"üç"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"dörd"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"beş"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"altı"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"yeddi"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"səkkiz"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"doqquz"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"ulduz"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"sıfır"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"funt"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"Yığ"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"geri düyməsi"</string>
+ <string name="accessibility_speakerphone_enabled" msgid="1988512040421036359">"Spikerfon aktivdir."</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Səssiz zəng edin."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Cavab"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS göndər"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Rədd et"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibrasiya"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibrasiya"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Səs"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Defolt səs (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Telefon zəng səsi"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Zəng çalanda vibrasiya olsun"</string>
+ <string name="dtmf_tone_enable_title" msgid="827601042915852989">"Yığım düymələrinin toxunuş tonları"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Nömrə yığımı klaviaturası tamamlanması"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Zəng səsi & Vibrasiya"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Konfrans zəngini idarə edin"</string>
+</resources>
diff --git a/InCallUI/res/values-bg/strings.xml b/InCallUI/res/values-bg/strings.xml
new file mode 100644
index 0000000..1e969a3
--- /dev/null
+++ b/InCallUI/res/values-bg/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Телефон"</string>
+ <string name="onHold" msgid="9035493194749959955">"Задържане на обаждането"</string>
+ <string name="unknown" msgid="6878797917991465859">"Неизвестен номер"</string>
+ <string name="private_num" msgid="6713286113000232309">"Частен номер"</string>
+ <string name="payphone" msgid="1931775086311769314">"Импулсен телефон"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Линията е заета"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Мрежата е заета"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Няма отговор – времето за изчакване изтече"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Няма връзка със сървъра"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Няма достъп до номера"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Неправилно потребителско име или парола"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Обаждане извън мрежата"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Грешка в сървъра. Опитайте отново по-късно."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Няма сигнал"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Надвишено ограничение за ACM"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Радиото е изкл."</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Няма SIM карта или грешка в SIM картата"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Мобилната мрежа не е налице"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Изходящите обаждания са ограничени от FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Не можете да провеждате изходящи обаждания, докато има забрана за обаждания."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Всички обаждания са ограничени от контрола за достъп."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Спешните обаждания са ограничени от контрола за достъп."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Нормалните обаждания са ограничени от контрола за достъп."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Невалиден номер"</string>
+ <string name="confCall" msgid="1904840547188336828">"Конферентно обаждане"</string>
+ <string name="call_lost" msgid="317670617901479594">"Разговорът се загуби."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Говорител"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Телефонна слушалка"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Слушалки с кабел"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Да се изпратят ли следните мелодии? \n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Мелодиите се изпращат\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Изпращане"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Да"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Не"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Замяна на заместващия символ със:"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Конферентно обаждане<xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Номер за гласова поща"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Набиране"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Извършва се повторен опит"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Конферентно обаждане"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Вх. обаждане"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Обаждането завърши"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Задържане на обаждането"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Приключване на разговора"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Вх. обаждане"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Моят номер е <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Установява се видеовръзка"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Видеообаждане"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Заявява се видеовръзка"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Видеообаждането не може да се осъществи"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Номерът ви за обратно обаждане\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Номерът ви за спешно обратно обаждане\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Набира се"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Пропуснато обаждане"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Пропуснати обаждания"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> пропуснати обаждания"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Пропуснато обаждане от <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Текущо обаждане"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Задържане на обаждането"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Входящо обаждане"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Входящо видеообаждане"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Входяща заявка за видеовръзка"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Нова гласова поща"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Нова гласова поща на (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Набиране на <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Неизвестен номер за гласова поща"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Няма покритие"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Избраната мрежа (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) не е налична"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Затваряне"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Видеообаждане"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Гласово обаждане"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Приемам"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Отхвърляне"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Обратно обаждане"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Съобщение"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Първо изключете самолетния режим, за да може да осъществите обаждане."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Няма регистрация в мрежата."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Няма мобилна мрежа."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Обаждането не е изпратено, не е въведен валиден номер."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Обаждането не е изпратено."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Стартира се последователността MMI…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Неподдържана услуга."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Обажданията не могат да се превключат."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Обаждането не може да се отдели."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Обаждането не може да се прехвърли."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Не могат да се правят конферентни обаждания."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Обаждането не може да се отхвърли."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Обаждането или съответно обажданията не могат да се освободят."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Неизвестен номер за гласова поща."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Обаждане чрез SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Спешно обаждане"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Радиото се включва…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Район без покритие, извършва се повторен опит..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Обаждането не е извършено. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> не е спешен номер!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Обаждането не е извършено. Наберете спешен номер!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Използвайте клавиатурата за набиране"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Задържане на обаждането"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Възобновяване на обаждането"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Добавяне на обаждане"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Обединяване на обаждания"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Размяна на обажданията"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Задържане"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Край"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Клавиатура за набиране"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Без звук"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Добавяне на обаждане"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Обединяване на обаждания"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Размяна"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Управление на обажданията"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Аудио"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Видеообаждане"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Преминаване към гласово обаждане"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Превключване на камерата"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Поставяне на видеовръзката на пауза"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Още опции"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Услуга"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Настройка"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Не е зададено>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Други настройки за обаждане"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Обаждане чрез <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Входящо обаждане чрез <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"снимка на контакта"</string>
+ <string name="goPrivate" msgid="865837794424530980">"към частно"</string>
+ <string name="selectContact" msgid="781975788478987237">"избиране на контакта"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Напишете свой собствен..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Отказ"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Изпращане"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"едно"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"две"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"три"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"четири"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"пет"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"шест"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"седем"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"осем"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"девет"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"звездичка"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"нула"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"диез"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"набиране"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Обаждането бе спряно."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Отговор"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Изпращане на SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Отхвърлям"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Приемане като видеообаждане"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Приемане като аудиообаждане"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Приемане на заявката за видеовръзка"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Отхвърляне на заявката за видеовръзка"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Плъзнете нагоре за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Плъзнете наляво за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Плъзнете надясно за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Плъзнете надолу за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Вибриране"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Вибриране"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Звук"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Стандартен звук (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Мелодия на телефона"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Вибриране при звънене"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Авт. довършване на клавиат. за набиране"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Мелодия и вибриране"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Управление на конферентно обаждане"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Спешен номер"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Избиране на профил"</string>
+</resources>
diff --git a/InCallUI/res/values-bn-rBD/strings.xml b/InCallUI/res/values-bn-rBD/strings.xml
new file mode 100644
index 0000000..5173a0a
--- /dev/null
+++ b/InCallUI/res/values-bn-rBD/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"ফোন"</string>
+ <string name="onHold" msgid="9035493194749959955">"সাময়িকভাবে স্থগিত রাখা হয়েছে"</string>
+ <string name="unknown" msgid="6878797917991465859">"অজানা"</string>
+ <string name="private_num" msgid="6713286113000232309">"ব্যক্তিগত নম্বর"</string>
+ <string name="payphone" msgid="1931775086311769314">"অর্থের বিনিময়ে কল করার ফোন"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"লাইন ব্যস্ত"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"নেটওয়ার্ক ব্যস্ত"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"কোনো প্রতিক্রিয়া নেই, সময় শেষ হয়ে গেছে"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"সার্ভারে পৌঁছানো যাচ্ছে না"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"নম্বরটিতে সংযোগ স্থাপন করা যাচ্ছে না"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"ভুল ব্যবহারকারীর নাম বা পাসওয়ার্ড"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"নেটওয়ার্কের বাইরে থেকে কল করা হয়েছে"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"সার্ভার ত্রুটি৷ পরে আবার চেষ্টা করুন৷"</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"কোনো সংকেত নেই"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM এর সীমা অতিক্রম করেছে"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"রেডিও বন্ধ"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"কোনো SIM নেই বা SIM ত্রুটি"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"মোবাইল নেটওয়ার্ক অনুপলব্ধ"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"FDN এর দ্বারা আউটগোয়িং কলগুলি সীমাবদ্ধ করা আছে৷"</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"কল প্রতিবন্ধকতা চালু থাকা অবস্থায় আপনি আউটগোয়িং কল করতে পারবেন না৷"</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"অ্যাক্সেস নিয়ন্ত্রণের দ্বারা সমস্ত কল সীমাবদ্ধ করা আছে৷"</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"অ্যাক্সেস নিয়ন্ত্রণের দ্বারা জরুরি কলগুলি সীমাবদ্ধ করা আছে৷"</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"অ্যাক্সেস নিয়ন্ত্রণের দ্বারা সাধারণ কলগুলি সীমাবদ্ধ করা আছে৷"</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"অবৈধ নম্বর"</string>
+ <string name="confCall" msgid="1904840547188336828">"কনফারেন্স কল"</string>
+ <string name="call_lost" msgid="317670617901479594">"কলের সংযোগ বিচ্ছিন্ন হয়ে গেছে৷"</string>
+ <string name="ok" msgid="3811371167865772377">"ঠিক আছে"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"স্পিকার"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"হ্যান্ডসেট ইয়ারপিস"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"তারযুক্ত হেডসেট"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"নিম্নলিখিত টোনগুলি পাঠাবেন?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"টোনগুলি পাঠানো হচ্ছে\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"পাঠান"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"হ্যাঁ"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"না"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"ওয়াইল্ড অক্ষরগুলিকে এর মাধ্যমে প্রতিস্থাপিত করুন"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"কনফারেন্স কল <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"ভয়েসমেল নম্বর"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"ডায়াল করা হচ্ছে"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"পুনরায় চেষ্টা করা হচ্ছে"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"কনফারেন্স কল"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"ইনকামিং কল"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"কল সমাপ্ত হয়েছে"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"সাময়িকভাবে স্থগিত রাখা হয়েছে"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"কল নামিয়ে রাখা হচ্ছে"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"কল চলছে"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"আমার নম্বর হল <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"ভিডিও সংযুক্ত করছে"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"ভিডিও কল"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"ভিডিওর অনুরোধ করছে"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"ভিডিও কল সংযুক্ত করতে পারছে না"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"আপনার কল-ব্যাক নম্বর\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"আপনার জরুরী কল-ব্যাক নম্বর\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"ডায়াল করা হচ্ছে"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"মিসড কল"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"মিসড কলগুলি"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>টি মিসড কল"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> এর থেকে মিসড কল"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"চালু থাকা কল"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"সাময়িকভাবে স্থগিত রাখা হয়েছে"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"ইনকামিং কল"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"আগত ভিডিও কল"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"আগত ভিডিও অনুরোধ"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"নতুন ভয়েসমেল"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"নতুন ভয়েসমেল (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> এ ডায়াল করুন"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"ভয়েসমেল নম্বর অজানা"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"কোনো পরিষেবা নেই"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"নির্বাচিত নেটওয়ার্ক (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) অনুপলব্ধ"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"কল নামিয়ে রাখুন"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"ভিডিও"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"ভয়েস"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"স্বীকার করুন"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"খারিজ করুন"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"কল ব্যাক করুন"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"বার্তা"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"একটি কল করতে, প্রথমে বিমান মোড বন্ধ করুন৷"</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"নেটওয়ার্কে নিবন্ধিত নয়৷"</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"মোবাইল নেটওয়ার্ক উপলব্ধ নয়৷"</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"কল করা যায়নি, কোনো বৈধ নম্বর লেখা হয়নি৷"</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"কল করা যায়নি৷"</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI ক্রম চালু হচ্ছে…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"অসমর্থিত পরিষেবা৷"</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"কলগুলির মধ্যে স্যুইচ করা যায়নি৷"</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"কল আলাদা করা যায়নি৷"</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"কল স্থানান্তর করা যায়নি৷"</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"কনফারেন্স কলগুলি করা যায়নি৷"</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"কল প্রত্যাখ্যান করা যায়নি৷"</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"কল(গুলি) রিলিজ করা যায়নি৷"</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"ভয়েসমেল নম্বর অজানা৷"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP কল"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"জরুরি কল"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"রেডিও চালু করা হচ্ছে…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"পরিষেবা এলাকার বাইরে, আবার চেষ্টা করা হচ্ছে…"</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"কল করা যায়নি৷ <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> একটি জরুরি নম্বর নয়!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"কল করা যায়নি৷ একটি জরুরি নম্বরে ডায়াল করুন!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"ডায়াল করতে কীবোর্ড ব্যবহার করুন"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"কল সাময়িক স্থগিত করুন"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"কল পুনঃসূচনা করুন"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"কল যোগ করুন"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"কলগুলি মার্জ করুন"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"কল অদল বদল করুন"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"ধরে থাকুন"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"শেষ করুন"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"ডায়ালপ্যাড"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"নিঃশব্দ করুন"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"কল যোগ করুন"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"কলগুলি মার্জ করুন"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"সোয়াপ করুন"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"কলগুলি পরিচালনা করুন"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"অডিও"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"ভিডিও কল"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"ভয়েস কলে পরিবর্তন করুন"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"ক্যামেরা স্যুইচ করুন"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"ভিডিও বিরাম দিন"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"আরো বিকল্প"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"পরিষেবা"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"সেটআপ"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<সেট করা নেই>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"অন্যান্য কল সেটিংস"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> এর মাধ্যমে কল করা হচ্ছে"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> এর মাধ্যমে ইনকামিং কল"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"পরিচিতির ফটো"</string>
+ <string name="goPrivate" msgid="865837794424530980">"ব্যক্তিগতভাবে কাজ করুন"</string>
+ <string name="selectContact" msgid="781975788478987237">"পরিচিতি নির্বাচন করুন"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"আপনার নিজের পছন্দ মতো লিখুন…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"বাতিল করুন"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"পাঠান"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"এক"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"দুই"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"তিন"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"চার"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"পাঁচ"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"ছয়"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"সাত"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"আট"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"নয়"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"তারকা"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"শূন্য"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"পাউন্ড"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"ডায়াল করুন"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"ব্যাক-স্পেস"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"স্পিকারফোন নির্বাচন করা হয়েছে"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"ইয়ারপিস নির্বাচন করা হয়েছে"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"তারযুক্ত হেডসেট নির্বাচন করা হয়েছে"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Bluetooth হেডসেট নির্বাচন করা হয়েছে"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"কল নিঃশব্দ করা আছে৷"</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"কল সশব্দ করা হয়েছে।"</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"কলটি সাময়িকভাবে স্থগিত রাখা হয়েছে।"</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"সাময়িকভাবে স্থগিত রাখা অবস্থা থেকে কলটি সরানো হয়েছে।"</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"উত্তর"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS পাঠান"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"অস্বীকার করুন"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"ভিডিও কল হিসেবে উত্তর দিন"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"অডিও কল হিসেবে উত্তর দিন"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"ভিডিওর অনুরোধ গ্রহণ করুন"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"ভিডিওর অনুরোধ প্রত্যাখ্যান করুন"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> এর জন্য উপরের দিকে স্লাইড করুন৷"</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> এর জন্য বাম দিকে স্লাইড করুন৷"</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> এর জন্য ডান দিকে স্লাইড করুন৷"</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> এর জন্য নীচের দিকে স্লাইড করুন৷"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"কম্পন"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"কম্পন"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"শব্দ"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"ডিফল্ট শব্দ (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"ফোন রিংটোন"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"রিং হওয়ার সময় কম্পন হবে"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"স্বয়ংসম্পূর্ণ ডায়াল প্যাড"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"রিংটোন ও কম্পন"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"কনফারেন্স কল পরিচালনা করুন"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"জরুরি নম্বর"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"অ্যাকাউন্ট নির্বাচন করুন"</string>
+</resources>
diff --git a/InCallUI/res/values-ca/strings.xml b/InCallUI/res/values-ca/strings.xml
new file mode 100644
index 0000000..ee99318
--- /dev/null
+++ b/InCallUI/res/values-ca/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telèfon"</string>
+ <string name="onHold" msgid="9035493194749959955">"En espera"</string>
+ <string name="unknown" msgid="6878797917991465859">"Desconegut"</string>
+ <string name="private_num" msgid="6713286113000232309">"Número privat"</string>
+ <string name="payphone" msgid="1931775086311769314">"Telèfon de monedes"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Línia ocupada"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Xarxa ocupada"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"No hi ha resposta, s\'ha esgotat el temps d\'espera"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"No es pot accedir al servidor"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"No es pot contactar amb aquest número"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Nom d\'usuari o contrasenya incorrectes"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Trucada des de fora de la xarxa"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Error del servidor. Torna-ho a provar més tard."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Sense senyal"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Límit d\'ACM superat"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Senyal mòbil desactivat"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Cap SIM o error de la SIM"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"La xarxa de telefonia mòbil no està disponible."</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"FDN restringeix les trucades de sortida."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"No pots fer trucades de sortida mentre la restricció de trucades estigui activada."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Totes les trucades estan restringides pel control d\'accés."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Les trucades d\'emergència estan restringides pel control d\'accés."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Les trucades normals estan restringides pel control d\'accés."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Número no vàlid"</string>
+ <string name="confCall" msgid="1904840547188336828">"Trucada de conferència"</string>
+ <string name="call_lost" msgid="317670617901479594">"S\'ha perdut la trucada."</string>
+ <string name="ok" msgid="3811371167865772377">"D\'acord"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Altaveu"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Auricular de microtelèfon"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Auricular amb cable"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Voleu enviar els codis següents?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"S\'estan enviant els tons\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Envia"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Sí"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"No"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Substitueix el caràcter comodí per"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Trucada de conferència <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Número del correu de veu"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"S\'està marcant"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"S\'està tornant a provar"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Trucada de conferència"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Trucada entrant"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Trucada finalitzada"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"En espera"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"S\'està penjant"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"En una trucada"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"El meu número és <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"S\'està connectant el vídeo"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videotrucada"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"S\'està sol·licitant el vídeo"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"No es pot connectar la videotrucada"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Número de devolució de trucada:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Número de devolució de trucada d\'emergència\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Marcatge"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Trucada perduda"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Trucades perdudes"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> trucades perdudes"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Trucada perduda de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Trucada en procés"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"En espera"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Trucada entrant"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Videotrucada entrant"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Sol·licitud de vídeo entrant"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Correu de veu nou"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Correu de veu nou (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Marca <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Número del correu de veu desconegut"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Sense servei"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"La xarxa seleccionada (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) no està disponible"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Penja"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Vídeo"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Veu"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Accepta"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Omet"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Torna la trucada"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Missatge"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Per fer una trucada, primer apagueu el mode d\'avió."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"No registrat a la xarxa."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"La xarxa mòbil no està disponible."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"No s\'ha enviat la trucada perquè no s\'ha introduït cap número vàlid."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"No s\'ha enviat la trucada."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"S\'està iniciant la seqüència MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Servei no compatible."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"No es poden canviar les trucades."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"No es pot separar la trucada."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"No es pot transferir la trucada."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"No es poden fer trucades de conferència."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"No es pot rebutjar la trucada."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"No es pot alliberar les trucades."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"El número de la bústia de veu és desconegut."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Trucada de SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Trucada d\'emergència"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"S\'està activant el senyal mòbil..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Fora de l\'àrea de servei; s\'està tornant a provar..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"No s\'ha enviat la trucada. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> no és un número d\'emergència."</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Trucada no enviada. Marca un número d\'emergència."</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Utilitzeu el teclat per marcar"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Posa la trucada en espera"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Reprèn la trucada"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Afegeix una trucada"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Combina les trucades"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Canvia les trucades"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Posa en espera"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Final"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Teclat"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Silencia"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Afegeix una trucada"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Combina les trucades"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Canvia"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Gestiona les trucades"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Àudio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videotrucada"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Canvia a trucada"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Canvia la càmera"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Posa en pausa el vídeo"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Més opcions"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Servei"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Configuració"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<No definit>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Altres opcions de trucades"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Trucada mitjançant <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Entrant mitjançant <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"foto de contacte"</string>
+ <string name="goPrivate" msgid="865837794424530980">"passa a privat"</string>
+ <string name="selectContact" msgid="781975788478987237">"selecciona el contacte"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Escriu la teva…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Cancel·la"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Envia"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"un"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"dos"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"tres"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"quatre"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"cinc"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"sis"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"set"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"vuit"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"nou"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"estrella"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"zero"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"coixinet"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"marca"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"retrocés"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Trucada silenciada."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Resposta"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Envia SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Rebutja"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Respon amb una trucada de vídeo."</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Respon amb una trucada d\'àudio."</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Accepta la sol·licitud de vídeo"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Rebutja la sol·licitud de vídeo"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Fes lliscar el dit cap amunt per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Fes lliscar el dit cap a l\'esquerra per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Fes lliscar el dit cap a la dreta per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Fes lliscar el dit cap avall per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibra"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibra"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"So"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"So predeterminat (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"So de trucada"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrar en sonar"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Autocompletar amb teclat"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"So i vibració"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Gestiona la trucada de conferència"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Número d\'emergència"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Selecció d\'un compte"</string>
+</resources>
diff --git a/InCallUI/res/values-cs/strings.xml b/InCallUI/res/values-cs/strings.xml
new file mode 100644
index 0000000..df90279
--- /dev/null
+++ b/InCallUI/res/values-cs/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefon"</string>
+ <string name="onHold" msgid="9035493194749959955">"Přidržený hovor"</string>
+ <string name="unknown" msgid="6878797917991465859">"Neznámý volající"</string>
+ <string name="private_num" msgid="6713286113000232309">"Soukromé číslo"</string>
+ <string name="payphone" msgid="1931775086311769314">"Veřejný telefon"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Linka je obsazená."</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Síť je zaneprázdněna."</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Bez odezvy, vypršel časový limit"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Server je nedostupný"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Volané číslo je nedostupné"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Nesprávné uživatelské jméno nebo heslo"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Volání z vně sítě"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Chyba serveru: Zkuste to znovu později."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Není signál."</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Byl dosažen limit ACM."</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Rádio je vypnuto"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"SIM karta chybí nebo nefunguje."</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Mobilní síť je nedostupná"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Odchozí hovory jsou omezeny na povolená telefonní čísla."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Pokud je zapnuto blokování hovorů, nelze provádět odchozí hovory."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Všechny hovory jsou omezeny řízením přístupu."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Tísňová volání jsou omezena řízením přístupu."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Běžné hovory jsou omezeny řízením přístupu."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Neplatné číslo"</string>
+ <string name="confCall" msgid="1904840547188336828">"Konferenční hovor"</string>
+ <string name="call_lost" msgid="317670617901479594">"Hovor byl ztracen."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Reproduktor"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Sluchátko"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Kabelová náhlavní soupr."</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Odeslat následující tóny?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Odesílání tónů\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Odeslat"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Ano"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Ne"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Nahradit zástupné znaky jinými znaky"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Konferenční hovor <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Číslo hlasové schránky"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Vytáčení"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Nový pokus"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Konferenční hovor"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Příchozí hovor"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Hovor ukončen"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Přidržený hovor"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Zavěšování"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Probíhá hovor"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Moje číslo je <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Navazování spojení pro video"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videohovor"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Požadování videa"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Spojení videohovoru se nezdařilo"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Vaše číslo pro zpětná volání\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Vaše číslo pro tísňové zpětné volání\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Vytáčení"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Zmeškaný hovor"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Zmeškané hovory"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"Zmeškané hovory: <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>."</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Zmeškaný hovor od volajícího <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>."</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Probíhající hovor"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Přidržený hovor"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Příchozí hovor"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Příchozí videohovor"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Příchozí žádost o videohovor"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Nová hlasová zpráva"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Nová hlasová zpráva (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Volat hlasovou schránku <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Číslo hlasové schránky je neznámé."</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Žádný signál"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Vybraná síť (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) není k dispozici"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Zavěsit"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Hlasový hovor"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Přijmout"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Zavřít"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Zavolat zpět"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Zpráva"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Chcete-li telefonovat, vypněte nejprve režim V letadle."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Přihlášení k síti nebylo úspěšné."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mobilní síť je nedostupná."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Hovor nelze spojit, nebylo zadáno platné číslo."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Hovor nebyl spojen."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Spouštění sekvence MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Nepodporovaná služba."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Hovory nelze přepnout."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Hovor nelze oddělit."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Hovor nelze předat."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Hovory nelze spojit do konferenčního hovoru."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Hovor nelze odmítnout."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Hovor není možné uvolnit."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Číslo hlasové schránky není známo."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Volání SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Tísňové volání"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Zapínání rádia..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Nepokrytá oblast, opakování pokusu..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Hovor nelze spojit, <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> není číslo nouzového volání."</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Hovor nebyl spojen. Vytočte prosím číslo tísňového volání."</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Číslo vytočíte pomocí klávesnice."</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Podržet hovor"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Obnovit hovor"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Přidat hovor"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Spojit hovory"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Přepnout hovory"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Přidržet"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Ukončit"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Číselník"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Ztlumit"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Přidat hovor"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Spojit hovory"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Zaměnit"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Spravovat hovory"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Zvuk"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videohovor"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Změnit na hlasové volání"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Přepnout fotoaparát"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Pozastavit video"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Další možnosti"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Služba"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Konfigurace"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Nenastaveno>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Další nastavení hovorů"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Volání prostřednictvím poskytovatele <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Příchozí hovor přes poskytovatele <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"fotografie kontaktu"</string>
+ <string name="goPrivate" msgid="865837794424530980">"přepnout na soukromé"</string>
+ <string name="selectContact" msgid="781975788478987237">"vybrat kontakt"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Napsat vlastní odpověď..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Zrušit"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Odeslat"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"jedna"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"dvě"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"tři"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"čtyři"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"pět"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"šest"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"sedm"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"osm"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"devět"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"hvězdička"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"nula"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"libra"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"vytáčení"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Hovor ztlumen."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Odpověď"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Odeslat SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Odmítnout"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Přijmout jako videohovor"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Přijmout jako hlasový hovor"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Přijmout žádost o videhovor"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Odmítnout žádost o videohovor"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Přejeďte prstem nahoru: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Přejeďte prstem doleva: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Přejeďte prstem doprava: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Přejeďte prstem dolů: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibrace"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibrace"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Zvuk"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Výchozí zvuk (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Vyzváněcí tón telefonu"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrace při vyzvánění"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Autom. doplňování číselníku"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Vyzvánění a vibrace"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Spravovat konferenční hovor"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Číslo tísňové linky"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Výběr účtu"</string>
+</resources>
diff --git a/InCallUI/res/values-da/strings.xml b/InCallUI/res/values-da/strings.xml
new file mode 100644
index 0000000..06cb9ab
--- /dev/null
+++ b/InCallUI/res/values-da/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefon"</string>
+ <string name="onHold" msgid="9035493194749959955">"Ventende"</string>
+ <string name="unknown" msgid="6878797917991465859">"Ukendt"</string>
+ <string name="private_num" msgid="6713286113000232309">"Privat nummer"</string>
+ <string name="payphone" msgid="1931775086311769314">"Betalingstelefon"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Linjen er optaget"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Netværket er optaget"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Intet svar, timeout"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Serveren er ikke tilgængelig"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Nummeret er ikke tilgængeligt"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Forkert brugernavn eller adgangskode"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Opkald uden for netværk"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Serverfejl. Prøv igen senere."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Der er intet signal"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM-grænsen er overskredet"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Slå radio fra"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Der er intet SIM-kort, eller der er SIM-kortfejl"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Mobilnetværket er ikke tilgængeligt"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Udgående opkald er begrænset til angivne opkaldsnumre."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Du kan ikke foretage udgående opkald, mens opkaldsspærring er slået til."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Alle opkald er begrænset af adgangskontrol."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Nødopkald er begrænset af adgangskontrol."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Normale opkald er begrænset af adgangskontrol."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Ugyldigt antal"</string>
+ <string name="confCall" msgid="1904840547188336828">"Telefonmøde"</string>
+ <string name="call_lost" msgid="317670617901479594">"Opkaldet er mistet."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Højttaler"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Ørestykke til håndsæt"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Headset med ledning"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Send følgende toner?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Sender toner\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Send"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Ja"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Nej"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Erstat jokertegnet med"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Telefonmøde <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Telefonsvarernummer"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Ringer op"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Prøver igen"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Telefonmøde"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Indgående opkald"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Opkaldet er afsluttet"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Ventende"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Lægger på"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Opkald i gang"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Mit nummer er <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Opretter forbindelse til video"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videoopkald"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Anmoder om video"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Der kan ikke oprettes forbindelse til videoopkaldet"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Dit tilbagekaldsnummer\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Dit tilbagekaldsnummer til nødopkald\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Ringer op"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Ubesvarede opkald"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Ubesvarede opkald"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ubesvarede opkald"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Ubesvarede opkald fra <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Igangværende opkald"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Ventende"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Indgående opkald"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Indgående videoopkald"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Indgående videoanmodning"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Ny telefonsvarerbesked"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Nye telefonsvarerbeskeder (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Ring til <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Telefonsvarernummeret er ukendt"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Ingen dækning"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Det valgte netværk (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) er ikke tilgængeligt"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Læg på"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Stemme"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Besvar"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Afvis"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Ring tilbage"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Besked"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Slå Flytilstand fra først for at foretage et opkald."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ikke registreret på netværk."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mobilnetværket er ikke tilgængeligt."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Opkaldet blev ikke sendt. Der blev ikke indtastet et gyldigt nummer."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Opkaldet blev ikke sendt."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Starter MMI-sekvens ..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Tjenesten understøttes ikke."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Der kan ikke skiftes mellem opkald."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Opkaldet kunne ikke separeres."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Opkaldet kunne ikke overføres."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Der kunne ikke oprettes mødeopkald."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Opkaldet kunne ikke afvises."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Der kunne ikke foretages opkald."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Telefonsvarernummeret er ukendt"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP-opkald"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Nødopkald"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Tænder for radio ..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Uden for dækning. Prøver igen ..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Opkaldet blev ikke sendt. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> er ikke et nødnummer."</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Opkaldet blev ikke sendt. Indtast et nødnummer."</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Brug tastatur til at ringe op"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Sæt opkald i venteposition"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Genoptag opkald"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Tilføj opkald"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Saml opkald"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Byt opkald"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Hold"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Afslut"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Nummerblok"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Lyd fra"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Tilføj opkald"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Slå opkald sammen"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Skift"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Administrer opkald"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Lyd"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videoopkald"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Skift til stemmeopkald"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Skift kamera"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Sæt video på pause"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Flere valgmuligheder"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Tjeneste"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Konfiguration"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Ikke angivet>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Andre indstillinger for opkald"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Opkald via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Indgående opkald via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"billede af kontaktperson"</string>
+ <string name="goPrivate" msgid="865837794424530980">"gør privat"</string>
+ <string name="selectContact" msgid="781975788478987237">"vælg kontaktperson"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Skriv dit eget svar..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Annuller"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Send"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"en"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"to"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"tre"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"fire"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"fem"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"seks"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"syv"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"otte"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"ni"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"stjerne"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"nul"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"pund"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"ring op"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"tilbage"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Højttalertelefon blev valgt"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Højttaler blev valgt"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Headset med kabel blev valgt"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Bluetooth-headset er valgt"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Lyd slået fra opkald."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"Lyden for opkaldet blev slået til."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"Opkaldet er sat i venteposition."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"Opkaldet blev fjernet fra venteposition."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Svar"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Send sms"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Afvis"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Besvar som videoopkald"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Besvar som lydopkald"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Acceptér videoanmodning"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Afvis videoanmodning"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Skub op for at <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Skub til venstre for at <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Skub til højre for at <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Glid ned for at <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibration"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibration"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Lyd"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Standardlyd (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Ringetone for opkald"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrer ved opringning"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Autofuldfør på num. tastatur"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Ringetone og vibration"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Administrer telefonmøde"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Nødnummer"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Vælg konto"</string>
+</resources>
diff --git a/InCallUI/res/values-de/strings.xml b/InCallUI/res/values-de/strings.xml
new file mode 100644
index 0000000..f9bcc7d
--- /dev/null
+++ b/InCallUI/res/values-de/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefon"</string>
+ <string name="onHold" msgid="9035493194749959955">"Gehaltener Anruf"</string>
+ <string name="unknown" msgid="6878797917991465859">"Unbekannt"</string>
+ <string name="private_num" msgid="6713286113000232309">"Private Nummer"</string>
+ <string name="payphone" msgid="1931775086311769314">"Telefonzelle"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Leitung besetzt"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Netzwerk ausgelastet"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Keine Antwort, Zeitüberschreitung"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Server nicht erreichbar"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Nummer nicht erreichbar"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Ungültiger Nutzername oder ungültiges Passwort"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Anruf außerhalb des Netzwerks"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Serverfehler. Bitte versuchen Sie es später erneut."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Kein Signal"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM-Grenzwert überschritten"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Mobilfunkverbindung aus"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Keine SIM-Karte oder SIM-Kartenfehler"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Mobilfunknetz nicht verfügbar"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Ausgehende Anrufe unterliegen der Anrufbegrenzung."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Sie können keine Anrufe tätigen, wenn die Anrufsperre aktiviert ist."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Alle Anrufe werden durch die Zugriffssteuerung beschränkt."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Notrufe werden durch die Zugriffssteuerung beschränkt."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Normale Anrufe werden durch die Zugriffssteuerung beschränkt."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Ungültige Nummer"</string>
+ <string name="confCall" msgid="1904840547188336828">"Telefonkonferenz"</string>
+ <string name="call_lost" msgid="317670617901479594">"Anruf ist verloren gegangen."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Lautsprecher"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Handy-Kopfhörer"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Kabelgebundenes Headset"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Folgende Töne senden?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Töne werden gesendet.\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Senden"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Ja"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Nein"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Platzhalter ersetzen durch"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Telefonkonferenz <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Mailboxnummer"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Rufaufbau"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Wird wiederholt"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Telefonkonferenz"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Eingehender Anruf"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Anruf beendet"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Gehaltener Anruf"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Auflegen"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Anruf"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Meine Nummer lautet <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>."</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Videoverbindung wird hergestellt."</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videoanruf"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Videoanfrage wird gesendet."</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Fehler bei der Verbindung für den Videoanruf"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Ihre Rückrufnummer lautet:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Ihre Notrufnummer lautet:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Verbindung wird aufgebaut..."</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Entgangener Anruf"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Entgangene Anrufe"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> entgangene Anrufe"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Entgangener Anruf von <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Aktueller Anruf"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Gehaltener Anruf"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Eingehender Anruf"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Eingehender Videoanruf"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Eingehende Videoanfrage"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Neue Nachricht"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Neue Nachricht (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> wählen"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Mailboxnummer unbekannt"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"kein Dienst"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Ausgewähltes Netzwerk (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) nicht verfügbar"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Beenden"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Videoanruf"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Nur Audio"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Akzeptieren"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Ablehnen"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Zurückrufen"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Nachricht"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Deaktivieren Sie zunächst den Flugmodus, um einen Anruf zu tätigen."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Nicht in Netzwerk registriert."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mobilfunknetz ist nicht verfügbar."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Anruf nicht verbunden; keine gültige Nummer."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Anruf nicht verbunden."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI-Sequenz wird gestartet..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Nicht unterstützter Dienst."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Wechsel zwischen Anrufen nicht möglich."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Anruf kann nicht getrennt werden."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Anruf kann nicht übertragen werden."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Keine Telefonkonferenz möglich."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Anruf kann nicht abgelehnt werden."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Anrufe können nicht freigegeben werden."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Mailboxnummer unbekannt"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP-Anruf"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Notruf"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Mobilfunkverbindung wird aktiviert..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Gebiet ohne Netzabdeckung, erneuter Versuch..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Anruf nicht verbunden. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ist keine Notrufnummer!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Anruf nicht verbunden. Wählen Sie eine Notrufnummer!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Zum Wählen Tastatur verwenden"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Anruf halten"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Anruf fortsetzen"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Anruf hinzufügen"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Anrufe verbinden"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Wechseln"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Halten"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Ende"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Wähltasten"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Ton aus"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Anruf hinzufügen"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Anrufe verbinden"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Wechseln"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Anrufe verwalten"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videoanruf"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Zu Sprachanruf wechseln"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Kamera wechseln"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Video pausieren"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Weitere Optionen"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Dienst"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Einrichtung"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Nicht festgelegt>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Sonstige Anrufeinstellungen"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Anruf über <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Eingehender Anruf über <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"Kontaktbild"</string>
+ <string name="goPrivate" msgid="865837794424530980">"privat sprechen"</string>
+ <string name="selectContact" msgid="781975788478987237">"Kontakt wählen"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Eigene Antwort schreiben..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Abbrechen"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Senden"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"Eins"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"Zwei"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"Drei"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"Vier"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"Fünf"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"Sechs"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"Sieben"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"Acht"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"Neun"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"Sternsymbol"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"Null"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"Pfund"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"Wählen"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"Rücktaste"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Freisprechfunktion ausgewählt"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Kopfhörer ausgewählt"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Kabelheadset ausgewählt"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Bluetooth-Headset ausgewählt"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Anruf stummgeschaltet"</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"Stummschaltung des Anrufs aufgehoben"</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"Anruf wird gehalten."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"Anruf wird nicht mehr gehalten."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Antworten"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS senden"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Ablehnen"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Antworten mit Videoanruf"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Antworten mit Audioanruf"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Videoanfrage akzeptieren"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Videoanfrage ablehnen"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Zum <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> nach oben schieben"</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Zum <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> nach links schieben"</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Zum <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> nach rechts schieben"</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Zum <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> nach unten schieben"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibration"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibration"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Töne"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Standardklingelton (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Klingelton"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Beim Klingeln vibrieren"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Autovervollst. für Wähltasten"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Klingelton & Vibration"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Telefonkonferenz verwalten"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Notrufnummer"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Konto auswählen"</string>
+</resources>
diff --git a/InCallUI/res/values-el/strings.xml b/InCallUI/res/values-el/strings.xml
new file mode 100644
index 0000000..3a1517d
--- /dev/null
+++ b/InCallUI/res/values-el/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Τηλέφωνο"</string>
+ <string name="onHold" msgid="9035493194749959955">"Σε αναμονή"</string>
+ <string name="unknown" msgid="6878797917991465859">"Άγνωστος"</string>
+ <string name="private_num" msgid="6713286113000232309">"Απόκρυψη"</string>
+ <string name="payphone" msgid="1931775086311769314">"Καρτοτηλέφωνο"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Η γραμμή είναι απασχολημένη"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Το δίκτυο είναι απασχολημένο"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Καμία απάντηση, το χρονικό όριο έληξε"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Αδυναμία πρόσβασης σε διακομιστή"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Δεν είναι δυνατή η κλήση του αριθμού"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Εσφαλμένο όνομα χρήστη ή κωδικός πρόσβασης"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Κλήση εκτός δικτύου"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Σφάλμα διακομιστή: Δοκιμάστε ξανά αργότερα."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Δεν υπάρχει σήμα"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Υπέρβαση ορίου ACM"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Ο πομπός είναι απενεργοποιημένος"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Δεν υπάρχει κάρτα SIM ή σφάλμα κάρτας SIM"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Μη διαθέσιμο δίκτυο κινητής τηλεφωνίας"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Οι εξερχόμενες κλήσεις περιορίζονται από το FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Δεν μπορείτε να πραγματοποιήσετε εξερχόμενες κλήσεις όσο η φραγή κλήσεων είναι ενεργοποιημένη."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Όλες οι κλήσεις περιορίζονται από τον έλεγχο πρόσβασης."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Οι κλήσεις επείγουσας ανάγκης περιορίζονται από τον έλεγχο πρόσβασης."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Οι κανονικές κλήσεις περιορίζονται από τον έλεγχο πρόσβασης."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Μη έγκυρος αριθμός"</string>
+ <string name="confCall" msgid="1904840547188336828">"Κλήση συνδιάσκεψης"</string>
+ <string name="call_lost" msgid="317670617901479594">"Αναπάντητη κλήση."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Ηχείο"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Ακουστικό"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Ενσύρ. ακουστ."</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Αποστολή των παρακάτω τόνων;\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Τόνοι αποστολής\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Αποστολή"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Ναι"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Όχι"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Αντικατάσταση του χαρακτήρα μπαλαντέρ με"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Κλήση συνδιάσκεψης <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Αριθμός αυτόματου τηλεφωνητή"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Κλήση"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Νέα προσπάθεια"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Κλήση συνδιάσκεψης"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Εισερχόμενη κλήση"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Η κλήση τερματίστηκε"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Σε αναμονή"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Κλείσιμο γραμμής"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Σε κλήση"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Ο αριθμός μου είναι <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Σύνδεση βίντεο"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Βιντεοκλήση"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Αίτημα βίντεο"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Δεν είναι δυνατή η σύνδεση της βιντεοκλήσης"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Ο αριθμός κλήσης σας\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Αριθμός κλήσης έκτακτης ανάγκης\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Κλήση"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Αναπάντητη κλήση"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Αναπάντητες κλήσεις"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> αναπάντητες κλήσεις"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Αναπάντητη κλήση από <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Κλήση σε εξέλιξη"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Σε αναμονή"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Εισερχόμενη κλήση"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Εισερχόμενη βιντεοκλήση"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Αίτημα εισερχόμενου βίντεο"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Νέο μήνυμα στον αυτόματο τηλεφωνητή"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Νέο μήνυμα στον αυτόματο τηλεφωνητή (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Καλέστε <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Ο αριθμός αυτόματου τηλεφωνητή είναι άγνωστος"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Δίκτυο μη διαθέσιμο"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Επιλεγμένο δίκτυο (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) μη διαθέσιμο"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Τερματισμός κλήσης"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Βίντεο"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Φωνητική κλήση"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Αποδοχή"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Παράβλεψη"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Επανάκληση"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Μήνυμα"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Για να πραγματοποιήσετε μια κλήση, απενεργοποιήστε πρώτα τη λειτουργία πτήσης."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Δεν έχετε εγγραφεί στο δίκτυο."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Το δίκτυο κινητής τηλεφωνίας δεν είναι διαθέσιμο."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Η κλήση δεν πραγματοποιήθηκε, δεν έγινε εισαγωγή έγκυρου αριθμού."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"H κλήση δεν πραγματοποιήθηκε."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Έναρξη ακολουθίας MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Μη υποστηριζόμενη υπηρεσία."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Αδύνατη η εναλλαγή κλήσεων."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Δεν ήταν δυνατός ο διαχωρισμός της κλήσης."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Δεν ήταν δυνατή η μεταφορά της κλήσης."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Αδύνατη η πραγματοποίηση κλήσεων συνδιάσκεψης."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Δεν ήταν δυνατή η απόρριψη της κλήσης."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Αδύνατη η επαναφορά κλήσης (κλήσεων)."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Άγνωστος αριθμός αυτόματου τηλεφωνητή"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Κλήση SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Κλήσεις επείγουσας ανάγκης"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Ενεργοποίηση πομπού..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Εκτός περιοχής κάλυψης, επανάληψη κλήσης..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Η κλήση δεν πραγματοποιήθηκε. Το <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> δεν είναι αριθμός έκτακτης ανάγκης!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Η κλήση δεν πραγματοποιήθηκε. Καλέστε έναν αριθμό επείγουσας ανάγκης!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Χρησιμοποιήστε το πληκτρολόγιο για να πραγματοποιήσετε καλέσετε έναν αριθμό"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Αναμονή κλήσης"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Συνέχιση κλήσης"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Προσθήκη κλήσης"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Συγχώνευση κλήσεων"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Αλλαγή κλήσεων"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Αναμονή"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Τέλος"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Πληκτρολόγιο κλήσης"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Σίγαση"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Προσθήκη κλήσης"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Συγχώνευση κλήσεων"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Ανταλλαγή"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Διαχείριση κλήσεων"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Ήχος"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Κλήση βίντεο"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Αλλαγή σε φωνητική κλήση"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Εναλλαγή κάμερας"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Παύση βίντεο"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Περισσότερες επιλογές"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Υπηρεσία"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Ρυθμίσεις"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Δεν έχει οριστεί>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Άλλες ρυθμίσεις κλήσης"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Κλήση μέσω <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Εισερχόμενη κλήση μέσω <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"φωτογραφία επαφής"</string>
+ <string name="goPrivate" msgid="865837794424530980">"ιδιωτική χρήση"</string>
+ <string name="selectContact" msgid="781975788478987237">"επιλογή επαφής"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Συντάξτε τη δική σας…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Ακύρωση"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Αποστολή"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"ένα"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"δύο"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"τρία"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"τέσσερα"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"πέντε"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"έξι"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"επτά"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"οκτώ"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"εννέα"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"αστέρι"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"μηδέν"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"σύμβολο δίεσης"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"κλήση"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Επιλέχθηκε ανοικτή ακρόαση"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Επιλέχθηκε ακουστικό τηλεφώνου"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Επιλέχθηκαν ενσύρματα ακουστικά"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Επιλέχθηκε ακουστικό Bluetooth"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Η κλήση τέθηκε σε σίγαση."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"Καταργήθηκε η σίγαση κλήσης."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"Η κλήση είναι σε αναμονή."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"Η κλήση δεν είναι πλέον σε αναμονή."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Απάντηση"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Αποστολή SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Απόρριψη"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Απάντηση ως βιντεοκλήση"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Απάντηση ως φωνητική κλήση"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Αποδοχή αιτήματος βίντεο"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Απόρριψη αιτήματος βίντεο"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Κύλιση προς τα επάνω για <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Κύλιση προς τα αριστερά για <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Κύλιση προς τα δεξιά για <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Κύλιση προς τα κάτω για <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Δόνηση"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Δόνηση"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Ήχος"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Προεπιλεγμένος ήχος (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Ήχος κλήσης τηλεφώνου"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Δόνηση κατά το κουδούνισμα"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Αυτόματη συμπλήρωση πληκτρολογίου κλήσης"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Ήχος κλήσης & δόνηση"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Διαχείριση κλήσης συνδιάσκεψης"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Αριθμός έκτακτης ανάγκης"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Επιλογή λογαριασμού"</string>
+</resources>
diff --git a/InCallUI/res/values-en-rGB/strings.xml b/InCallUI/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..28c3c33
--- /dev/null
+++ b/InCallUI/res/values-en-rGB/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Phone"</string>
+ <string name="onHold" msgid="9035493194749959955">"On hold"</string>
+ <string name="unknown" msgid="6878797917991465859">"Unknown"</string>
+ <string name="private_num" msgid="6713286113000232309">"Private number"</string>
+ <string name="payphone" msgid="1931775086311769314">"Phonebox"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Line busy"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Network busy"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"No response; timed out"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Server unreachable"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Number unreachable"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Incorrect username or password"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Called from out-of-network"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Server error. Try again later."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"No signal"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM limit exceeded"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radio off"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"No SIM or SIM error"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Mobile network not available"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Outgoing calls are restricted by FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"You can\'t make outgoing calls while call barring is on."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"All calls are restricted by access control."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Emergency calls are restricted by access control."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Normal calls are restricted by access control."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Invalid number"</string>
+ <string name="confCall" msgid="1904840547188336828">"Conference call"</string>
+ <string name="call_lost" msgid="317670617901479594">"Call has been lost."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Speaker"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Handset earpiece"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Wired headset"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Send the following tones?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Sending tones\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Send"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Yes"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"No"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Replace wild character with"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Conference call <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Voicemail number"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Dialling"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Retrying"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Conference call"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Incoming call"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Call ended"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"On hold"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Hanging up"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"In call"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"My number is <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Connecting video"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Video call"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Requesting video"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Cannot connect video call"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Your call back number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Your emergency call back number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Dialling"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Missed call"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Missed calls"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> missed calls"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Missed call from <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"On-going call"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"On hold"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Incoming call"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Incoming video call"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Incoming video request"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"New voicemail"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"New voicemail (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Dial <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Voicemail number unknown"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"No service"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Selected network (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) unavailable"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Hang up"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"In-stream video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Voice"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Accept"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Dismiss"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Call back"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Message"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"To place a call, first turn off Aeroplane mode."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Not registered on network."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mobile network not available."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Call not sent. No valid number entered."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Call not sent."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Starting MMI sequence…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Unsupported service."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Unable to switch calls."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Unable to separate call."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Unable to transfer call."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Unable to conference calls."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Unable to reject call."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Unable to release call(s)."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Voicemail number unknown."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP call"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Emergency call"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Turning on radio…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Out-of-service area; retrying…"</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Call not sent. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> is not an emergency number!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Call not sent. Dial an emergency number!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Use keyboard to dial"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Hold call"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Resume call"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Add call"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Merge calls"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Swap calls"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Hold"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"End"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Dial pad"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Mute"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Add call"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Merge calls"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Swap"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Manage calls"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Video call"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Change to voice call"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Switch camera"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Pause video"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"More options"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Service"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Setup"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Not set>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Other call settings"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Calling via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Incoming via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"contact photo"</string>
+ <string name="goPrivate" msgid="865837794424530980">"go private"</string>
+ <string name="selectContact" msgid="781975788478987237">"select contact"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Write your own..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Cancel"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Send"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"one"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"two"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"three"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"four"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"five"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"six"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"seven"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"eight"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"nine"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"star"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"zero"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"pound"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"dial"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Call muted."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Answer"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Send SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Decline"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Answer as video call"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Answer as audio call"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Accept video request"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Decline video request"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Slide up for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Slide left for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Slide right for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Slide down for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibrate"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibrate"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Sound"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Default sound (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Phone ringtone"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrate when ringing"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Dial pad autocomplete"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Ringtone & Vibrate"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Manage conference call"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Emergency number"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Select Account"</string>
+</resources>
diff --git a/InCallUI/res/values-en-rIN/strings.xml b/InCallUI/res/values-en-rIN/strings.xml
new file mode 100644
index 0000000..28c3c33
--- /dev/null
+++ b/InCallUI/res/values-en-rIN/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Phone"</string>
+ <string name="onHold" msgid="9035493194749959955">"On hold"</string>
+ <string name="unknown" msgid="6878797917991465859">"Unknown"</string>
+ <string name="private_num" msgid="6713286113000232309">"Private number"</string>
+ <string name="payphone" msgid="1931775086311769314">"Phonebox"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Line busy"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Network busy"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"No response; timed out"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Server unreachable"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Number unreachable"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Incorrect username or password"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Called from out-of-network"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Server error. Try again later."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"No signal"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM limit exceeded"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radio off"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"No SIM or SIM error"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Mobile network not available"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Outgoing calls are restricted by FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"You can\'t make outgoing calls while call barring is on."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"All calls are restricted by access control."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Emergency calls are restricted by access control."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Normal calls are restricted by access control."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Invalid number"</string>
+ <string name="confCall" msgid="1904840547188336828">"Conference call"</string>
+ <string name="call_lost" msgid="317670617901479594">"Call has been lost."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Speaker"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Handset earpiece"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Wired headset"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Send the following tones?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Sending tones\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Send"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Yes"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"No"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Replace wild character with"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Conference call <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Voicemail number"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Dialling"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Retrying"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Conference call"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Incoming call"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Call ended"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"On hold"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Hanging up"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"In call"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"My number is <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Connecting video"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Video call"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Requesting video"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Cannot connect video call"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Your call back number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Your emergency call back number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Dialling"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Missed call"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Missed calls"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> missed calls"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Missed call from <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"On-going call"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"On hold"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Incoming call"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Incoming video call"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Incoming video request"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"New voicemail"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"New voicemail (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Dial <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Voicemail number unknown"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"No service"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Selected network (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) unavailable"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Hang up"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"In-stream video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Voice"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Accept"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Dismiss"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Call back"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Message"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"To place a call, first turn off Aeroplane mode."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Not registered on network."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mobile network not available."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Call not sent. No valid number entered."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Call not sent."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Starting MMI sequence…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Unsupported service."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Unable to switch calls."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Unable to separate call."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Unable to transfer call."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Unable to conference calls."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Unable to reject call."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Unable to release call(s)."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Voicemail number unknown."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP call"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Emergency call"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Turning on radio…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Out-of-service area; retrying…"</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Call not sent. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> is not an emergency number!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Call not sent. Dial an emergency number!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Use keyboard to dial"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Hold call"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Resume call"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Add call"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Merge calls"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Swap calls"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Hold"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"End"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Dial pad"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Mute"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Add call"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Merge calls"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Swap"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Manage calls"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Video call"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Change to voice call"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Switch camera"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Pause video"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"More options"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Service"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Setup"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Not set>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Other call settings"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Calling via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Incoming via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"contact photo"</string>
+ <string name="goPrivate" msgid="865837794424530980">"go private"</string>
+ <string name="selectContact" msgid="781975788478987237">"select contact"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Write your own..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Cancel"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Send"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"one"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"two"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"three"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"four"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"five"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"six"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"seven"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"eight"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"nine"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"star"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"zero"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"pound"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"dial"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Call muted."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Answer"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Send SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Decline"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Answer as video call"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Answer as audio call"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Accept video request"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Decline video request"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Slide up for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Slide left for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Slide right for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Slide down for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibrate"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibrate"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Sound"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Default sound (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Phone ringtone"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrate when ringing"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Dial pad autocomplete"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Ringtone & Vibrate"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Manage conference call"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Emergency number"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Select Account"</string>
+</resources>
diff --git a/InCallUI/res/values-es-rUS/strings.xml b/InCallUI/res/values-es-rUS/strings.xml
new file mode 100644
index 0000000..3829486
--- /dev/null
+++ b/InCallUI/res/values-es-rUS/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Teléfono"</string>
+ <string name="onHold" msgid="9035493194749959955">"En espera"</string>
+ <string name="unknown" msgid="6878797917991465859">"Desconocida"</string>
+ <string name="private_num" msgid="6713286113000232309">"Número privado"</string>
+ <string name="payphone" msgid="1931775086311769314">"Teléfono pago"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Línea ocupada"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Red ocupada"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"No hay respuesta, tiempo de espera agotado"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Servidor inaccesible"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"No se puede establecer la llamada"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Nombre de usuario o contraseña incorrecto"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"La llamada se realizó desde fuera de la red."</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Error de servidor. Inténtalo nuevamente más tarde."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"No hay señal"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Se excedió el límite de ACM"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radio apagada"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"No se encuentra la tarjeta SIM o se produjo un error relacionado con ella."</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Red móvil no disponible"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Las llamadas salientes están restringidas por NMF."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"No puedes realizar llamadas salientes cuando la restricción de llamadas está activa."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Todas las llamadas están restringidas por control de acceso."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Las llamadas de emergencia están restringidas por control de acceso."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Las llamadas normales están restringidas por control de acceso."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"El número no es válido."</string>
+ <string name="confCall" msgid="1904840547188336828">"Llamada en conferencia"</string>
+ <string name="call_lost" msgid="317670617901479594">"La llamada se ha perdido."</string>
+ <string name="ok" msgid="3811371167865772377">"Aceptar"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Altavoz"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Auricular"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Auriculares con cable"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"¿Deseas enviar los siguientes tonos?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Enviando tono\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Enviar"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Sí"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"No"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Reemplazar el carácter comodín con"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Llamada en conferencia <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Núm. de correo de voz"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Marcando"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Intentando nuevamente"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Llamada en conferencia"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Llamada entrante"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Llamada finalizada"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"En espera"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Colgando"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"En llamada"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Mi número es <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Conectando video"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videollamada"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Solicitando video"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"No se puede conectar la videollamada."</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Número de devolución de llamada\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Número de contacto para llamada de emergencia\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Marcando"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Llamada perdida"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Llamadas perdidas"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> llamadas perdidas"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Se perdieron las llamadas de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Llamada en curso"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"En espera"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Llamada entrante"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Videollamada entrante"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Solicitud de videollamada entrante"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Correo de voz nuevo"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Correo de voz nuevo (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Marcar <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Número de correo de voz desconocido"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Sin servicio"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"La red seleccionada (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) no está disponible"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Colgar"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Video:"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Voz"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Aceptar"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Descartar"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Devolver llamada"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Mensaje"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Para realizar una llamada, primero debes desactivar el modo avión."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"No registrado en la red."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"La red móvil no está disponible."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Llamada no enviada. No se ingresó un número válido."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Llamada no enviada."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Iniciar la secuencia de MMI"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Servicio no admitido."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"No es posible cambiar llamadas."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"No es posible separar la llamada."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"No es posible transferir la llamada."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"No es posible realizar llamadas en conferencia."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"No es posible rechazar la llamada."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"No es posible publicar la(s) llamada(s)."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Número de buzón de voz desconocido"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Llamada SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Llamada de emergencia"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Encendiendo radio..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Área fuera de servicio. Intentando nuevamente..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"No se realizó la llamada. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> no es un número de emergencia."</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"No se realizó la llamada. Marca un número de emergencia."</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Utilizar teclado para marcar"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Retener llamada"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Reanudar llamada"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Agregar llamada"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Combinar llamadas"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Intercambiar llamadas"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Retener"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Finalizar"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Teclado telefónico"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Silenciar"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Agreg. Llam."</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Combinar llamadas"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Cambiar"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Administrar llamadas"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videollamada"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Cambiar a llamada de voz"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Cambiar cámara"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Pausar video"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Más opciones"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Servicio"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Configuración"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Sin configurar>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Otras configuraciones de llamada"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Llamada a través de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Recibidas a través de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"foto de contacto"</string>
+ <string name="goPrivate" msgid="865837794424530980">"pasar a modo privado"</string>
+ <string name="selectContact" msgid="781975788478987237">"seleccionar contacto"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Escribe tu propia respuesta..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Cancelar"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Enviar"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"uno"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"dos"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"tres"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"cuatro"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"cinco"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"seis"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"siete"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"ocho"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"nueve"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"estrella"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"cero"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"numeral"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"marcar"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"retroceso"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Altavoz seleccionado"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Auricular seleccionado"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Auriculares con cable seleccionados"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Auriculares Bluetooth seleccionados"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Llamada silenciada"</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"Llamada con sonido activado"</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"Llamada en espera"</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"Llamada recuperada"</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Responder"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Enviar un mensaje SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Rechazar"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Responder como videollamada"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Responder como llamada de audio"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Aceptar solicitud de video"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Rechazar solicitud de video"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Deslízate hacia arriba para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Deslízate hacia la izquierda para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Deslízate hacia la derecha para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Deslízate hacia abajo para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibrar"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibrar"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Sonido"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Sonido predeterminado (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Tono del dispositivo"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrar al sonar"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Completar automáticamente con teclado"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Tono y vibración"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Administrar conferencia telefónica"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Número de emergencia"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Seleccionar cuenta"</string>
+</resources>
diff --git a/InCallUI/res/values-es/strings.xml b/InCallUI/res/values-es/strings.xml
new file mode 100644
index 0000000..809a181
--- /dev/null
+++ b/InCallUI/res/values-es/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Teléfono"</string>
+ <string name="onHold" msgid="9035493194749959955">"En espera"</string>
+ <string name="unknown" msgid="6878797917991465859">"Desconocido"</string>
+ <string name="private_num" msgid="6713286113000232309">"Número privado"</string>
+ <string name="payphone" msgid="1931775086311769314">"Teléfono público"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Línea ocupada"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Red ocupada"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"No hay respuesta; se ha agotado el tiempo de espera."</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"No se puede establecer conexión con el servidor."</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"No se puede establecer la llamada."</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Contraseña o nombre de usuario incorrectos"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Llamada desde fuera de la red"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Error del servidor, inténtalo de nuevo más tarde."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"No hay señal"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Se ha superado el límite de ACM."</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Señal móvil desactivada"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"No hay tarjeta SIM o se ha producido un error relacionado con la misma."</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Red móvil no disponible"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Las llamadas salientes están restringidas por FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"No se pueden realizar llamadas mientras esté activada la restricción de llamadas."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Todas las llamadas están limitadas por el control de acceso."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Las llamadas de emergencia están limitadas por el control de acceso."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Las llamadas normales están limitadas por el control de acceso."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Número no válido"</string>
+ <string name="confCall" msgid="1904840547188336828">"Conferencia telefónica"</string>
+ <string name="call_lost" msgid="317670617901479594">"La llamada se ha perdido."</string>
+ <string name="ok" msgid="3811371167865772377">"Aceptar"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Altavoz"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Auricular"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Auriculares"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"¿Quieres enviar los siguientes tonos?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Enviando tonos\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Enviar"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Sí"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"No"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Sustituir el carácter comodín por"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Conferencia telefónica<xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Número del buzón de voz"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Llamando"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Reintentando"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Conferencia telefónica"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Llamada entrante"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Llamada finalizada"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"En espera"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Colgando"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Llamada entrante"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Mi número es <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>."</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Conectando videollamada"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videollamada"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Solicitando videollamada"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"No se puede conectar la videollamada"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Tu número de devolución de llamada\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Número de contacto para llamadas de emergencia\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Llamando..."</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Llamada perdida"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Llamadas perdidas"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> llamadas perdidas"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Llamada perdida de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Llamada en curso"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"En espera"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Llamada entrante"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Videollamada entrante"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Solicitud de videollamada entrante"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Nuevo mensaje de voz"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Buzón de voz nuevo (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Marcar <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Número del buzón de voz desconocido"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Sin servicio"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"La red seleccionada (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) no está disponible."</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Colgar"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Vídeo"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Voz"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Aceptar"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Ignorar"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Llamar"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Mensaje"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Para realizar una llamada, primero debes desactivar el modo avión."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"No se ha podido conectar a la red"</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"La red móvil no está disponible."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"No se ha realizado la llamada; el número introducido no es válido."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"La llamada no se ha enviado."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Iniciando secuencia MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Servicio no admitido"</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"No se ha podido cambiar de llamada."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"No se ha podido desvincular la llamada."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"No se ha podido transferir la llamada."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"No se ha podido realizar la conferencia telefónica."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"No se ha podido rechazar la llamada."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"No es posible finalizar las llamadas activas."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Número de buzón de voz desconocido."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Llamada SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Llamada de emergencia"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Activando señal móvil…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Área fuera de servicio; reintentando..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"No se ha enviado la llamada. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> no es un número de emergencia."</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"La llamada no se ha enviado. Marca un número de emergencia."</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Utilizar teclado para marcar"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Retener llamada"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Reanudar llamada"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Añadir llamada"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Llamada a tres"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Alternar"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Retener"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Finalizar"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Teclado"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Silenciar"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Añadir llamada"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Llamada a tres"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Cambiar"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Administrar llamadas"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videollamada"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Cambiar a llamada de voz"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Cambiar cámara"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Pausar vídeo"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Más opciones"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Servicio"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Configuración"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<No definido>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Otras opciones de llamada"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Llamada a través de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Recibidas a través de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"foto de contacto"</string>
+ <string name="goPrivate" msgid="865837794424530980">"llamada privada"</string>
+ <string name="selectContact" msgid="781975788478987237">"seleccionar contacto"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Escribe tu propia respuesta..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Cancelar"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Enviar"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"uno"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"dos"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"tres"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"cuatro"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"cinco"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"seis"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"siete"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"ocho"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"nueve"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"estrella"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"cero"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"libra"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"marcar"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"retroceder un espacio"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Altavoz seleccionado"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Auricular seleccionado"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Auriculares con cable seleccionados"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Auriculares Bluetooth seleccionados"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Llamada silenciada"</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"Llamada silenciada."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"Llamada en espera."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"Llamada recuperada."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Responder"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Enviar SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Rechazar"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Responder como videollamada"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Responder como llamada de audio"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Aceptar solicitud de vídeo"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Rechazar solicitud de vídeo"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Desliza el dedo hacia arriba para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Desliza el dedo hacia la izquierda para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Desliza el dedo hacia la derecha para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Desliza el dedo hacia abajo para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibrar"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibrar"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Sonido"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Sonido predeterminado (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Tono del teléfono"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrar al sonar"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Autocompletar con teclado"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Tono y vibración"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Administrar conferencia telefónica"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Número de emergencia"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Seleccionar cuenta"</string>
+</resources>
diff --git a/InCallUI/res/values-et-rEE/strings.xml b/InCallUI/res/values-et-rEE/strings.xml
new file mode 100644
index 0000000..de36347
--- /dev/null
+++ b/InCallUI/res/values-et-rEE/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefon"</string>
+ <string name="onHold" msgid="9035493194749959955">"Ootel"</string>
+ <string name="unknown" msgid="6878797917991465859">"Tundmatu"</string>
+ <string name="private_num" msgid="6713286113000232309">"Varjatud number"</string>
+ <string name="payphone" msgid="1931775086311769314">"Telefoniautomaat"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Liin hõivatud"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Võrk hõivatud"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Vastust ei ole, aegunud"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Server on kättesaamatu"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Number pole kättesaadav"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Vale kasutajanimi või parool"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Helistas väljastpoolt võrku"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Serveri viga. Proovige hiljem uuesti."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Signaal puudub"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM-piir ületatud"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Raadioside väljas"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"SIM-kaart puudub või SIM-kaardi viga"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Mobiilsidevõrk pole saadaval"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Väljuvad kõned on piiratud FDN-iga."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Väljuvaid kõnesid ei saa teha, kui kõnepiirang on sisse lülitatud."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Kõiki kõnesid piiratakse juurdepääsu juhtimisega"</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Hädaabikõned on piiratud juurdepääsu juhtimisega."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Tavakõned on piiratud juurdepääsu juhtimisega."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Vale number"</string>
+ <string name="confCall" msgid="1904840547188336828">"Konverentskõne"</string>
+ <string name="call_lost" msgid="317670617901479594">"Kõne on katkenud."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Kõlar"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Käsitelefoni peatelefon"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Juhtmega peakomplekt"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Kas saata järgmised toonid?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Toonide saatmine\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Saada"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Jah"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Ei"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Pane metamärgi asemele"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Konverentskõne <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Kõnepostinumber"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Valimine"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Uuesti proovimine"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Konverentskõne"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Sissetulev kõne"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Kõne lõppes"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Ootel"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Lõpetamisel"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Kõne"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Minu number on <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Video ühendamine"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videokõne"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Video taotlemine"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Videokõnet ei saa ühendada"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Teie tagasihelistamise number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Teie hädaolukorras tagasihelistamise number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Valimine"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Vastamata kõne"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Vastamata kõned"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> vastamata kõnet"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Vastamata kõne helistajalt <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Käimasolev kõne"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Ootel"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Sissetulev kõne"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Sissetulev videokõne"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Sissetulev videotaotlus"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Uus kõnepost"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Uus kõnepost (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Valige <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Kõneposti number teadmata"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Teenus puudub"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Valitud võrk (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) pole saadaval"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Lõpeta kõne"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Hääl"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Nõustu"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Loobumine"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Helista tagasi"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Sõnum"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Helistamiseks lülitage lennurežiim välja."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ei ole võrku registreeritud."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mobiilsidevõrk pole saadaval."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Kõnet ei tehtud, sisestati kehtetu number."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Kõnet ei tehtud."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI-jada alustamine ..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Toetamata teenus."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Kõnesid ei saa vahetada."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Kõne ei saa eraldada."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Kõne ei saa üle kanda."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Konverentskõnesid ei saa teha."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Kõnest ei saa keelduda."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Kõne(sid) ei saa vabastada"</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Kõneposti number pole teada."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP-kõne"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Hädaabikõne"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Raadioside sisselülitamine ..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Teeninduspiirkonnast väljas, uuesti proovimine ..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Kõnet ei saadetud. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> pole hädaabinumber."</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Kõnet ei edastatud, valige hädaabinumber."</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Kasutage valimiseks klaviatuuri"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Kõne ootele"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Kõne jätkamine"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Lisa kõne"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Kõnede ühendamine"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Kõnede vahetamine"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Pane ootele"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Lõpeta"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Numbriklahvistik"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Summuta"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Lisa kõne"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Ühenda kõned"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Vaheta"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Halda kõnesid"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Heli"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videokõne"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Mine üle häälkõnele"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Vaheta kaamerat"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Peata video"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Rohkem valikuid"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Teenus"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Seadistus"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Määramata>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Muud kõneseaded"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Kõne edastab <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Sissetulev kõne teenuse <xliff:g id="PROVIDER_NAME">%s</xliff:g> kaudu"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"kontakti foto"</string>
+ <string name="goPrivate" msgid="865837794424530980">"aktiveeri privaatrežiim"</string>
+ <string name="selectContact" msgid="781975788478987237">"vali kontakt"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Kirjutage ise …"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Tühista"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Saada"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"üks"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"kaks"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"kolm"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"neli"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"viis"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"kuus"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"seitse"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"kaheksa"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"üheksa"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"tärn"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"null"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"nael"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"helista"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"tagasilüke"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Kõne on summutatud."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Vastamine"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS-i saatmine"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Keeldumine"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Vastamine videokõnena"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Vastamine helikõnena"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Võta videotaotlus vastu"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Lükka videotaotlus tagasi"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Lohistage üles <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Lohistage vasakule <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Lohistage paremale <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Lohistage alla: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibreerimine"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibreerimine"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Heli"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Vaikeheli (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Telefonihelin"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibreerimine helina ajal"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Valimisklahvistiku automaatne täitmine"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Helin ja vibratsioon"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Konverentskõne haldamine"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Hädaabinumber"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Konto valimine"</string>
+</resources>
diff --git a/InCallUI/res/values-eu-rES/strings.xml b/InCallUI/res/values-eu-rES/strings.xml
new file mode 100644
index 0000000..cb7a87b
--- /dev/null
+++ b/InCallUI/res/values-eu-rES/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefonoa"</string>
+ <string name="onHold" msgid="9035493194749959955">"Zain"</string>
+ <string name="unknown" msgid="6878797917991465859">"Ezezaguna"</string>
+ <string name="private_num" msgid="6713286113000232309">"Zenbaki pribatua"</string>
+ <string name="payphone" msgid="1931775086311769314">"Telefono publikoa"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Linea okupatuta"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Sarea okupatuta"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Ez dago erantzunik, denbora-muga gainditu da"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Ezin da zerbitzariarekin konektatu"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Zenbakia ez dago eskuragarri"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Erabiltzaile-izen edo pasahitz okerra"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Sarearen kanpotik deitu da"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Zerbitzariaren errorea. Saiatu berriro geroago."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Ez dago seinalerik"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM datuen muga gainditu da"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Irratia desaktibatuta"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Ez dago SIM txartelik edo SIM txartelaren errore bat gertatu da"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Sare mugikorra ez dago erabilgarri"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Irteerako deiak FDN ezarpen bidez murrizten dira."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Ezin duzu irteerako deirik egin deien debekuak aktibatuta dauden bitartean."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Dei guztiak sarbide-kontrolaren bidez murrizten dira."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Larrialdi-deiak sarbide-kontrolaren bidez murrizten dira."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Dei normalak sarbide-kontrolaren bidez murrizten dira."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Zenbaki baliogabea"</string>
+ <string name="confCall" msgid="1904840547188336828">"Konferentzia-deia"</string>
+ <string name="call_lost" msgid="317670617901479594">"Deia galdu da."</string>
+ <string name="ok" msgid="3811371167865772377">"Ados"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Bozgorailua"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Aurikularrak"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Kabledun entzungailua"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetootha"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Ondorengo tonuak bidali?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Tonuak bidaltzen\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Bidali"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Bai"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Ez"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Ordeztu komodina honekin:"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Konferentzia-deiaren iraupena: <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Erantzungailuaren zenbakia"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Markatzen"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Berriro saiatzen"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Konferentzia-deia"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Sarrerako deia"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Deia amaitu da"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Zain"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Deia amaitzen"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Deia abian"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Nire zenbakia <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> da"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Bideoa konektatzen"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Bideo-deia"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Bideoa eskatzen"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Ezin da konektatu bideo-deia"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Deiak itzultzeko telefono-zenbakia\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Larrialdi-deiak itzultzeko zenbakia\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Markatzen"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Dei galdua"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Dei galduak"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> dei galdu"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Deitzaile honen dei galdua: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Abian den deia"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Zain"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Sarrerako deia"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Sarrerako bideo-deia"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Sarrerako bideo-eskaera"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Ahots-mezu berria"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Ahots-mezu berriak (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Markatu <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Erantzungailuaren zenbakia ezezaguna da"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Ez dago zerbitzurik"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Hautatutako sarea (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ez dago erabilgarri"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Amaitu deia"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Bideoa"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Ahotsa"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Onartu"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Baztertu"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Erantzun deiari"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Mezua"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Dei bat egiteko, Hegaldi modua desaktibatu behar duzu."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ez dago sarean erregistratuta."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Sare mugikorra ez dago erabilgarri."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Ez da deia bidali ez delako baliozko zenbakirik idatzi."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Ez da deia bidali."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI sekuentzia hasten…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Ez da zerbitzua onartzen."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Ezin da dei batetik bestera pasa."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Ezin da deia banandu."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Ezin da deia transferitu."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Ezin da konferentzia-deirik egin."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Ezin da deia baztertu."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Ezin dira deiak askatu."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Erantzungailuaren zenbaki ezezaguna."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP deia"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Larrialdi-deia"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Irratia pizten…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Zerbitzu-eremutik kanpo; berriro saiatzen…"</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Ez da deia bidali. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ez da larrialdietarako zenbaki bat!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Ez da deia bidali. Markatu larrialdietarako zenbaki bat!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Erabili teklatua markatzeko"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Utzi deia zain"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Berrekin deiari"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Gehitu deia"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Bateratu deiak"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Joan beste deira"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Utzi zain"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Amaitu"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Markagailua"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Desaktibatu audioa"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Gehitu deia"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Bateratu deiak"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Trukatu"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Kudeatu deiak"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Audioa"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Bideo-deia"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Aldatu ahots-deira"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Aldatu kamera"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Pausatu bideoa"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Aukera gehiago"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Zerbitzua"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Konfigurazioa"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Ezarri gabe>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Deien beste ezarpen batzuk"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> bidez deitzen"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> bidez jasotzen"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"kontaktuaren argazkia"</string>
+ <string name="goPrivate" msgid="865837794424530980">"bihurtu pribatu"</string>
+ <string name="selectContact" msgid="781975788478987237">"hautatu kontaktua"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Idatzi zeure erantzuna…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Utzi"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Bidali"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"bat"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"bi"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"hiru"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"lau"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"bost"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"sei"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"zazpi"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"zortzi"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"bederatzi"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"izarra"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"zero"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"libra"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"markatu"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"atzera tekla"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Deiaren audioa desaktibatu da."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Erantzun"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Bidali SMS mezua"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Baztertu"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Erantzun bideo-dei moduan"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Erantzun audio-dei moduan"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Onartu bideo-eskaera"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Ukatu bideo-eskaera"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Lerratu gora hau egiteko: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Lerratu ezkerrera hau egiteko: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Lerratu eskuinera hau egiteko: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Lerratu behera hau egiteko: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Egin dar-dar"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Egin dar-dar"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Soinua"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Soinu lehenetsia (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Telefonoaren tonua"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Egin dar-dar tonua jotzean"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Osatu markagailua automatikoki"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Tonua eta dardara"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Kudeatu konferentzia-deia"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Larrialdietarako zenbakia"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Hautatu kontua"</string>
+</resources>
diff --git a/InCallUI/res/values-fa/strings.xml b/InCallUI/res/values-fa/strings.xml
new file mode 100644
index 0000000..fcef683
--- /dev/null
+++ b/InCallUI/res/values-fa/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"گوشی"</string>
+ <string name="onHold" msgid="9035493194749959955">"در انتظار"</string>
+ <string name="unknown" msgid="6878797917991465859">"ناشناس"</string>
+ <string name="private_num" msgid="6713286113000232309">"شماره خصوصی"</string>
+ <string name="payphone" msgid="1931775086311769314">"تلفن سکه ای"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"خط مشغول است"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"شبکه مشغول است"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"پاسخی دریافت نشد، زمان پایان یافت"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"سرور غیرقابل دسترسی"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"شماره غیرقابل دسترسی"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"نام کاربر و رمز ورود اشتباه است"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"از خارج از شبکه تماس گرفته شده است"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"خطای سرور: بعداً دوباره امتحان کنید."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"بدون سیگنال"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"بیش از حد مجاز ACM"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"رادیو خاموش"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"فاقد سیم، یا خطای سیم"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"شبکه تلفن همراه در دسترس نیست"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"تماسهای خروجی توسط FDN محدود شدهاند."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"هنگام روشن بودن محدودیت تماس، برقراری تماسهای خروجی امکانپذیر نیست."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"همه تماسها توسط کنترل دسترسی محدود شدهاند."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"تماسهای اضطراری توسط کنترل دسترسی محدود شدهاند."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"تماسهای معمولی توسط کنترل دسترسی محدود شدهاند."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"شماره نامعتبر"</string>
+ <string name="confCall" msgid="1904840547188336828">"تماس کنفرانسی"</string>
+ <string name="call_lost" msgid="317670617901479594">"تماس قطع شد."</string>
+ <string name="ok" msgid="3811371167865772377">"تأیید"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"بلندگو"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"گوشی"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"هدست سیمی"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"صداهای زیر ارسال شود؟\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"تونهای ارسالی\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"ارسال"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"بله"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"خیر"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"جایگزینی نویسه عمومی با"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"تماس کنفرانسی <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"شماره پست صوتی"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"شماره گیری"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"در حال امتحان مجدد"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"تماس کنفرانسی"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"تماس ورودی"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"تماس پایان یافت"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"در انتظار"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"قطع تماس"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"در تماس"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"شماره من <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> است"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"در حال برقراری تماس ویدیویی"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"تماس ویدیویی"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"درحال درخواست تماس ویدیویی"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"برقرار کردن اتصال تماس ویدیویی انجام نشد"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"شماره تماس با شما\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"شماره تماس اضطراری شما\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"شمارهگیری"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"تماس بی پاسخ"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"تماسهای بی پاسخ"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> تماس بی پاسخ"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"تماس بی پاسخ از <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"تماس جاری"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"در انتظار"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"تماس ورودی"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"تماس ویدیویی ورودی"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"درخواست تماس ویدیویی ورودی"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"پست صوتی جدید"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"پست صوتی جدید (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"شماره گیری <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"شماره پست صوتی ناشناس"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"بدون سرویس"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"شبکه انتخابی (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) قابل دسترس نیست"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"قطع تماس"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"ویدیو"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"صدا"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"پذیرش"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"ردکردن"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"پاسخ تماس"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"پیام"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"برای برقراری یک تماس، ابتدا حالت هواپیما را خاموش کنید."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"در شبکه ثبت نشده است."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"شبکهٔ تلفن همراه موجود نیست."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"تماس ارسال نشد، هیچ شماره معتبری وارد نشده است."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"تماس ارسال نشد."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"شروع ترتیب MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"سرویس پشتیبانی نشده."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"تغییر وضعیت تماسها امکانپذیر نیست."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"تفکیک تماس امکانپذیر نیست."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"انتقال تماس امکانپذیر نیست."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"تماسهای کنفرانسی امکانپذیر نیست."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"رد کردن تماس امکانپذیر نیست."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"آزاد کردن تماس(ها) امکانپذیر نیست."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"شماره پست صوتی نامشخص."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"تماس SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"تماس اضطراری"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"در حال روشن کردن رادیو..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"خارج از منطقه سرویس، در حال امتحان مجدد..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"تماس ارسال نشد. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> یک شماره اضطراری نیست!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"تماس ارسال نشد، لطفاً یک شماره اضطراری را شمارهگیری کنید!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"استفاده از صفحهکلید برای شماره گیری"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"در انتظار نگهداشتن تماس"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"ازسرگیری تماس"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"افزودن تماس"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"ادغام تماسها"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"تعویض تماسها"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"نگهداشت"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"پایان"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"دکمههای شماره گیری"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"بیصدا"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"افزودن تماس"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"ادغام تماسها"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"تعویض"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"مدیریت تماسها"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"صوتی"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"تماس ویدیویی"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"تغییر به تماس صوتی"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"تغییر دوربین"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"توقف موقت ویدیو"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"گزینههای بیشتر"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"سرویس"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"تنظیم"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<تنظیم نشده>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"سایر تنظیمات تماس"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"تماس از طریق <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"تماسهای ورودی از طریق <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"عکس مخاطب"</string>
+ <string name="goPrivate" msgid="865837794424530980">"برو به خصوصی"</string>
+ <string name="selectContact" msgid="781975788478987237">"انتخاب حساب"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"نوشتن پاسخ خود…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"لغو"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"ارسال"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"یک"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"دو"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"سه"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"چهار"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"پنج"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"شش"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"هفت"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"هشت"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"نه"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"ستاره"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"صفر"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"پوند"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"شماره گیری"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"Backspace"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"بلندگو انتخاب شد"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"گوشی انتخاب شد"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"هدست سیمدار انتخاب شد"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"هدست بلوتوث انتخاب شد"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"تماس نادیده گرفته شد."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"صدای تماس وصل شد."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"تماس در حالت انتظار نگه داشته شد."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"تماس از حالت انتظار برداشته شد."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"پاسخ"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"ارسال پیامک"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"عدم پذیرش"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"پاسخ به صورت تماس ویدیویی"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"پاسخ به صورت تماس صوتی"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"پذیرش درخواست ویدیو"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"رد کردن درخواست ویدیو"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"برای <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> به بالا بلغزانید."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"برای <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> به چپ بلغزانید."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"برای <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> به راست بلغزانید."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"برای <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> به پایین بلغزانید."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"لرزش"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"لرزش"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"صدا"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"صدای پیشفرض (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"آهنگ زنگ تلفن"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"ارتعاش هنگام زنگ زدن"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"تکمیل خودکار صفحه شمارهگیری"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"آهنگ زنگ و لرزش"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"مدیریت تماس کنفرانس"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"شماره اضطراری"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"انتخاب حساب"</string>
+</resources>
diff --git a/InCallUI/res/values-fi/strings.xml b/InCallUI/res/values-fi/strings.xml
new file mode 100644
index 0000000..754a89b
--- /dev/null
+++ b/InCallUI/res/values-fi/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Puhelin"</string>
+ <string name="onHold" msgid="9035493194749959955">"Pidossa"</string>
+ <string name="unknown" msgid="6878797917991465859">"Tuntematon"</string>
+ <string name="private_num" msgid="6713286113000232309">"Salainen numero"</string>
+ <string name="payphone" msgid="1931775086311769314">"Puhelinautomaatti"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Linja varattu"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Verkko varattu"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Ei vastausta, aikakatkaistiin"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Palvelimeen ei saada yhteyttä"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Numeroon ei saada yhteyttä"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Virheellinen käyttäjänimi tai salasana"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Puhelu verkon ulkopuolelta"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Palvelinvirhe. Yritä myöhemmin uudelleen."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Ei signaalia"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM-raja ylitetty"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radio pois käytöstä"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Ei SIM-korttia tai SIM-korttivirhe"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Mobiiliverkko ei ole käytettävissä"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Sallitut numerot rajoittavat soitettavia puheluita."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Et voi soittaa puheluita puheluiden eston ollessa käytössä."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Käyttörajoitus rajoittaa kaikki puhelut"</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Käyttörajoitus rajoittaa hätäpuhelut."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Käyttörajoitus rajoittaa normaalit puhelut."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Virheellinen numero"</string>
+ <string name="confCall" msgid="1904840547188336828">"Puhelinneuvottelu"</string>
+ <string name="call_lost" msgid="317670617901479594">"Puhelu katkesi."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Kaiutin"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Puhelimen kuuloke"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Langalliset kuulokkeet"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Lähetäänkö seuraavat äänet?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Lähetetään ääniä\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Lähetä"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Kyllä"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Ei"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Muuta jokerimerkiksi"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Puhelinneuvottelu <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Puhelinvastaajan numero"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Soitetaan"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Yritetään uudelleen"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Puhelinneuvottelu"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Uusi puhelu"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Puhelu loppui"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Pidossa"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Katkaistaan"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Puhelun aikana"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Numeroni on <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Avataan videoyhteys"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videopuhelu"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Videota pyydetään"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Videopuheluun liittyminen ei onnistu"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Takaisinsoittonumero\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Hätätilanteiden takaisinsoittonumero\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Soitetaan"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Vastaamatta jäänyt puhelu"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Vastaamattomat puhelut"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> vastaamatonta puhelua"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Vastaamatta jäänyt puhelu numerosta <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Käynnissä oleva puhelu"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Pidossa"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Uusi puhelu"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Saapuva videopuhelu"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Saapuva videopyyntö"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Uusia viestejä vastaajassa"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Uusia viestejä vastaajassa (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Soita numeroon <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Puhelinvastaajan numero tuntematon"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Katvealueella"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Valittu verkko (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ei käytettävissä."</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Katkaise puhelu"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Äänipuhelu"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Hyväksy"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Hylkää"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Soita takaisin"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Viesti"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Poista lentokonetila käytöstä ennen puhelun soittamista."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ei rekisteröity verkkoon."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mobiiliverkko ei käytettävissä."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Puhelua ei soitettu, et antanut kelvollista numeroa."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Puhelua ei soitettu."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Aloitetaan MMI-koodisekvenssiä..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Palvelua ei tueta."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Puhelujen vaihto epäonnistui."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Puhelun erottaminen epäonnistui."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Puhelun siirtäminen epäonnistui."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Puhelujen yhdistäminen epäonnistui."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Puhelun hylkääminen epäonnistui."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Puhelujen suorittaminen epäonnistui."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Puhelinvastaajan numero on tuntematon"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP-puhelu"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Hätäpuhelu"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Käynnistetään radiota…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Katvealueella, yritetään uudelleen..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Puhelua ei soitettu. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ei ole hätänumero!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Puhelua ei soitettu. Valitse hätänumero!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Valitse numero näppäimistöstä"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Aseta puhelu pitoon"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Jatka puhelua"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Lisää puhelu"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Yhdistä puhelut"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Vaihda puhelua"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Pitoon"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Loppu"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Näppäimistö"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Äänetön"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Lisää puhelu"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Yhdistä puhelut"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Vaihda"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Hallinnoi puheluita"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Ääni"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videopuh."</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Muuta äänipuheluksi"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Vaihda kameraa"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Keskeytä video"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Lisää vaihtoehtoja"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Palveluntarjoaja"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Asetukset"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Ei asetettu>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Muut puheluasetukset"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Käytetään operaattoria <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Saapuva puhelu (<xliff:g id="PROVIDER_NAME">%s</xliff:g>)"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"yhteyshenkilön valokuva"</string>
+ <string name="goPrivate" msgid="865837794424530980">"muuta yksityiseksi"</string>
+ <string name="selectContact" msgid="781975788478987237">"valitse yhteystieto"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Kirjoita oma…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Peruuta"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Lähetä"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"yksi"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"kaksi"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"kolme"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"neljä"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"viisi"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"kuusi"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"seitsemän"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"kahdeksan"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"yhdeksän"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"tähti"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"nolla"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"punta"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"soita"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"askelpalautin"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Puhelu mykistetty."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Vastaa"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Lähetä tekstiviesti"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Hylkää"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Vastaa ja aloita videopuhelu"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Vastaa ja aloita äänipuhelu"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Hyväksy videopyyntö"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Hylkää videopyyntö"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Valitse <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> liu\'uttamalla ylös."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Valitse <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> liu\'uttamalla vasemmalle."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Valitse <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> liu\'uttamalla oikealle."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Valitse <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> liu\'uttamalla alas."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Värinä"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Värinä"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Ääni"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Oletusääni (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Puhelimen soittoääni"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Käytä värinää"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Näppäimistön automaattinen täydennys"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Soittoääni ja värinä"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Hallinnoi puhelinneuvottelua"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Hätänumero"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Valitse tili"</string>
+</resources>
diff --git a/InCallUI/res/values-fr-rCA/strings.xml b/InCallUI/res/values-fr-rCA/strings.xml
new file mode 100644
index 0000000..ff6445f
--- /dev/null
+++ b/InCallUI/res/values-fr-rCA/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Téléphone"</string>
+ <string name="onHold" msgid="9035493194749959955">"En attente"</string>
+ <string name="unknown" msgid="6878797917991465859">"Inconnu"</string>
+ <string name="private_num" msgid="6713286113000232309">"Numéro privé"</string>
+ <string name="payphone" msgid="1931775086311769314">"Cabine téléphonique"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Ligne occupée"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Réseau occupé"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Aucune réponse, délai expiré"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Serveur injoignable"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Numéro injoignable"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Nom d\'utilisateur ou mot de passe incorrect."</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Appel effectué hors réseau"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Erreur serveur : réessayez plus tard."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Aucun signal"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Limite ACM dépassée"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Signal radio désactivé"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Aucune carte SIM ou erreur de carte SIM"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Réseau cellulaire non disponible"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Les appels sortants sont restreints par la liste de numéros autorisés."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Vous ne pouvez pas effectuer d\'appels sortants tant que l\'interdiction d\'appel est activée."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Tous les appels sont restreints par un contrôle d\'accès."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Les appels d\'urgence sont restreints par un contrôle d\'accès."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Les appels ordinaires sont restreints par un contrôle d\'accès."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Numéro incorrect"</string>
+ <string name="confCall" msgid="1904840547188336828">"Conférence téléphonique"</string>
+ <string name="call_lost" msgid="317670617901479594">"L\'appel a été perdu."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Haut-parleur"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Écouteur du combiné"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Écouteurs filaires"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Envoyer les tonalités suivantes?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Envoi des tonalités\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Envoyer"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Oui"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Non"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Remplacer le caractère générique par"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Conférence téléphonique <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"N° messagerie vocale"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Numérotation en cours…"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Nouvelle tentative en cours…"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Conférence téléphonique"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Appel entrant"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Fin de l\'appel"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"En attente"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Fin d\'appel"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Appel en cours"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Mon numéro est le <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Connexion de la vidéo en cours…"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Appel vidéo"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Demande de vidéo en cours"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Impossible de se connecter à l\'appel vidéo"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Votre numéro de rappel\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Votre numéro de rappel d\'urgence : \n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Numérotation en cours…"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Appel manqué"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Appels manqués"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> appels manqués"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Appel manqué de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Appel en cours"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"En attente"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Appel entrant"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Appel vidéo entrant"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Demande de vidéo reçue"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Nouveau message vocal"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Nouveaux messages vocaux (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Composer <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Numéro de messagerie vocale inconnu"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Aucun service"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Réseau sélectionné (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) non disponible"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Raccrocher"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Vidéo"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Vocal"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Accepter"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Fermer"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Rappeler"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Message"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Veuillez désactiver le mode Avion avant de passer un appel."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Non enregistré sur le réseau"</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Réseau pour mobile non disponible"</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"L\'appel n\'a pas été effectué. Le numéro composé n\'est pas valide."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"L\'appel n\'a pas été effectué."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Lancement de la séquence IHM..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Ce service n\'est pas pris en charge."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Impossible de basculer entre les appels."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Impossible de dissocier l\'appel."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Impossible de transférer l\'appel."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Impossible d\'effectuer des conférences téléphoniques."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Impossible de refuser l\'appel."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Impossible de raccrocher le ou les appel(s)."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Numéro de messagerie vocale inconnu."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Appel SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Appel d\'urgence"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Activation du signal radio..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Hors zone de couverture. Nouvelle tentative..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"L\'appel n\'a pas été effectué. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> n\'est pas un numéro d\'urgence!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Appel non effectué. Veuillez composer un numéro d\'urgence!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Utilisez le clavier pour composer un numéro."</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Mettre l\'appel en attente"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Reprendre l\'appel"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Ajouter un appel"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Fusionner les appels"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Permuter les appels"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Attente"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Terminé"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Clavier numérique"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Ignorer"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Autre appel"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Fusionner les appels"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Permuter"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Gérer les appels"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Appel vidéo"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Passer à un appel vocal"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Changer de caméra"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Interrompre la vidéo"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Plus d\'options"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Service"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Configuration"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Non défini>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Autres paramètres d\'appel"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Appel via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Appel entrant par <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"photo du contact"</string>
+ <string name="goPrivate" msgid="865837794424530980">"mode privé"</string>
+ <string name="selectContact" msgid="781975788478987237">"sélectionner un contact"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Réponse personnalisée..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Annuler"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Envoyer"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"une"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"deux"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"trois"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"quatre"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"cinq"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"six"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"sept"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"huit"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"neuf"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"étoile"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"zéro"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"dièse"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"composer"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"retour arrière"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Haut-parleur sélectionné"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Écouteur sélectionné"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Écouteurs à câble sélectionnés"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Écouteurs Bluetooth sélectionnés"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Son coupé"</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"Le son de l\'appareil a été réactivé."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"L\'appel a été mis en attente."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"L\'appel a été rétabli."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Répondre"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Envoyer un message texte"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Refuser"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Répondre comme appel vidéo"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Répondre comme appel audio"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Accepter la demande d\'appel vidéo"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Refuser la demande d\'appel vidéo"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Faites glisser votre doigt vers le haut pour <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Faites glisser votre doigt vers la gauche pour <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Faites glisser votre doigt vers la droite pour <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Faire glisser le doigt vers le bas : <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibreur"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibreur"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Son"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Sonnerie par défaut (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Sonnerie du téléphone"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Mode Vibreur lorsque le tél. sonne"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Saisie semi-auto pour clavier numérique"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Sonnerie et vibreur"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Gérer la conférence téléphonique"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Numéro d\'urgence"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Sélectionnez un compte"</string>
+</resources>
diff --git a/InCallUI/res/values-fr/strings.xml b/InCallUI/res/values-fr/strings.xml
new file mode 100644
index 0000000..8674f16
--- /dev/null
+++ b/InCallUI/res/values-fr/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Téléphone"</string>
+ <string name="onHold" msgid="9035493194749959955">"En attente"</string>
+ <string name="unknown" msgid="6878797917991465859">"Inconnu"</string>
+ <string name="private_num" msgid="6713286113000232309">"Numéro privé"</string>
+ <string name="payphone" msgid="1931775086311769314">"Cabine téléphonique"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Ligne occupée"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Réseau occupé"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Aucune réponse, délai expiré"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Serveur injoignable"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Numéro injoignable"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Nom d\'utilisateur ou mot de passe incorrect"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Appel effectué hors réseau"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Erreur serveur : réessayez plus tard."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Aucun signal"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Limite ACM dépassée"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Signal radio désactivé"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Aucune carte SIM ou erreur de carte SIM"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Réseau mobile non disponible."</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Les appels sortants sont restreints par la liste de numéros autorisés."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Vous ne pouvez pas effectuer d\'appels sortants tant que l\'interdiction d\'appel est activée."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Tous les appels sont restreints par un contrôle d\'accès."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Les appels d\'urgence sont restreints par un contrôle d\'accès."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Les appels ordinaires sont restreints par un contrôle d\'accès."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Numéro incorrect"</string>
+ <string name="confCall" msgid="1904840547188336828">"Conférence tél."</string>
+ <string name="call_lost" msgid="317670617901479594">"L\'appel a été perdu."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Haut-parleur"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Écouteur du combiné"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Écouteurs filaires"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Envoyer les tonalités suivantes ?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Envoi des tonalités\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Envoyer"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Oui"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Non"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Remplacer le caractère générique par"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Conférence téléphonique à <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"N° messagerie vocale"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Appel en cours…"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Nouvelle tentative"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Conférence téléphonique"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Appel entrant"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Fin de l\'appel"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"En attente"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Fin de l\'appel.."</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Appel en cours"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Mon numéro est le <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Connexion de la vidéo en cours…"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Appel vidéo"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Demande de vidéo en cours…"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Impossible de se connecter à l\'appel vidéo."</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Votre numéro de rappel\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Votre numéro de rappel d\'urgence\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Numérotation en cours…"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Appel manqué"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Appels manqués"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> appels manqués"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Appel manqué de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Appel en cours"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"En attente"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Appel entrant"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Appel vidéo entrant"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Demande de vidéo reçue"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Nouveau message vocal"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Nouveaux messages vocaux (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Composer le <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Numéro de messagerie vocale inconnu"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Aucun service"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Réseau sélectionné (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) non disponible"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Raccrocher"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Vidéo"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Voix"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Accepter"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Ignorer"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Rappeler"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Message"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Veuillez d\'abord désactiver le mode Avion, afin d\'effectuer un appel."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Non enregistré sur le réseau."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Réseau mobile non disponible"</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"L\'appel n\'a pas été effectué. Le numéro composé n\'est pas valide."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"L\'appel n\'a pas été effectué."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Lancement de la séquence IHM..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Ce service n\'est pas pris en charge."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Impossible de changer d\'appel."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Impossible de dissocier l\'appel"</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Impossible de transférer l\'appel."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Impossible d\'effectuer des conférences téléphoniques."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Impossible de refuser l\'appel."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Impossible de libérer le(s) appel(s)."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Numéro de messagerie vocale inconnu."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Appel SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Appel d\'urgence"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Activation du signal radio..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Hors zone de couverture. Nouvelle tentative..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"L\'appel n\'a pas été effectué. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> n\'est pas un numéro d\'urgence !"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Appel non effectué. Veuillez composer un numéro d\'urgence !"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Utilisez le clavier pour composer un numéro."</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Mettre l\'appel en attente"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Reprendre l\'appel"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Ajouter un appel"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Fusionner les appels"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Permuter les appels"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"En attente"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Raccrocher"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Clavier"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Silencieux"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Autre appel"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Fusionner les appels"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Permuter"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Gérer les appels"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Appel vidéo"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Passer à un appel vocal"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Changer de caméra"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Interrompre la vidéo"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Plus d\'options"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Service"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Configuration"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Non défini>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Autres paramètres d\'appel"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Appel via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Appel entrant via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"photo du contact"</string>
+ <string name="goPrivate" msgid="865837794424530980">"mode privé"</string>
+ <string name="selectContact" msgid="781975788478987237">"sélectionner un contact"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Réponse personnalisée..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Annuler"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Envoyer"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"un"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"deux"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"trois"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"quatre"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"cinq"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"six"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"sept"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"huit"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"neuf"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"étoile"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"zéro"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"dièse"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"composer"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"retour arrière"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Son coupé"</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Réponse"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Envoyer un SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Refuser"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Répondre via un appel vidéo"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Répondre via un appel audio"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Accepter la demande d\'appel vidéo"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Refuser la demande d\'appel vidéo"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Faites glisser votre doigt vers le haut pour <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Faites glisser votre doigt vers la gauche pour <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Faites glisser votre doigt vers la droite pour <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Faire glisser le doigt vers le bas : <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibreur"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibreur"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Sonnerie"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Sonnerie par défaut (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Sonnerie du téléphone"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Mode Vibreur lorsque le tél. sonne"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Saisie semi-auto clavier num."</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Sonnerie et vibreur"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Gérer la conférence téléphonique"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Numéro d\'urgence"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Sélectionner un compte"</string>
+</resources>
diff --git a/InCallUI/res/values-gl-rES/strings.xml b/InCallUI/res/values-gl-rES/strings.xml
new file mode 100644
index 0000000..633e0db
--- /dev/null
+++ b/InCallUI/res/values-gl-rES/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Teléfono"</string>
+ <string name="onHold" msgid="9035493194749959955">"En espera"</string>
+ <string name="unknown" msgid="6878797917991465859">"Descoñecido"</string>
+ <string name="private_num" msgid="6713286113000232309">"Número privado"</string>
+ <string name="payphone" msgid="1931775086311769314">"Teléfono público"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Liña ocupada"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Rede ocupada"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Sen resposta; superouse o tempo de espera"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Non se pode acceder ao servidor"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Non se pode contactar co número"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Nome de usuario ou contrasinal incorrecto"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Chamada desde fóra da rede"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Erro no servidor. Téntao de novo máis tarde."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Sen cobertura"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Límite de ACM superado"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radio desactivada"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Non hai SIM ou hai un erro na SIM"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"A rede móbil non está dispoñible"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"As chamadas saíntes están restrinxidas por FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Non podes facer chamadas saíntes coa restrición de chamadas activada."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Todas as chamadas están restrinxidas polo control de acceso."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"As chamadas de emerxencia están restrinxidas polo control de acceso."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"As chamadas normais están restrinxidas polo control de acceso."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Número non válido"</string>
+ <string name="confCall" msgid="1904840547188336828">"Conferencia telefónica"</string>
+ <string name="call_lost" msgid="317670617901479594">"Perdeuse a chamada."</string>
+ <string name="ok" msgid="3811371167865772377">"Aceptar"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Altofalante"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Auricular do teléfono"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Auriculares con cable"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Enviar os seguintes tons?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Enviando tons\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Enviar"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Si"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Non"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Substituír carácter comodín por"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Conferencia telefónica ás <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Número de correo de voz"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Marcación"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Tentando de novo"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Conferencia telefónica"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Chamada entrante"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Chamada finalizada"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"En espera"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Desconectando"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Chamada en curso"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"O meu número é <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Conectando vídeo"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videochamada"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Solicitando vídeo"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Non se pode conectar a videochamada"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"O teu número de devolución de chamada \n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"O número de devolución da chamada de emerxencia\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Marcación"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Chamada perdida"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Chamadas perdidas"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> chamadas perdidas"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Chamada perdida de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Chamada en curso"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"En espera"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Chamada entrante"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Videochamada entrante"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Solicitude de vídeo entrante"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Novo correo de voz"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Novo correo de voz (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Marcar o <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Número de correo de voz descoñecido"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Sen servizo"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Rede seleccionada (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) non dispoñible"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Colgar"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Vídeo"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Voz"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Aceptar"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Descartar"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Devolver chamada"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Mensaxe"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Para facer unha chamada, primeiro desactiva o modo avión."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Sen rexistro na rede"</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"A rede móbil non está dispoñible."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Chamada non enviada; o número introducido non é válido."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Chamada non enviada"</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Iniciando secuencia MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Servizo non compatible"</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Non se poden cambiar as chamadas."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Non se pode separar a chamada."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Non se pode transferir a chamada."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Non se poden efectuar conferencias."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Non se pode rexeitar a chamada."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Non se poden efectuar chamadas."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Número de correo de voz descoñecido."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Chamada SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Chamada de emerxencia"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Activando radio..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Fóra da zona servizo; tentándo de novo..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Chamada non efectuada. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> non é un número de emerxencia."</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Chamada non enviada. Marca un número de emerxencia."</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Utiliza o teclado para chamar"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Poñer a chamada en espera"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Retomar chamada"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Engadir chamada"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Combinar chamadas"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Alternar chamadas"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Poñer en espera"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Finalizar"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Teclado de marcación"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Silenciar"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Engadir chamada"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Combinar chamadas"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Cambiar"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Xestionar chamadas"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videochamada"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Cambiar para chamada de voz"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Cambiar cámara"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Pausar vídeo"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Máis opcións"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Servizo"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Configuración"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Sen configurar>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Outras configuracións de chamada"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Chamando a través de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Chamadas entrantes a través de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"foto do contacto"</string>
+ <string name="goPrivate" msgid="865837794424530980">"activar o modo privado"</string>
+ <string name="selectContact" msgid="781975788478987237">"seleccionar contacto"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Escribe a túa propia..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Cancelar"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Enviar"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"un"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"dous"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"tres"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"catro"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"cinco"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"seis"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"sete"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"oito"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"nove"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"estrela"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"cero"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"libra"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"marcar"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"retroceso"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Seleccionouse o altofalante"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Seleccionouse o auricular"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Seleccionáronse os auriculares con fíos"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Seleccionáronse os auriculares de Bluetooth"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Chamada silenciada"</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"Chamada con son activado."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"Chamada en espera."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"Cancelouse a chamara en espera."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Responder"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Enviar SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Rexeitar"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Responder como videochamada"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Responder como chamada de audio"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Acepta a solicitude de vídeo"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Rexeita a solicitude de vídeo"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Pasa o dedo cara arriba para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Pasa o dedo cara a esquerda para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Pasa o dedo cara a dereita para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Pasa o dedo cara abaixo para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibrar"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibrar"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Son"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Son predeterminado (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Ton de chamada do teléfono"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrar ao soar"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Autocompletar con teclado"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Ton de chamada e vibración"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Xestionar conferencia telefónica"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Número de emerxencia"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Seleccionar conta"</string>
+</resources>
diff --git a/InCallUI/res/values-hi/strings.xml b/InCallUI/res/values-hi/strings.xml
new file mode 100644
index 0000000..771be9f
--- /dev/null
+++ b/InCallUI/res/values-hi/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"फ़ोन"</string>
+ <string name="onHold" msgid="9035493194749959955">"होल्ड पर"</string>
+ <string name="unknown" msgid="6878797917991465859">"अज्ञात"</string>
+ <string name="private_num" msgid="6713286113000232309">"निजी नंबर"</string>
+ <string name="payphone" msgid="1931775086311769314">"सशुल्क फ़ोन"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"लाइन व्यस्त"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"नेटवर्क व्यस्त"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"कोई प्रतिसाद नहीं, समयबाह्य"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"सर्वर पहुंच योग्य नहीं है"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"नंबर पहुंच योग्य नहीं है"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"गलत उपयोगकर्ता नाम या पासवर्ड"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"नेटवर्क के बाहर से कॉल किया गया"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"सर्वर त्रुटि. बाद में पुन: प्रयास करें."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"कोई सिग्नल नहीं"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM सीमा पार हो गई"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"रेडियो बंद"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"कोई सिम नहीं या सिम त्रुटि"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"मोबाइल नेटवर्क उपलब्ध नहीं"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"आउटगोइंग कॉल FDN द्वारा प्रतिबंधित हैं."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"जब कॉल अवरोधन चालू हो, तो आप आउटगोइंग कॉल नहीं कर सकते."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"सभी कॉल पहुंच नियंत्रण द्वारा प्रतिबंधित हैं."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"आपातकालीन कॉल पहुंच नियंत्रण द्वारा प्रतिबंधित किए गए हैं."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"सामान्य कॉल पहुंच नियंत्रण द्वारा प्रतिबंधित हैं."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"अमान्य नंबर"</string>
+ <string name="confCall" msgid="1904840547188336828">"कॉन्फ़्रेंस कॉल"</string>
+ <string name="call_lost" msgid="317670617901479594">"कॉल कट चुकी है."</string>
+ <string name="ok" msgid="3811371167865772377">"ठीक है"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"स्पीकर"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"हैंडसेट ईयरपीस"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"वायर वाला हेडसेट"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"ब्लूटूथ"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"निम्न टोन भेजें?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"भेजने वाली टोन\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"भेजें"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"हां"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"नहीं"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"वाइल्ड वर्ण को इससे बदलें:"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"कॉन्फ़्रेंस कॉल <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"ध्वनिमेल नबंर"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"डायल कर रहा है"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"पुनः प्रयास कर रहा है"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"कॉन्फ़्रेंस कॉल"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"इनकमिंग कॉल"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"कॉल समाप्त"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"होल्ड पर"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"बंद कर रहा है"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"कॉल में"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"मेरा नंबर <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> है"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"वीडियो कनेक्ट हो रहा है"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"वीडियो कॉल"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"वीडियो का अनुरोध किया जा रहा है"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"वीडियो कॉल कनेक्ट नहीं किया जा सकता"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"आपका कॉल बैक नंबर\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"आपका आपातकालीन कॉल बैक नंबर यह है\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"डायल हो रहा है"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"छूटी कॉल"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"छूटी कॉल"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> छूटी कॉल"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> की कॉल छूटी"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"चल रही कॉल"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"होल्ड पर"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"इनकमिंग कॉल"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"इनकमिंग वीडियो कॉल"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"इनकमिंग वीडियो अनुरोध"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"नया ध्वनिमेल"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"नई ध्वनिमेल (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> डायल करें"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"ध्वनिमेल नंबर अज्ञात"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"कोई सेवा नहीं"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"चयनित नेटवर्क (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) अनुपलब्ध"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"समाप्त करें"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"वीडियो"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"ध्वनि"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"स्वीकार करें"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"ख़ारिज करें"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"वापस कॉल करें"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"संदेश"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"कॉल करने के लिए, पहले विमान मोड बंद करें."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"नेटवर्क पर पंजीकृत नहीं."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"मोबाइल नेटवर्क उपलब्ध नहीं."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"कॉल नहीं भेजी गई, कोई मान्य नंबर दर्ज नहीं किया गया."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"कॉल नहीं भेजी गई."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI अनुक्रम प्रारंभ हो रहा है…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"असमर्थित सेवा."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"कॉल स्विच करने में असमर्थ."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"कॉल पृथक करने में असमर्थ."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"कॉल स्थानांतरित करने में असमर्थ."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"कॉंन्फ़्रेंस कॉल करने में असमर्थ."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"कॉल अस्वीकृत करने में असमर्थ."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"कॉल छोड़ने में असमर्थ."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"ध्वनिमेल नंबर अज्ञात है."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP कॉल"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"आपातकालीन कॉल"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"रेडियो चालू कर रहा है..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"सेवा क्षेत्र के बाहर, पुनः प्रयास कर रहा है..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"कॉल नहीं भेजा गया, <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> कोई आपातकालीन नंबर नहीं है!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"कॉल नहीं भेजा गया. कोई आपातकालीन नंबर डायल करें!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"डायल करने के लिए कीबोर्ड का उपयोग करें"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"कॉल होल्ड करें"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"कॉल फिर से शुरू करें"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"कॉल जोड़ें"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"कॉल मर्ज करें"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"कॉल स्वैप करें"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"होल्ड करें"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"समाप्त"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"डायलपैड"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"म्यूट करें"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"कॉल जोड़ें"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"कॉल मर्ज करें"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"स्वैप करें"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"कॉल प्रबंधित करें"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"ऑडियो"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"वीडियो कॉल"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"ध्वनि कॉल में बदलें"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"कैमरा स्विच करें"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"वीडियो रोकें"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"अधिक विकल्प"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"सेवा"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"सेटअप"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<सेट नहीं है>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"अन्य कॉल सेटिंग"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> के माध्यम से कॉल किया जा रहा है"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> की ओर से इनकमिंग"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"संपर्क का फ़ोटो"</string>
+ <string name="goPrivate" msgid="865837794424530980">"निजी हो जाएं"</string>
+ <string name="selectContact" msgid="781975788478987237">"संपर्क को चुनें"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"अपना स्वयं का लिखें..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"रद्द करें"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"भेजें"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"एक"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"दो"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"तीन"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"चार"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"पांच"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"छ:"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"सात"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"आठ"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"नौ"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"तारा"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"शून्य"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"पाउंड"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"डायल करें"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"बैकस्पेस"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"कॉल म्यूट की गई."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"उत्तर"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS भेजें"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"अस्वीकार करें"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"वीडियो कॉल के रूप में उत्तर दें"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"ऑडियो कॉल के रूप में उत्तर दें"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"वीडियो अनुरोध स्वीकार करें"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"वीडियो अनुरोध अस्वीकार करें"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> के लिए ऊपर स्लाइड करें."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> के लिए बाएं स्लाइड करें."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> के लिए दाएं स्लाइड करें."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> के लिए नीचे स्लाइड करें."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"कंपन करें"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"कंपन करें"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"ध्वनि"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"डिफ़ॉल्ट ध्वनि (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"फ़ोन रिंगटोन"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"रिंग आने पर कंपन करें"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"डायलपैड स्वत: पूर्ण"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"रिंगटोन और कंपन"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"कॉन्फ़्रेंस कॉल प्रबंधित करें"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"आपातकालीन नंबर"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"खाता चुनें"</string>
+</resources>
diff --git a/InCallUI/res/values-hr/strings.xml b/InCallUI/res/values-hr/strings.xml
new file mode 100644
index 0000000..ca85c42
--- /dev/null
+++ b/InCallUI/res/values-hr/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefon"</string>
+ <string name="onHold" msgid="9035493194749959955">"Na čekanju"</string>
+ <string name="unknown" msgid="6878797917991465859">"Nepoznato"</string>
+ <string name="private_num" msgid="6713286113000232309">"Privatni broj"</string>
+ <string name="payphone" msgid="1931775086311769314">"Telefonska govornica"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Linija je zauzeta"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Mreža je zauzeta"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Nema odgovora, privremeno zaustavljeno"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Poslužitelj nedostupan"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Broj je nedostupan"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Netočno korisničko ime ili zaporka"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Poziv izvan mreže"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Pogreška poslužitelja. Pokušajte ponovno kasnije."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Nema signala"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Prekoračeno je ACM ograničenje"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radio je isključen"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Nema SIM-a ili SIM ima pogrešku"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Mobilna mreža nije dostupna"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Odlazne pozive ograničava FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Ne možete uspostavljati odlazne pozive ako je uključena zabrana poziva."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Sve je pozive ograničila pristupna kontrola."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Hitne pozive ograničila je pristupna kontrola."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Uobičajene pozive ograničila je pristupna kontrola."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Nevažeći broj"</string>
+ <string name="confCall" msgid="1904840547188336828">"Konferencijski poziv"</string>
+ <string name="call_lost" msgid="317670617901479594">"Poziv je prekinut."</string>
+ <string name="ok" msgid="3811371167865772377">"U redu"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Zvučnik"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Slušalice"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Žičane slušalice"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Poslati sljedeće tonove?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Slanje tonova\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Pošalji"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Da"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Ne"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Zamijeni zamjenski znak s"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Konferencijski poziv <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Broj govorne pošte"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Biranje broja"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Ponovni pokušaj"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Konferencijski poziv"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Dolazni poziv"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Poziv je završio"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Na čekanju"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Prekidanje veze"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Poziv u tijeku"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Moj broj je <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Povezivanje videopoziva"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videopoziv"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Zahtijevanje videopiziva"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Videopoziv nije povezan"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Vaš broj za povratne pozive\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Vaš broj za hitne pozive\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Biranje broja"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Propušteni poziv"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Propušteni pozivi"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"Broj propuštenih poziva: <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Propušten poziv kontakta <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Poziv u tijeku"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Na čekanju"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Dolazni poziv"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Dolazni videopoziv"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Dolazni zahtjev za videopoziv"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Nova govorna pošta"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Nova govorna pošta (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Biraj <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Nepoznat je broj govorne pošte"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Nema usluge"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Odabrana mreža (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) je onemogućena"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Prekini vezu"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Videozapis"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Glasovno"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Prihvaćam"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Odbaci"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Povratni poziv"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Poruka"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Da biste uspostavili poziv, prvo isključite način rada u zrakoplovu."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Nije registrirano na mreži."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mobilna mreža nije dostupna."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Poziv nije uspostavljen, nije unijet valjani broj."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Poziv nije poslan."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Pokretanje MMI sekvence…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Nepodržana usluga."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Nije moguće prebaciti pozive."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Nije moguće odvojiti poziv."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Nije moguće prenijeti poziv."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Nije moguće uspostaviti konferencijske pozive."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Nije moguće odbiti poziv."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Nije moguće ostvariti pozi(e)."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Broj govorne pošte nije poznat."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP poziv"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Hitan poziv"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Uključivanje radija…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Izvan područja usluge, ponovni pokušaj..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Poziv nije upućen. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nije broj za hitne pozive!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Poziv nije upućen. Birajte broj hitne službe!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Birajte pomoću tipkovnice"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Stavi poziv na čekanje"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Nastavi poziv"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Dodaj poziv"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Spoji pozive"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Prebaci na drugi poziv"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Na čekanju"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Kraj"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Površina za biranje brojeva"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Isključi zvuk"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Dodaj poziv"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Spoji pozive"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Zamijeni"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Upravljaj pozivima"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Zvuk"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videopoziv"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Prijeđi na glasovni poziv"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Prebaci se na drugi fotoaparat"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Pauziraj video"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Više opcija"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Usluga"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Postavljanje"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Nije postavljeno>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Ostale postavke poziva"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Pozivanje putem operatera <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Dolazni pozivi putem davatelja <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"kontakt fotografija"</string>
+ <string name="goPrivate" msgid="865837794424530980">"na privatno"</string>
+ <string name="selectContact" msgid="781975788478987237">"odabir kontakta"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Napišite odgovor..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Odustani"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Pošalji"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"jedan"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"dva"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"tri"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"četiri"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"pet"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"šest"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"sedam"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"osam"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"devet"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"zvjezdica"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"nula"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"funta"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"biraj"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Zvuk poziva isključen."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Odgovori"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Pošalji SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Odbij"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Prihvati kao videopoziv"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Prihvati kao audiopoziv"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Prihvati zahtjev za videozapis"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Odbij zahtjev za videozapis"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Kliznite prema gore za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Kliznite lijevo za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Kliznite desno za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Kliznite prema dolje za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibracija"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibracija"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Zvuk"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Zadani zvuk (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Melodija zvona telefona"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrira dok zvoni"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Samodovršavanje biranja brojeva"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Melodija zvona i vibracija"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Upravljanje konferencijskim pozivom"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Broj hitne službe"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Odaberite račun"</string>
+</resources>
diff --git a/InCallUI/res/values-hu/strings.xml b/InCallUI/res/values-hu/strings.xml
new file mode 100644
index 0000000..6f0648b
--- /dev/null
+++ b/InCallUI/res/values-hu/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefon"</string>
+ <string name="onHold" msgid="9035493194749959955">"Tartásban"</string>
+ <string name="unknown" msgid="6878797917991465859">"Ismeretlen"</string>
+ <string name="private_num" msgid="6713286113000232309">"Magántelefonszám"</string>
+ <string name="payphone" msgid="1931775086311769314">"Nyilvános telefon"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"A vonal foglalt"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"A hálózat túlterhelt"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Nincs válasz, időtúllépés történt"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"A szerver nem érhető el"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"A szám nem érhető el"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Helytelen felhasználónév vagy jelszó"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"A hívó hálózaton kívüli volt"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Szerverhiba. Kérjük, próbálkozzon újra."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Nincs vonal"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Elérte az ACM-korlátot"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Rádió kikapcsolva"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Hiányzó vagy hibás SIM kártya"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"A mobilhálózat nem érhető el"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Az FDN korlátozza a kimenő hívásokat."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Nem kezdeményezhet hívásokat, amíg a hívásletiltás be van kapcsolva."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Minden hívást korlátoz a hozzáférésvezérlés."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"A segélyhívásokat korlátozza a hozzáférésvezérlés."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"A normál hívásokat korlátozza a hozzáférésvezérlés."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Érvénytelen szám"</string>
+ <string name="confCall" msgid="1904840547188336828">"Konferenciahívás"</string>
+ <string name="call_lost" msgid="317670617901479594">"A hívás megszakadt."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Hangszóró"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Kézibeszélő fülhallgatója"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Vezetékes fülhallgató"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Elküldi a következő hangjelzéseket?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Hangjelzések küldése\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Küldés"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Igen"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Nem"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Helyettesítő karakter lecserélése a következővel:"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Konferenciahívás: <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Hangposta száma"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Tárcsázás"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Újrapróbálkozás"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Konferenciahívás"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Bejövő hívás"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"A hívás befejeződött"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Tartásban"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Megszakítás"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Hívásban"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"A számom: <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Videó csatlakoztatása"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videohívás"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Videohívást kér"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Videohívás csatlakoztatása nem sikerült"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Telefonszám az Ön visszahívására\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Vészhelyzet esetén visszahívható telefonszáma\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Tárcsázás"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Nem fogadott hívás"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Nem fogadott hívások"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> nem fogadott hívás"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Nem fogadott hívás: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Hívás folyamatban"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Tartásban"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Bejövő hívás"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Bejövő videohívás"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Bejövő videokérés"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Új hangposta"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Új hangpostaüzenet (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> tárcsázása"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"A hangposta száma ismeretlen"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Nincs szolgáltatás"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"A kiválasztott hálózat (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) nem érhető el"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Hívás befejezése"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Videó"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Hang"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Elfogadás"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Elvetés"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Visszahívás"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Üzenet"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Híváskezdeményezéshez kapcsolja ki a Repülőgép üzemmódot."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Nincs regisztrálva a hálózaton."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"A mobilhálózat nem érhető el."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"A hívás indítása érvénytelen szám beírása miatt nem történt meg."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"A hívás nem indítható."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI-sorozat indítása..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Nem támogatott szolgáltatás"</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Nem lehet váltani a hívások között."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Nem lehet elkülöníteni a hívást."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Nem lehet továbbítani a hívást."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Nem lehet konferenciahívást folytatni."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Nem lehet elutasítani a hívást."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Nem lehet befejezni a hívás(oka)t."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"A hangpostaszám ismeretlen."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP-hívás"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Segélyhívás"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Rádió bekapcsolása..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Szolgáltatási területen kívüli terület, újrapróbálás..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"A hívás nem indítható. A(z) <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nem segélyhívó szám!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"A hívás nem indítható. Tárcsázzon egy segélyhívó számot!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"A tárcsázáshoz használja a billentyűzetet"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Hívás tartása"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Hívás folytatása"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Hívás hozzáadása"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Hívások egyesítése"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Hívások cseréje"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Tartás"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Befejezés"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Tárcsázó"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Lezárás"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Hívás hozzáadása"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Hívások egyesítése"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Csere"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Hívások kezelése"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Hang"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videohívás"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Váltás hanghívásra"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Kamera váltása"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Videó szüneteltetése"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"További lehetőségek"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Szolgáltatás"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Beállítás"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Nincs megadva>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Egyéb hívásbeállítások"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Hívás a(z) <xliff:g id="PROVIDER_NAME">%s</xliff:g> szolgáltatón keresztül"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Bejövő hívás a következőn keresztül: <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"ismerős fotója"</string>
+ <string name="goPrivate" msgid="865837794424530980">"magánbeszélgetés"</string>
+ <string name="selectContact" msgid="781975788478987237">"névjegy kijelölése"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Saját válasz írása..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Mégse"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Küldés"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"egy"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"kettő"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"három"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"négy"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"öt"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"hat"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"hét"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"nyolc"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"kilenc"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"csillag"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"nulla"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"kettős kereszt"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"tárcsázás"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"Backspace"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Hívás némítva."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Fogadás"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS küldése"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Elutasítás"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Fogadás videohívásként"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Fogadás hanghívásként"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Videó kérésének elfogadása"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Videó kérésének elutasítása"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"A(z) <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> művelethez csúsztassa felfelé."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"A(z) <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> művelethez csúsztassa balra."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"A(z) <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> művelethez csúsztassa jobbra."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"A(z) <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> művelethez csúsztassa lefelé."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Rezgés"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Rezgés"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Hang"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Alapértelmezett hang (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Telefon csengőhangja"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Csengetéskor rezegjen"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Tárcsázó automatikus kiegészítés"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Csengőhang és rezgés"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Konferenciahívás kezelése"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Segélyhívó szám"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Fiók kiválasztása"</string>
+</resources>
diff --git a/InCallUI/res/values-hy-rAM/strings.xml b/InCallUI/res/values-hy-rAM/strings.xml
new file mode 100644
index 0000000..d2a1f1d
--- /dev/null
+++ b/InCallUI/res/values-hy-rAM/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Հեռախոս"</string>
+ <string name="onHold" msgid="9035493194749959955">"Սպասում"</string>
+ <string name="unknown" msgid="6878797917991465859">"Անհայտ"</string>
+ <string name="private_num" msgid="6713286113000232309">"Գաղտնի համար"</string>
+ <string name="payphone" msgid="1931775086311769314">"Վճարել հեռախոսի համար"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Գիծը զբաղված է"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Ցանցը զբաղված է"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Պատասխան չկա, ժամանակը սպառվել է"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Սերվերն անհասանելի է"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Համարն անհասանելի է"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Սխալ օգտանուն կամ գաղտնաբառ"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Զանգել է՝ ցանցից դուրս գտնվելով"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Սերվերի սխալ: Փորձեք կրկին ավելի ուշ:"</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Կապը բացակայում է"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM սահմանափակումը գերազանցվել է"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Ռադիոն անջատել"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"SIM- բացակայում է կամ SIM-ի սխալ"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Բջջային ցանցն անհասանելի է"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Ելքային զանգերը սահմանափակված են FDN-ի կողմից:"</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Դուք չեք կարող կատարել ելքային զանգեր զանգի արգելափակման միացված ժամանակ:"</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Բոլոր զանգերը սահմանափակված են մատչման կարգավորումներով:"</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Արտակարգ իրավիճակների զանգերը սահմանափակված են մատչման կարգավորումներով:"</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Սովորական զանգերը սահմանափակված են մատչման կարգավորումներով:"</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Անվավեր համար"</string>
+ <string name="confCall" msgid="1904840547188336828">"Կոնֆերանս զանգ"</string>
+ <string name="call_lost" msgid="317670617901479594">"Զանգը խափանված է:"</string>
+ <string name="ok" msgid="3811371167865772377">"Լավ"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Բարձրախոս"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Հեռախոսի ականջակալ"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Լարային ականջակալ"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Ուղարկե՞լ հետևյալ ձայներանգները:\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Ձայներանգների առաքում\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Ուղարկել"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Այո"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Ոչ"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Փոխարինել կոպիտ գրանշանը"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Կոնֆերանս զանգ <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Ձայնային փոստի համարը"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Համարարկվում է"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Կրկին է փորձում"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Կոնֆերանս զանգ"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Մուտքային զանգ"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Զանգն ավարտվեց"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Սպասում է"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Կապվում է"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Զանգը միացված է"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Իմ համարը՝ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Տեսակապը միանում է"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Տեսազանգել"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Տեսակապի հայցում"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Հնարավոր չէ միացնել տեսազանգը"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Հետադարձ զանգի ձեր համարը՝\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Ձեր արտակարգ իրավիճակների զանգի համարը՝\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Համարարկում է"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Բաց թողնված զանգ"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Բաց թողնված զանգեր"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> բաց թողնված զանգ"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Բաց թողնված զանգ <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>-ից"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Ընթացիկ զանգը"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Սպասում"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Մուտքային զանգ"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Մուտքային տեսազանգ"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Մուտքային տեսազանգի հայցում"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Նոր ձայնային հաղորդագրություն"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Նոր ձայնային նամակ (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Զանգել <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Ձայնային փոստի համարն անհայտ է"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Ծառայություններ չկան"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Ընտրված ցանցը (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) անհասանելի է"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Վայր դնել"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Տեսազանգ"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Ձայնային"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Ընդունել"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Անտեսել"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Հետ զանգել"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Ուղարկել հաղորդագրություն"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Զանգի կատարման համար նախ անջատեք թռիչքային ռեժիմը:"</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ցանցում գրանցված չէ:"</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Բջջային ցանցն անհասանելի է:"</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Զանգը չի առաքվել, անվավեր համար է մուտքագրված:"</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Զանգը չի առաքվել:"</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Մեկնարկում է MMI հաջորդականությունը..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Չսպասարկվող ծառայություն:"</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Հնարավոր չէ փոխարկել զանգերը:"</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Հնարավոր չէ առանձնացնել զանգը:"</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Հնարավոր չէ փոխանցել հեռախոսազանգը:"</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Կոնֆերանս զանգը հնարավոր չէ:"</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Հնարավոր չէ մերժել զանգը:"</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Հնարավոր չէ իրականացնել զանգ(եր)ը:"</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Ձայնային փոստի համարն անհայտ է:"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP զանգ"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Արտակարգ իրավիճակների զանգ"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Ռադիոն միացվում է..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Սպասարկման ծածկույթից դուրս է, փորձում է կրկին..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Զանգը չի առաքվել: <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g>-ն արտակարգ իրավիճակների հեռախոսահամար չէ:"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Զանգը չի առաքվել: Համարարկեք արտակարգ իրավիճակների հեռախոսահամար:"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Օգտագործեք ստեղնաշարը՝ համարհավաքման համար"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Պահել զանգը"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Վերսկսել զանգը"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Ավելացնել զանգ"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Միացնել զանգերը"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Փոխանակել զանգերը"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Պահել"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Ավարտել"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Թվաշար"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Խլացնել"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Ավելացնել զանգ"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Միավորել զանգերը"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Փոխանակել"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Կառավարել զանգերը"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Ձայնանյութ"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Տեսազանգել"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Փոխարկել ձայնային կանչի"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Փոխարկել խցիկը"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Դադարեցնել տեսանյութի դիտումը"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Այլ ընտրանքներ"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Ծառայություն"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Կարգավորում"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Նշված չէ>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Այլ զանգերի կարգավորումներ"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Զանգում է <xliff:g id="PROVIDER_NAME">%s</xliff:g>-ի միջոցով"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Մուտքային զանգ <xliff:g id="PROVIDER_NAME">%s</xliff:g>-ի ցանցից"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"կոնտակտի լուսանկարը"</string>
+ <string name="goPrivate" msgid="865837794424530980">"Անցնել անձնականի"</string>
+ <string name="selectContact" msgid="781975788478987237">"ընտրել կոնտակտ"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Գրեք ձեր սեփականը..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Չեղարկել"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Ուղարկել"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"մեկ"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"երկու"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"երեք"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"չորս"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"հինգ"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"վեց"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"յոթ"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"ութ"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"ինը"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"Աստղանշել"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"զրո"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"ֆունտ"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"համարհավաքել"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"հետշարժ"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Զանգը խլացված է:"</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Պատասխանել"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Ուղարկել SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Մերժել"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Պատասխանել տեսազանգով"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Պատասխանել ձայնային զանգով"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Ընդունել տեսանյութի հարցումը"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Մերժել տեսանյութի հարցումը"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Սահեցրեք վերև` <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>-ի համար:"</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Սահեցրեք ձախ` <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>-ի համար:"</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Սահեցրեք աջ` <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>-ի համար:"</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Սահեցրեք ցած <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>-ի համար:"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Թրթռալ"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Թրթռալ"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Ձայն"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Լռելյայն ձայներանգը (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Հեռախոսի զանգերանգ"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Թրթռալ զանգի ժամանակ"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Թվաշարի ինքնալրացում"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Ձայներանգ & Թրթռոց"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Կառավարեք կոնֆերանս զանգը"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Արտակարգ իրավիճակների հեռախոսահամար"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Ընտրեք հաշիվ"</string>
+</resources>
diff --git a/InCallUI/res/values-in/strings.xml b/InCallUI/res/values-in/strings.xml
new file mode 100644
index 0000000..f47efb6
--- /dev/null
+++ b/InCallUI/res/values-in/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Ponsel"</string>
+ <string name="onHold" msgid="9035493194749959955">"Ditangguhkan"</string>
+ <string name="unknown" msgid="6878797917991465859">"Tidak diketahui"</string>
+ <string name="private_num" msgid="6713286113000232309">"Nomor pribadi"</string>
+ <string name="payphone" msgid="1931775086311769314">"Telepon umum"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Jalur sibuk"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Jaringan sibuk"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Tidak ada jawaban, waktu habis"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Server tidak dapat dijangkau"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Nomor tidak dapat dijangkau"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Nama pengguna atau sandi salah"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Dipanggil dari luar jaringan"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Kesalahan Server: Coba lagi nanti."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Tidak ada sinyal"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM melebihi batas"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radio mati"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Tidak ada SIM atau kesalahan SIM"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Jaringan seluler tidak tersedia"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Panggilan keluar dibatasi oleh FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Anda tidak dapat melakukan panggilan keluar sewaktu pemblokiran panggilan aktif."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Semua panggilan dibatasi oleh kontrol akses."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Panggilan darurat dibatasi oleh kontrol akses."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Panggilan normal dibatasi oleh kontrol akses."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Nomor tidak valid"</string>
+ <string name="confCall" msgid="1904840547188336828">"Telewicara"</string>
+ <string name="call_lost" msgid="317670617901479594">"Panggilan telah terputus."</string>
+ <string name="ok" msgid="3811371167865772377">"Oke"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Speaker"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Earpiece handset"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Headset berkabel"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Kirimkan nada berikut?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Mengirimkan nada\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Kirimkan"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Ya"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Tidak"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Ganti karakter acak dengan"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Telewicara <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Nomor kotak pesan"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Memanggil"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Mencoba ulang"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Telewicara"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Panggilan masuk"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Panggilan diakhiri"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Ditangguhkan"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Menutup panggilan"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Sedang dalam panggilan"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Nomor saya <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Menyambungkan video"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Video call"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Meminta video"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Tidak dapat menyambungkan video call"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Nomor panggilan balik Anda\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Nomor panggilan balik darurat\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Memanggil"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Panggilan tak terjawab"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Panggilan tak terjawab"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> panggilan tak terjawab"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Panggilan tak terjawab dari <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Panggilan yang sedang berlangsung"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Ditangguhkan"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Panggilan masuk"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Video call masuk"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Permintaan video masuk"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Kotak pesan baru"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Kotak pesan baru (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Telepon <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Nomor kotak pesan tidak dikenal"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Tidak ada layanan"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Jaringan yang dipilih (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) tidak tersedia"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Akhiri"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Suara"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Terima"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Tutup"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Hubungi kembali"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Pesan"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Untuk melakukan panggilan, pertama-tama matikan mode Pesawat."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Tidak terdaftar pada jaringan."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Jaringan seluler tidak tersedia."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Panggilan tidak terkirim, tidak ada nomor valid yang dimasukkan."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Panggilan tidak terkirim."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Memulai urutan MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Layanan tidak didukung."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Tidak dapat mengalihkan panggilan."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Tidak dapat memisahkan panggilan."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Tidak dapat mentransfer panggilan."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Tidak dapat melakukan telewicara."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Tidak dapat menolak panggilan."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Tidak dapat melepaskan panggilan."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Nomor kotak pesan tidak dikenal."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Panggilan SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Panggilan darurat"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Menghidupkan radio..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Di luar area layanan, mencoba sekali lagi..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Panggilan tidak terkirim. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> bukan nomor darurat!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Teleponan tidak terkirim. Telepon nomor darurat!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Gunakan keyboard untuk memanggil"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Tahan panggilan"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Lanjutkan panggilan"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Tambahkan panggilan"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Gabungkan panggilan"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Tukar panggilan"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Tahan"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Akhiri"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Dialpad"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Bungkam"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Tambahkan panggilan"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Gabungkan panggilan"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Tukar"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Kelola panggilan"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Video call"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Ubah ke panggilan suara"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Beralih kamera"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Jeda video"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Opsi lainnya"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Layanan"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Penyiapan"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Tidak disetel>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Setelan panggilan lainnya"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Memanggil via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Masuk via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"foto kontak"</string>
+ <string name="goPrivate" msgid="865837794424530980">"aktifkan pribadi"</string>
+ <string name="selectContact" msgid="781975788478987237">"pilih kontak"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Tulis respons Anda sendiri…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Batal"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Kirim"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"satu"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"dua"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"tiga"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"empat"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"lima"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"enam"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"tujuh"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"delapan"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"sembilan"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"bintang"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"nol"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"pound"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"panggil"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Panggilan disenyapkan."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Menjawab"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Mengirim SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Menolak"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Menjawab sebagai video call"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Menjawab sebagai panggilan audio"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Terima permintaan video"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Tolak permintaan video"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Geser ke atas untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Geser ke kiri untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Geser ke kanan untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Geser ke bawah untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Getar"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Getar"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Suara"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Suara default (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Nada dering ponsel"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Bergetar saat berdering"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Lengkapi otomatis tombol nomor"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Nada dering & Getar"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Kelola penggilan telewicara"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Nomor darurat"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Pilih Akun"</string>
+</resources>
diff --git a/InCallUI/res/values-is-rIS/strings.xml b/InCallUI/res/values-is-rIS/strings.xml
new file mode 100644
index 0000000..cc0a74f
--- /dev/null
+++ b/InCallUI/res/values-is-rIS/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Sími"</string>
+ <string name="onHold" msgid="9035493194749959955">"Í bið"</string>
+ <string name="unknown" msgid="6878797917991465859">"Óþekkt"</string>
+ <string name="private_num" msgid="6713286113000232309">"Leyninúmer"</string>
+ <string name="payphone" msgid="1931775086311769314">"Almenningssími"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Línan er upptekin"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Símkerfið er upptekið"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Ekkert svar, rann út á tíma."</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Ekki næst í þjóninn"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Ekki næst í númerið"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Rangt notandanafn eða aðgangsorð"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Hringt utan kerfis"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Þjónsvilla. Reyndu aftur síðar."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Ekkert samband"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM-hámarki náð"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Slökkt á loftneti"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Ekkert SIM-kort eða villa á SIM-korti"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Farsímakerfi ekki tiltækt"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Fast númeraval lokar á hringd símtöl."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Ekki er hægt að hringja þegar kveikt er á útilokun símtala."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Aðgangsstýring lokar á öll símtöl."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Aðgangsstýring lokar á neyðarsímtöl."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Aðgangsstýring lokar á venjuleg símtöl."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Ógilt númer"</string>
+ <string name="confCall" msgid="1904840547188336828">"Símafundur"</string>
+ <string name="call_lost" msgid="317670617901479594">"Símtalið slitnaði."</string>
+ <string name="ok" msgid="3811371167865772377">"Í lagi"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Hátalari"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Símahátalari"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Höfuðtól með snúru"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Senda eftirfarandi tóna?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Sendir tóna\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Senda"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Já"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Nei"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Skipta algildisstaf út fyrir"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Símafundur <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Talhólfsnúmer"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Hringir"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Reynir aftur"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Símafundur"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Símtal berst"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Lagt á"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Í bið"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Leggur á"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Í símtali"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Númerið mitt er <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Tengir myndskeið"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Myndsímtal"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Biður um myndskeið"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Ekki er hægt að tengja myndsímtal"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Svarhringinúmerið þitt\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Svarhringinúmerið þitt í neyð\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Hringir"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Ósvarað símtal"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Ósvöruð símtöl"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ósvöruð símtöl"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Ósvarað símtal frá <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Samtal í gangi"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Í bið"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Símtal berst"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Myndsímtal berst"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Myndbeiðni berst"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Ný skilaboð í talhólfinu"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Ný skilaboð í talhólfinu (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Hringja í <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Talhólfsnúmer ekki þekkt"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Ekkert símasamband"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Valið símkerfi (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) er ekki tiltækt"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Leggja á"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Myndskeið"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Tal"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Samþykkja"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Hunsa"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Hringja til baka"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Skilaboð"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Til að hringja símtal þarftu fyrst að slökkva á flugstillingu."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ekki skráð á símkerfi."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Farsímakerfi ekki tiltækt."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Símtalið var ekki sent, gilt símanúmer var ekki slegið inn."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Símtalið var ekki sent."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Ræsir MMI-runu…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Óstudd þjónusta."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Ekki hægt að skipta milli símtala."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Ekki hægt að aðskilja símtal."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Ekki hægt að flytja símtal."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Ekki hægt að halda símafund."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Ekki hægt að hafna símtali."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Ekki hægt að hringja."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Talhólfsnúmer óþekkt."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP-símtal"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Neyðarsímtal"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Kveikir á loftneti…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Utan þjónustusvæðis. Reynir aftur…"</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Símtalið var ekki sent. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> er ekki neyðarnúmer."</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Símtalið var ekki sent. Sláðu inn neyðarnúmer."</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Notaðu lyklaborðið til að hringja"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Setja símtal í bið"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Halda símtali áfram"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Bæta við símtali"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Sameina símtöl"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Skipta á símtölum"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Setja í bið"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Ljúka"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Takkaborð"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Þagga"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Bæta við símtali"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Sameina símtöl"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Skipta milli"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Stjórna símtölum"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Hljóð"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Myndsímtal"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Breyta í símtal"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Skipta um myndavél"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Gera hlé á myndskeiði"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Fleiri valkostir"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Þjónusta"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Uppsetning"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Ekki valið>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Aðrar símtalsstillingar"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Hringt í gegnum <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Berst í gegnum <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"mynd tengiliðar"</string>
+ <string name="goPrivate" msgid="865837794424530980">"tala í einrúmi"</string>
+ <string name="selectContact" msgid="781975788478987237">"velja tengilið"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Skrifaðu eigið svar…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Hætta við"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Senda"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"einn"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"tveir"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"þrír"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"fjórir"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"fimm"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"sex"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"sjö"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"átta"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"níu"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"stjarna"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"núll"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"kassi"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"hringja"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"bakklykill"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Hátalari valinn"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Heyrnartól valin"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Höfuðtól með snúru valin"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Bluetooth-höfuðtól valin"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Símtal þaggað."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"Kveikt á hljóði í símtali."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"Símtal sett í bið."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"Símtal tekið úr bið."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Svara"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Senda SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Hafna"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Svara sem myndsímtali"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Svara sem símtali"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Samþykkja beiðni um myndsímtal"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Hafna beiðni um myndsímtal"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Strjúktu upp til að <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Strjúktu til vinstri til að <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Strjúktu til hægri til að <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Strjúktu niður til að <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Titringur"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Titringur"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Hljóð"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Sjálfgefið hljóð (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Hringitónn síma"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Titra við hringingu"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Sjálfvirk útfylling á takkaborði"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Hringitónn og titringur"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Stjórna símafundi"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Neyðarnúmer"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Velja reikning"</string>
+</resources>
diff --git a/InCallUI/res/values-it/strings.xml b/InCallUI/res/values-it/strings.xml
new file mode 100644
index 0000000..498065d
--- /dev/null
+++ b/InCallUI/res/values-it/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefono"</string>
+ <string name="onHold" msgid="9035493194749959955">"In attesa"</string>
+ <string name="unknown" msgid="6878797917991465859">"Sconosciuto"</string>
+ <string name="private_num" msgid="6713286113000232309">"Numero privato"</string>
+ <string name="payphone" msgid="1931775086311769314">"Telefono a monete"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Linea occupata"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Rete occupata"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Nessuna risposta, timeout"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Server non raggiungibile"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Numero non raggiungibile"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Password o nome utente errato"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Chiamata da fuori rete"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Errore del server. Riprova più tardi."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Nessun segnale"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Limite ACM superato"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Segnale cellulare disattivato"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Nessuna SIM o errore della SIM"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Rete mobile non disponibile"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Chiamate in uscita limitate da FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Impossibile effettuare chiamate in uscita con il blocco chiamate attivo."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Tutte le chiamate sono limitate dal controllo di accesso."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Chiamate di emergenza limitate dal controllo di accesso."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Le normali chiamate sono limitate dal controllo di accesso."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Numero non valido"</string>
+ <string name="confCall" msgid="1904840547188336828">"Audioconferenza"</string>
+ <string name="call_lost" msgid="317670617901479594">"La chiamata è stata persa."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Altoparlante"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Auricolare telefono"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Auricolare con cavo"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Inviare i numeri successivi?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Invio toni\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Invia"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Sì"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"No"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Sostituisci carattere jolly con"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Audioconferenza <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Numero segreteria"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Chiamata in corso"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Nuovo tentativo"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Audioconferenza"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Chiamata in arrivo"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Chiamata terminata"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"In attesa"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"In fase di chiusura"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Chiamata"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Il mio numero è <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Collegamento video"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videochiamata"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Richiesta video..."</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Impossibile collegarsi alla chiamata video"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Numero da richiamare: \n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Numero in caso di emergenza\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Chiamata in corso"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Chiamata senza risposta"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Chiamate senza risposta"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> chiamate senza risposta"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Chiamata senza risposta da <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Chiamata in corso"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"In attesa"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Chiamata ricevuta"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Videochiamata in arrivo"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Richiesta video in arrivo"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Nuovo msg vocale"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Nuovo msg vocale (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Componi <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Numero segreteria sconosciuto"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Nessun servizio"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Rete selezionata (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) non disponibile"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Riaggancia"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Voce"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Accetta"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Ignora"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Richiama"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Messaggio"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Per fare una telefonata, disattiva la modalità aereo."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Non registrato sulla rete."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Rete cellulare non disponibile."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Chiamata non inviata. Nessun numero valido inserito."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Chiamata non inviata."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Inizio sequenza MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Servizio non supportato."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Impossibile passare all\'altra chiamata."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Impossibile separare le chiamate."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Impossibile trasferire la chiamata."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Audioconferenze non disponibili"</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Impossibile rifiutare la chiamata."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Impossibile riprendere le chiamate."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Numero segreteria sconosciuto."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Chiamata SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Chiamata di emergenza"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Attivazione segnale cellulare..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Area non coperta dal servizio. Nuovo tentativo..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Chiamata non inviata. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> non è un numero di emergenza."</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Chiamata non inviata. Componi un numero di emergenza."</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Usa tastiera"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Metti in attesa la chiamata"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Riprendi chiamata"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Aggiungi chiamata"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Unisci chiamate"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Scambia le chiamate"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"In attesa"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Chiudi"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Tastierino"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"No audio"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Aggiungi"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Unisci"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Scambia"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Gestisci chiamate"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videochiam."</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Imposta chiamata vocale"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Cambia fotocamera"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Metti in pausa video"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Altre opzioni"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Servizio"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Configurazione"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Non impostato>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Altre impostazioni chiamate"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Chiamata tramite <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"In arrivo tramite <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"foto contatto"</string>
+ <string name="goPrivate" msgid="865837794424530980">"Privato"</string>
+ <string name="selectContact" msgid="781975788478987237">"seleziona contatto"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Scrivi risposta personale..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Annulla"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Invia"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"uno"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"due"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"tre"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"quattro"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"cinque"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"sei"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"sette"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"otto"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"nove"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"asterisco"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"zero"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"sterlina"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"componi"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Vivavoce selezionato"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Auricolari selezionati"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Auricolari con cavo selezionati"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Auricolari Bluetooth selezionati"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Chiamata disattivata."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"Audio chiamata riattivato."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"Chiamata messa in attesa."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"Chiamata ripresa."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Rispondi"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Invia SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Rifiuta"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Rispondi con videochiamata"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Rispondi con chiamata audio"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Accetta richiesta video"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Rifiuta richiesta video"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Scorri verso l\'alto per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Scorri verso sinistra per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Scorri verso destra per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Scorri verso il basso per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibrazione"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibrazione"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Suono"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Suono predefinito (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Suoneria telefono"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrazione quando squilla"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Completam. autom. tastierino"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Suoneria e vibrazione"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Gestisci audioconferenza"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Numero di emergenza"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Seleziona account"</string>
+</resources>
diff --git a/InCallUI/res/values-iw/strings.xml b/InCallUI/res/values-iw/strings.xml
new file mode 100644
index 0000000..f8d9186
--- /dev/null
+++ b/InCallUI/res/values-iw/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"טלפון"</string>
+ <string name="onHold" msgid="9035493194749959955">"בהמתנה"</string>
+ <string name="unknown" msgid="6878797917991465859">"לא ידוע"</string>
+ <string name="private_num" msgid="6713286113000232309">"מספר פרטי"</string>
+ <string name="payphone" msgid="1931775086311769314">"טלפון ציבורי"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"הקו לא פנוי"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"רשת לא פנויה"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"אין תגובה, החיבור הסתיים"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"אין אפשרות להשיג את השרת"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"אין אפשרות להשיג את המספר"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"שם משתמש או סיסמה שגויים"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"שיחה מחוץ לרשת"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"שגיאת שרת. נסה שוב מאוחר יותר."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"אין אות"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"חריגה ממגבלת ACM"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"רדיו כבוי"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"אין SIM או שגיאת SIM"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"רשת סלולרית אינה זמינה"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"שיחות יוצאות מוגבלות על ידי FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"לא ניתן לבצע שיחות יוצאות כאשר חסימת שיחות מופעלת."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"כל השיחות מוגבלות על ידי בקרת גישה."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"שיחות חירום מוגבלות על ידי בקרת גישה."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"שיחות רגילות מוגבלות על ידי בקרת גישה."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"מספר לא חוקי"</string>
+ <string name="confCall" msgid="1904840547188336828">"שיחת ועידה"</string>
+ <string name="call_lost" msgid="317670617901479594">"השיחה אבדה."</string>
+ <string name="ok" msgid="3811371167865772377">"אישור"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"רמקול"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"אוזניה"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"אוזניות קוויות"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"לשלוח את הצלילים הבאים?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"שולח צלילים\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"שלח"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"כן"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"לא"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"החלף את התו הכללי ב"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"שיחת ועידה <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"המספר של הדואר הקולי"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"מחייג"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"מנסה שוב"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"שיחת ועידה"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"שיחה נכנסת"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"השיחה הסתיימה"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"בהמתנה"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"מנתק"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"בשיחה"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"המספר שלי הוא <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"מחבר וידאו"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"שיחת וידאו"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"מבקש וידאו"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"לא ניתן לחבר שיחת וידאו"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"המספר שלך להתקשרות חזרה\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"המספר שלך להתקשרות חזרה במקרה חירום\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"מחייג"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"שיחה שלא נענתה"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"שיחות שלא נענו"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> שיחות שלא נענו"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"שיחה שלא נענתה מאת <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"שיחה פעילה"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"בהמתנה"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"שיחה נכנסת"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"שיחת וידאו נכנסת"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"בקשת וידאו נכנסת"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"דואר קולי חדש"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"דואר קולי חדש (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"חייג <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"המספר של הדואר הקולי אינו ידוע"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"אין שירות"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"הרשת שנבחרה (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) לא זמינה"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"נתק"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"סרטון"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"קול"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"קבל"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"דחה"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"התקשר חזרה"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"שלח הודעה"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"כדי להתקשר, כבה תחילה את מצב טיסה."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"לא רשום ברשת."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"הרשת לנייד אינה זמינה."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"השיחה לא נשלחה, לא הוזן מספר חוקי."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"השיחה לא נשלחה."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"מתחיל רצף MMI…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"שירות לא נתמך."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"אין אפשרות להחליף שיחות."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"אין אפשרות להפריד את השיחה."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"אין אפשרות להעביר את השיחה."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"אין אפשרות לנהל שיחות ועידה."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"אין אפשרות לדחות את השיחה."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"אין אפשרות להוציא שיחות."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"מספר הדואר הקולי אינו מוכר."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"שיחת SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"שיחת חירום"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"מפעיל את הרדיו…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"מחוץ לאזור שירות, מנסה שוב..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"השיחה לא נשלחה. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> אינו מספר חירום!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"השיחה לא נשלחה. חייג מספר חירום!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"השתמש במקלדת כדי לחייג"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"העבר שיחה להמתנה"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"המשך בשיחה"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"הוסף שיחה"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"מזג שיחות"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"החלף שיחות"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"השהה"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"סיום"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"לוח חיוג"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"השתק"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"הוסף שיחה"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"מזג שיחות"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"החלף"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"נהל שיחות"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"אודיו"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"שיחת וידאו"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"שנה לשיחה קולית"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"החלף מצלמה"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"השהה סרטון"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"אפשרויות נוספות"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"שירות"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"הגדרות"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<לא הוגדר>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"הגדרות שיחה אחרות"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"שיחה באמצעות <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"שיחה נכנסת באמצעות <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"תמונה של איש קשר"</string>
+ <string name="goPrivate" msgid="865837794424530980">"עבור לשיחה פרטית"</string>
+ <string name="selectContact" msgid="781975788478987237">"בחר איש קשר"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"כתוב אחת משלך..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"בטל"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"שלח"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"אחת"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"שתיים"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"שלוש"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"ארבע"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"חמש"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"שש"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"שבע"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"שמונה"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"תשע"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"כוכבית"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"אפס"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"סולמית"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"חייג"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"Backspace"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"שיחה מושתקת."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"ענה"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"שלח SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"דחה"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"ענה כשיחת וידאו"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"ענה כשיחת אודיו"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"קבל בקשת וידאו"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"דחה בקשת וידאו"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"הסט למעלה ל<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"הסט שמאלה ל<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"הסט ימינה ל<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"הסט למטה ל<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"רטט"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"רטט"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"צליל"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"צליל ברירת מחדל (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"רינגטון של טלפון"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"רטט בעת צלצול"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"השלמה אוטומטית בלוח חיוג"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"רינגטון ורטט"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"נהל שיחת ועידה"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"מספר חירום"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"בחר חשבון"</string>
+</resources>
diff --git a/InCallUI/res/values-ja/strings.xml b/InCallUI/res/values-ja/strings.xml
new file mode 100644
index 0000000..2c44371
--- /dev/null
+++ b/InCallUI/res/values-ja/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"電話"</string>
+ <string name="onHold" msgid="9035493194749959955">"保留中"</string>
+ <string name="unknown" msgid="6878797917991465859">"通知不可能"</string>
+ <string name="private_num" msgid="6713286113000232309">"非通知"</string>
+ <string name="payphone" msgid="1931775086311769314">"公衆電話発信"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"話し中"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"ネットワークがビジーです"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"応答なし(タイムアウト)"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"サーバーに接続できません"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"番号に接続できません"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"ユーザー名またはパスワードが正しくありません"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"ネットワーク外からの着信"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"サーバーエラー: しばらくしてからもう一度お試しください。"</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"圏外"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACMの制限を超えています"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"無線通信をOFF"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"SIMがない、またはSIMエラー"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"モバイルネットワークが利用できません"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"発信番号制限により発信が制限されています。"</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"通話制限中は発信できません。"</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"発信制限が設定されています。"</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"緊急通報の発信制限が設定されています。"</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"緊急通報以外は発信制限が設定されています。"</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"無効な番号"</string>
+ <string name="confCall" msgid="1904840547188336828">"グループ通話"</string>
+ <string name="call_lost" msgid="317670617901479594">"通話が切れました。"</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"スピーカー"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"携帯端末のイヤホン"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"有線ヘッドセット"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"次の番号を送信しますか?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"番号送信\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"送信"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"はい"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"いいえ"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"ワイルド文字を置換:"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"グループ通話 <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"ボイスメールの番号"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"発信中"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"再試行中"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"グループ通話"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"着信"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"通話終了"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"保留中"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"通話終了"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"着信"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"この電話の番号: <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"ビデオハングアウトに接続しています"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"ビデオハングアウト"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"ビデオハングアウトをリクエストしています"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"ビデオハングアウトに接続できません"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"コールバック番号\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"緊急通報コールバック番号\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"発信中"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"不在着信"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"不在着信"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"不在着信<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>件"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g>さんからの不在着信"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"通話中"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"保留中"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"通話着信"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"ビデオハングアウト着信"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"ビデオハングアウトリクエスト着信"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"新しいボイスメール"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"新しいボイスメール(<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>にダイヤル"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"ボイスメールの番号が不明です"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"通信サービスなし"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"選択したネットワーク(<xliff:g id="OPERATOR_NAME">%s</xliff:g>)が利用できません"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"通話終了"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"ビデオ"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"音声"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"同意する"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"拒否"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"コールバック"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"メッセージ"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"機内モードをOFFにしてから発信してください。"</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"ご加入の通信サービスがありません"</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"モバイルネットワークが利用できません。"</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"発信できません。有効な番号が入力されていません。"</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"発信できません。"</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMIシーケンスを開始中..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"対応していないサービスです。"</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"通話を切り替えられません。"</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"通話を分割できません。"</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"電話を転送できません。"</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"グループ通話を利用できません。"</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"着信を拒否できません。"</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"通話を解放できません。"</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"ボイスメールの番号が不明です"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP通話"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"緊急通報"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"無線通信をONにしています..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"圏外 - 再試行中..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"発信できません。<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g>は緊急通報番号ではありません。"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"発信できません。緊急通報番号におかけください。"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"キーボードで番号を入力してください"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"通話を保留"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"通話を再開"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"通話を追加"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"グループ通話"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"相手の切り替え"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"保留"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"終了"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"ダイヤルキー"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"ミュート"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"通話を追加"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"グループ通話"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"切り替え"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"通話の管理"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"音声"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"ビデオハングアウト"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"音声通話に変更"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"カメラを切り替え"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"動画を一時停止"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"その他のオプション"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"サービス"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"セットアップ"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<未設定>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"その他の通話設定"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g>で発信中"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"<xliff:g id="PROVIDER_NAME">%s</xliff:g>で着信中"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"連絡先の写真"</string>
+ <string name="goPrivate" msgid="865837794424530980">"個別通話に切り替え"</string>
+ <string name="selectContact" msgid="781975788478987237">"連絡先を選択"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"カスタム返信を作成..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"キャンセル"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"送信"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"1"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"2"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"3"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"4"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"5"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"6"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"7"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"8"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"9"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"アスタリスク"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"0"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"ポンド"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"発信"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"バックスペース"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"通話がミュートされています。"</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"電話に出る"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMSを送信"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"着信拒否"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"ビデオハングアウトで電話に出る"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"音声通話で電話に出る"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"ビデオ通話のリクエストを承諾する"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"ビデオ通話のリクエストを拒否する"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"上にスライドして<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>を行います。"</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"左にスライドして<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>を行います。"</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"右にスライドして<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>を行います。"</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"下にスライドして<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>を行います。"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"バイブレーション"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"バイブレーション"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"通知音"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"デフォルトの通知音(<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"着信音"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"着信時のバイブレーション"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"ダイヤルのオートコンプリート"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"着信音とバイブレーション"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"グループ通話オプション"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"緊急通報番号"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"アカウントの選択"</string>
+</resources>
diff --git a/InCallUI/res/values-ka-rGE/strings.xml b/InCallUI/res/values-ka-rGE/strings.xml
new file mode 100644
index 0000000..da46f52
--- /dev/null
+++ b/InCallUI/res/values-ka-rGE/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"ტელეფონი"</string>
+ <string name="onHold" msgid="9035493194749959955">"შეყოვნების რეჟიმში"</string>
+ <string name="unknown" msgid="6878797917991465859">"უცნობი"</string>
+ <string name="private_num" msgid="6713286113000232309">"დაფარული ნომერი"</string>
+ <string name="payphone" msgid="1931775086311769314">"საზოგადოებრივი ტელეფონი"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"ხაზი დაკავებულია"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"ქსელი დაკავებულია"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"პასუხი არ არის, ვადა გაუვიდა"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"სერვერი მიუწვდომელია"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"ნომერი მიუწვდომელია"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"მომხმარებლის არასწორი სახელი ან პაროლი"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"ქსელის მიღმა ზარი"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"სერვერის შეცდომა. სცადეთ მოგვიანებით."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"სიგნალი არ არის"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM ლიმიტი გადაჭარბებულია"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"გადამცემი გამორთულია"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"SIM არ არის, ან SIM-ის შეცდომაა"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"მობილური ქსელი მიუწვდომელია"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"გამავალი ზარები შეზღუდულია FDN-ის მიერ."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"გააქტიურებული ზარის შეზღუდვისას გამავალ ზარებს ვერ განახორციელებთ."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"ყველა ზარი შეზღუდულია წვდომის კონტროლით."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"გადაუდებელი ზარები შეზღუდულია წვდომის კონტროლით."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"ჩვეულებრივი ზარები შეზღუდულია წვდომის კონტროლით."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"არასწორი ნომერი"</string>
+ <string name="confCall" msgid="1904840547188336828">"საკონფერენციო ზარი"</string>
+ <string name="call_lost" msgid="317670617901479594">"ზარი გაწყდა."</string>
+ <string name="ok" msgid="3811371167865772377">"კარგი"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"სპიკერი"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"მოწყობილობის ყურმილი"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"შნურიანი ყურსაცვამი"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"გსურთ შემდეგი ტონების გაგზავნა?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"ტონების გაგზავნა\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"გაგზავნა"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"დიახ"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"არა"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"ჩანაცვლების სიმბოლო ჩანაცვლდეს შემდეგით:"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"საკონფერენციო ზარი: <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"ხმოვანი ფოსტის ნომერი"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"აკრეფვა"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"ხელახლა ცდა"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"საკონფერენციო ზარი"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"შემომავალი ზარი"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"ზარი გაწყდა"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"შეყოვნების რეჟიმში"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"გათშვა"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"მიმდინარეობს საუბარი"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"ჩემი ნომერია <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"მიმდინარეობს ვიდეოს დაკავშირება"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"ვიდეოზარი"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"მიმდინარეობს ვიდეოს მოთხოვნა"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"ვიდეოზართან დაკავშირება ვერ ხერხდება"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"თქვენი გადმორეკვის ნომერი\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"თქვენი გადაუდებელი გადმორეკვის ნომერი\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"აკრეფვა"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"გამოტოვებული ზარი"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"გამოტოვებული ზარები"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> გამოტოვებული ზარები"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"გამოტოვებული ზარი <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>-ისგან"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"მიმდინარე ზარი"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"შეყოვნების რეჟიმში"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"შემომავალი ზარი"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"შემომავალი ვიდეოზარი"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"შემომავალი ვიდეოს მოთხოვნა"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"ახალი ხმოვანი ფოსტა"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"ახალი ხმოვანი ფოსტა (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>-ზე დარეკვა"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"ხმოვანი ფოსტის ნომერი უცნობია"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"სერვისი არ არის"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"ხელმისაწვდომია არჩეული ქსელი (<xliff:g id="OPERATOR_NAME">%s</xliff:g>)"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"გათიშვა"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"ვიდეო"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"ხმა"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"მიღება"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"დახურვა"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"გადარეკვა"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"შეტყობინების გაგზავნა"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"ზარის განსახორციელებლად, ჯერ თვითმფრინავის რეჟიმი უნდა გამორთოთ."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"ქსელში რეგისტრირებული არ არის."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"მობილური ქსელი მიუწვდომელია."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"ვერ გაიგზავნა, ტელეფონის ნომერი სწორად არ იქნა შეყვანილი."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"ზარი ვერ გაიგზავნა."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI თანმიმდევრობის დაწყება…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"მოწყობილობა მხარდაჭერილი არ არის."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"ზარების გადართვა ვერ ხერხდება."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"ზარის განცალკევება ვერ ხერხდება."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"ზარის ტრანსფერი ვერ ხერხდება."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"საკონფერენციო ზარები ვერ ხორციელდება."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"ზარის უარყოფა ვერ ხერხდება."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"ზარ(ებ)ის გათავისუფლება ვერ ხერხდება."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"ხმოვანი ფოსტის ნომერი უცნობია."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP ზარი"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"გადაუდებელი ზარი"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"გადამცემის ჩართვა…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"დაფარვის არეს მიღმა. მიმდინარეობს ხელახლა ცდა…"</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"ზარი ვერ გაიგზავნა. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> გადაუდებელი ზარის ნომერი არ არის!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"ზარი ვერ გაიგზავნა. აკრიფეთ გადაუდებელი ზარის ნომერი!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"კლავიატურის გამოყენება დასარეკად"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"ზარის დაკავება"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"ზარის განახლება"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"ზარის დამატება"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"ზარების გაერთიანება"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"ზარების შენაცვლება"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"შეყოვნება"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"დასრულება"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"ციფერბლატი"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"დადუმება"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"ზარის დამატება"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"ზარების გაერთიანება"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"შენაცვლება"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"ზარების მართვა"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"აუდიო"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"ვიდეოზარი"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"აუდიო ზარზე გადართვა"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"კამერის გადართვა"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"ვიდეოს შეჩერება"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"მეტი ვარიანტები"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"სერვისი"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"დაყენება"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<არ არის დაყენებული>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"ზარის სხვა პარამეტრები"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"ზარი <xliff:g id="PROVIDER_NAME">%s</xliff:g>-ის მეშვეობით"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"შემომავალი <xliff:g id="PROVIDER_NAME">%s</xliff:g>-დან"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"კონტაქტის ფოტო"</string>
+ <string name="goPrivate" msgid="865837794424530980">"პირადი რეჟიმი"</string>
+ <string name="selectContact" msgid="781975788478987237">"კონტაქტის არჩევა"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"ჩაწერეთ საკუთარი..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"გაუქმება"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"გაგზავნა"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"ერთ"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"ორი"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"სამი"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"ოთხი"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"ხუთი"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"ექვსი"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"შვიდი"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"რვა"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"ცხრა"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"ვარსკვლავი"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"ნული"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"დიეზი"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"დარეკვა"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"უკუშლა"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"ზარი დადუმებულია."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"პასუხი"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS-ის გაგზავნა"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"უარყოფა"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"პასუხი ვიდეოზარის სახით"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"პასუხი აუდიო ზარის სახით"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"ვიდეოს მოთხოვნის მიღება"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"ვიდეოს მოთხოვნის უარყოფა"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"გაასრიალეთ ზემოთ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>-ისთვის."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>-ისათვის გაასრიალეთ მარცხნივ."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>-ისათვის გაასრიალეთ მარჯვნივ."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"გაასრიალეთ ქვემოთ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>-ისთვის."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"ვიბრაცია"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"ვიბრაცია"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"ხმა"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"ნაგულისხმები ხმა (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"ტელეფონის ზარი"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"დარეკვის დროს ვიბრაცია"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"ციფერბლატის თვითშევსება"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"ზარის მელოდია & ვიბრაცია"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"საკონფერენციო ზარის მართვა"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"გადაუდებელი დახმარების ნომერი"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"ანგარიშის არჩევა"</string>
+</resources>
diff --git a/InCallUI/res/values-km-rKH/strings.xml b/InCallUI/res/values-km-rKH/strings.xml
new file mode 100644
index 0000000..e21645c
--- /dev/null
+++ b/InCallUI/res/values-km-rKH/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"ទូរស័ព្ទ"</string>
+ <string name="onHold" msgid="9035493194749959955">"រង់ចាំ"</string>
+ <string name="unknown" msgid="6878797917991465859">"មិនស្គាល់"</string>
+ <string name="private_num" msgid="6713286113000232309">"លេខឯកជន"</string>
+ <string name="payphone" msgid="1931775086311769314">"ទូរស័ព្ទប្រើកាក់"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"បណ្ដាញជាប់រវល់"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"បណ្ដាញជាប់រវល់"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"គ្មានចម្លើយតប អស់ពេល"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"ម៉ាស៊ីនមេមិនអាចទៅដល់"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"លេខដែលមិនអាចហៅចូល"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"ឈ្មោះអ្នកប្រើ ឬពាក្យសម្ងាត់មិនត្រឹមត្រូវ"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"បានហៅពីក្រៅបណ្ដាញ"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"កំហុសម៉ាស៊ីនមេ។ ព្យាយាមម្ដងទៀតពេលក្រោយ។"</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"គ្មានសញ្ញា"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"បានលើសដែនកំណត់ ACM"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"បិទវិទ្យុ"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"គ្មានស៊ីមកាត ឬកំហុសស៊ីមកាត"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"បណ្ដាញចល័តមិនអាចប្រើបាន"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"បានកំណត់កម្រិតការហៅចេញដោយ FDN ។"</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"អ្នកមិនអាចហៅចេញបានទេ ពេលបើកការរារាំងការហៅ។"</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"បានកំណត់កម្រិតការហៅទាំងអស់ដោយការត្រួតពិនិត្យចូលដំណើរការ។"</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"បានកំណត់កម្រិតការហៅនៅពេលមានអាសន្នដោយការត្រួតពិនិត្យចូលដំណើរការ។"</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"បានកំណត់កម្រិតការហៅធម្មតាដោយការត្រួតពិនិត្យចូលដំណើរការ។"</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"លេខមិនត្រឹមត្រូវ"</string>
+ <string name="confCall" msgid="1904840547188336828">"ការហៅជាសន្និសីទ"</string>
+ <string name="call_lost" msgid="317670617901479594">"បាត់បង់ការហៅ។"</string>
+ <string name="ok" msgid="3811371167865772377">"យល់ព្រម"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"អូប៉ាល័រ"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"កាស"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"កាសមានខ្សែ"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"ប៊្លូធូស"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"ផ្ញើសំឡេងដូចខាងក្រោម?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"ផ្ញើសំឡេង \n"</string>
+ <string name="send_button" msgid="4106860097497818751">"ផ្ញើ"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"បាទ/ចាស"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"គ្មាន"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"ជំនួសតួអក្សរជំនួសដោយ"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"ការហៅជាសន្និសីទ <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"លេខសារជាសំឡេង"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"កំពុងហៅ"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"ព្យាយាមម្ដងទៀត"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"ការហៅជាសន្និសីទ"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"ការហៅចូល"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"បានបញ្ចប់ការហៅ"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"រង់ចាំ"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"បញ្ចប់ការសន្ទនា"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"ការហៅចូល"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"លេខរបស់ខ្ញុំគឺ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"ភ្ជាប់វីដេអូ"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"ហៅជាវីដេអូ"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"ស្នើវីដេអូ"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"មិនអាចភ្ជាប់ការហៅជាវីដេអូ"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"លេខហៅទៅវិញរបស់អ្នក\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"លេខហៅទៅវិញពេលអាសន្នរបស់អ្នក\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"ហៅ"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"ខកខានទទួល"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"ខកខានទទួល"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ខកខានការទទួល"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"ខកខានទទួលពី <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"កំពុងបន្តការហៅ"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"រង់ចាំ"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"ការហៅចូល"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"ការហៅជាវីដេអូចូល"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"សំណើការហៅជាវីដេអូចូល"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"សារជាសំឡេងថ្មី"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"សារជាសំឡេងថ្មី (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"ចុច <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"មិនស្គាល់ចំនួនសារជាសំឡេង"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"គ្មានសេវា"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"បណ្ដាញដែលបានជ្រើស ( <xliff:g id="OPERATOR_NAME">%s</xliff:g> ) មិនអាចប្រើបានទេ"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"បញ្ចប់ការសន្ទនា"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"វីដេអូ"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"សំឡេង"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"ព្រមទទួល"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"បដិសេធ"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"ហៅទៅវិញ"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"សារ"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"ដើម្បីកំណត់ការហៅ ដំបូងត្រូវបិទរបៀបនៅពេលជិះយន្តហោះ។"</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"មិនបានចុះឈ្មោះនៅលើបណ្ដាញ។"</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"បណ្ដាញឧបករណ៍ចល័តមិនអាចប្រើបាន។"</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"មិនបានផ្ញើការហៅ លេខដែលបានបញ្ចូលមិនត្រឹមត្រូវ។"</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"មិនបានផ្ញើការហៅ។"</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"កំពុងចាប់ផ្ដើមលំដាប់ MMI ..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"សេវាកម្មដែលមិនបានគាំទ្រ។"</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"មិនអាចប្ដូរការហៅ។"</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"មិនអាចបែងចែកការហៅ។"</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"មិនអាចផ្ទេរការហៅ។"</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"មិនអាចហៅជាសន្និសីទ។"</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"មិនអាចបដិសេធការហៅ។"</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"មិនអាចហៅបានទេ។"</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"មិនស្គាល់លេខសារជាសំឡេង។"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"ការហៅ SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"ការហៅនៅពេលមានអាសន្ន"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"កំពុងបើកវិទ្យុ…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"នៅក្រៅតំបន់សេវា កំពុងព្យាយាមម្ដងទៀត…"</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"មិនបានផ្ញើការហៅ។ <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> គឺមិនមែនជាលេខហៅពេលមានអាសន្ន!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"មិនបានផ្ញើការហៅ។ ហៅបានតែលេខពេលមានអាសន្ន!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"ប្រើក្ដារចុចដើម្បីចុចលេខ"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"រង់ចាំការហៅ"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"បន្តការហៅ"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"បន្ថែមការហៅ"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"បញ្ចូលការហៅចូលគ្នា"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"ប្ដូរការហៅ"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"រង់ចាំ"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"បញ្ចប់"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"បន្ទះលេខ"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"ស្ងាត់"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"បន្ថែមការហៅ"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"បញ្ចូលការហៅរួមគ្នា"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"ប្ដូរ"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"គ្រប់គ្រងការហៅ"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"សំឡេង"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"ហៅជាវីដេអូ"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"ប្ដូរទៅការហៅជាសំឡេង"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"ប្ដូរម៉ាស៊ីនថត"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"ផ្អាកវីដេអូ"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"ជម្រើសច្រើនទៀត"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"សេវា"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"រៀបចំ"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"< មិនកំណត់ >"</string>
+ <string name="other_settings" msgid="3672912580359716394">"កំណត់ការហៅផ្សេងទៀត"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"ការហៅតាមរយៈ <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"ចូលតាមរយៈ <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"រូបថតទំនាក់ទំនង"</string>
+ <string name="goPrivate" msgid="865837794424530980">"ទៅកាន់ឯកជន"</string>
+ <string name="selectContact" msgid="781975788478987237">"ជ្រើសទំនាក់ទំនង"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"សរសេរផ្ទាល់ខ្លួនរបស់អ្នក"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"បោះបង់"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"ផ្ញើ"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"មួយ"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"ពីរ"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"បី"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"បួន"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"ប្រាំ"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"ប្រាំមួយ"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"ប្រាំពីរ"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"ប្រាំបី"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"ប្រាំបួន"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"ដាក់ផ្កាយ"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"សូន្យ"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"ផោន"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"ចុច"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"លុបថយក្រោយ"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"ការហៅបិទសំឡេង។"</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"ឆ្លើយតប"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"ផ្ញើសារ SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"បដិសេធ"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"ឆ្លើយតបជាការហៅជាវីដេអូ"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"ឆ្លើយតបជាការហៅជាសំឡេង"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"ទទួលយកសំណើវីដេអូ"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"ទទួលយកសំណើវីដេអូ"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"រុញឡើងលើដើម្បី <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ។"</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"រុញទៅឆ្វេងដើម្បី <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ។"</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"រុញទៅស្ដាំដើម្បី <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ។"</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"រុញចុះក្រោមសម្រាប់ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ។"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"ញ័រ"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"ញ័រ"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"សំឡេង"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"សំឡេងលំនាំដើម (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"សំឡេងទូរស័ព្ទរោទ៍"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"ញ័រនៅពេលរោទ៍"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"បន្ទះលេខបំពេញស្វ័យប្រវត្តិ"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"សំឡេងរោទ៍ & ញ័រ"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"គ្រប់គ្រងការហៅជាសន្និសីទ"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"លេខពេលអាសន្ន"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"ជ្រើសគណនី"</string>
+</resources>
diff --git a/InCallUI/res/values-kn-rIN/strings.xml b/InCallUI/res/values-kn-rIN/strings.xml
new file mode 100644
index 0000000..c8e2e59
--- /dev/null
+++ b/InCallUI/res/values-kn-rIN/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"ಫೋನ್"</string>
+ <string name="onHold" msgid="9035493194749959955">"ತಡೆಹಿಡಿಯಲಾಗಿದೆ"</string>
+ <string name="unknown" msgid="6878797917991465859">"ಅಜ್ಞಾತ"</string>
+ <string name="private_num" msgid="6713286113000232309">"ಖಾಸಗಿ ಸಂಖ್ಯೆ"</string>
+ <string name="payphone" msgid="1931775086311769314">"ಪಾವತಿಯ ಫೋನ್"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"ಲೈನ್ ಕಾರ್ಯನಿರತವಾಗಿದೆ"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"ನೆಟ್ವರ್ಕ್ ಕಾರ್ಯನಿರತವಾಗಿದೆ"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"ಪ್ರತಿಕ್ರಿಯೆ ಇಲ್ಲ, ಸಮಯ ಮೀರಿದೆ"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"ಸರ್ವರ್ ಲಭ್ಯವಿಲ್ಲ"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"ಸಂಖ್ಯೆಯನ್ನು ತಲುಪಲಾಗಲಿಲ್ಲ"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"ತಪ್ಪಾದ ಬಳಕೆದಾರ ಹೆಸರು ಅಥವಾ ಪಾಸ್ವರ್ಡ್"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"ನೆಟ್ವರ್ಕ್ನ ಹೊರಗಿನಿಂದ ಕರೆ ಮಾಡಲಾಗಿದೆ"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"ಸರ್ವರ್ ದೋಷ. ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"ಸಿಗ್ನಲ್ ಇಲ್ಲ"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM ಮಿತಿ ಮೀರಿದೆ"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"ರೇಡಿಯೋ ಆಫ್"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"ಯಾವುದೇ SIM ಇಲ್ಲ ಅಥವಾ SIM ದೋಷ"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"ಮೊಬೈಲ್ ನೆಟ್ವರ್ಕ್ ಲಭ್ಯವಿಲ್ಲ"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"FDN ನಿಂದ ಹೊರಹೋಗುವ ಕರೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸಿದೆ."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"ಕರೆ ಬಾರಿಂಗ್ ಆನ್ ಆಗಿರುವಾಗ ನಿಮಗೆ ಹೊರಹೋಗುವ ಕರೆಗಳನ್ನು ಮಾಡಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"ಪ್ರವೇಶ ನಿಯಂತ್ರಣದಿಂದ ಎಲ್ಲ ಕರೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"ಪ್ರವೇಶ ನಿಯಂತ್ರಣದಿಂದ ತುರ್ತು ಕರೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"ಸಾಮಾನ್ಯ ಕರೆಗಳನ್ನು ಎಲ್ಲ ಪ್ರವೇಶ ನಿಯಂತ್ರಣವು ನಿರ್ಬಂಧಿಸಿದೆ."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"ಅಮಾನ್ಯವಾದ ಸಂಖ್ಯೆ"</string>
+ <string name="confCall" msgid="1904840547188336828">"ಕಾನ್ಫರೆನ್ಸ್ ಕರೆ"</string>
+ <string name="call_lost" msgid="317670617901479594">"ಕರೆಯ ಸಂಪರ್ಕ ಕಡಿತಗೊಂಡಿದೆ."</string>
+ <string name="ok" msgid="3811371167865772377">"ಸರಿ"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"ಸ್ಪೀಕರ್"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"ಹ್ಯಾಂಡ್ಸೆಟ್ ಇಯರ್ಪೀಸ್"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"ವೈರ್ಡ್ ಹೆಡ್ಸೆಟ್"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"ಬ್ಲೂಟೂತ್"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"ಕೆಳಗಿನ ಟೋನ್ಗಳನ್ನು ಕಳುಹಿಸುವುದೇ?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"ಟೋನ್ಗಳನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"ಕಳುಹಿಸು"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"ಹೌದು"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"ಇಲ್ಲ"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"ಇದರೊಂದಿಗೆ ವಿಶೇಷ ಅಕ್ಷರಗಳನ್ನು ಸ್ಥಳಾಂತರಿಸು"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"ಕಾನ್ಫರೆನ್ಸ್ ಕರೆ <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"ಧ್ವನಿಮೇಲ್ ಸಂಖ್ಯೆ"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"ಡಯಲ್ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"ಮರು ಪ್ರಯತ್ನಿಸಲಾಗುತ್ತಿದೆ"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"ಕಾನ್ಫರೆನ್ಸ್ ಕರೆ"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"ಒಳಬರುವ ಕರೆ"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"ಕರೆ ಅಂತ್ಯಗೊಂಡಿದೆ"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"ತಡೆಹಿಡಿಯಲಾಗಿದೆ"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"ಹ್ಯಾಂಗ್ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"ಕರೆಯಲ್ಲಿ"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"ನನ್ನ ಸಂಖ್ಯೆ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"ವೀಡಿಯೊ ಸಂಪರ್ಕಪಡಿಸಲಾಗುತ್ತಿದೆ"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"ವೀಡಿಯೊ ಕರೆ"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"ವೀಡಿಯೊ ವಿನಂತಿಸಲಾಗುತ್ತಿದೆ"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"ವೀಡಿಯೊ ಕರೆಯನ್ನು ಸಂಪರ್ಕಪಡಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"ನಿಮ್ಮ ಕಾಲ್ ಬ್ಯಾಕ್ ಸಂಖ್ಯೆ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"ನಿಮ್ಮ ತುರ್ತು ಕರೆಯ ಸಂಖ್ಯೆ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"ಡಯಲ್ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"ತಪ್ಪಿ ಹೋದ ಕರೆ"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"ತಪ್ಪಿದ ಕರೆಗಳು"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ತಪ್ಪಿದ ಕರೆಗಳು"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> ಅವರಿಂದ ತಪ್ಪಿದ ಕರೆ"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆ"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"ತಡೆಹಿಡಿಯಲಾಗಿದೆ"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"ಒಳಬರುವ ಕರೆ"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"ಒಳಬರುವ ವೀಡಿಯೊ ಕರೆ"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"ಒಳಬರುವ ವೀಡಿಯೊ ವಿನಂತಿ"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"ಹೊಸ ಧ್ವನಿಮೇಲ್"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"ಹೊಸ ಧ್ವನಿಮೇಲ್ (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> ಗೆ ಡಯಲ್ ಮಾಡು"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"ಅಪರಿಚಿತ ಧ್ವನಿಮೇಲ್ ಸಂಖ್ಯೆ"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"ಯಾವುದೇ ಸೇವೆಯಿಲ್ಲ"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"ಆಯ್ಕೆಮಾಡಿದ (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ನೆಟ್ವರ್ಕ್ ಲಭ್ಯವಿಲ್ಲ"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"ಹ್ಯಾಂಗ್ ಅಪ್ ಮಾಡಿ"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"ವೀಡಿಯೊ"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"ಧ್ವನಿ"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"ಸಮ್ಮತಿಸು"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"ವಜಾಗೊಳಿಸು"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"ಮರಳಿ ಕರೆ ಮಾಡಿ"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"ಸಂದೇಶ"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"ಕರೆ ಮಾಡಲು, ಮೊದಲು ಏರ್ಪ್ಲೇನ್ ಮೋಡ್ ಆಫ್ ಮಾಡಿ."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಇನ್ನೂ ನೋಂದಣಿಯಾಗಿಲ್ಲ."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"ಮೊಬೈಲ್ ನೆಟ್ವರ್ಕ್ ಲಭ್ಯವಿಲ್ಲ."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"ಕರೆ ಮಾಡಲಾಗಿಲ್ಲ, ಯಾವುದೇ ಮಾನ್ಯವಾದ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿಲ್ಲ."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"ಕರೆ ಮಾಡಲಾಗಲಿಲ್ಲ."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI ಅನುಕ್ರಮ ಪ್ರಾರಂಭವಾಗುತ್ತಿದೆ…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"ಬೆಂಬಲವಿರದ ಸೇವೆ."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"ಕರೆಗಳನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"ಪ್ರತ್ಯೇಕ ಕರೆ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"ಕರೆಯನ್ನು ವರ್ಗಾಯಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"ಕಾನ್ಫರೆನ್ಸ್ ಕರೆಗಳನ್ನು ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"ಕರೆಯನ್ನು ತಿರಸ್ಕರಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"ಕರೆ(ಗಳನ್ನು) ಬಿಡುಗಡೆಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"ಅಪರಿಚಿತ ಧ್ವನಿಮೇಲ್ ಸಂಖ್ಯೆ."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP ಕರೆ"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"ತುರ್ತು ಕರೆಗಳು"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"ರೇಡಿಯೋ ಆನ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"ಸೇವಾ ಪ್ರದೇಶದ ಹೊರಗಿದೆ, ಮರುಪ್ರಯತ್ನಿಸಲಾಗುತ್ತಿದೆ…"</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"ಕರೆ ಮಾಡಲಾಗಿಲ್ಲ. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ತುರ್ತು ಸಂಖ್ಯೆಯಲ್ಲ!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"ಕರೆ ಮಾಡಲಾಗಿಲ್ಲ. ತುರ್ತು ಸಂಖ್ಯೆಗೆ ಡಯಲ್ ಮಾಡಿ!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"ಡಯಲ್ ಮಾಡಲು ಕೀಬೋರ್ಡ್ ಬಳಸಿ"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"ಕರೆಯನ್ನು ಹೋಲ್ಡ್ ಮಾಡು"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"ಕರೆಯನ್ನು ಮುಂದುವರಿಸು"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"ಕರೆಯನ್ನು ಸೇರಿಸು"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"ಕರೆಗಳನ್ನು ವಿಲೀನಗೊಳಿಸು"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"ಕರೆಗಳನ್ನು ಬದಲಾಯಿಸಿ"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"ಹೋಲ್ಡ್ ಮಾಡು"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"ಮುಕ್ತಾಯ"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"ಡಯಲ್ಪ್ಯಾಡ್"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"ಮ್ಯೂಟ್ ಮಾಡು"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"ಕರೆಯನ್ನು ಸೇರಿಸು"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"ಕರೆಗಳನ್ನು ವಿಲೀನಗೊಳಿಸು"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"ಸ್ವ್ಯಾಪ್ ಮಾಡು"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"ಕರೆಗಳನ್ನು ನಿರ್ವಹಿಸಿ"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"ಆಡಿಯೊ"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"ವೀಡಿಯೊ ಕರೆ"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"ಧ್ವನಿ ಕರೆಗೆ ಬದಲಾಯಿಸಿ"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"ಕ್ಯಾಮರಾ ಬದಲಿಸಿ"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"ವೀಡಿಯೊ ವಿರಾಮಗೊಳಿಸು"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗಳು"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"ಸೇವೆ"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"ಸೆಟಪ್"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<ಹೊಂದಿಸಿಲ್ಲ>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"ಇತರ ಕರೆ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ಮೂಲಕ ಕರೆ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ಅವರ ಒಳಬರುತ್ತಿರುವ ಕರೆ"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"ಸಂಪರ್ಕ ಫೋಟೋ"</string>
+ <string name="goPrivate" msgid="865837794424530980">"ಖಾಸಗಿಯಾಗಿ ಹೋಗಿ"</string>
+ <string name="selectContact" msgid="781975788478987237">"ಸಂಪರ್ಕವನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"ನಿಮ್ಮ ಸ್ವಂತದ್ದನ್ನು ಬರೆಯಿರಿ..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"ರದ್ದುಮಾಡು"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"ಕಳುಹಿಸು"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"ಒಂದು"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"ಎರಡು"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"ಮೂರು"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"ನಾಲ್ಕು"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"ಐದು"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"ಆರು"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"ಏಳು"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"ಎಂಟು"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"ಒಂಬತ್ತು"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"ನಕ್ಷತ್ರ"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"ಶೂನ್ಯ"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"ಪೌಂಡ್"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"ಡಯಲ್"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"ಸ್ಪೀಕರ್ಫೋನ್ ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"ಇಯರ್ಪೀಸ್ ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"ವೈರ್ನ ಹೆಡ್ಸೆಟ್ ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"ಬ್ಲೂಟೂತ್ ಹೆಡ್ಸೆಟ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"ಕರೆಯನ್ನು ಮ್ಯೂಟ್ ಮಾಡಲಾಗಿದೆ."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"ಕರೆಯನ್ನು ಅನ್ಮ್ಯೂಟ್ ಮಾಡಲಾಗಿದೆ."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"ಕರೆಯನ್ನು ತಡೆಹಿಡಿಯಲಾಗಿದೆ."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"ಕರೆಯ ತಡೆಯನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"ಉತ್ತರ"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS ಕಳುಹಿಸು"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"ನಿರಾಕರಿಸು"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"ವೀಡಿಯೊ ಕರೆ ರೂಪದಲ್ಲಿ ಉತ್ತರಿಸಿ"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"ಆಡಿಯೊ ಕರೆಯಂತೆ ಉತ್ತರಿಸಿ"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"ವೀಡಿಯೊ ವಿನಂತಿ ಒಪ್ಪಿಕೊಳ್ಳು"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"ವೀಡಿಯೊ ವಿನಂತಿ ತಿರಸ್ಕರಿಸು"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ಗಾಗಿ ಮೇಲಕ್ಕೆ ಸ್ಲೈಡ್ ಮಾಡಿ."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ಗಾಗಿ ಎಡಕ್ಕೆ ಸ್ಲೈಡ್ ಮಾಡಿ."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ಗಾಗಿ ಬಲಗಡೆಗೆ ಸ್ಲೈಡ್ ಮಾಡಿ."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ಗಾಗಿ ಕೆಳಕ್ಕೆ ಸ್ಲೈಡ್ ಮಾಡಿ."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"ವೈಬ್ರೇಟ್"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"ವೈಬ್ರೇಟ್"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"ಧ್ವನಿ"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"ಡೀಫಾಲ್ಟ್ ಧ್ವನಿ (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"ಫೋನ್ ರಿಂಗ್ಟೋನ್"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"ರಿಂಗ್ ಆಗುವಾಗ ಕಂಪಿಸು"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"ಡಯಲ್ ಪ್ಯಾಡ್ ಸ್ವಯಂಪೂರ್ಣತೆ"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"ರಿಂಗ್ಟೋನ್ & ವೈಬ್ರೇಟ್"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"ಕಾನ್ಫರೆನ್ಸ್ ಕರೆಯನ್ನು ನಿರ್ವಹಿಸಿ"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"ತುರ್ತು ಸಂಖ್ಯೆ"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"ಖಾತೆ ಆಯ್ಕೆಮಾಡಿ"</string>
+</resources>
diff --git a/InCallUI/res/values-ko/strings.xml b/InCallUI/res/values-ko/strings.xml
new file mode 100644
index 0000000..916ac49
--- /dev/null
+++ b/InCallUI/res/values-ko/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"휴대전화"</string>
+ <string name="onHold" msgid="9035493194749959955">"대기 중"</string>
+ <string name="unknown" msgid="6878797917991465859">"알 수 없음"</string>
+ <string name="private_num" msgid="6713286113000232309">"비공개 번호"</string>
+ <string name="payphone" msgid="1931775086311769314">"공중전화"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"통화 중입니다."</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"네트워크 사용량이 많습니다."</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"응답 없음, 시간 초과"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"서버에 연결할 수 없음"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"연결할 수 없는 전화 번호"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"사용자 이름 또는 비밀번호가 잘못되었습니다"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"네트워크 외부에서 온 전화입니다."</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"서버 오류입니다. 잠시 후에 다시 시도해 보세요."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"신호 없음"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM 제한 초과"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"무선 연결 끊김"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"SIM이 없거나 SIM에 오류가 있습니다."</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"모바일 네트워크를 사용할 수 없음"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"발신전화가 FDN으로 제한됩니다."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"착발신 제한이 설정되어 있는 동안에는 전화를 걸 수 없습니다."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"모든 전화가 액세스 제어에 의해 제한되어 있습니다."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"긴급 전화가 액세스 제어에 의해 제한되어 있습니다."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"일반 전화가 액세스 제어에 의해 제한되어 있습니다."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"잘못된 번호입니다."</string>
+ <string name="confCall" msgid="1904840547188336828">"다자간 통화"</string>
+ <string name="call_lost" msgid="317670617901479594">"통화가 끊겼습니다."</string>
+ <string name="ok" msgid="3811371167865772377">"확인"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"스피커"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"휴대전화"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"유선 헤드셋"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"블루투스"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"다음 톤을 보내시겠습니까?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"신호음 보내기\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"전송"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"예"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"아니요"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"와일드 문자를 다음으로 바꿈:"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"다자간 통화 <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"음성사서함 번호"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"전화 거는 중"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"다시 시도 중"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"다자간 통화"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"수신전화"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"통화 종료됨"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"대기 중"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"전화 끊는 중"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"통화 상태"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"내 전화번호는 <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>입니다."</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"동영상 연결 중"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"화상 통화"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"동영상 요청 중"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"화상 통화를 연결할 수 없음"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"회신 전화번호\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"긴급 전화 회신 번호\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"전화 거는 중"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"부재중 전화"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"부재중 통화"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"부재중 통화 <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>통"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g>의 부재중 전화"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"현재 통화"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"대기 중"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"수신 전화"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"수신 화상 통화"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"수신 동영상 요청"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"새 음성사서함"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"새 음성사서함(<xliff:g id="COUNT">%d</xliff:g>개)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>(으)로 전화걸기"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"알 수 없는 음성사서함 번호"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"서비스 불가"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"선택한 네트워크(<xliff:g id="OPERATOR_NAME">%s</xliff:g>)를 사용할 수 없음"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"전화 끊기"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"동영상"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"음성"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"수락"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"해제"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"통화하기"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"문자 메시지"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"전화를 걸려면 먼저 비행기 모드를 해제하세요."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"네트워크에서 등록되지 않았습니다."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"모바일 네트워크를 사용할 수 없습니다."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"잘못된 번호를 입력했으므로 전화를 걸지 못했습니다."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"전화를 걸지 못했습니다."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI 시퀀스 시작 중..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"지원되지 않는 서비스입니다."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"통화를 전환할 수 없습니다."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"통화를 분리할 수 없습니다."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"통화를 전달할 수 없습니다."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"다자간 통화를 할 수 없습니다."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"통화를 거부할 수 없습니다."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"통화를 끊을 수 없습니다."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"음성사서함 번호를 알 수 없음"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP 통화"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"긴급 전화"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"무선을 켜는 중..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"서비스 지역을 벗어났습니다. 다시 시도하는 중..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g>은(는) 긴급 번호가 아니므로 전화를 걸지 못했습니다."</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"전화를 걸지 못했습니다. 비상 전화번호로 전화를 걸어 보세요."</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"키보드를 사용하여 전화걸기"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"통화 대기"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"통화 재개"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"통화 추가"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"통화 병합"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"통화 교환"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"대기"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"종료"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"다이얼패드"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"음소거"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"통화 추가"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"통화 병합"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"전환"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"통화 관리"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"오디오"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"화상 통화"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"음성 통화로 변경"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"카메라 전환"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"동영상 일지중지"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"옵션 더보기"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"서비스"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"설정"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<설정 안됨>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"기타 통화 설정"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g>을(를) 통해 걸려온 전화"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"<xliff:g id="PROVIDER_NAME">%s</xliff:g>을(를) 통해 전화가 왔습니다"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"연락처 사진"</string>
+ <string name="goPrivate" msgid="865837794424530980">"비공개로 실행"</string>
+ <string name="selectContact" msgid="781975788478987237">"연락처 선택"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"나만의 응답 작성…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"취소"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"보내기"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"1"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"2"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"3"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"4"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"5"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"6"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"7"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"8"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"9"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"별"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"0"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"파운드"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"전화걸기"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"백스페이스"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"통화가 음소거되었습니다."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"답변"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS 보내기"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"거부"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"화상 통화로 받기"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"음성 전화로 받기"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"동영상 요청 수락"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"동영상 요청 거절"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>하려면 위로 슬라이드합니다."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>하려면 왼쪽으로 슬라이드합니다."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>하려면 오른쪽으로 슬라이드합니다."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>하려면 아래로 슬라이드합니다."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"진동"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"진동"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"알림음"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"기본 알림음(<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"전화 벨소리"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"전화 수신 시 진동"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"다이얼패드 자동완성"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"벨소리 및 진동"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"다자간 통화 관리"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"비상 전화번호"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"계정 선택"</string>
+</resources>
diff --git a/InCallUI/res/values-land/dimens.xml b/InCallUI/res/values-land/dimens.xml
new file mode 100644
index 0000000..d992ccd
--- /dev/null
+++ b/InCallUI/res/values-land/dimens.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<resources>
+ <!-- Height and width of the in-call buttons. -->
+ <dimen name="in_call_button_dimension">40dp</dimen>
+</resources>
diff --git a/InCallUI/res/values-lo-rLA/strings.xml b/InCallUI/res/values-lo-rLA/strings.xml
new file mode 100644
index 0000000..3ed7f2f
--- /dev/null
+++ b/InCallUI/res/values-lo-rLA/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"ໂທລະສັບ"</string>
+ <string name="onHold" msgid="9035493194749959955">"ພັກສາຍຊົ່ວຄາວ"</string>
+ <string name="unknown" msgid="6878797917991465859">"ບໍ່ຮູ້ຈັກ"</string>
+ <string name="private_num" msgid="6713286113000232309">"ເບີສ່ວນໂຕ"</string>
+ <string name="payphone" msgid="1931775086311769314">"ໂທລະສັບສາທາລະນະ"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"ສາຍບໍ່ຫວ່າງ"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"ເຄືອຂ່າຍບໍ່ຫວ່າງ"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"ບໍ່ມີການຕອບສະໜອງ, ໝົດເວລາ"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"ບໍ່ສາມາດຕິດຕໍ່ເຊີບເວີ"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"ບໍ່ສາມາດຕິດຕໍ່ໝາຍເລກນີ້ໄດ້"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"ຊື່ຜູ່ໃຊ້ ຫຼືລະຫັດຜ່ານບໍ່ຖືກຕ້ອງ"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"ໂທຈາກນອກເຄືອຂ່າຍ"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"ເຊີບເວີຜິດພາດ. ກະລຸນາລອງໃໝ່ໃນພາຍຫຼັງ."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"ບໍ່ມີສັນຍານ"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM ເກີນກຳນົດທີ່ຈຳກັດໄວ້ແລ້ວ"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"ວິທະຍຸຖືກປິດ"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"ບໍ່ມີ SIM ຫຼື SIM ຜິດພາດ"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"ບໍ່ມີການເຊື່ອມຕໍ່ຂໍ້ມູນຜ່ານມືຖື"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"ການໂທອອກຖືກຈຳກັດໂດຍ FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"ທ່ານບໍ່ສາມາດໂທອອກໄດ້ ເມື່ອເປີດໃຊ້ການລະງັບການໂທ."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"ການໂທທັງໝົດ ຖືກຈຳກັດດ້ວຍການຄວບຄຸມການເຂົ້າເຖິງ."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"ການໂທສຸກເສີນ ຖືກຈຳກັດດ້ວຍການຄວບຄຸມການເຂົ້າເຖິງ."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"ການໂທປົກກະຕິ ຖືກຈຳກັດດ້ວຍການຄວບຄຸມການເຂົ້າເຖິງ."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"ເບີໂທບໍ່ຖືກຕ້ອງ"</string>
+ <string name="confCall" msgid="1904840547188336828">"ປະຊຸມສາຍ"</string>
+ <string name="call_lost" msgid="317670617901479594">"ສາຍຫຼຸດ."</string>
+ <string name="ok" msgid="3811371167865772377">"ຕົກລົງ"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"ລຳໂພງ"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"ຊຸດຫູຟັງ"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"ຊຸດຫູຟັງແບບມີສາຍ"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"ສົ່ງໂທນສຽງຕໍ່ໄປນີ້ບໍ່?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"ກຳລັງສົ່ງໂທນສຽງ\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"ສົ່ງ"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"ຕົກລົງ"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"ບໍ່"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"ແທນທີ່ \"ໂຕອັກສອນທົດແທນ\" ດ້ວຍ"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"ປະຊຸມສາຍ <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"ເບີຂໍ້ຄວາມສຽງ"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"ກຳລັງໂທ"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"ກຳລັງລອງໃໝ່"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"ປະຊຸມສາຍ"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"ສາຍໂທເຂົ້າ"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"ວາງສາຍແລ້ວ"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"ພັກສາຍຊົ່ວຄາວ"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"ກຳລັງວາງສາຍ"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"ກຳລັງໃຊ້ສາຍ"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"ເບີໂທຂອງຂ້ອຍແມ່ນ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"ກຳລັງເຊື່ອມຕໍ່ວິດີໂອ"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"ໂທແບບເຫັນໜ້າ"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"ກຳລັງຮ້ອງຂໍວິດີໂອ"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"ບໍ່ສາມາດເຊື່ອມຕໍ່ສາຍວິດີໂອໄດ້"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"ເບີໂທກັບຂອງທ່ານ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"ໝາຍເລກໂທກັບສຸກເສີນຂອງທ່ານຄື\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"ກຳລັງໂທ"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"ສາຍທີ່ບໍ່ໄດ້ຮັບ"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"ສາຍທີ່ບໍ່ໄດ້ຮັບ"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ສາຍບໍ່ໄດ້ຮັບ"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"ສາຍທີ່ບໍ່ໄດ້ຮັບຈາກ <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"ສາຍທີ່ກຳລັງໂທອອກ"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"ພັກສາຍຊົ່ວຄາວ"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"ສາຍໂທເຂົ້າ"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"ສາຍວິດີໂອເຂົ້າ"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"ຄຳຮ້ອງຂໍວິດີໂອເຂົ້າມາ"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"ຂໍ້ຄວາມສຽງໃໝ່"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"ຂໍ້ຄວາມສຽງໃໝ່ (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"ໂທຫາ <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"ບໍ່ຮູ້ຈັກເບີຂໍ້ຄວາມສຽງ"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"ບໍ່ມີບໍລິການ"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"ບໍ່ສາມາດໃຊ້ເຄືອຂ່າຍທີ່ເລືອກ (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ໄດ້"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"ວາງສາຍ"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"ວິດີໂອ"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"ສຽງ"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"ຍອມຮັບ"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"ປິດໄວ້"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"ໂທກັບ"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"ຂໍ້ຄວາມ"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"ເພື່ອໂທລະສັບ, ໃຫ້ປິດໂໝດຢູ່ເທິງຍົນກ່ອນ."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"ບໍ່ໄດ້ລົງທະບຽນໃນເຄືອຂ່າຍ."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"ເຄືອຂ່າຍມືຖືບໍ່ສາມາດໃຊ້ໄດ້."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"ບໍ່ໄດ້ໂທເທື່ອ, ເບີໂທທີ່ລະບຸບໍ່ຖືກຕ້ອງ."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"ບໍ່ໄດ້ໂທເທື່ອ."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"ກຳລັງເລີ່ມຕົ້ນລຳດັບ MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"ບໍລິການທີ່ບໍ່ຮອງຮັບ."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"ບໍ່ສາມາດສະລັບສາຍໄດ້."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"ບໍ່ສາມາດແຍກສາຍໄດ້."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"ບໍ່ສາມາດໂອນສາຍໄດ້."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"ບໍ່ສາມາດປະຊຸມສາຍໄດ້."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"ບໍ່ສາມາດປະຕິເສດສາຍໄດ້."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"ບໍ່ສາມາດປ່ອຍສາຍໄດ້."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"ເບີຂໍ້ຄວາມສຽງທີ່ບໍ່ຮູ້ຈັກ."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"ການໂທ SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"ໂທສຸກເສີນ"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"ກຳລັງເປີດໃຊ້ວິທະຍຸ..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"ຢູ່ນອກເຂດບໍລິການ, ກຳລັງລອງໃໝ່..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"ບໍ່ໄດ້ໂທອອກເທື່ອ. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ບໍ່ແມ່ນໝາຍເລກສຸກເສີນ!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"ບໍ່ໄດ້ໂທອອກ. ກົດຫາໝາຍເລກສຸກເສີນ!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"ໃຊ້ແປ້ນພິມເພື່ອກົດໂທ"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"ພັກສາຍ"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"ສືບຕໍ່ສາຍ"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"ເພີ່ມການໂທ"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"ຮວມສາຍ"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"ສະລັບສາຍ"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"ພັກສາຍຊົ່ວຄາວ"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"ວາງສາຍ"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"ແປ້ນໂທ"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"ປິດສຽງ"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"ເພີ່ມການໂທ"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"ຮວມສາຍ"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"ສະລັບ"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"ຈັດການການໂທ"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"ສຽງ"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"ໂທແບບເຫັນໜ້າ"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"ປ່ຽນເປັນການໂທດ້ວຍສຽງ"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"ສະລັບກ້ອງ"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"ຢຸດວິດີໂອຊົ່ວຄາວ"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"ໂຕເລືອກເພີ່ມເຕີມ"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"ບໍລິການ"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"ຕັ້ງຄ່າ"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<ຍັງບໍ່ໄດ້ຕັ້ງ>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"ການຕັ້ງຄ່າການໂທອື່ນໆ"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"ກຳລັງໂທຜ່ານ <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"ເຂົ້າມາຈາກ <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"ຮູບພາບລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+ <string name="goPrivate" msgid="865837794424530980">"ໃຊ້ແບບສ່ວນໂຕ"</string>
+ <string name="selectContact" msgid="781975788478987237">"ເລືອກລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"ຂຽນຂໍ້ຄວາມຂອງທ່ານເອງ..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"ຍົກເລີກ"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"ສົ່ງ"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"ນຶ່ງ"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"ສອງ"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"ສາມ"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"ສີ່"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"ຫ້າ"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"ຫົກ"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"ເຈັດ"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"ແປດ"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"ເກົ້າ"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"ດາວ"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"ສູນ"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"ພາວ"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"ປຸ່ມໂທ"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"ປຸ່ມ backspace"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"ປິດສຽງການໂທແລ້ວ."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"ຄໍາຕອບ"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"ສົ່ງ SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"ປະຕິເສດ"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"ຕອບເປັນສາຍວິດີໂອ"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"ຕອບເປັນສາຍສຽງ"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Accept video request"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Decline video request"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"ເລື່ອນຂຶ້ນເພື່ອ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"ເລື່ອນໄປທາງຊ້າຍເພື່ອ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"ເລື່ອນໄປທາງຂວາເພື່ອ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"ເລື່ອນລົງເພື່ອ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"ສັ່ນເຕືອນ"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"ສັ່ນເຕືອນ"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"ສຽງ"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"ສຽງເລີ່ມຕົ້ນ (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"ຣິງໂທນໂທລະສັບ"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"ສັ່ນເຕືອນເມື່ອມີສາຍໂທເຂົ້າ"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Dial pad autocomplete"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"ຣິງໂທນ & ການສັ່ນເຕືອນ"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"ຈັດການການປະຊຸມສາຍ"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"ເບີໂທສຸກເສີນ"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"ເລືອກບັນຊີ"</string>
+</resources>
diff --git a/InCallUI/res/values-lt/strings.xml b/InCallUI/res/values-lt/strings.xml
new file mode 100644
index 0000000..4986a98
--- /dev/null
+++ b/InCallUI/res/values-lt/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefonas"</string>
+ <string name="onHold" msgid="9035493194749959955">"Sulaikyta"</string>
+ <string name="unknown" msgid="6878797917991465859">"Nežinomas"</string>
+ <string name="private_num" msgid="6713286113000232309">"Privatus numeris"</string>
+ <string name="payphone" msgid="1931775086311769314">"Mokamas telefonas"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Linija užimta"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Tinklas užimtas"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Nėra atsako, baigėsi laikas"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Serveris nepasiekiamas"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Numeris nepasiekiamas"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Neteisingas naudotojo vardas arba slaptažodis"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Skambinta ne iš šio tinklo"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Serverio klaida. Vėliau bandykite dar kartą."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Nėra signalo"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Pasiekta ACM riba"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radijas išjungtas"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Nėra SIM kortelės arba įvyko SIM kortelės klaida"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Mobiliojo ryšio tinklas nepasiekiamas"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Išeinančius skambučius apriboja FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Negalite skambinti, kai įjungtas skambučių draudimas."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Visi skambučiai apriboti prieigos valdymu."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Pagalbos skambučius apriboja prieigos valdymas."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Įprastus skambučius riboja prieigos valdymas."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Neteisingas numeris"</string>
+ <string name="confCall" msgid="1904840547188336828">"Konferencinis skambutis"</string>
+ <string name="call_lost" msgid="317670617901479594">"Skambutis prarastas."</string>
+ <string name="ok" msgid="3811371167865772377">"Gerai"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Garsiakalbis"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Telefono ausinė"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Laidinės ausinės"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Siųsti šiuo tonus?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Siunčiami tonai\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Siųsti"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Taip"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Ne"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Pakaitos simbolį pakeisti"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Konferencinis skambutis <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Balso pašto numeris"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Renkamas numeris"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Bandoma dar kartą"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Konferencinis skambutis"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Gaunamasis skambutis"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Skambutis baigtas"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Sulaikyta"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Baigiamas pokalbis"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Skambinant"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Mano numeris: <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Prisijungiama prie vaizdo skambučio"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Vaizdo skambutis"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Pateikiama vaizdo skambučio užklausa"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Nepavyko prisijungti prie vaizdo skambučio"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Numeris, kuriuo atskambinama\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Numeris, kuriuo atskambina pagalbos tarnyba\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Renkamas numeris"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Praleistas skambutis"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Praleisti skambučiai"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> praleisti (-ų) skambučiai (-ų)"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"praleistas skambutis nuo <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Vykstantis pokalbis"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Sulaikyta"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Skambina"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Gaunamas vaizdo skambutis"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Gaunama vaizdo skambučio užklausa"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Naujas balso pašto pranešimas"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Naujas balso pašto pranešimas (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Rinkti <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Nežinomas balso pašto numeris"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Nėra paslaugos"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Pasirinktas tinklas (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) negalimas"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Padėti ragelį"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Vaizdo skambutis"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Balsas"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Atsiliepti"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Atsisakyti"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Perskambinti"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Pranešimas"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Jei norite skambinti, išjunkite lėktuvo režimą."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Neregistruota tinkle."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mobilusis tinklas negalimas."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Skambutis neišsiųstas; neįvestas teisingas numeris."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Skambutis neišsiųstas."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Paleidžiama MMI seka..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Nepalaikoma paslauga."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Neįmanoma perjungti skambučių."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Neįmanoma atskirti skambučio."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Neįmanoma perkelti skambučio."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Neįmanoma atlikti konferencinių skambučių."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Neįmanoma atmesti skambučio."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Neleisti atšaukti skambučių."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Nežinomas balso pašto numeris."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP skambutis"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Skambutis pagalbos numeriu"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Įjungiamas radijas…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Sritis, kurioje paslauga neteikiama, bandoma iš naujo..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Nepaskambinta. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nėra pagalbos numeris!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Nepaskambinta. Surinkite pagalbos numerį!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Naudokite klaviatūrą ir rinkite numerius"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Sulaikyti skambutį"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Tęsti skambutį"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Pridėti skambutį"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Sujungti skambučius"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Sukeisti skambučius"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Sulaikyti"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Pabaiga"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Numerio rinkimo klaviatūra"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Nutildyti"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Pridėti skambutį"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Sujungti skambučius"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Apkeisti"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Valdyti skambučius"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Garso įr."</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Vaizdo sk."</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Pakeisti į balso skambutį"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Perjungti fotoaparatą"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Pristabdyti vaizdo įrašą"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Daugiau parinkčių"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Paslauga"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Sąranka"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Nenustatyta>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Kiti skambučio nustatymai"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Skambinama naudojantis „<xliff:g id="PROVIDER_NAME">%s</xliff:g>“ paslaugomis"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Gaunama per „<xliff:g id="PROVIDER_NAME">%s</xliff:g>“"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"kontakto nuotrauka"</string>
+ <string name="goPrivate" msgid="865837794424530980">"naudoti privatų režimą"</string>
+ <string name="selectContact" msgid="781975788478987237">"pasirinkti kontaktą"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Sukurkite patys..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Atšaukti"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Siųsti"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"vienas"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"du"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"trys"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"keturi"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"penki"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"šeši"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"septyni"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"aštuoni"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"devyni"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"žvaigždutė"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"nulis"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"svaras"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"rinkti numerį"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"naikinimo klavišas"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Skambutis nutildytas."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Atsakyti"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Siųsti SMS pranešimą"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Atmesti"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Atsiliepti kaip į vaizdo skambutį"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Atsiliepti kaip į garso skambutį"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Priimti vaizdo įrašo užklausą"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Atmesti vaizdo įrašo užklausą"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Slyskite aukštyn link parinkties „<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>“."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Slyskite į kairę link parinkties „<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>“."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Slyskite į dešinę link parinkties „<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>“."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Slyskite žemyn link <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibruoti"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibruoti"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Garsas"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Numatytasis garsas (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Telefono skambėjimo tonas"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibruoti, kai skambina"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Skambinimo skydelio automatinis užbaig."</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Skambėjimo tonas ir vibracija"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Valdyti konferencinį skambutį"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Pagalbos numeris"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Pasirinkite paskyrą"</string>
+</resources>
diff --git a/InCallUI/res/values-lv/strings.xml b/InCallUI/res/values-lv/strings.xml
new file mode 100644
index 0000000..30acedc
--- /dev/null
+++ b/InCallUI/res/values-lv/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Tālrunis"</string>
+ <string name="onHold" msgid="9035493194749959955">"Aizturēts"</string>
+ <string name="unknown" msgid="6878797917991465859">"Nezināms"</string>
+ <string name="private_num" msgid="6713286113000232309">"Privāts numurs"</string>
+ <string name="payphone" msgid="1931775086311769314">"Taksofons"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Līnija ir aizņemta"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Tīkls ir aizņemts"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Nav atbildes; noildze"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Serveris nav sasniedzams"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Numurs nav sasniedzams"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Nepareizs lietotājvārds vai parole"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Zvans tika veikts ārpus tīkla."</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Servera kļūda. Vēlāk mēģiniet vēlreiz."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Nav signāla"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM ierobežojums ir pārsniegts."</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radio ir izslēgts."</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Nav SIM, vai SIM kļūda"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Mobilais tīkls nav pieejams."</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"FNSN ierobežo izejošos zvanus."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Izejošos zvanus nevar veikt, ja ir ieslēgts zvanu aizliegums."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Piekļuves vadība ierobežo visus zvanus."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Piekļuves vadība ierobežo ārkārtas zvanus."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Piekļuves vadība ierobežo parastos zvanus."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Numurs nav derīgs."</string>
+ <string name="confCall" msgid="1904840547188336828">"Konferences zvans"</string>
+ <string name="call_lost" msgid="317670617901479594">"Zvans ir zaudēts."</string>
+ <string name="ok" msgid="3811371167865772377">"Labi"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Skaļrunis"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Austiņas"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Austiņas ar vadu"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Vai sūtīt tālāk norādītos signālus?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Sūtīšanas signāli\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Sūtīt"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Jā"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Nē"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Aizstāt aizstājējzīmi ar:"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Konferences zvans <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Balss pasta numurs"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Notiek numura sastādīšana"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Notiek atkārtota mēģināšana"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Konferences zvans"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Ienākošais zvans"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Zvans ir pabeigts"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Aizturēts"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Notiek klausules nolikšana"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Notiek saruna"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Mans tālruņa numurs: <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Notiek video savienojuma izveide"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videozvans"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Notiek video pieprasīšana"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Nevar pievienoties šim videozvanam"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Jūsu atzvanīšanas numurs\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Jūsu ārkārtas atzvanīšanas numurs\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Notiek numura sastādīšana"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Neatbildēts zvans"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Neatbildētie zvani"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> neatbildēts(-i) zvans(-i)"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Neatbildēts zvans no: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Pašreizējā saruna"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Aizturēts"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Ienākošs zvans"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Ienākošs videozvans"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Ienākošs video pieprasījums"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Jauns balss pasts"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Jauns balss pasts (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Sastādiet šādu numuru: <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Balss pasta numurs nav zināms."</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Nav pakalpojuma"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Atlasītais tīkls (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) nav pieejams"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Pārtraukt"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Balss"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Pieņemt"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Nerādīt"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Atzvanīt"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Ziņojums"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Lai veiktu zvanu, vispirms izslēdziet lidojuma režīmu."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Tīklā nav reģistrēts."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mobilais tīkls nav pieejams."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Zvans nav nosūtīts; derīgs numurs nav ievadīts."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Zvans nav nosūtīts."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Notiek MMI secības startēšana…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Neatbalstīts pakalpojums."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Nevar pārslēgt zvanus."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Nevar atdalīt zvanu."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Nevar pārsūtīt zvanu."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Nevar veikt konferences zvanus."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Nevar noraidīt zvanu."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Nevar atvienot zvanu(-us)."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Balss pasta numurs nav zināms."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP zvans"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Ārkārtas zvans"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Notiek radio ieslēgšana..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Ārpus apkalpošanas apgabala, tiek mēģināts vēlreiz..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Zvans netika nosūtīts. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nav ārkārtas izsaukuma numurs."</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Zvans nav nosūtīts. Ievadiet ārkārtas izsaukuma numuru."</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Izmantojiet tastatūru, lai sastādītu numuru."</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Aizturēt zvanu"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Atsākt zvanu"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Pievienot zvanu"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Apvienot zvanus"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Mainīt zvanus"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Aizturēt"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Beigt"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Numuru sastādīšanas tastatūra"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Izslēgt skaņu"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Pievienot zvanu"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Sapludināt zvanus"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Mainīt"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Pārvaldīt zvanus"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videozvans"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Mainīt uz balss zvanu"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Pārslēgt kameru"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Pārtraukt videoklipa atskaņošanu"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Citas opcijas"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Pakalpojums"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Iestatīšana"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Nav iestatīts>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Citi zvanu iestatījumi"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Zvans, ko nodrošina <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Ienākošie zvani, ko nodrošina <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"kontaktpersonas fotoattēls"</string>
+ <string name="goPrivate" msgid="865837794424530980">"pārslēgt uz privāto režīmu"</string>
+ <string name="selectContact" msgid="781975788478987237">"atlasīt kontaktpersonu"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Rakstīt savu…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Atcelt"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Sūtīt"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"viens"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"divi"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"trīs"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"četri"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"pieci"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"seši"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"septiņi"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"astoņi"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"deviņi"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"zvaigznīte"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"nulle"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"cipara simbols"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"sastādīt numuru"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"atpakaļatkāpe"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Zvana skaņa ir izslēgta."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Atbildēt"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Sūtīt īsziņu"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Noraidīt"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Atbildēt videozvanā"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Atbildēt audiozvanā"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Pieņemt video pieprasījumu"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Noraidīt video pieprasījumu"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Velciet uz augšu, lai veiktu šādu darbību: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Velciet pa kreisi, lai veiktu šādu darbību: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Velciet pa labi, lai veiktu šādu darbību: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Velciet uz leju, lai veiktu šādu darbību: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibrozvans"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibrozvans"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Signāls"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Noklusējuma signāls (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Tālruņa zvana signāls"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrēt zvanot"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Numuru sast. tast. autom. pabeigšana"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Zvana signāls un vibrācija"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Pārvaldīt konferences zvanu"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Ārkārtas numurs"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Konta atlase"</string>
+</resources>
diff --git a/InCallUI/res/values-ml-rIN/strings.xml b/InCallUI/res/values-ml-rIN/strings.xml
new file mode 100644
index 0000000..5d0b01f
--- /dev/null
+++ b/InCallUI/res/values-ml-rIN/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"ഫോണ്"</string>
+ <string name="onHold" msgid="9035493194749959955">"ഹോള്ഡിലാണ്"</string>
+ <string name="unknown" msgid="6878797917991465859">"അജ്ഞാതം"</string>
+ <string name="private_num" msgid="6713286113000232309">"സ്വകാര്യ നമ്പർ"</string>
+ <string name="payphone" msgid="1931775086311769314">"പണം നൽകി ഉപയോഗിക്കുന്ന ഫോൺ"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"ലൈൻ തിരക്കിലാണ്"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"നെറ്റ്വർക്ക് തിരക്കിലാണ്"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"പ്രതികരണമില്ല, കാലഹരണപ്പെട്ടു"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"സെർവറിൽ പരിധിയ്ക്ക് പുറത്താണ്"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"നമ്പർ പരിധിയ്ക്ക് പുറത്താണ്"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"ഉപയോക്തൃനാമമോ പാസ്വേഡോ തെറ്റാണ്"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"നെറ്റ്വർക്കില്ലാത്ത സ്ഥലത്തുനിന്നും കോൾ ചെയ്തു"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"സെർവർ പിശക്. പിന്നീട് വീണ്ടും ശ്രമിക്കുക."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"സിഗ്നൽ ഇല്ല"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM പരിധി കഴിഞ്ഞു"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"റേഡിയോ ഓഫാക്കുക"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"SIM ഇല്ല അല്ലെങ്കിൽ SIM പിശക്"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"മൊബൈൽ നെറ്റ്വർക്ക് ലഭ്യമല്ല"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"FDN, ഔട്ട്ഗോയിംഗ് കോളുകൾ നിയന്ത്രിച്ചിരിക്കുന്നു."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"കോൾ ബാറിംഗ് ഓണായിരിക്കുമ്പോൾ നിങ്ങൾ ഔട്ട്ഗോയിംഗ് കോളുകൾ വിളിക്കാനാകില്ല."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"ആക്സസ്സ് നിയന്ത്രണം, എല്ലാ കോളുകളും നിയന്ത്രിച്ചിരിക്കുന്നു."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"ആക്സസ്സ് നിയന്ത്രണം, അടിയന്തര കോളുകൾ നിയന്ത്രിച്ചിരിക്കുന്നു."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"ആക്സസ്സ് നിയന്ത്രണം, സാധാരണ കോളുകൾ നിയന്ത്രിച്ചിരിക്കുന്നു."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"സാധുതയില്ലാത്ത നമ്പര്"</string>
+ <string name="confCall" msgid="1904840547188336828">"കോൺഫറൻസ് കോൾ"</string>
+ <string name="call_lost" msgid="317670617901479594">"കോൾ നഷ്ടപ്പെട്ടു."</string>
+ <string name="ok" msgid="3811371167865772377">"ശരി"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"സ്പീക്കർ"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"ഹാൻഡ്സെറ്റ് ഇയർപീസ്"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"വയർ മുഖേന ബന്ധിപ്പിച്ച ഹെഡ്സെറ്റ്"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"ഇനിപ്പറയുന്ന ടോണുകൾ അയയ്ക്കണോ?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"ടോണുകൾ അയയ്ക്കുന്നു\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"അയയ്ക്കുക"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"വേണം"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"വേണ്ട"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"വൈൽഡ് പ്രതീകം ഇതുപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുക"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"കോൺഫറൻസ് കോൾ <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"വോയ്സ്മെയിൽ നമ്പർ"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"ഡയൽ ചെയ്യുന്നു"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"വീണ്ടും ശ്രമിക്കുന്നു"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"കോൺഫറൻസ് കോൾ"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"ഇന്കമിംഗ് കോള്"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"കോൾ അവസാനിച്ചു"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"ഹോള്ഡിലാണ്"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"ഹാംഗിംഗ് അപ്പ്"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"കോളിലാണ്"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"എന്റെ നമ്പർ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> ആണ്"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"വീഡിയോ കണക്റ്റുചെയ്യുന്നു"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"വീഡിയോ കോള്"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"വീഡിയോ അഭ്യർത്ഥിക്കുന്നു"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"വീഡിയോ കോൾ കണക്റ്റ് ചെയ്യാനാകില്ല"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"നിങ്ങളുടെ തിരികെ വിളിക്കുന്നതിനുള്ള നമ്പർ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g> ആണ്"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"നിങ്ങളുടെ തിരികെവിളിക്കുന്നതിനുള്ള അടിയന്തിര നമ്പർ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g> ആണ്"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"ഡയൽ ചെയ്യുന്നു"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"മിസ്ഡ് കോൾ"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"മിസ്ഡ് കോളുകൾ"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> മിസ്ഡ് കോളുകൾ"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> എന്നതിൽ നിന്നുള്ള മിസ്ഡ് കോൾ"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"കോൾ സജീവമാണ്"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"ഹോള്ഡിലാണ്"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"ഇന്കമിംഗ് കോള്"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"ഇൻകമിംഗ് വീഡിയോ കോൾ"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"ഇൻകമിംഗ് വീഡിയോ അഭ്യർത്ഥന"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"പുതിയ വോയ്സ്മെയിൽ"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"പുതിയ വോയ്സ്മെയിൽ (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> ഡയൽ ചെയ്യുക"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"വോയ്സ്മെയിൽ നമ്പർ അജ്ഞാതമാണ്"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"സേവനമില്ല"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"തിരഞ്ഞെടുത്ത നെറ്റ്വർക്ക് (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ലഭ്യമല്ല"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"ഹാംഗ് അപ്പ് ചെയ്യുക"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"വീഡിയോ"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"വോയ്സ്"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"അംഗീകരിക്കുക"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"നിരസിക്കുക"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"കോൾബാക്ക്"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"സന്ദേശം"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"ഒരു കോൾ വിളിക്കാൻ, ആദ്യം വിമാന മോഡ് ഓഫുചെയ്യുക."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"നെറ്റ്വർക്കിൽ രജിസ്റ്റർ ചെയ്തിട്ടില്ല."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"മൊബൈൽ നെറ്റ്വർക്ക് ലഭ്യമല്ല."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"കോൽ ചെയ്യാനായില്ല. സാധുവായ നമ്പറൊന്നും നൽകിയില്ല."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"കോൾ ചെയ്യാനായില്ല."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI സീക്വൻസ് ആരംഭിക്കുന്നു…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"പിന്തുണയ്ക്കാത്ത ഉപകരണം."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"കോളുകൾ മാറാനായില്ല."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"കോൾ വിഭജിക്കാനായില്ല."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"കോൾ കൈമാറാനായില്ല."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"കോൺഫറൻസ് കോളുകൾ ചെയ്യാനായില്ല."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"കോൾ നിരസിക്കാനായില്ല."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"കോൾ (കോളുകൾ) റിലീസുചെയ്യാനായില്ല."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"വോയ്സ് മെയിൽ നമ്പർ അജ്ഞാതമാണ്."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP കോൾ"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"അടിയന്തര കോൾ"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"റേഡിയോ ഓൺ ചെയ്യുന്നു…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"സേവനമില്ലാത്ത മേഖല, വീണ്ടും ശ്രമിക്കുന്നു…"</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"കോൾ ചെയ്യാനായില്ല. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ഒരു അടിയന്തര നമ്പർ അല്ല!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"കോൾ ചെയ്യാനായില്ല. ഒരു അടിയന്തര നമ്പർ ഡയൽ ചെയ്യുക!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"ഡയൽ ചെയ്യാൻ കീബോർഡ് ഉപയോഗിക്കുക"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"കോൾ ഹോൾഡുചെയ്യുക"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"കോൾ പുനരാരംഭിക്കുക"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"കോൾ ചേർക്കുക"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"കോളുകൾ ലയിപ്പിക്കുക"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"കോളുകൾ സ്വാപ്പുചെയ്യുക"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"ഹോള്ഡുചെയ്യുക"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"അവസാനിപ്പിക്കുക"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"ഡയല്പാഡ്"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"മ്യൂട്ടുചെയ്യുക"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"കോൾ ചേർക്കുക"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"കോളുകൾ ലയിപ്പിക്കുക"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"സ്വാപ്പുചെയ്യുക"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"കോളുകൾ നിയന്ത്രിക്കുക"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"ഓഡിയോ"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"വീഡിയോ കോൾ"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"വോയ്സ് കോളിലേക്ക് മാറ്റുക"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"ക്യാമറയിലേക്ക് മാറുക"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"വീഡിയോ താൽക്കലികമായി നിർത്തുക"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"കൂടുതൽ ഓപ്ഷനുകൾ"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"സേവനം"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"സജ്ജീകരിക്കുക"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<സജ്ജീകരിച്ചിട്ടില്ല>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"മറ്റ് കോൾ ക്രമീകരണങ്ങൾ"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> മുഖേന വിളിക്കുന്നു"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> മുഖേനയുള്ള ഇൻകമിംഗ്"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"കോൺടാക്റ്റ് ഫോട്ടോ"</string>
+ <string name="goPrivate" msgid="865837794424530980">"സ്വകാര്യം എന്നതിലേക്ക് പോകുക"</string>
+ <string name="selectContact" msgid="781975788478987237">"കോൺടാക്റ്റ് തിരഞ്ഞെടുക്കുക"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"നിങ്ങളുടെ സ്വന്തം സന്ദേശമെഴുതുക..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"റദ്ദാക്കുക"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"അയയ്ക്കുക"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"ഒന്ന്"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"രണ്ട്"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"മൂന്ന്"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"നാല്"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"അഞ്ച്"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"ആറ്"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"ഏഴ്"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"എട്ട്"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"ഒമ്പത്"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"നക്ഷത്രചിഹ്നം"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"പൂജ്യം"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"പൗണ്ട്"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"ഡയൽ ചെയ്യുക"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"സ്പീക്കർഫോൺ തിരഞ്ഞെടുത്തു"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"ഇയർഫോൺ തിരഞ്ഞെടുത്തു"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"വയർ മുഖേന ബന്ധിപ്പിച്ച ഹെഡ്സെറ്റ് തിരഞ്ഞെടുത്തു"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Bluetooth ഹെഡ്സെറ്റ് തിരഞ്ഞെടുത്തു"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"കോൾ നിശബ്ദമാക്കി."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"കോൾ അൺമ്യൂട്ടുചെയ്തു."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"കോൾ ഹോൾഡുചെയ്തു."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"കോൾ ഹോൾഡുചെയ്തത് മാറ്റി."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"മറുപടി നൽകുക"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS അയയ്ക്കുക"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"നിരസിക്കുക"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"വീഡിയോ കോളായി മറുപടി നൽകുക"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"ഓഡിയോ കോളായി മറുപടി നൽകുക"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"വീഡിയോ അഭ്യർത്ഥന അംഗീകരിക്കുക"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"വീഡിയോ അഭ്യർത്ഥന നിരസിക്കുക"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> എന്നതിനായി മുകളിലേയ്ക്ക് സ്ലൈഡുചെയ്യുക."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> എന്നതിനായി ഇടത്തേയ്ക്ക് സ്ലൈഡുചെയ്യുക."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> എന്നതിനായി വലത്തേയ്ക്ക് സ്ലൈഡുചെയ്യുക."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> എന്നതിനായി താഴേക്ക് സ്ലൈഡുചെയ്യുക."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"വൈബ്രേറ്റുചെയ്യുക"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"വൈബ്രേറ്റുചെയ്യുക"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"ശബ്ദം"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"സ്ഥിര ശബ്ദം (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"ഫോൺ റിംഗ്ടോൺ"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"റിംഗുചെയ്യുമ്പോൾ വൈബ്രേറ്റുചെയ്യുക"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"ഡയൽ പാഡ് യാന്ത്രികപൂർത്തീകരണം"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"റിംഗ്ടോണും വൈബ്രേറ്റുചെയ്യലും"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"കോൺഫറൻസ് കോൾ നിയന്ത്രിക്കുക"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"അടിയന്തര നമ്പർ"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"അക്കൗണ്ട് തിരഞ്ഞെടുക്കുക"</string>
+</resources>
diff --git a/InCallUI/res/values-mn-rMN/strings.xml b/InCallUI/res/values-mn-rMN/strings.xml
new file mode 100644
index 0000000..10294e2
--- /dev/null
+++ b/InCallUI/res/values-mn-rMN/strings.xml
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Утас"</string>
+ <string name="onHold" msgid="9035493194749959955">"Хүлээлгэнд"</string>
+ <string name="unknown" msgid="6878797917991465859">"Тодорхойгүй"</string>
+ <string name="private_num" msgid="6713286113000232309">"Нууцлагдсан дугаар"</string>
+ <string name="payphone" msgid="1931775086311769314">"Төлбөртэй утас"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Шугам чөлөөгүй"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Сүлжээ завгүй"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Хариу байхгүй, хугацаа хэтэрсэн"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Серверт холбогдох боломжгүй"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Дугаарт холбогдох боломжгүй"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Хэрэглэгчийн нэр буюу нууц үг буруу"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Сүлжээний гаднаас залгасан"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Серверийн алдаа. Дараа дахин оролдоно уу."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Дохио байхгүй"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM хязгаар хэтэрсэн"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Радио идэвхгүй"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"SIM байхгүй эсхүл SIM алдаатай"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Мобайль сүлжээ байхгүй"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Гарах дуудлагуудыг FDN-р хязгаарласан."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Дуудлага хаахыг идэвхжүүлсэн үед та гадагш дуудлага хийх боломжгүй."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Хандалтын хяналтаар бүх дуудлагыг хязгаарласан."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Хандалтын хяналтаар Ослын дуудлагуудыг хязгаарласан."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Хандалтын хяналтаар энгийн дуудлагуудыг хязгаарласан."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Алдаатай дугаар"</string>
+ <string name="confCall" msgid="1904840547188336828">"Утсан хурал"</string>
+ <string name="call_lost" msgid="317670617901479594">"Дуудлага алдагдсан."</string>
+ <string name="ok" msgid="3811371167865772377">"Тийм"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Чанга яригч"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Утасны чихэвч"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Утастай чихэвч"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Дараах аяуудыг илгээх үү?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Аяуудыг илгээж байна\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Илгээх"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Тийм"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Үгүй"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Үсгийг дараахаар солих"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Утсан хурал <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Дуут шуудангийн дугаар"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Залгаж байна"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Дахин оролдож байна"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Утсан хурал"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Ирж буй дуудлага"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Дуудлага дууссан"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Хүлээлгэнд"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Тасалж байна"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Дуудлагатай"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Миний дугаар <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Видеог холбож байна"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Видео хурал"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Видео хүсэлт гаргасан"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Видео дуудлагыг холбох боломжгүй"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Таны буцааж залгах дугаар\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Таны онцгой үед залгах дугаар\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Залгаж байна"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Аваагүй дуудлага"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Аваагүй дуудлагууд"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> аваагүй дуудлага"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g>-н аваагүй дуудлага"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Хийгдэж буй дуудлага"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Хүлээлгэнд"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Ирж буй дуудлага"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Ирж буй видео дуудлага"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Ирж буй видео хүсэлт"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Шинэ дуут шуудан"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Шинэ дуут шуудан (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> руу залгах"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Дуут шуудангийн дугаар тодорхойгүй"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Үйлчилгээ байхгүй"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Сонгосон сүлжээ (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ашиглах боломжгүй"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Таслах"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Видео"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Хоолой"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Зөвшөөрөх"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Алгасах"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Буцааж залгах"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Зурвас"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Дуудлага хийхийн тулд юуны өмнө Нислэгийн төлвийг идэвхгүйжүүлнэ үү."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Сүлжээнд бүртгэгдээгүй."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Мобайль сүлжээ байхгүй."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Дуудлага илгээгдсэнгүй, зөв дугаар оруулаагүй байна."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Дуудлага илгээгдсэнгүй."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI дарааллыг эхлүүлж байна…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Дэмжигдээгүй үйлчилгээ."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Дуудлагыг шилжүүлэх боломжгүй."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Дуудлагыг тусгаарлах боломжгүй."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Дуудлагыг дамжуулах боломжгүй."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Утсан хурал хийх боломжгүй."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Дуудлагыг таслах боломжгүй."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Дуудлагыг нээх боломжгүй."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Дуут шуудангийн дугаар тодорхойгүй."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP дуудлага"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Ослын дуудлага"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Радиог асааж байна…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Үйлчилгээний хүрээнээс гарлаа, дахин оролдож байна ..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Дуудлага илгээгдсэнгүй. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> нь ослын дугаар биш!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Дуудлага илгээгдсэнгүй. Ослын дугаар руу залгана уу!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Залгахдаа гар ашиглах"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Дуудлагыг хүлээлгэх"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Дуудлагыг үргэлжлүүлэх"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Дуудлага нэмэх"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Дуудлагуудыг нэгтгэх"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Дуудлага солих"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Саатуулах"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Дуусгах"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Диалпад"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Дууг хаах"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Дуудлага нэмэх"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Дуудлагуудыг нэгтгэх"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Солих"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Дуудлагуудыг удирдах"</string>
+ <string name="onscreenManageConferenceText" msgid="6801708317570467407">"Утсан хурлыг удирдах"</string>
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Аудио"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Видео хурал"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Дуут дуудлага руу өөрчлөх"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Камер солих"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Видеог түр зогсоох"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Нэмэлт сонголтууд"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Үйлчилгээ"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Суулгах"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Тохируулаагүй>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Бусад дуудлагын тохиргоо"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g>-р залгаж байна"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"<xliff:g id="PROVIDER_NAME">%s</xliff:g>-р ирсэн"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"харилцагчийн зураг"</string>
+ <string name="goPrivate" msgid="865837794424530980">"хувийн яриа"</string>
+ <string name="selectContact" msgid="781975788478987237">"харилцагч сонгох"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Өөрийн гэснийг бичээрэй..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Цуцлах"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Илгээх"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"нэг"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"хоёр"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"гурав"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"дөрөв"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"тав"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"зургаа"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"долоо"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"найм"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"ес"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"од"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"нойль"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"фунт"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"залгах"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"ухраах"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Чанга яригч сонгогдсон"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Чихэвч сонгогдсон"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Утастай чихэвч сонгогдсон"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Блютүүт чихэвч сонгогдсон"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Дууг хаасан."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"Дуудлагыг хаасан."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"Дуудлагыг хүлээлгэсэн"</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"Дуудлагыг хүлээлгээс гаргасан"</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Хариулах"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS илгээх"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Татгалзах"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Видео дуудлагаар хариулах"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Аудио дуудлагаар хариулах"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Видео хүсэлтийг зөвшөөрөх"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Видео хүсэлтээс татгалзах"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> хийх бол дээш гулсуулна уу."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> хийх бол зүүн талруу гулсуулна уу."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> хийх бол баруун талруу гулсуулна уу."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> хийх бол доош гулсуулах."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Чичиргээ"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Чичиргээ"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Дуу"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Үндсэн дуу (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Утасны хонхны ая"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Хонх дуугарах үед чичрэх"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Дугаар цуглуулагчийг автоматаар бөглөх"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Хонхны ая & Чичиргээ"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Утсан хурлыг удирдах"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Яаралтай дугаар"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Акаунт сонгох"</string>
+</resources>
diff --git a/InCallUI/res/values-mr-rIN/strings.xml b/InCallUI/res/values-mr-rIN/strings.xml
new file mode 100644
index 0000000..2df4411
--- /dev/null
+++ b/InCallUI/res/values-mr-rIN/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"फोन"</string>
+ <string name="onHold" msgid="9035493194749959955">"होल्ड वर"</string>
+ <string name="unknown" msgid="6878797917991465859">"अज्ञात"</string>
+ <string name="private_num" msgid="6713286113000232309">"खाजगी नंबर"</string>
+ <string name="payphone" msgid="1931775086311769314">"देय फोन"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"लाइन व्यस्त"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"नेटवर्क व्यस्त"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"कोणताही प्रतिसाद नाही, कालबाह्य झाले"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"सर्व्हर पोहचण्यायोग्य नाही"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"नंबर पोहचण्यायोग्य नाही"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"चुकीचे वापरकर्तानाव किंवा संकेतशब्द"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"नेटवर्क-बाहेरून कॉल केला"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"सर्व्हर त्रुटी. कृपया नंतर पुन्हा प्रयत्न करा."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"सिग्नल नाही"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM मर्यादा ओलांडली"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"रेडिओ बंद"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"SIM नाही किंवा SIM त्रुटी"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"मोबाइल नेटवर्क उपलब्ध नाही"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"केले जाणारे कॉल FDN द्वारे प्रतिबंधित केले जातात."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"कॉल वगळणे चालू असताना आपण कॉल करू शकत नाही."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"सर्व कॉल प्रवेश नियंत्रणाद्वारे प्रतिबंधित केले जातात."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"आणीबाणीचे कॉल प्रवेश नियंत्रणाद्वारे प्रतिबंधित केले जातात."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"सामान्य कॉल प्रवेश नियंत्रणाद्वारे प्रतिबंधित केले जातात."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"अवैध नंबर"</string>
+ <string name="confCall" msgid="1904840547188336828">"परिषद कॉल"</string>
+ <string name="call_lost" msgid="317670617901479594">"कॉल गमावला गेला आहे."</string>
+ <string name="ok" msgid="3811371167865772377">"ठीक"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"स्पीकर"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"हँडसेट इअरपीस"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"वायर्ड हेडसेट"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"खालील टोन पाठवायचे?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"टोन पाठवित आहे\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"पाठवा"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"होय"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"नाही"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"खराब वर्णास यासह पुनर्स्थित करा"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"परिषद कॉल <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"व्हॉइसमेल नंबर"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"डायल करीत आहे"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"पुन्हा प्रयत्न करत आहे"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"परिषद कॉल"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"येणारे कॉल"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"कॉल संपला"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"होल्ड वर"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"हँग अप करणेे"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"कॉल मधील"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"माझा नंबर <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> आहे"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"व्हिडिओ कनेक्ट करत आहे"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"व्हिडिओ कॉल"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"व्हिडिओ विनंती करत आहे"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"व्हिडिओ कॉल कनेक्ट करू शकत नाही"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"आपला परत कॉल करण्याचा नंबर\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"आपला आणीबाणीचा परत कॉल करण्याचा नंबर\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"डायल करीत आहे"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"सुटलेला कॉल"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"सुटलेले कॉल"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> सुटलेले कॉल"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> कडील सुटलेला कॉल"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"सुरू असलेला कॉल"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"होल्ड वर"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"येणारा कॉल"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"येणारा व्हिडिओ कॉल"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"येणारी व्हिडिओ विनंती"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"नवीन व्हॉइसमेल"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"नवीन व्हॉइसमेल (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> डायल करा"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"व्हॉइसमेल नंबर अज्ञात"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"सेवा नाही"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"निवडलेले नेटवर्क (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) अनुपलब्ध"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"हँग अप"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"व्हिडिओ"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"व्हॉइस"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"स्वीकारा"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"डिसमिस करा"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"पुन्हा कॉल करा"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"संदेश"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"कॉल करण्यासाठी, प्रथम विमान मोड बंद करा."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"नेटवर्कवर नोंदणीकृत नाही."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"मोबाइल नेटवर्क उपलब्ध नाही."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"कॉल पाठविला नाही, वैध नंबर प्रविेष्ट केला नाही."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"कॉल पाठविला नाही."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI क्रम प्रारंभ करीत आहे..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"असमर्थित सेवा."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"कॉल स्विच करण्यात अक्षम."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"कॉल वेगळे करण्यात अक्षम."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"कॉल स्थानांतरित करण्यात अक्षम."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"परिषद कॉल करण्यात अक्षम."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"कॉलला नकार देण्यात अक्षम."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"कॉल रीलिज करण्यात अक्षम."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"व्हॉइसमेल क्रमांक अज्ञात."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP कॉल"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"आणीबाणीचा कॉल"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"रेडिओ चालू करीत आहे..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"सेवा क्षेत्राच्या बाहेर, पुन्हा प्रयत्न करत आहे..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"कॉल पाठविला नाही. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> हा आणीबाणीचा नंबर नाही!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"कॉल पाठविला नाही. आणीबाणीचा नंबर डायल करा!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"डायल करण्यासाठी कीबोर्डचा वापर करा"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"कॉल होल्ड करा"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"कॉल सुरु करा"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"कॉल जोडा"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"कॉल विलीन करा"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"कॉल स्वॅप करा"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"होल्ड करा"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"शेवट"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"डायलपॅड"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"नि:शब्द करा"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"कॉल जोडा"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"कॉल विलीन करा"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"अदलाबदल करा"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"कॉल व्यवस्थापित करा"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"ऑडिओ"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"व्हिडिओ कॉल"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"व्हॉइस कॉल वर बदला"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"कॅमेरा स्विच करा"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"व्हिडिओला विराम द्या"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"अधिक पर्याय"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"सेवा"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"सेटअप"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<सेट नाही>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"इतर कॉल सेटिंग्ज"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> द्वारे कॉल करीत आहे"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> द्वारे येणारे"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"संपर्क फोटो"</string>
+ <string name="goPrivate" msgid="865837794424530980">"खाजगी जा"</string>
+ <string name="selectContact" msgid="781975788478987237">"संपर्क निवडा"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"आपण स्वतः लिहा…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"रद्द करा"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"पाठवा"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"एक"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"दोन"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"तीन"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"चार"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"पाच"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"सहा"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"सात"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"आठ"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"नऊ"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"तारा"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"शून्य"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"पाऊंड"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"डायल करा"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"स्पीकरफोन निवडला"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"इअरपिस निवडला"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"तार असलेला हेडसेट निवडला"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Bluetooth हेडसेट निवडला"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"कॉल नि.शब्द केला."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"कॉल सशब्द केला."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"कॉल होल्डवर ठेवला."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"कॉल होल्डवरुन काढला."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"उत्तर"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS पाठवा"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"नकार द्या"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"व्हिडिओ कॉल म्हणून उत्तर द्या"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"ऑडिओ कॉल म्हणून उत्तर द्या"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"व्हिडिओ विनंती स्वीकारा"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"व्हिडिओ विनंतीस नकार द्या"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> साठी वर स्लाइड करा."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> साठी डावीकडे स्लाइड करा."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> साठी उजवीकडे स्लाइड करा."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> साठी खाली स्लाइड करा."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"कंपन होणे"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"कंपन होणे"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"ध्वनी"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"डीफॉल्ट आवाज (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"फोन रिंगटोन"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"रिंग करताना कंपन करा"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"डायल पॅड स्वयंपूर्ण"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"रिंगटोन आणि कंपन"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"परिषद कॉल व्यवस्थापित करा"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"आणीबाणीचा नंबर"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"खाते निवडा"</string>
+</resources>
diff --git a/InCallUI/res/values-ms-rMY/strings.xml b/InCallUI/res/values-ms-rMY/strings.xml
new file mode 100644
index 0000000..19ed970
--- /dev/null
+++ b/InCallUI/res/values-ms-rMY/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefon"</string>
+ <string name="onHold" msgid="9035493194749959955">"Ditunda"</string>
+ <string name="unknown" msgid="6878797917991465859">"Tidak diketahui"</string>
+ <string name="private_num" msgid="6713286113000232309">"Nombor peribadi"</string>
+ <string name="payphone" msgid="1931775086311769314">"Telefon awam"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Talian sibuk"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Rangkaian sibuk"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Tiada respons, tamat masa"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Pelayan tidak boleh dicapai"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Nombor tidak dapat dihubungi"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Nama pengguna atau kata laluan tidak betul"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Dipanggil dari luar rangkaian"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Ralat pelayan. Cuba lagi kemudian"</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Tiada isyarat"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Melebihi had ACM"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radio dimatikan"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Tiada SIM atau ralat SIM"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Rangkaian mudah alih tidak tersedia"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Panggilan keluar dihadkan oleh FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Anda tidak boleh membuat panggilan keluar semasa sekatan panggilan dihidupkan."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Semua panggilan dihadkan oleh kawalan akses."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Panggilan kecemasan dihadkan oleh kawalan akses."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Panggilan biasa dihadkan oleh kawalan akses."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Nombor tidak sah"</string>
+ <string name="confCall" msgid="1904840547188336828">"Panggilan sidang"</string>
+ <string name="call_lost" msgid="317670617901479594">"Panggilan telah terputus."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Pembesar suara"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Alat dengar telefon mudah alih"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Set kepala berwayar"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Hantar nada berikut?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Menghantar nada\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Hantar"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Ya"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Tidak"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Gantikan aksara bebas dengan"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Panggilan sidang <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Nombor mel suara"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Mendail"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Mencuba semula"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Panggilan sidang"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Panggilan masuk"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Panggilan tamat"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Ditunda"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Menamatkan panggilan"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Dalam panggilan"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Nombor saya ialah <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Menyambungkan video"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Pgln video"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Meminta video"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Tidak dapat menyambungkan panggilan video"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Nombor panggil balik anda\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Nombor panggil balik kecemasan anda\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Mendail"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Panggilan tidak dijawab"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Panggilan tidak dijawab"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> panggilan tidak dijawab"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Panggilan tidak dijawab daripada <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Panggilan sedang berjalan"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Ditunda"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Panggilan masuk"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Panggilan video masuk"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Permintaan video masuk"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Mel suara baru"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Mel suara baru (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Dail <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Nombor mel suara tidak dikenali"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Tiada perkhidmatan"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Rangkaian pilihan (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) tidak tersedia"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Letakkan gagang"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Video dalam strim"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Suara"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Terima"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Ketepikan"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Panggil balik"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Mesej"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Untuk membuat panggilan, matikan mod Pesawat terlebih dahulu."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Tidak didaftarkan pada rangkaian."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Rangkaian mudah alih tidak tersedia."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Panggilan tidak dihantar, tiada nombor yang sah dimasukkan."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Panggilan tidak dihantar."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Memulakan jujukan MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Perkhidmatan tidak disokong."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Tidak boleh bertukar panggilan."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Tidak boleh memisahkan panggilan."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Tidak boleh memindahkan panggilan."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Tidak boleh membuat panggilan sidang."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Tidak dapat menolak panggilan."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Tidak dapat melepaskan panggilan."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Nombor mel suara tidak diketahui."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Panggilan SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Panggilan kecemasan"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Menghidupkan radio..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Di luar kawasan perkhidmatan, mencuba lagi..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Panggilan tidak dihantar. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> bukan nombor kecemasan!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Panggilan tidak dihantar. Dail nombor kecemasan!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Gunakan papan kekunci untuk mendail"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Tahan panggilan"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Sambung semula panggilan"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Tambah panggilan"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Gabung panggilan"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Silih panggilan"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Tunda"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Tamat"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Pad dail"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Redam"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Tambah panggilan"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Gabung panggilan"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Silih"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Urus panggilan"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Pgln video"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Tukar ke panggilan suara"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Tukar kamera"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Jeda video"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Lagi pilihan"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Perkhidmatan"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Persediaan"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Tidak ditetapkan>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Tetapan panggilan lain"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Memanggil melalui <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Panggilan masuk melalui <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"foto kenalan"</string>
+ <string name="goPrivate" msgid="865837794424530980">"jadi tertutup"</string>
+ <string name="selectContact" msgid="781975788478987237">"pilih kenalan"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Tulis sendiri…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Batal"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Hantar"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"satu"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"dua"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"tiga"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"empat"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"lima"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"enam"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"tujuh"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"lapan"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"sembilan"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"bintang"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"sifar"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"paun"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"dail"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Panggilan diredam."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Jawapan"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Hantar SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Tolak"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Jawab sebagai panggilan video"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Jawab sebagai panggilan audio"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Terima permintaan video"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Tolak permintaan video"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Luncurkan ke atas untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Luncurkan ke kiri untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Luncurkan ke kanan untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Luncurkan ke bawah untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Getar"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Getar"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Bunyi"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Bunyi lalai (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Nada dering telefon"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Bergetar apabila berdering"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Autolengkap pad pendail"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Nada dering & Bergetar"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Urus panggilan sidang"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Nombor kecemasan"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Pilih Akaun"</string>
+</resources>
diff --git a/InCallUI/res/values-my-rMM/strings.xml b/InCallUI/res/values-my-rMM/strings.xml
new file mode 100644
index 0000000..b5cfcc9
--- /dev/null
+++ b/InCallUI/res/values-my-rMM/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"ဖုန်း"</string>
+ <string name="onHold" msgid="9035493194749959955">"ခဏ ကိုင်ထားစဉ်"</string>
+ <string name="unknown" msgid="6878797917991465859">"အကြောင်းအရာ မသိရှိ"</string>
+ <string name="private_num" msgid="6713286113000232309">"လျို့ဝှက် နံပါတ်"</string>
+ <string name="payphone" msgid="1931775086311769314">"အများသုံးတယ်လီဖုန်း"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"ဖုန်းလိုင်းမအားပါ"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"အလုပ်များနေသော ကွန်ယက်"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"အကြောင်းပြန်မှုမရှိ၊ အချိန်ကျော်လွန်သွား"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"ဆာဗာကို ဆက်သွယ်၍မရပါ"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"ဖုန်းနံပါတ်အား ခေါ်ဆို၍ မရပါ"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"သုံးစွဲသူအမည် သို့မဟုတ် စကားဝှက် မှားနေပါသည်"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"ကွန်ယက်ပြင်ပမှ ခေါ်ဆိုမှု"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"ဆာဗာမှားယွင်းမှု။ နောင်မှ ပြန်ကြိုးစားပါ"</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"ထုတ်လွှင့်မှု မရှိပါ"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM အတိုင်းအတာ ကျော်လွန်ပါသည်။"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"ရေဒီယိုအားပိတ်သည်"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"ဆင်းမ်ကဒ်မရှိ သို့မဟုတ် ဆင်းမ်ကဒ်အမှား"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"မိုဘိုင်း ကွန်ရက် မရှိ"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"အထွက် ခေါ်ဆိုမှုများအားFDN မှ ကန့်သတ်ထားပါသည်"</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"ဖုန်းခေါ်ဆိုမှု ပိတ်ထားစဉ် အထွက်ဖုန်းခေါ်ဆိုမှု မပြုနိုင်ပါ"</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"ဖုန်းခေါ်ဆိုမှုအားလုံးအား ခွင့်ပြုမှု ထိန်းချုပ်ခြင်းစနစ်မှကန့်သတ်ထားပါသည်"</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"အရေးပေါ် ခေါ်ဆိုမှုများအား ခွင့်ပြုမှု ထိန်းချုပ်ခြင်းစနစ်မှ ကန့်သတ်ထားပါသည်"</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"ပုံမှန် ခေါ်ဆိုမှုများအား ခွင့်ပြုမှု ထိန်းချုပ်ခြင်းစနစ်မှ ကန့်သတ်ထားပါသည်"</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"နံပါတ်အမှား"</string>
+ <string name="confCall" msgid="1904840547188336828">"ကွန်းဖရင့်ခေါ်ဆိုမှု"</string>
+ <string name="call_lost" msgid="317670617901479594">"ဖုန်းခေါ်မှု ပျောက်ဆုံးသွားပါသည်"</string>
+ <string name="ok" msgid="3811371167865772377">"ကောင်းပြီ"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"စပီကာ"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"လက်ကိုင်တယ်လီဖုန်းနားခွက်"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"ကြိုးတပ် မိုက်ခွက်ပါနားကြပ်"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"ဘလူးတုသ်"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"အောက်ပါ တီးလုံးများကို ပို့မလား?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"အသံ ပို့နေစဉ်\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"ပို့ခြင်း"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"ဟုတ်ကဲ့"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"မဟုတ်ပါ"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"wildစာလုံးကို အစားထိုးရန်မှာ"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"ကွန်းဖရင့် ခေါ်ဆိုမှု <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"အသံစာပို့စနစ်နံပါတ်"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"ဖုန်းခေါ်နေစဉ်"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"ပြန်ကြိုးစားနေစဉ်"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"ကွန်းဖရင့်ခေါ်ဆိုမှု"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"အဝင်ခေါ်ဆိုမှု"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"ဖုန်းခေါ်ဆိုမှု ပြီးဆုံးပါပြီ"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"ခဏ ကိုင်ထားစဉ်"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"ဖုန်းချနေပါသည်"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"ဖုန်းပြောနေစဉ်"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"ကျွန်ုပ်၏ နံပါတ်မှာ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> ဖြစ်ပါသည်"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"ဗီဒီယို ချိတ်ဆက်နေ"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"ဗီဒီယို ခေါ်ဆိုမှု"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"ဗွီဒီယိုကို တောင်းဆိုနေ"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"ဗွီဒီယို ခေါ်ဆိုမှု ချိတ်ဆက် မရနိုင်"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"သင် ပြန်ခေါ်ရမည့် နံပါတ်\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"သင်၏ အရေးပေါ် ပြန်ခေါ်ရန် နံပါတ်\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"ဖုန်းခေါ်နေစဉ်"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"လွဲသွားသော ဖုန်းခေါ်မှု"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"လွဲသွားသော ဖုန်းခေါ်မှုများ"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> လွဲသွားသော ဖုန်းခေါ်မှုများ"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> က ဖုန်းခေါ်မှုကို မကိုင်မိပါ"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"ဆက်သွားနေသော ဖုန်းခေါ်မှု"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"ခဏ ကိုင်ထားစဉ်"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"အဝင်ခေါ်ဆိုမှု"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"ဝင်လာသည့် ဗီဒီယို ခေါ်ဆိုမှု"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"အသံ ခေါ်ဆိုမှုအဖြစ် တောင်းဆိုမှု"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"အသံမေးလ်အသစ်"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"အသံစာ အသစ် (<xliff:g id="COUNT">%d</xliff:g>) စောင်"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> ကိုခေါ်ပါ"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"အသံဖုန်းခေါ်မှုနံပါတ် မသိပါ"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"ဝန်ဆောင်မှု မရှိပါ"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"ရွေးချယ်ထားသော ကွန်ယက် (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) မရရှိနိုင်ပါ"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"ဖုန်းချလိုက်ပါပြီ"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"ဗီဒီယို"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"အသံ"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"လက်ခံရန်"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"ပယ်ရန်"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"ပြန်ခေါ်ပါ"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"စာတို"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"ဖုန်းခေါ်ဆိုမှုပြုရန်, လေယာဥ်ပျံပေါ်အသုံးပြုသောစနစ်ကို ပိတ်ပါ"</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"ကွန်ယက်ပေါ်မှာ မှတ်ပုံတင်မှု မပြုလုပ်ထားပါ"</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"မိုဘိုင်းကွန်ယက်များ မရှိပါ"</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"ဖုန်းခေါ်မှု မထွက်ပါ၊ မှန်ကန်သော ဖုန်းနံပါတ် မဟုတ်ပါ"</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"ဖုန်းခေါ်မှု မထွက်ပါ"</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI အမှတ်စဉ်ကို စတင်နေပါသည်…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"ထောက်ပံ့ထားသေား ဝန်ဆောင်မှု မဟုတ်ပါ"</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"ဖုန်းခေါ်မှုများကြား အလှည့်အပြောင်းလုပ်လို့ မရပါ"</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"ဖုန်းခေါ်မှုကို ခွဲပစ်လို့ မရပါ"</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"ဖုန်းခေါ်မှုကို လွှဲပြောင်းပေးလို့ မရပါ"</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"ကွန်းဖရင့် ပြုလုပ်၍ မရပါ"</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"ဖုန်းခေါ်မှုကို ငြင်းလို့မရပါ"</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"ဖုန်းခေါ်ဆိုမှု(များ) လွှတ်လို့ မရပါ"</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"အသံစာ နံပါတ် မသိရ။"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP ခေါ်ဆိုမှုများ"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"အရေးပေါ်ခေါ်ဆိုမှု"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"ရေဒီယို ဖွင့်နေစဉ်…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"ဆက်သွယ်မှုဧရိယာပြင်ပ၊ ပြန်လည်ကြိုးစားနေစဉ်..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"ဖုန်းခေါ်ဆိုမှု မဖြစ်ပါ, <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> မှာ အရေးပေါ်ဖုန်းနံပါတ် မဟုတ်ပါ!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"ဖုန်းခေါ်မှု မအောင်မြင်ပါ။ အရေးပေါ်နံပါတ် တစ်ခုရိုက်ထည့်ပါ!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"ကီးဘုတ်သုံး၍ခလုတ်နှိပ်ပါ"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"ခေါ်ဆိုမှု ခဏရပ်ပါ"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"ခေါ်ဆိုမှု ဆက်လုပ်ရန်"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"ခေါ်ဆိုမှု ထည့်ရန်"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"ခေါ်ဆိုမှုများကို ပေါင်းစည်းရန်"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"ခေါ်ဆိုမှုများကို ဖလှယ်ရန်"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"ကိုင်ထားသည်"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"ပြီးပါပြီ"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"နံပါတ်ကွက်"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"အသံတိတ်"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"ဖုန်းခေါ်မှု ထပ်ထည့်ပါ"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"ဖုန်းခေါ်မှုများကို ပူးပေါင်းသည်"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"လဲပြောင်းသည်"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"ဖုန်းခေါ်မှုကို ကြီးကြပ်သည်"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"အသံ"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"ဗီဒီယိုခေါ်ဆိုမှု"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"အသံဖြင့် ခေါ်ဆိုမှုသို့ ပြောင်းရန်"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"ကင်မရာကို ဖွင့်ရန်"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"ဗီဒီယို ဆိုင်းငံ့ရန်"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"နောက်ထပ် ရွေးစရာများ"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"ဝန်ဆောင်မှု"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"ပြင်ဆင်သည်"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"မသတ်မှတ်ထားပါ"</string>
+ <string name="other_settings" msgid="3672912580359716394">"တခြားခေါ်ဆိုမှုဆိုင်ရာ ဆက်တင်"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> မှ ခေါ်ဆိုခြင်း"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"<xliff:g id="PROVIDER_NAME">%s</xliff:g>မှ တစ်ဆင့် ခေါ်ဆိုမှု"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"အဆက်အသွယ်များ၏ ဓာတ်ပုံ"</string>
+ <string name="goPrivate" msgid="865837794424530980">"ပရိုက်ဗိတ်သို့ သွားပါ"</string>
+ <string name="selectContact" msgid="781975788478987237">"လိပ်စာရွေးပါ"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"သင့်ကိုယ်ပိုင် စာသား ရေးပါ..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"ပယ်ဖျက်သည်"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"ပို့ခြင်း"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"တစ်"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"နှစ်"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"သုံး"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"လေး"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"ငါး"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"ခြောက်"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"ခုနှစ်"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"ရှစ်"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"ကိုး"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"ကြယ်ခုလုတ်"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"သုံည"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"စတာလင်ပေါင်"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"ဖုန်းခေါ်ခြင်း"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"နောက်ပြန်ဖျက်ခလုတ်"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"စမီကာဖုန်းကို ရွေးထား"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"နားကြပ်ကို ရွေးထား"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"ကြိုးတပ် ဟက်ဆက်ကို ရွေးထား"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"ဘလူးတုသ် ဟက်ဆက်ကို ရွေးထား"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"နားထောင်ရုံသာ (စကားပြောပိတ်ထားသည်)"</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"ခေါ်ဆိုမှု အသံတိတ်မထားပါ"</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"ခေါ်ဆိုမှုကို ရပ်ဆိုင်းထားသည်။"</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"ခေါ်ဆိုမှုကို ရပ်ဆိုင်းမှု ထဲမှ ဖယ်ရှားလိုက်ပြီ။"</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"အဖြေ"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"စာတို ပေးပို့သည်"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"လက်မခံပါ"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"ဗွီဒီယို ခေါ်ဆိုမှုအဖြစ် ဖြေကြားရန်"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"အသံ ခေါ်ဆိုမှုအဖြစ် ဖြေကြားရန်"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"ဗီဒီယို တောင်းဆိုမှုကို လက်ခံရန်"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"ဗီဒီယို တောင်းဆိုမှုကို ငြင်းပယ်ရန်"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> အတွက် အပေါ်ကို ပွတ်ဆွဲပါ"</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> အတွက် ဖယ်ဘက်ကို ပွတ်ဆွဲပါ"</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> အတွက် ညာဖက်ကို ပွတ်ဆွဲပါ"</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> အတွက် အောက်ကို ပွတ်ဆွဲပါ"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"တုန်ခါခြင်း"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"တုန်ခါခြင်း"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"အသံ"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"ပုံသေ အသံ (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"ဖုန်းမြည်သံ"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"ဖုန်းမြည်စဉ်တုန်ခါရန်"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"အလိုအလျောက် နံပါတ်ဖြည့်ပေးသော ဖုန်းနံပါတ်ပြား"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"ဖုန်းမြည်သံ & တုန်ခါသံ"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"ကွန်းဖရင့် ခေါ်ဆိုမှုကို ထိန်းချုပ်သည်"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"အရေးပေါ်နံပါတ်"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"အကောင့်ကို ရွေးရန်"</string>
+</resources>
diff --git a/InCallUI/res/values-nb/strings.xml b/InCallUI/res/values-nb/strings.xml
new file mode 100644
index 0000000..7690065
--- /dev/null
+++ b/InCallUI/res/values-nb/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefon"</string>
+ <string name="onHold" msgid="9035493194749959955">"Parkert"</string>
+ <string name="unknown" msgid="6878797917991465859">"Ukjent"</string>
+ <string name="private_num" msgid="6713286113000232309">"Hemmelig nummer"</string>
+ <string name="payphone" msgid="1931775086311769314">"Telefonkiosk"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Opptatt"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Nettverket er opptatt"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Ingen respons, tidsavbrudd"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Tjeneren kan ikke nås"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Nummeret kan ikke nås"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Feil brukernavn eller passord"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Anrop utenfor nettverk"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Tjenerfeil. Prøv igjen senere."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Mangler signal"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM-grense nådd"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radioen er av"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Ikke noe SIM-kort eller SIM-kortfeil"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Mobilnettverket er ikke tilgjengelig"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Utgående samtaler er begrenset til faste nummer."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Du kan ikke foreta utgående anrop når samtalesperre er på."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Alle samtaler er begrenset av tilgangskontroll."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Nødsamtaler er begrenset av tilgangskontroll."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Vanlige samtaler er begrenset av tilgangskontroll."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Ugyldig tall"</string>
+ <string name="confCall" msgid="1904840547188336828">"Telefonmøte"</string>
+ <string name="call_lost" msgid="317670617901479594">"Samtalen er mistet."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Høyttaler"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Telefonens øreplugg"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Hodetelefon med kabel"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Send disse tonene?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Sendetoner\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Send"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Ja"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Nei"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Erstatt jokertegn med"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Telefonmøte <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Nummer til telefonsvarer"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Ringer"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Prøver på nytt"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Telefonmøte"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Innkommende anrop"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Samtale avsluttet"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Parkert"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Legger på"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Samtale pågår"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Nummeret mitt er <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Kobler til videoanrop"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videoanrop"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Ber om video"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Kan ikke koble til videoanropet"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Nummeret ditt for tilbakeringing\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Kontaktnummeret ditt for nødstilfeller\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Slår nummeret"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Tapt anrop"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Tapte anrop"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> tapte anrop"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Tapt anrop fra <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Pågående samtale"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Parkert"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Innkommende samtale"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Innkommende videoanrop"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Innkommende videoforespørsel"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Nye beskjeder på telefonsvarer"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Nye beskjeder på telefonsvarer (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Ring <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Mangler nummer til telefonsvarer"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Ingen tjeneste"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Valgt nettverk (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) er ikke tilgjengelig"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Legg på"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Google Voice"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Godta"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Avvis"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Ring tilbake"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Melding"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"For å ringe, slå av flymodus først."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ikke registrert på nettverket."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mobilnettverket er ikke tilgjengelig."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Samtalen ble ikke opprettet, mangler eller ugyldig nummer."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Samtalen ble ikke opprettet."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Begynner MMI-sekvens…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Ustøttet tjeneste."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Kan ikke bytte samtale."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Kan ikke skille samtale."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Kan ikke overføre samtale."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Kan ikke opprette telefonmøte."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Kan ikke avvise anrop."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Kan ikke legge på."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Nummeret til talepostkassen mangler."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP-anrop"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Nødanrop"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Slår på radio…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Utenfor dekningsområde, prøver igjen…"</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Anrop ikke utført. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> er ikke et nødnummer!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Anrop ikke foretatt. Ring et nødnummer!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Bruk tastaturet for å ringe"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Sett samtalen på vent"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Gjenoppta samtale"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Legg til samtale"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Slå sammen samtaler"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Bytt samtaler"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Hold"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Avslutt"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Talltastatur"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Lyd av"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Tilføy anrop"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Slå sammen samtaler"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Bytt"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Administrer samtaler"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Lyd"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videosamtale"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Bytt til taleanrop"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Bytt kamera"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Sett videoen på pause"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Flere alternativer"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Tjeneste"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Konfigurering"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Ikke angitt>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Andre ringeinnstillinger"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Ringer via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Innkommende via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"kontaktbilde"</string>
+ <string name="goPrivate" msgid="865837794424530980">"aktiver privat samtale"</string>
+ <string name="selectContact" msgid="781975788478987237">"velg kontakt"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Skriv ditt eget"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Avbryt"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Send"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"en"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"to"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"tre"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"fire"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"fem"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"seks"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"syv"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"åtte"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"ni"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"stjerne"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"null"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"firkant"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"ring"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"tilbaketast"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Høyttaleren er valgt"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Ørepluggen er valgt"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Hodetelefonene med ledning er valgt"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Bluetooth-hodetelefonene er valgt"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Samtalelyd er kuttet."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"Anropslyden er slått på."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"Anropet er satt på vent."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"Anropet er ikke lenger på vent."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Svar"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Send tekstmelding"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Avslå"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Svar med video"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Svar uten video"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Godta videoforespørselen"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Avslå videoforespørselen"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Dra opp for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Dra til venstre for å <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Dra til høyre for å <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Dra ned for å <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibrering"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibrering"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Lyd"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Standardlyd (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Telefonringetone"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrering når det ringer"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Autofullf. for talltast."</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Ringetone og vibrering"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Administrer konferansesamtale"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Nødnummer"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Velg konto"</string>
+</resources>
diff --git a/InCallUI/res/values-ne-rNP/strings.xml b/InCallUI/res/values-ne-rNP/strings.xml
new file mode 100644
index 0000000..8a65414
--- /dev/null
+++ b/InCallUI/res/values-ne-rNP/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"फोन"</string>
+ <string name="onHold" msgid="9035493194749959955">"होल्डमा"</string>
+ <string name="unknown" msgid="6878797917991465859">"अज्ञात"</string>
+ <string name="private_num" msgid="6713286113000232309">"निजी नम्बर"</string>
+ <string name="payphone" msgid="1931775086311769314">"फोन तिर्नुहोस्"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"लाइन व्यस्त"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"नेटवर्क व्यस्त"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"कुनै पनि जवाफ छैन, समय सकियो।"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"सर्भर पहुँचयोग्य"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"सङ्ख्या पहुँचयोग्य छैन"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"गलत प्रयोगकर्ता नाम वा पासवर्ड"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"नेटवर्कको बाहिरबाट कल भयो"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"सर्भर त्रुटि। पछि पुनःप्रयास गर्नुहोस्।"</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"सङ्केत छैन"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM सीमा पार भयो"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"रेडियो बन्द"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"SIM छैन वा SIM त्रुटि"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"मोबाइल सञ्जाल उपलब्ध छैन"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"FDN द्वारा बहिर्गमन कल निषेधित गरिएको छ।"</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"कल ब्यारिङ हुँदा तपाईं बहिर्गमन कलहरू गर्न सक्नु हुन्न।"</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"पहुँच नियन्त्रणद्वारा सबै कलहरू प्रतिबन्धित छन्।"</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"पहुँच नियन्त्रणद्वारा आपतकालीन कलहरू प्रतिबन्धित छन्।"</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"पहुँच नियन्त्रणद्वारा सामान्य कलहरू प्रतिबन्धित छन्।"</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"अमान्य सङ्ख्या"</string>
+ <string name="confCall" msgid="1904840547188336828">"सम्मेलन कल"</string>
+ <string name="call_lost" msgid="317670617901479594">"कल हराएको छ।"</string>
+ <string name="ok" msgid="3811371167865772377">"ठिक छ"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"स्पिकर"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"ह्यान्डसेट इयरपिस"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"तारसहितको हेडसेट"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"ब्लुटुथ"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"निम्न टोनहरू पठाउने? \n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"टोनहरू \n पठाउँदै"</string>
+ <string name="send_button" msgid="4106860097497818751">"पठाउनुहोस्"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"हो"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"होइन"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"यससँग वाइल्ड अक्षर बदल्नुहोस्"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"सम्मेलन कल <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"भ्वाइसमेल नम्बर"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"डायल गर्दै"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"पुनः प्रयास गर्दै"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"सम्मेलन कल"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"आगमन कल"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"कल अन्त्य भयो"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"होल्डमा"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"फोन काट्दै"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"कलमा"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"मेरो नम्बर <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> हो"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"भिडियो जडान गरिँदै"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"भिडियो कल"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"भिडियो अनुरोध"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"भिडियो कल जडान गर्न सकिएन"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"तपाईंको कल ब्याक नम्बर\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"तपाईंको आकस्मिक कल फिर्ता नम्बर\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"डायल गर्ने"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"छुटेका कल"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"छुटेका कल"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> छुटेका कलहरू"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g>बाट छुटेका कल"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"चलिरहेको कल"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"होल्डमा"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"आगमन कल"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"आगमन भिडियो कल"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"आगमन भिडियो अनुरोध"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"नयाँ भ्वाइस मेल"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"नयाँ भ्वाइसमेल ( <xliff:g id="COUNT">%d</xliff:g> )"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>मा डायल गर्नुहोस्"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"अज्ञात भवाइसमेल नम्बर"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"सेवा छैन"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"चयन गरिएको नेटवर्क ( <xliff:g id="OPERATOR_NAME">%s</xliff:g> ) अनुपलब्ध"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"छुटाउनुहोस्"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"भिडियो"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"आवाज"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"स्वीकार्नुहोस्"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"खारेज गर्नुहोस्"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"फेरि कल गर्नुहोस्"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"सन्देश"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"कल राख्नका लागि, पहिले हवाइजहाज मोड बन्द गर्नुहोस्।"</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"नेटवर्कमा दर्ता भएको छैन।"</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"मोबाइल नेटवर्क उपलब्ध छैन।"</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"कल पठाइएन, सही नम्बर प्रविष्टि गरिएको छैन।"</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"कल पठाइएन"</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI अनुक्रम सुरु गर्दै..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"असमर्थित सेवा।"</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"कलहरू स्विच गर्न असमर्थ ।"</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"कल अलग गर्न असमर्थ ।"</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"कल हस्तान्तरण गर्न असमर्थ"</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"सम्मेलन कलहरू गर्न असमर्थ।"</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"कल अस्वीकार गर्न असमर्थ।"</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"कल(हरू) छुटाउन असमर्थ।"</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"भ्वाइसमेल नम्बर अज्ञात छ।"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP कल"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"आपतकालीन कल"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"रेडियो खोल्दै..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"सेवा क्षेत्रभन्दा बाहिर, पुनः प्रयास गर्दै..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"कल पठाएको छैन। <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> आपतकालीन नम्बर हैन!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"कल पठाएको छैन। एउटा आपतकालीन नम्बर डायल गर्नुहोस्!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"डायल गर्न किबोर्ड प्रयोग गर्नुहोस्"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"कल होल्ड गर्नुहोस्"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"कललाई पुन: निरन्तरता दिनुहोस्"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"कल थप्नुहोस्"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"कलहरू जोड्नुहोस्"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"कलहरू स्वाप गर्नुहोस्"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"होल्ड गर्नुहोस्"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"अन्त्य गर्नुहोस्"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"डायलप्याड"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"म्युट"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"कल थप्नुहोस्"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"कलहरू समायोजन गर्नुहोस्"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"स्वाप"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"कलहरू प्रबन्ध गर्नुहोस्"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"अडियो"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"भिडियो कल"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"आवाज कल गर्न परिवर्तन"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"क्यामेरा फेर्नुहोस्"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"भिडियो स्थगित गर्नुहोस्"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"थप विकल्पहरू"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"सेवा"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"सेटअप"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"सेट गरेको छैन"</string>
+ <string name="other_settings" msgid="3672912580359716394">"अन्य कल सेटिङहरू"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> को मार्फत कल गर्दै"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> मार्फत आगमन"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"सम्पर्क फोटो"</string>
+ <string name="goPrivate" msgid="865837794424530980">"निजी जानुहोस्"</string>
+ <string name="selectContact" msgid="781975788478987237">"सम्पर्क चयन गर्नुहोस्"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"आफ्नै लेख्नुहोस्..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"रद्द गर्नुहोस्"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"पठाउनुहोस्"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"एक"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"दुई"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"तिन"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"चार"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"पाँच"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"छ"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"सात"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"आठ"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"नौ"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"तारा चिन्ह"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"शून्य"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"पाउन्ड"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"डायल"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"ब्याकस्पेस"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"कल म्युट भयो।"</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"उत्तर"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS पठाउनुहोस्"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"अस्वीकार गर्नुहोस्"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"भिडियो कल रूपमा जवाफ दिनुहोस्"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"अडियो कलको रूपमा जवाफ दिनुहोस्"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"भिडियो अनुरोध स्वीकार गर्नुहोस्"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"भिडियो अनुरोध अस्वीकार गर्नुहोस्"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> को लागि माथि सार्नुहोस्।"</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>को लागि बायाँ सार्नुहोस्।"</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>को लागि दायाँ सार्नुहोस्।"</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> को लागि तल सार्नुहोस्।"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"भाइब्रेट"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"भाइब्रेट"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"आवाज:"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"पूर्वनिर्धारित ध्वनि ( <xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g> )"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"फोन रिङटोन"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"घन्टी बज्दा भाइब्रेट"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"डायल प्याड स्वतःपूर्ण"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"रिङ्गटोन र भाइब्रेट"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"सम्मेलन कल प्रबन्ध गर्नुहोस्"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"आपतकालीन नम्बर"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"खाता चयन गर्नुहोस्"</string>
+</resources>
diff --git a/InCallUI/res/values-nl/strings.xml b/InCallUI/res/values-nl/strings.xml
new file mode 100644
index 0000000..6594eb0
--- /dev/null
+++ b/InCallUI/res/values-nl/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefoon"</string>
+ <string name="onHold" msgid="9035493194749959955">"In de wacht"</string>
+ <string name="unknown" msgid="6878797917991465859">"Onbekend"</string>
+ <string name="private_num" msgid="6713286113000232309">"Privénummer"</string>
+ <string name="payphone" msgid="1931775086311769314">"Betaaltelefoon"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Lijn is bezet"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Netwerk bezet"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Geen reactie, time-out"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Server niet bereikbaar"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Nummer niet bereikbaar"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Ongeldige gebruikersnaam of wachtwoord"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Gebeld van buiten het netwerk"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Fout met server. Probeer het later opnieuw."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Geen kiestoon"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM-limiet overschreden"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radio uit"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Geen simkaart of fout met simkaart"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Mobiel netwerk niet beschikbaar"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Uitgaande oproepen worden beperkt door FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Uitgaande oproepen zijn niet mogelijk als de functie voor oproepen blokkeren is ingeschakeld."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Alle oproepen worden beperkt door toegangsbeheer."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Noodoproepen worden beperkt door toegangsbeheer."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Normale oproepen worden beperkt door toegangsbeheer."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Ongeldig getal"</string>
+ <string name="confCall" msgid="1904840547188336828">"Telefonische vergadering"</string>
+ <string name="call_lost" msgid="317670617901479594">"De verbinding is verbroken."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Luidspreker"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Oortelefoon van handset"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Bedrade headset"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"De volgende tonen verzenden?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Nummers verzenden\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Verzenden"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Ja"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Nee"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Jokerteken vervangen door"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Telefonische vergadering <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Voicemailnummer"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Kiezen"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Opnieuw proberen"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Telefonische vergadering"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Inkomende oproep"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Oproep beëindigd"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"In de wacht"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Ophangen"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Actieve oproep"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Mijn nummer is <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Verbinding maken met video"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videogesprek"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Video aanvragen"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Kan geen verbinding maken met videogesprek"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Uw terugbelnummer\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Uw terugbelnummer voor noodgevallen\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Kiezen"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Gemiste oproep"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Gemiste oproepen"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> gemiste oproepen"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Gemiste oproep van <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Actieve oproep"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"In de wacht"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Inkomende oproep"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Binnenkomend videogesprek"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Binnenkomend videoverzoek"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Nieuwe voicemail"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Nieuwe voicemail (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> bellen"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Voicemailnummer onbekend"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Geen service"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Geselecteerd netwerk (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) niet beschikbaar"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Ophangen"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"InStream-video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Spraak"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Accepteren"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Sluiten"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Terugbellen"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Bericht"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Als u wilt bellen, moet u eerst de Vliegmodus uitschakelen."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Niet geregistreerd op netwerk."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mobiel netwerk niet beschikbaar."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Oproep niet verzonden, geen geldig nummer ingevoerd."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Oproep niet verzonden."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI-reeks starten..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Niet-ondersteunde service."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Kan niet overschakelen tussen oproepen."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Kan oproep niet scheiden."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Kan oproep niet doorschakelen."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Telefonische vergaderingen niet mogelijk."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Kan oproep niet weigeren."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Kan oproepen niet vrijgeven."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Voicemailnummer onbekend"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP-oproep"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Noodoproep"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Radio aanzetten..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Buiten servicegebied, nieuwe poging..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Oproep niet verzonden. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> is geen alarmnummer!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Oproep niet verzonden. Kies een alarmnummer!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Toetsen gebruiken om te bellen"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Gesprek in de wacht zetten"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Gesprek hervatten"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Oproep toevoegen"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Oproepen samenvoegen"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Oproepen wisselen"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"In de wacht"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Beëindigen"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Toetsenblok"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Dempen"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Oproep toevoegen"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Oproepen samenvoegen"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Wisselen"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Gesprekken beheren"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videogesp."</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Wijzigen in spraakoproep"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Camera wijzigen"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Video onderbreken"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Meer opties"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Service"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Instelling"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Niet ingesteld>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Andere instellingen voor bellen"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Bellen via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Inkomend via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"contactfoto"</string>
+ <string name="goPrivate" msgid="865837794424530980">"privé"</string>
+ <string name="selectContact" msgid="781975788478987237">"contact selecteren"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Eigen reactie opstellen..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Annuleren"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Verzenden"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"één"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"twee"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"drie"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"vier"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"vijf"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"zes"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"zeven"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"acht"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"negen"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"ster"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"nul"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"hekje"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"bellen"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Luidsprekertelefoon geselecteerd"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Oortelefoon geselecteerd"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Bedrade headset geselecteerd"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Bluetooth-headset geselecteerd"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Oproep gedempt."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"Dempen van gesprek opgeheven."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"Gesprek in de wacht gezet."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"Gesprek uit de wacht gehaald."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Antwoord"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Sms verzenden"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Weigeren"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Beantwoorden als videogesprek"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Beantwoorden als audiogesprek"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Videoverzoek accepteren"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Videoverzoek weigeren"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Veeg omhoog voor <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Veeg naar links voor <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Veeg naar rechts voor <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Veeg omlaag voor <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Trillen"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Trillen"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Geluid"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Standaardgeluid (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Beltoon telefoon"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Trillen bij bellen"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Autom. aanvul. voor toetsenblok"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Beltoon en trillen"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Telefonische vergadering beheren"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Alarmnummer"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Account selecteren"</string>
+</resources>
diff --git a/InCallUI/res/values-pl/strings.xml b/InCallUI/res/values-pl/strings.xml
new file mode 100644
index 0000000..bde0c5b
--- /dev/null
+++ b/InCallUI/res/values-pl/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefon"</string>
+ <string name="onHold" msgid="9035493194749959955">"Oczekujące"</string>
+ <string name="unknown" msgid="6878797917991465859">"Nieznany"</string>
+ <string name="private_num" msgid="6713286113000232309">"Numer prywatny"</string>
+ <string name="payphone" msgid="1931775086311769314">"Płatny telefon"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Linia jest zajęta"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Sieć zajęta"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Brak odpowiedzi, przekroczono limit czasu"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Serwer nieosiągalny"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Numer nieosiągalny"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Nieprawidłowa nazwa użytkownika lub hasło"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Połączenie spoza sieci"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Błąd serwera. Spróbuj ponownie później."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Brak sygnału"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Przekroczono limit ACM"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Sieci bezprzewodowe są wyłączone"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Brak lub błąd karty SIM"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Sieć komórkowa niedostępna"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Połączenia są ograniczone do listy ustalonych numerów."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Nie można wykonywać połączeń wychodzących, gdy włączona jest blokada dzwonienia."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Wszystkie połączenia są zablokowane przez funkcję kontroli dostępu."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Połączenia alarmowe są zablokowane przez funkcję kontroli dostępu."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Zwykłe połączenia są zablokowane przez funkcję kontroli dostępu."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Nieprawidłowy numer"</string>
+ <string name="confCall" msgid="1904840547188336828">"Poł. konferencyjne"</string>
+ <string name="call_lost" msgid="317670617901479594">"Połączenie zostało zerwane."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Głośnik"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Słuchawka telefonu"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Przewodowy zestaw słuch."</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Wysłać następujące dzwonki?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Wysyłanie sygnałów\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Wyślij"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Tak"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Nie"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Zastąp symbol wieloznaczny"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Poł. konferencyjne <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Numer poczty głosowej"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Wybieranie"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Ponawianie próby"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Poł. konferencyjne"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Połączenie"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Połączenie zakończone"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Oczekujące"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Trwa rozłączanie"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Trwa połączenie"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Mój numer to <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Rozpoczynanie rozmowy wideo"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Rozmowa wideo"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Wysyłanie żądania wideo"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Nie można rozpocząć rozmowy wideo"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Twój numer kontaktowy\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Twój numer kontaktowy w sytuacjach alarmowych\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Trwa wybieranie numeru"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Nieodebrane połączenie"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Połączenia nieodebrane"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> nieodebranych połączeń"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Nieodebrane połączenie z <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Trwa połączenie"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Oczekujące"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Połączenie przychodzące"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Przychodząca rozmowa wideo"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Przychodzące żądanie wideo"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Nowa poczta głosowa"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Nowa poczta głosowa (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Zadzwoń do <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Nieznany numer poczty głosowej"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Brak usługi"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Wybrana sieć (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) jest niedostępna"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Rozłącz"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Rozmowa wideo"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Głos"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Zaakceptuj"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Odrzuć"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Oddzwoń"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Wiadomość"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Aby rozpocząć połączenie, wyłącz najpierw tryb samolotowy"</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Nie zarejestrowano w sieci"</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Sieć komórkowa jest niedostępna."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Połączenie niezrealizowane, nie wprowadzono poprawnego numeru."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Połączenie nie zostało zrealizowane."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Rozpoczynanie sekwencji MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Nieobsługiwana usługa."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Nie można przełączyć rozmów."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Nie można rozdzielić połączenia."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Nie można przekazać połączenia."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Nie można prowadzić rozmów konferencyjnych."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Nie można odrzucić połączenia."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Nie można zakończyć połączenia (połączeń)."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Nieznany numer poczty głosowej."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Połączenie SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Połączenie alarmowe"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Trwa włączanie sieci bezprzewodowych..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Obszar nieobsługiwany, ponowna próba..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Połączenie niezrealizowane. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nie jest numerem alarmowym!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Połączenie niezrealizowane. Wybierz numer alarmowy!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Aby zadzwonić, użyj klawiatury."</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Wstrzymaj połączenie"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Wznów połączenie"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Dodaj połączenie"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Scal połączenia"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Przełącz"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Wstrzymaj"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Zakończ"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Klawiatura"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Wycisz"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Dodaj połączenie"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Scal połączenia"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Przełącz"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Zarządzaj połączeniami"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Dźwięk"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Rozmowa wideo"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Zmień na połączenie głosowe"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Przełącz aparat"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Wstrzymaj film"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Więcej opcji"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Usługa"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Konfiguracja"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Nie ustawiono>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Inne ustawienia połączeń"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Nawiązywanie połączenia przez <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Przychodzące przez <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"zdjęcie kontaktu"</string>
+ <string name="goPrivate" msgid="865837794424530980">"przejdź do rozmowy prywatnej"</string>
+ <string name="selectContact" msgid="781975788478987237">"wybierz kontakt"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Napisz własną..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Anuluj"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Wyślij"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"jeden"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"dwa"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"trzy"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"cztery"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"pięć"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"sześć"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"siedem"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"osiem"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"dziewięć"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"gwiazdka"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"zero"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"znak funta"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"wybierz numer"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"cofnij"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Połączenie wyciszone."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Odpowiedz"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Wyślij SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Odrzuć"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Odbierz jako rozmowę wideo"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Odbierz jako rozmowę audio"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Przyjmij połączenie wideo"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Odrzuć połączenie wideo"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Przesuń w górę: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Przesuń w lewo: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Przesuń w prawo: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Przesuń w dół: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Wibracje"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Wibracje"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Dźwięk"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Domyślny dźwięk (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Dzwonek telefonu"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Wibracje i dzwonek"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Autouzupełnianie klawiatury"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Dzwonek i wibracje"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Zarządzaj połączeniem konferencyjnym"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Numer alarmowy"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Wybierz konto"</string>
+</resources>
diff --git a/InCallUI/res/values-pt-rPT/strings.xml b/InCallUI/res/values-pt-rPT/strings.xml
new file mode 100644
index 0000000..b8d4dc2
--- /dev/null
+++ b/InCallUI/res/values-pt-rPT/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telemóvel"</string>
+ <string name="onHold" msgid="9035493194749959955">"Em espera"</string>
+ <string name="unknown" msgid="6878797917991465859">"Desconhecido"</string>
+ <string name="private_num" msgid="6713286113000232309">"Número particular"</string>
+ <string name="payphone" msgid="1931775086311769314">"Telefone público"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Linha ocupada"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Rede ocupada"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Sem resposta, tempo limite excedido"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Servidor inacessível"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Número incontactável"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Nome de utilizador ou palavra-passe incorretos"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Chamada efetuada de fora da rede"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Erro do servidor. Tente novamente mais tarde."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Sem sinal"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Limite de ACM excedido"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Rádio desativado"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Sem cartão SIM ou erro do cartão"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Rede móvel não disponível"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"As chamadas efectuadas são restringidas por FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Não é possível efetuar chamadas com o barramento de chamadas ativado."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Todas as chamadas são restringidas por controlo de acesso."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"As chamadas de emergência são restringidas por controlo de acesso."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"As chamadas normais são restringidas por controlo de acesso."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Número inválido"</string>
+ <string name="confCall" msgid="1904840547188336828">"Chamada de conferência"</string>
+ <string name="call_lost" msgid="317670617901479594">"A chamada perdeu-se."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Altifalante"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Auricular do aparelho"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Auscultadores com fios"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Enviar os seguintes tons?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"A enviar tons\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Enviar"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Sim"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Não"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Substituir o carácter universal por"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Chamada de conferência <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Número do correio de voz"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"A marcar"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Tentar novamente"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Chamada de conferência"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Chamada recebida"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Chamada terminada"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Em espera"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"A desligar"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"A chamar"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"O meu número é <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"A ligar vídeo"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videochamada"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"A solicitar vídeo"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Não é possível ligar a videochamada"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"O seu número de retorno de chamadas\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"O seu número de retorno de chamadas de emergência\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"A marcar"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Chamada não atendida"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Chamadas não atendidas"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> chamadas não atendidas"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Chamada não atendida de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Chamada em curso"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Em espera"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Chamada recebida"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Videochamada recebida"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Pedido de vídeo recebido"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Novo correio de voz"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Novo correio de voz (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Marcar <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Número do correio de voz desconhecido"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Nenhum serviço"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Rede selecionada (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) indisponível"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Desligar"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Vídeo"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Voz"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Aceitar"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Ignorar"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Ligar de volta"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Mensagem"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Para efectuar uma chamada, desactive primeiro o modo para Avião."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Sem registo na rede."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Rede móvel não disponível."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"A chamada não foi efetuada. Não foi introduzido um número válido."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Chamada não efetuada."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"A iniciar sequência de MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Serviço não suportado"</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Não é possível alternar entre chamadas"</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Não foi possível separar a chamada."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Não é possível transferir a chamada."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Não é possível efectuar chamadas de conferência."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Não é possível rejeitar a chamada."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Não é possível efectuar chamada(s)."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Número do correio de voz desconhecido."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Chamada SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Chamada de emergência"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"A ligar o rádio..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Fora da área do serviço, a tentar novamente..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"A chamada não foi efetuada. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> não é um número de emergência!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Chamada não efetuada. Marque um número de emergência!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Utilizar o teclado para marcar"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Colocar a chamada em espera"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Retomar a chamada"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Adicionar chamada"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Intercalar chamadas"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Alternar entre chamadas"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Suspender"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Terminar"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Teclado de marcação"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Desativar som"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Adicionar chamada"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Intercalar chamadas"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Trocar"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Gerir chamadas"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Áudio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videochamada"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Mudar para chamada de voz"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Mudar de câmara"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Interromper vídeo"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Mais opções"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Serviço"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Configuração"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Não definido>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Outras definições de chamada"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"A chamar através de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Recebida através de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"fotografia do contacto"</string>
+ <string name="goPrivate" msgid="865837794424530980">"tornar privado"</string>
+ <string name="selectContact" msgid="781975788478987237">"seleccionar contacto"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Escrever a sua própria..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Cancelar"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Enviar"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"um"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"dois"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"três"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"quatro"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"cinco"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"seis"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"sete"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"oito"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"nove"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"estrela"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"zero"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"cardinal"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"marcar"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"retrocesso"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Alta-voz selecionado"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Auricular selecionado"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Auscultadores com microfone integrado com fios selecionados"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Auscultadores Bluetooth com microfone integrado selecionados"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Chamada sem som."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"Chamada com som."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"Chamada colocada em espera."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"Chamada removida de espera."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Atender"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Enviar SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Recusar"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Responder como videochamada"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Responder como chamada de áudio"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Aceitar o pedido de vídeo"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Recusar o pedido de vídeo"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Deslize lentamente para cima para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Deslize lentamente para a esquerda para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Deslize lentamente para a direita para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Deslize lentamente para baixo para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibrar"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibrar"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Som"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Som predefinido (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Toque do telemóvel"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrar ao tocar"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Preenchimento automático do teclado"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Tocar e Vibrar"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Gerir chamada de conferência"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Número de emergência"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Selecionar conta"</string>
+</resources>
diff --git a/InCallUI/res/values-pt/strings.xml b/InCallUI/res/values-pt/strings.xml
new file mode 100644
index 0000000..f9c5896
--- /dev/null
+++ b/InCallUI/res/values-pt/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefone"</string>
+ <string name="onHold" msgid="9035493194749959955">"Em espera"</string>
+ <string name="unknown" msgid="6878797917991465859">"Desconhecido"</string>
+ <string name="private_num" msgid="6713286113000232309">"Número privado"</string>
+ <string name="payphone" msgid="1931775086311769314">"Orelhão"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Linha ocupada"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Rede ocupada"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Nenhuma resposta, tempo limite expirou"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Servidor não acessível"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Número não acessível"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Nome de usuário ou senha incorretos"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Chamou de fora da rede"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Erro no servidor. Tente mais tarde."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Sem sinal"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Limite de ACM excedido"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Rádio desativado"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Sem SIM ou erro de SIM"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Rede móvel não disponível"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"As chamadas enviadas são restringidas pelo FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Você não pode fazer chamadas enquanto o bloqueio de chamadas estiver ativado."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Todas as chamada são restringidas pelo controle de acesso."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"As chamadas de emergência são restringidas pelo controle de acesso."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"As chamadas normais são restringidas pelo controle de acesso."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Número inválido"</string>
+ <string name="confCall" msgid="1904840547188336828">"Conferência telefônica"</string>
+ <string name="call_lost" msgid="317670617901479594">"A chamada foi perdida."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Alto-falante"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Minifone do aparelho"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Fone de ouvido com fio"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Enviar os toques a seguir?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Enviando tons\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Enviar"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Sim"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Não"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Substituir caractere curinga por"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Conferência telefônica <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Número correio de voz"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Discando"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Tentando novamente"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Conferência telefônica"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Recebendo chamada"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Chamada encerrada"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Em espera"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Desligando"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Em chamada"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Meu número é <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Conectando vídeo"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Vídeo chamada"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Solicitando vídeo"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Não foi possível conectar a vídeo chamada"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Seu número para retorno de chamada é\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Seu número para chamada de emergências é\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Discando"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Chamada perdida"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Chamadas perdidas"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> chamadas perdidas"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Chamada perdida de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Chamada em andamento"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Em espera"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Recebendo chamada"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Recebendo vídeo chamada"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Recebendo solicitação de vídeo"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Novo correio de voz"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Novo correio de voz (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Discar <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Número correio de voz desconhecido"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Sem serviço"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"A rede selecionada (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) não está disponível"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Desligar"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Vídeo"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Voz"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Aceitar"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Dispensar"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Retornar chamada"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Mensagem"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Para fazer uma chamada, primeiro desative o modo avião."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Não registrado na rede."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Rede móvel não disponível."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Chamada não completada, o número inserido é inválido."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Chamada não completada."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Iniciando sequência MMI…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Serviço não suportado."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Não é possível alternar chamadas."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Não é possível separar a chamada."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Não é possível transferir a chamada."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Não é possível realizar conferências telefônicas."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Não é possível rejeitar a chamada."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Não é possível liberar a(s) chamada(s)."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Número de correio de voz desconhecido."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Chamada SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Chamada de emergência"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Ativando o rádio…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Área fora de serviço, tentando novamente..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Chamada não enviada. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> não é um número de emergência!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Chamada não enviada. Disque um número de emergência!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Use o teclado para discar"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Colocar chamada em espera"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Retomar chamada"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Adicionar chamada"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Mesclar chamadas"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Trocar chamadas"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Em espera"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Finalizar"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Teclado"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Desativar som"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Adicionar chamada"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Mesclar chamadas"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Trocar"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Gerenciar chamadas"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Áudio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Vídeo ch."</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Alterar para chamada de voz"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Alternar câmera"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Pausar vídeo"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Mais opções"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Serviço"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Configuração"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Não definido>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Outras configurações de chamada"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Chamando via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Chamada de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"foto do contato"</string>
+ <string name="goPrivate" msgid="865837794424530980">"conversar em particular"</string>
+ <string name="selectContact" msgid="781975788478987237">"selecionar contato"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Escreva sua resposta..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Cancelar"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Enviar"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"um"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"dois"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"três"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"quatro"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"cinco"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"seis"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"sete"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"oito"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"nove"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"marcar com uma estrela"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"zero"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"libra"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"discar"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Chamada sem áudio."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Responder"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Enviar SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Recusar"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Atender como vídeo chamada"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Atender como chamada de áudio"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Aceitar solicitação de vídeo"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Recusar solicitação de vídeo"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para cima."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para a esquerda."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para a direita."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para baixo."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibrar"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibrar"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Som"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Som padrão (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Toque do telefone"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrar quando estiver tocando"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Autopreenchimento do teclado"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Toque e vibração"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Gerenciar conferência telefônica"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Número de emergência"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Selecionar conta"</string>
+</resources>
diff --git a/InCallUI/res/values-ro/strings.xml b/InCallUI/res/values-ro/strings.xml
new file mode 100644
index 0000000..945476c
--- /dev/null
+++ b/InCallUI/res/values-ro/strings.xml
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefon"</string>
+ <string name="onHold" msgid="9035493194749959955">"În aşteptare"</string>
+ <string name="unknown" msgid="6878797917991465859">"Necunoscut"</string>
+ <string name="private_num" msgid="6713286113000232309">"Număr privat"</string>
+ <string name="payphone" msgid="1931775086311769314">"Telefon public"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Linie ocupată"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Reţea ocupată"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Fără răspuns, durata a expirat"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Server neaccesibil"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Numărul nu poate fi contactat"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Nume de utilizator sau parolă incorecte"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Apelat din afara reţelei"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Eroare de server. Încercaţi din nou mai târziu."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Niciun semnal"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Limită ACM depăşită"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radio oprit"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Nu există SIM sau eroare de SIM"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Rețeaua mobilă nu este disponibilă"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Apelurile trimise sunt restricţionate de FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Nu puteţi efectua apeluri de ieşire în timp ce blocarea apelurilor este activă."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Toate apelurile sunt restricţionate de controlul de acces."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Apelurile de urgenţă sunt restricţionate de controlul de acces."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Apelurile normale sunt restricţionate de controlul de acces."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Număr nevalid"</string>
+ <string name="confCall" msgid="1904840547188336828">"Teleconferinţă"</string>
+ <string name="call_lost" msgid="317670617901479594">"Apelul s-a pierdut."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Difuzor"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Casca dispozitivului"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Cască cu fir"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Trimiteţi următoarele tonuri?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Se trimit tonuri\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Trimiteţi"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Da"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Nu"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Înlocuiţi metacaracterul cu"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Teleconferinţă <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Număr mesagerie vocală"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Apelează"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Se încearcă din nou"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Teleconferinţă"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Apel de intrare"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Apel încheiat"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"În aşteptare"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Se închide telefonul"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"În timpul apelului"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Numărul meu este <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Se conectează video"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Apel video"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Se solicită video"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Nu se poate conecta apelul video"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Numărul dvs. pentru reapelare\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Numărul dvs. pentru reapelare de urgență\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Apelează"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Apel nepreluat"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Apeluri nepreluate"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> (de) apeluri nepreluate"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Apel nepreluat de la <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Apel în desfăşurare"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"În aşteptare"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Apel de intrare"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Apel video primit"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Solicitare de trecere la apel video"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Mesaj vocal nou"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Mesaj vocal nou (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Apelați <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Număr mesagerie vocală necunoscut"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Fără serviciu"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Reţeaua selectată (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) nu este disponibilă"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Încheiaţi apelul"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Videoclip"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Voce"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Acceptați"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Renunțați"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Sunaţi înapoi"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Mesaj"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Pentru a efectua un apel, mai întâi dezactivaţi modul Avion."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Neînregistrat în reţea."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Reţeaua mobilă nu este disponibilă."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Apelul nu s-a trimis; niciun număr valid introdus."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Apelul nu a fost trimis."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Se porneşte secvenţa MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Serviciu neacceptat."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Apelurile nu pot fi comutate."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Apelul nu poate fi separat."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Apelul nu poate fi transferat."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Teleconferinţa nu se poate efectua."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Apelul nu poate fi respins."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Apelul (apelurile) nu poate (pot) fi eliberat (eliberate)."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Număr de mesagerie vocală necunoscut."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"apel SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Apel de urgenţă"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Se activează semnalul radio..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"În afara ariei de serviciu. Se încearcă din nou..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Apelul nu s-a trimis. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nu este un număr de urgenţă!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Apelul nu s-a trimis. Apelaţi un număr de urgenţă!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Utilizaţi tastatura pentru a forma"</string>
+ <!-- no translation found for overflowHoldMenuItemText (7382457697092158039) -->
+ <skip />
+ <!-- no translation found for overflowResumeMenuItemText (8826360006222366843) -->
+ <skip />
+ <!-- no translation found for overflowAddMenuItemText (5605615101930811453) -->
+ <skip />
+ <!-- no translation found for overflowMergeMenuItemText (6305762210377655389) -->
+ <skip />
+ <!-- no translation found for overflowSwapMenuItemText (6603717809137071603) -->
+ <skip />
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Reţineţi"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Terminat"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Tastatură numerică"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Dezactivaţi sunetul"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Adăugaţi un apel"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Îmbinaţi apelurile"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Schimbaţi"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Gestionaţi apelurile"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Apel video"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Treceți la apel vocal"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Comutați camera foto"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Întrerupeți videoclipul"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Mai multe opțiuni"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Servicii"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Configurare"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Nesetat>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Alte setări de apel"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Se apelează prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Primite prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"fotografie persoană din agendă"</string>
+ <string name="goPrivate" msgid="865837794424530980">"trecerea la modul privat"</string>
+ <string name="selectContact" msgid="781975788478987237">"selectarea unei persoane din agendă"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Scrieți propriul răspuns…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Anulați"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Trimiteți"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"unu"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"doi"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"trei"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"patru"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"cinci"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"şase"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"şapte"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"opt"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"nouă"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"stea"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"zero"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"diez"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"apelare"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Ați selectat difuzorul"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Ați selectat casca"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Ați selectat setul căști-microfon cu fir"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Ați selectat setul căști-microfon Bluetooth"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Apel cu sunet dezactivat."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"S-a activat sunetul pentru apel."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"Apelul a fost pus în așteptare."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"Apel a fost scos din așteptare."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Răspundeţi"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Trimiteţi SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Refuzaţi"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Răspundeți ca apel video"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Răspundeți ca apel audio"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Acceptați solicitarea de a trece la apel video"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Refuzați solicitarea de a trece la apel video"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Glisați în sus pentru <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Glisați spre stânga pentru <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Glisați spre dreapta pentru <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Glisați în jos pentru <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibraţii"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibraţii"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Sunet"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Sunet prestabilit (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Ton de sonerie telefon"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrează când sună"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Completare automată tastatură numerică"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Ton de sonerie și vibrare"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Gestionaţi teleconferinţa"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Număr de urgență"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Selectați un cont"</string>
+</resources>
diff --git a/InCallUI/res/values-ru/strings.xml b/InCallUI/res/values-ru/strings.xml
new file mode 100644
index 0000000..60d0960
--- /dev/null
+++ b/InCallUI/res/values-ru/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Телефон"</string>
+ <string name="onHold" msgid="9035493194749959955">"Ждет ответа"</string>
+ <string name="unknown" msgid="6878797917991465859">"Неизвестный абонент"</string>
+ <string name="private_num" msgid="6713286113000232309">"Скрытый номер"</string>
+ <string name="payphone" msgid="1931775086311769314">"Телефон-автомат"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Линия занята"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Сеть занята"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Нет ответа, время ожидания истекло"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Сервер недоступен"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Номер недоступен"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Неверное имя пользователя или пароль"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Вызов из другой сети"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Ошибка сервера. Повторите попытку позже."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Нет сигнала"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Превышен лимит ACM"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Радио выключено"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Ошибка SIM-карты или SIM-карта не установлена"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Мобильная сеть недоступна"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Вы можете позвонить только на телефоны из списка разрешенных номеров."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Исходящие звонки невозможны, если включен запрет вызовов."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Все вызовы запрещены настройками доступа."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Экстренные вызовы запрещены настройками доступа."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Обычные вызовы запрещены настройками доступа."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Неверный номер"</string>
+ <string name="confCall" msgid="1904840547188336828">"Конференц-вызов"</string>
+ <string name="call_lost" msgid="317670617901479594">"Вызов был утрачен."</string>
+ <string name="ok" msgid="3811371167865772377">"ОК"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Динамик"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Динамик гарнитуры"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Проводная гарнитура"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Отправить следующие тоны?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Отправка тональных сигналов\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Позвонить"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Да"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Нет"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Заменить универсальный символ на"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Конференц-вызов: <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Номер голосовой почты"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Набор номера"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Повторная попытка"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Конференц-вызов"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Входящий вызов"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Вызов завершен"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Ждет ответа"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Завершение разговора"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Поступающий вызов"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Мой номер: <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Подключение видео"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Видеовстреча"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Запрос видео"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Не удается начать видеовстречу"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Ваш номер для обратной связи:\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Ваш номер отображается как:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Набор номера"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Пропущенный вызов"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Пропущенные вызовы"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"Пропущенных вызовов: <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Пропущенные вызовы от абонента <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Текущий вызов"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"На удержании"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Входящий вызов"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Входящий видеовызов"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Входящий видеовызов"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Новое сообщение голосовой почты"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Новое сообщение голосовой почты (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Набор <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Номер голосовой почты неизвестен"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Сеть не найдена"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Выбранная сеть (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) недоступна."</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Завершить разговор"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Видео"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Голосовой вызов"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Принять"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Закрыть"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Позвонить"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Написать"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Перед тем как звонить, отключите режим полета."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Нет регистрации в сети."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Мобильная сеть недоступна."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Вызов не осуществляется, действительный номер телефона не указан."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Вызов не осуществляется."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Запуск последовательности MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Услуга не поддерживается."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Не удается переключить вызовы."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Не удалось разделить вызов."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Не удалось перевести вызов."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Не удается создать конференц-вызов."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Невозможно отклонить вызов."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Не удается разъединить абонентов."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Неизвестный номер голосовой почты."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Вызов SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Экстренный вызов"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Включение радио…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Вне зоны действия сети, повторное подключение..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Вызов не выполнен. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> – не номер экстренной службы."</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Вызов не выполнен. Наберите номер."</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Используйте клавиатуру для набора номера"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Поставить на удержание"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Возобновить вызов"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Добавить вызов"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Объединить вызовы"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Другой вызов"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Удерживать"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Завершить"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Кнопки"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Откл. звук"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"+ вызов"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Соединить"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Перевод звонка"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Управление вызовами"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Аудио"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Видео"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Телефонный звонок"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Переключение камеры"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Приостановить видео"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Ещё"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Служба"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Настройка"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Не задано>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Другие настройки вызовов"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Звонок через <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Входящий вызов (оператор: <xliff:g id="PROVIDER_NAME">%s</xliff:g>)"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"фотография контакта"</string>
+ <string name="goPrivate" msgid="865837794424530980">"приватная конференция"</string>
+ <string name="selectContact" msgid="781975788478987237">"выбрать контакт"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Ваш ответ…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Отмена"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Отправить"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"один"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"два"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"три"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"четыре"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"пять"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"шесть"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"семь"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"восемь"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"девять"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"звездочка"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"ноль"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"решетка"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"набор номера"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"возврат"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Звук выключен."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Ответить"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Отправить SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Отклонить"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Ответить с видео"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Ответить на голосовой вызов"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Ответить на видеовызов"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Отклонить видеовызов"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Проведите вверх, чтобы <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Проведите влево, чтобы <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Проведите вправо, чтобы <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Проведите вниз, чтобы <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Вибросигнал"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Вибросигнал"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Звук"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"По умолчанию (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Рингтон"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Вибросигнал и рингтон"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Автозаполнение номера"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Рингтон и вибросигнал"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Управление конференц-связью"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Экстренная служба"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Выбрать аккаунт"</string>
+</resources>
diff --git a/InCallUI/res/values-si-rLK/strings.xml b/InCallUI/res/values-si-rLK/strings.xml
new file mode 100644
index 0000000..0e9f527
--- /dev/null
+++ b/InCallUI/res/values-si-rLK/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"දුරකථනය"</string>
+ <string name="onHold" msgid="9035493194749959955">"රඳවා ගනිමින්"</string>
+ <string name="unknown" msgid="6878797917991465859">"නොදනී"</string>
+ <string name="private_num" msgid="6713286113000232309">"පුද්ගලික අංකය"</string>
+ <string name="payphone" msgid="1931775086311769314">"ගෙවුම් දුරකථනය"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"ඇමතුම කාර්ය බහුලයි"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"ජාලය කාර්ය බහුලයි"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"ප්රතිචාරයක් නැත, කල් ඉකුත්ව ඇත"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"සේවාදායකය ළඟා විය නොහැක"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"අංකය ළඟා විය නොහැක"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"වැරදි පරිශීලක නාමයක් හෝ මුරපදයකි"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"අමතන ලද්දේ ජාලයෙන් පිටිනි"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"සේවාදායකයේ දෝෂයක්. පසුව නැවත උත්සාහ කරන්න."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"සංඥාවක් නැත"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM සීමාව ඉක්මවන ලදි"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"රේඩියෝව අක්රියයි"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"SIM නැත හෝ SIM දෝෂයක්"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"ජංගම ජාලය නොමැත"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"FDN මඟින් පිටතට යන ඇමතුම් නවත්වා ඇත."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"ඇමතුම් අත්හිටුවීමක් ඇතිවිට ඔබට පිටතට ඇමතුම් ගත නොහැක."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"ප්රවේශ පාලකය මඟින් සියලුම ඇමතුම් අත්හිටුවා ඇත."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"ප්රවේශ පාලකය මඟින් හදිසි ඇමතුම් අත්හිටුවා ඇත."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"ප්රවේශ පාලකය මඟින් සාමාන්ය ඇමතුම් අත්හිටුවා ඇත."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"අවලංගු අංකය"</string>
+ <string name="confCall" msgid="1904840547188336828">"සම්මන්ත්රණ ඇමතුම"</string>
+ <string name="call_lost" msgid="317670617901479594">"ඇමතුම බිදවැටුණි."</string>
+ <string name="ok" msgid="3811371167865772377">"හරි"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"නාදකය"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"හෑන්ඩ්සෙටයේ සවන් කඬ"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"රැහැන් සහිත හෙඩ්සෙටය"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"බ්ලූටූත්"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"පහත නාද යවන්නද?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"නාද යවමින්\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"යවන්න"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"ඔව්"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"නැත"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"අක්ෂරය ප්රතිස්ථාපනය කරන්නේ"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"සම්මන්ත්රණ ඇමතුම <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"හඬ තැපැල් අංකය"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"අමතමින්"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"යළි උත්සාහ කරමින්"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"සම්මන්ත්රණ ඇමතුම"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"එන ඇමතුම"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"ඇමතුම අවසන් විය"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"රඳවා ගනිමින්"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"විසන්ධි කරමින්"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"ඇමතුමක"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"මගේ අංකය <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"වීඩියෝවකට සම්බන්ධ කරමින්"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"වීඩියෝ ඇමතුම"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"වීඩියෝවක් ඉල්ලමින්"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"වීඩියෝ ඇමතුමකට සම්බන්ධ කිරීම කළ නොහැක"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"ඔබගේ ඇමතුම් ආපසු අංකය\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"ඔබගේ හදිසි ඇමතුම් ආපසු අංකය\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"අමතමින්"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"මඟ හැරුණු ඇමතුම"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"මඟ හැරුණු ඇමතුම්"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"මඟ හැරුණු ඇමතුම් <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> වෙතින් මඟ හැරුණු ඇමතුම්"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"කරගෙනය යන ඇමතුම"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"රඳවා ගනිමින්"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"එන ඇමතුම"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"පැමිණෙන වීඩියෝ ඇමතුම"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"පැමිණෙන වීඩියෝ ඉල්ලීම"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"නව හඬතැපෑල"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"නව හඬ තැපැල් (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> අමතන්න"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"හඬතැපැල් අංකය නොදනී"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"සේවාව නැත"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"තෝරා ඇති ජාලය (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) නොමැත"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"විසන්ධි කරන්න"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"වීඩියෝව"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"හඬ"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"පිළිගන්න"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"ඉවත ලන්න"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"නැවත අමතන්න"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"පණිවිඩය"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"ඇමතුමක් ගැනීමට, මුලින්ම ගුවන්යානා ආකාරය අක්රිය කරන්න."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"ජාලය මත ලියාපදිංචි වී නැත."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"ජංගම ජාලය නොමැත."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"ඇමතුම නොයැවිණි, වලංගු අංකයක් ඇතුලත් කර නැත."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"ඇමතුම නොයැවිණි."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI අනුපිළිවෙල ආරම්භ කරමින්…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"සහාය නොදක්වන සේවාව."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"ඇමතුම මාරු කිරීමට නොහැකි විය."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"ඇමතුම වෙන් කිරීමට නොහැකි විය."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"ඇමතුම මාරු කිරීමට අපොහොසත් විය."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"සම්මන්ත්රණ ඇමතුම් ලබාගත නොහැකි විය."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"ඇමතුම ප්රතික්ෂේප කළ නොහැකි විය."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"ඇමතුම(ම්) නිදහස් කිරීමට නොහැකි විය."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"හඬ තැපැල් අංකය නොදනී."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP ඇමතුම"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"හදිසි ඇමතුම"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"රේඩියෝව ආරම්භ කරමින්…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"සේවා රහිත ප්රදේශය, යළි උත්සාහ කරමින්..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"ඇමතුම නොයැවිණි, <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> හදිසි අංකයක් නොවේ!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"ඇමතුම නොයැවිණි, හදිසි අංකයක් අමතන්න!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"ඇමතීමට කිරීමට යතුරු පුවරුව භාවිතා කරන්න"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"ඇමතුම නවතා සිටින්න"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"ඇමතුම නැවත පටන්ගන්න"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"ඇමතුමක් එක් කරන්න"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"ඇමතුම් එකට මුසු කරන්න"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"ඇමතුම් මාරු කරන්න"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"රඳවා සිටින්න"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"අවසානයි"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"ඇමතුම් පෑඩය"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"නිශ්ශබ්ද කරන්න"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"ඇමතුමක් එක් කරන්න"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"ඇමතුම් එකට මුසු කරන්න"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"මාරු කරන්න"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"ඇමතුම් කළමනාකරණය කරන්න"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"ශ්රව්ය"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"වීඩියෝ ඇමතුම"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"හඬ ඇමතුමක් වෙත මාරු කරන ලදි"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"කැමරාව මාරු කරන්න"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"විඩියෝව විරාම කරන්න"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"තවත් විකල්ප"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"සේවාව"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"ස්ථාපනය කරන්න"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<පිහිටුවා නැත>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"වෙනත් ඇමතුම් සැකසුම්"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> හරහා අමතමින්"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> මගින් ඇතුළට එන"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"සම්බන්ධතා ඡායාරූපය"</string>
+ <string name="goPrivate" msgid="865837794424530980">"පොද්ගලික බවට යන්න"</string>
+ <string name="selectContact" msgid="781975788478987237">"සම්බන්ධතාවය තෝරාගන්න"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"ඔබෙම එකක් ලියන්න..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"අවලංගු කරන්න"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"යවන්න"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"එක"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"දෙක"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"තුනයි"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"හතර"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"පහ"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"හය"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"හත"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"අට"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"නවය"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"තරුව"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"බිංදුවයි"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"පවුම"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"අමතන්න"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"ආපසුයවන යතුර"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"ඇමතුම නිශ්ශබ්දයි."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"පිළිතුරු දෙන්න"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS යවන්න"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"ප්රතික්ෂේප කරන්න"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"වීඩියෝ ඇමතුමට පිළිතුරු දෙන්න"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"ශ්රව්ය ඇමතුමට පිළිතුරු දෙන්න"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"වීඩියෝ ඉල්ලීම පිළිගනියි"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"වීඩියෝ ඉල්ලීම ප්රතික්ෂේප කරයි"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> සඳහා උඩට සර්පණය කරන්න."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> සඳහා වමට සර්පණය කරන්න."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> සඳහා දකුණට සර්පණය කරන්න."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> සඳහා පහළට සර්පණය කරන්න."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"කම්පනය වීම"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"කම්පනය වීම"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"ශබ්දය"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"සුපුරුදු ශබ්දය (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"දුරකථන රිංටෝනය"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"රිංග් වන විට කම්පනයවේ"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"ඩයල් පෑඩය ස්වයංපූර්ණය"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"රිගින් ටෝන් සහ කම්පනය කරන්න"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"සම්මන්ත්රණ ඇමතුම කළමනාකරණය කරන්න"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"හදිසි ඇමතුම් අංකය"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"ගිණුම තෝරන්න"</string>
+</resources>
diff --git a/InCallUI/res/values-sk/strings.xml b/InCallUI/res/values-sk/strings.xml
new file mode 100644
index 0000000..cc750dd
--- /dev/null
+++ b/InCallUI/res/values-sk/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefón"</string>
+ <string name="onHold" msgid="9035493194749959955">"Podržaný hovor"</string>
+ <string name="unknown" msgid="6878797917991465859">"Neznáme"</string>
+ <string name="private_num" msgid="6713286113000232309">"Súkromné číslo"</string>
+ <string name="payphone" msgid="1931775086311769314">"Verejný telefón"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Linka je obsadená"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Sieť je zaneprázdnená"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Bez odozvy, vypršal časový limit"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Server je nedostupný"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Volané číslo je nedostupné"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Nesprávne používateľské meno alebo heslo"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Volanie z priestoru mimo siete"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Chyba servera: Skúste to znova neskôr."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Žiadny signál"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Bol prekročený limit ACM"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Rádio je vypnuté"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Karta SIM chýba alebo nefunguje"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Mobilná sieť nie je k dispozícii"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Odchádzajúce hovory sú obmedzené na pevne určené čísla (FDN)."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Ak je zapnuté blokovanie hovorov, nie je možné uskutočňovať odchádzajúce hovory."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Všetky hovory sú obmedzené ovládaním prístupu."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Tiesňové volania sú obmedzené ovládaním prístupu."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Bežné volania sú obmedzené ovládaním prístupu."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Neplatné číslo"</string>
+ <string name="confCall" msgid="1904840547188336828">"Konferenčný hovor"</string>
+ <string name="call_lost" msgid="317670617901479594">"Hovor bol prerušený."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Reproduktor"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Slúchadlo"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Náhlavná súprava s káblom"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Odoslať nasledujúce tóny?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Odosielanie tónov\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Odoslať"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Áno"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Nie"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Nahradiť zástupný znak znakom"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Konferenčný hovor <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Číslo hlasovej schránky"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Vytáčanie"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Opakuje sa pokus"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Konferenčný hovor"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Prichádzajúci hovor"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Hovor bol ukončený"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Podržaný hovor"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Ukončovanie hovoru"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Prebieha hovor"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Moje číslo je <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Pripája sa video"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videohovor"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Žiada sa video"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Videohovor sa nedá pripojiť"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Vaše číslo na spätné volanie\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Núdzové číslo na spätné volanie\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Vytáčanie"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Zmeškaný hovor"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Zmeškané hovory"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"Zmeškané hovory: <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>."</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Zmeškaný hovor od volajúceho <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Prebiehajúci hovor"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Podržaný hovor"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Prichádzajúci hovor"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Prichádzajúci videohovor"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Prichádzajúca žiadosť o video"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Nová hlasová správa"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Nová hlasová správa (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Zavolať hlasovú schránku <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Číslo hlasovej schránky je neznáme"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Žiadny signál"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Vybratá sieť (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) nie je k dispozícii"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Položiť"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Hlas"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Prijať"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Zatvoriť"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Zavolať späť"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Správa"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Ak chcete telefonovať, vypnite najprv režim V lietadle."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Prihlásenie do siete nebolo úspešné."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mobilná sieť nie je k dispozícii."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Hovor sa nepodarilo spojiť, nebolo zadané platné číslo."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Hovor nebol spojený."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Prebieha spúšťanie sekvencie MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Nepodporovaná služba."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Hovory nie je možné prepnúť."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Hovor nie je možné oddeliť."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Hovor nie je možné preniesť."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Hovory nie je možné spojiť do konferenčného hovoru."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Hovor nie je možné odmietnuť."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Hovor nie je možné uvoľniť."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Číslo hlasovej schránky je neznáme"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Hovory SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Tiesňové volanie"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Prebieha zapínanie rádia..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Nepokrytá oblasť, opakovanie pokusu..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Hovor sa nepodarilo spojiť. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nie je číslo núdzového volania."</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Hovor nebol spojený, vytočte číslo tiesňového volania."</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Číslo vytočíte pomocou klávesnice."</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Podržať hovor"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Obnoviť hovor"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Pridať hovor"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Zlúčiť hovory"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Zameniť hovory"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Podržať"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Koniec"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Číselná klávesnica"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Ignorovať"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Pridať hovor"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Zlúčiť hovory"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Zameniť"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Spravovať hovory"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Zvuk"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videohovor"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Zmeniť na hlasový hovor"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Prepnúť kameru"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Pozastaviť video"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Ďalšie možnosti"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Služba"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Nastavenie"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Nenastavené>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Ďalšie nastavenia hovorov"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Voláte prostredníctvom poskytovateľa <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Prichádz. hovor prostred. poskytovateľa <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"fotografia kontaktu"</string>
+ <string name="goPrivate" msgid="865837794424530980">"prepnúť na súkromné"</string>
+ <string name="selectContact" msgid="781975788478987237">"vybrať kontakt"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Napísať vlastnú..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Zrušiť"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Odoslať"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"jeden"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"dva"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"tri"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"štyri"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"päť"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"šesť"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"sedem"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"osem"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"deväť"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"hviezdička"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"nula"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"libra"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"vytáčanie"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Zvuk hovoru bol vypnutý."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Odpovedať"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Odoslať SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Odmietnuť"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Prijať ako videohovor"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Prijať ako zvukový hovor"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Prijať žiadosť o videohovor"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Odmietnuť žiadosť o videohovor"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Prejdite prstom nahor: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Prejdite prstom doľava: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Prejdite prstom doprava: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Prejdite prstom nadol: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibrovať"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibrovať"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Zvuk"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Predvolený zvuk (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Tón zvonenia telefónu"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrovať pri zvonení"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Automatické dokonč. číselnej klávesnice"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Tón zvonenia a vibrovanie"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Spravovať konferenčný hovor"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Číslo tiesňového volania"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Výber účtu"</string>
+</resources>
diff --git a/InCallUI/res/values-sl/strings.xml b/InCallUI/res/values-sl/strings.xml
new file mode 100644
index 0000000..a241319
--- /dev/null
+++ b/InCallUI/res/values-sl/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefon"</string>
+ <string name="onHold" msgid="9035493194749959955">"Zadržano"</string>
+ <string name="unknown" msgid="6878797917991465859">"Neznano"</string>
+ <string name="private_num" msgid="6713286113000232309">"Zasebna številka"</string>
+ <string name="payphone" msgid="1931775086311769314">"Telefonska govorilnica"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Linija je zasedena"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Omrežje je zasedeno"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Ni odziva, časovna omejitev je potekla"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Strežnik ni dosegljiv"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Številka ni dosegljiva"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Napačno uporabniško ime ali geslo"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Klic iz nepooblaščenega omrežja"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Napaka strežnika: poskusite znova pozneje."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Ni signala"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Presežena omejitev ACM"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radio je izklopljen"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Ni kartice SIM ali napaka kartice SIM"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Mobilno omrežje ni na voljo"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Odhodni klici so omejeni s FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Ko je vklopljena zapora klicev, ne morete klicati."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Vsi klici so omejeni z nadzorom dostopa."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Klici v sili so omejeni z nadzorom dostopa."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Navadni klici so omejeni z nadzorom dostopa."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Neveljavna številka"</string>
+ <string name="confCall" msgid="1904840547188336828">"Konferenčni klic"</string>
+ <string name="call_lost" msgid="317670617901479594">"Klic je bil izgubljen."</string>
+ <string name="ok" msgid="3811371167865772377">"V redu"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Zvočnik"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Slušalka"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Žične slušalke"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Ali želite poslati naslednje tone?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Pošiljanje tonov\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Pošlji"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Da"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Ne"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Zamenjaj nadomestni znak z"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Konferenčni klic <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Številka glasovne pošte"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Klicanje"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Ponovni poskus"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Konferenčni klic"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Dohodni klic"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Klic je bil končan"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Zadržano"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Prekinitev"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Dohodni klic"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Moja številka je <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Povezovanje videa"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videoklic"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Zahtevanje videa"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Videoklica ni mogoče vzpostaviti"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Vaša številka za povratni klic\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Vaša številka za povratni klic v sili: \n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Klicanje"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Neodgovorjeni klic"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Neodgovorjeni klici"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> neodgovorjenih klicev"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Neodgovorjeni klic od <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Aktivni klic"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Zadržano"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Dohodni klic"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Dohodni videoklic"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Dohodna zahteva za video"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Nova glasovna pošta"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Nova glasovna pošta (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Kliči <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Neznana številka glasovne pošte"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Ni storitve"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Izbrano omrežje (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ni na voljo"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Prekinite klic"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Videoklic"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Govor"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Sprejmi"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Opusti"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Povratni klic"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Sporočilo"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Če želite poklicati, najprej izklopite način za letalo."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ni registrirano v omrežju."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Omrežje prenosnega telefona ni na voljo."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Klic ni bil poslan, veljavna številka ni vnesena."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Klic ni bil poslan."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Začetek zaporedja MMI ..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Nepodprta storitev."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Preklop klicev ni mogoč."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Klica ni mogoče ločiti."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Klica ni mogoče prenesti."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Konferenčni klici onemogočeni."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Klica ni mogoče zavrniti."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Klicev ni mogoče sprostiti."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Neznana številka odzivnika."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Klic SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Klic v sili"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Vklop radia …"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Zunaj območja storitve, ponovni poskus ..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Klic ni bil poslan. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ni številka za nujne primere!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Klic ni bil poslan. Pokličite številko za nujne primere!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Za klicanje uporabite tipkovnico"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Zadrži klic"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Nadaljuj klic"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Dodaj klic"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Združi klice"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Zamenjaj klice"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Zadrži"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Konec"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Številčnica"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Nemo"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Dodaj klic"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Združi klice"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Zamenjaj"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Upravljanje klicev"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Zvok"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videoklic"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Preklopi na glasovni klic"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Preklop fotoaparata"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Začasno ustavi video"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Več možnosti"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Storitev"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Nastavitev"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Ni nastavljeno>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Druge nastavitve klicev"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Klicanje prek ponudnika <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Dohodni prek <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"fotografija stika"</string>
+ <string name="goPrivate" msgid="865837794424530980">"zasebno"</string>
+ <string name="selectContact" msgid="781975788478987237">"izbira stika"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Napišite svoje besedilo …"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Prekliči"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Pošlji"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"ena"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"dve"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"tri"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"štiri"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"pet"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"šest"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"sedem"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"osem"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"devet"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"zvezda"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"nič"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"funt"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"klicanje"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"vračalka"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Klic izključen."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Odgovori"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Pošlji SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Zavrni"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Odgovori z videoklicem"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Odgovori z zvočnim klicem"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Sprejmi zahtevo za video"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Zavrni zahtevo za video"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Povlecite navzgor za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Povlecite v levo za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Povlecite v desno za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Povlecite navzdol za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibriraj"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibriraj"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Zvok"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Privzeti zvok (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Ton zvonjenja telefona"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibriranje ob zvonjenju"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Samodokončanje za tipkovnico"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Zvonjenje in vibriranje"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Upravljanje konferenčnih klicev"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Številka za klic v sili"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Izbira računa"</string>
+</resources>
diff --git a/InCallUI/res/values-sr/strings.xml b/InCallUI/res/values-sr/strings.xml
new file mode 100644
index 0000000..220775e
--- /dev/null
+++ b/InCallUI/res/values-sr/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Телефон"</string>
+ <string name="onHold" msgid="9035493194749959955">"На чекању"</string>
+ <string name="unknown" msgid="6878797917991465859">"Непознато"</string>
+ <string name="private_num" msgid="6713286113000232309">"Приватан број"</string>
+ <string name="payphone" msgid="1931775086311769314">"Јавна говорница"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Линија је заузета"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Мрежа је заузета"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Нема одговора, време је истекло"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Сервер није доступан"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Број је недоступан"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Неважеће корисничко име или лозинка"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Позив изван мреже"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Грешка сервера: покушајте поново касније."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Нема сигнала"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Прекорачено је ACM ограничење"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Радио је искључен"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Нема SIM картице или постоји грешка на њој"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Мобилна мрежа није доступна"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Број за фиксно бирање је ограничио одлазне позиве."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Не можете да упућујете одлазне позиве док је укључено ограничавање позива."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Сви позиви су ограничени контролом приступа."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Сви хитни позиви су ограничени контролом приступа."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Стандардни позиви су ограничени контролом приступа."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Неважећи број"</string>
+ <string name="confCall" msgid="1904840547188336828">"Конференцијски позив"</string>
+ <string name="call_lost" msgid="317670617901479594">"Позив је изгубљен."</string>
+ <string name="ok" msgid="3811371167865772377">"Потврди"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Звучник"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Слушалица телефона"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Жичане слушалице"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Желите ли да пошаљете следеће тонове?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Тонови слања\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Пошаљи"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Да"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Не"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Замените џокер знак са"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Конференцијски позив <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Број говорне поште"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Позивање"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Поновни покушај"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Конференцијски позив"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Долазни позив"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Позив је завршен"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"На чекању"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Прекид везе"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"У позиву"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Мој број је <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Повезивање са видео позивом"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Видео позив"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Захтевање видео позива"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Повезивање са видео позивом није могуће"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Број за повратни позив\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Број за хитни повратни позив\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Бирање"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Пропуштен позив"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Пропуштени позиви"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"Број пропуштених позива: <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Пропуштен позив од: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Актуелни позив"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"На чекању"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Долазни позив"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Долазни видео позив"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Захтев за долазни видео позив"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Нова говорна пошта"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Нова говорна пошта (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Позови <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Непознат број говорне поште"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Нема услуге"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Изабрана мрежа (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) није доступна"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Прекини везу"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Видео"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Гласовни"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Прихвати"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Одбиј"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Узврати позив"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Порука"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Да бисте упутили позив, прво искључите режим рада у авиону."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Није регистровано на мрежи."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Мобилна мрежа није доступна."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Позив није послат, није унет исправан број."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Позив није послат."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Покретање MMI секвенце"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Неподржана услуга."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Није могуће пребацивати позиве."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Одвајање позива није могуће."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Пренос позива није могућ."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Конференцијски позиви нису могући."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Одбијање позива није могуће."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Није могуће успоставити позив"</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Непознати број говорне поште"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP позив"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Хитни позив"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Укључивање радија…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Област ван домета, поновни покушај..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Позив није послат. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> није број за хитне случајеве!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Позив није послат. Позовите број за хитне случајеве!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Користите тастатуру за позивање"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Стави позив на чекање"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Настави позив"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Додај позив"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Обједини позиве"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Замени позиве"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Чекање"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Заврши"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Нумеричка тастатура"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Искључи звук"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Додај позив"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Обједини позиве"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Замени"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Управљајте позивима"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Аудио"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Видео поз."</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Промени у гласовни позив"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Промени камеру"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Паузирај видео"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Још опција"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Услуга"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Подешавање"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Није подешено>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Друга подешавања позива"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Позивање преко добављача <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Долазна преко <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"фотографија контакта"</string>
+ <string name="goPrivate" msgid="865837794424530980">"иди на приватно"</string>
+ <string name="selectContact" msgid="781975788478987237">"изаберите контакт"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Напишите сами…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Откажи"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Пошаљи"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"један"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"два"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"три"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"четири"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"пет"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"шест"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"седам"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"осам"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"девет"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"звездица"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"нула"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"фунта"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"бирање"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"тастер за брисање"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Звук позива је искључен."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Одговори"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Пошаљи SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Одбиј"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Одговорите видео позивом"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Одговорите аудио-позивом"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Прихвати захтев за видео"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Одбиј захтев за видео"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Превуците нагоре за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Превуците улево за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Превуците удесно за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Превуците надоле за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Вибрација"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Вибрација"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Звук"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Подразумевани звук (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Мелодија звона телефона"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Вибрирај када звони"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Аутом. довршавање нумеричке тастатуре"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Мелодија звона и вибрација"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Управљање конференцијским позивом"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Број за хитне случајеве"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Изаберите налог"</string>
+</resources>
diff --git a/InCallUI/res/values-sv/strings.xml b/InCallUI/res/values-sv/strings.xml
new file mode 100644
index 0000000..afc276a
--- /dev/null
+++ b/InCallUI/res/values-sv/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefon"</string>
+ <string name="onHold" msgid="9035493194749959955">"Parkerat"</string>
+ <string name="unknown" msgid="6878797917991465859">"Okänd"</string>
+ <string name="private_num" msgid="6713286113000232309">"Privat nummer"</string>
+ <string name="payphone" msgid="1931775086311769314">"Telefonautomat"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Linjen är upptagen"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Nätverket är upptaget"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Inget svar, avbröts"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Servern kan inte nås"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Numret kan inte nås"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Felaktigt användarnamn eller lösenord"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Uppringt från ett annat nätverk"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Serverfel. Försök igen senare."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Ingen signal"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM-gränsen har överskridits"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radio av"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Inget SIM-kort eller SIM-kortsfel"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Inget mobilt nätverk är tillgängligt"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Utgående samtal begränsas av FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Du kan inte ringa utgående samtal när samtalsspärren är aktiverad."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Alla samtal begränsas av åtkomstkontroll."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Nödsamtal begränsas av åtkomstkontroll."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Vanliga samtal begränsas av åtkomstkontroll."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Ogiltigt nummer"</string>
+ <string name="confCall" msgid="1904840547188336828">"Konferenssamtal"</string>
+ <string name="call_lost" msgid="317670617901479594">"Samtal har försvunnit."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Högtalare"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Telefonlur"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Trådanslutet headset"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Skicka följande toner?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Skickar signaler\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Skicka"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Ja"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Nej"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Ersätt jokertecknet med"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Konferenssamtal <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Nummer till röstbrevlåda"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Ringer"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Försöker igen"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Konferenssamtal"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Inkommande samtal"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Samtal avslutat"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Parkerat"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Lägger på"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"I samtal"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Mitt nummer är <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Ansluter video"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Videosamtal"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Begär video"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Det går inte att ansluta videosamtalet"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Ditt nummer för återuppringning\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Ditt nödnummer för återuppringning\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Ringer"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Missat samtal"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Missade samtal"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> missade samtal"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Missat samtal från <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Pågående samtal"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Parkerat"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Inkommande samtal"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Inkommande videosamtal"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Inkommande begäran om videosamtal"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Ny röstbrevlåda"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Ny röstbrevlåda (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Ring <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Nummer till röstbrevlåda okänt"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Ingen tjänst"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Det valda nätverket (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) är inte tillgängligt"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Lägg på"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Röst"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Godkänn"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Avvisa"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Ring upp"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Meddelande"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Om du vill ringa ett samtal måste du först inaktivera flygplansläge."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Inte registrerat på nätverk."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Inget mobilt nätverk är tillgängligt."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Samtalet har inte skickats. Du måste ange ett giltigt nummer."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Samtalet har inte skickats."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Startar sekvens för MMI-kod…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Inget stöd för tjänsten."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Det gick inte att växla mellan samtal."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Det gick inte att koppla isär samtalen."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Det gick inte överföra samtal."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Det gick inte att ringa konferenssamtal."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Det gick inte att avvisa samtal."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Det gick inte att släppa samtal."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Okänt nummer till röstbrevlådan."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP-anrop"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Nödsamtal"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Sätter på radion…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Fungerar inte i detta område. Försöker igen…"</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Samtalet har inte skickats. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> är inte ett nödsamtalsnummer!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Samtalet har inte skickats. Ring ett nödsamtalsnummer!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Använd tangentbordet om du vill ringa"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Parkera samtal"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Återuppta samtal"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Lägg till samtal"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Koppla ihop samtal"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Byt samtal"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Parkera"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Avsluta"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Knappsats"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Ljud av"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Lägg till samtal"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Koppla ihop samtal"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Växla"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Hantera samtal"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Ljud"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Videosamtal"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Byt till röstsamtal"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Byt kamera"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Pausa video"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Fler alternativ"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Tjänst"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Konfiguration"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Har inte angetts>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Övriga samtalsinställningar"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Ringer via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Inkommande via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"kontaktbild"</string>
+ <string name="goPrivate" msgid="865837794424530980">"gör privat"</string>
+ <string name="selectContact" msgid="781975788478987237">"välj kontakt"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Skriv ett eget svar ..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Avbryt"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Skicka"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"ett"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"två"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"tre"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"fyra"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"fem"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"sex"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"sju"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"åtta"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"nio"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"stjärna"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"noll"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"pund"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"ring upp"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backsteg"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Högtalartelefon har valts"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Lur har valts"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Mikrofonlurar med sladd har valts"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Bluetooth-mikrofonlurar har valts"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Samtalets ljud avstängt."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"Ljudet har slagits på för samtalet."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"Samtalet har parkerats."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"Samtalet är inte längre parkerat."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Svara"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Skicka SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Avvisa"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Svara som videosamtal"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Svara som röstsamtal"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Acceptera videobegäran"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Neka videobegäran"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Dra uppåt för <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Dra åt vänster för <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Dra åt höger för <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Dra nedåt för <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibrera"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibrera"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Ljud"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Standardsignal (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Ringsignal"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Mobilen vibrerar när det ringer"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Föreslå nummer vid inmatning"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Ringsignal och vibrera"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Hantera konferenssamtal"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Nödsamtalsnummer"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Välj konto"</string>
+</resources>
diff --git a/InCallUI/res/values-sw/strings.xml b/InCallUI/res/values-sw/strings.xml
new file mode 100644
index 0000000..e203578
--- /dev/null
+++ b/InCallUI/res/values-sw/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Simu"</string>
+ <string name="onHold" msgid="9035493194749959955">"Inangoja"</string>
+ <string name="unknown" msgid="6878797917991465859">"Haijulikani"</string>
+ <string name="private_num" msgid="6713286113000232309">" Number isiyojulikana"</string>
+ <string name="payphone" msgid="1931775086311769314">"Simu ya kulipia"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Simu inatumika"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Mtandao unatumika"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Hakuna jibu, muda umekwisha"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Seva haiwezi kufikiwa"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Nambari haifikiwi"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Jina la mtumiaji au nenosiri sio sahihi"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Ilipigwa kutoka nje ya mtandao"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Hitilafu ya seva: Tafadhali jaribu tena baadaye."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Hakuna mtandao"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Kiwango cha ACM kimezidishwa"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radio imezima"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Hakuna SIM au kuna hitilafu ya SIM"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Mtandao wa simu za mkononi haupatikani"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Simu zinazopigwa zimezuiliwa na FDN"</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Huwezi kupiga simu za kutoka wakati kupiga simu kumezuiwa."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Simu zote zimezuiwa na kidhibiti ufikiaji."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Simu za dharura zimezuiwa na kidhibiti ufikiaji."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Simu za kawaida zimezuiwa na kidhibiti ufikiaji."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Nambari isiyo sahihi"</string>
+ <string name="confCall" msgid="1904840547188336828">"Simu ya kongamano"</string>
+ <string name="call_lost" msgid="317670617901479594">"Simu imepotea."</string>
+ <string name="ok" msgid="3811371167865772377">"Sawa"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Spika"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Kipaza sauti cha kichwani"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Viskizi vya maskio pasiwaya"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Ungependa kutuma toni zifuatazo? \n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Inatuma toni\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Tuma"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Ndiyo"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Hapana"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Badilisha kibambo egemezi na"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Simu ya kongamano <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Nambari ya ujumbe wa sauti"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Inapiga"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Inajaribu tena"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Simu ya kongamano"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Simu inayoingia"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Simu imekamilika"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Inangoja"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Kukata simu"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Katika simu"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Nambari yangu ni <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Inaunganisha video"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Hangout ya Video"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Inaomba video"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Haiwezi kuunganisha Hangout ya Video"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Nambari yako ya kupiga simu\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Nambari yako ya kupiga simu ya dharura \n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Inapiga"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Simu isiyojibiwa"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Simu zisizojibiwa"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> simu ambazo hazijajibiwa"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Simu isiyojibiwa kutoka <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Simu inayoendelea"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Inangoja"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Simu inayoingia"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Hangout ya Video inayoingia"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Ombi linaloingia la video"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Ujumbe mpya wa sauti"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Barua mpya ya sauti <xliff:g id="COUNT">%d</xliff:g>"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Piga <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Nambari ya ujumbe wa sauti haijulikani."</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Hakuna huduma"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Mtandao uliochaguliwa <xliff:g id="OPERATOR_NAME">%s</xliff:g> haupatikani"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Kata simu"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Sauti"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Kubali"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Ondoa"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Mpigie"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Ujumbe"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Kupiga simu, kwanza zima hali ya ndege."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Haijasajiliwa kwa mitandao"</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mtandao wa simu haupatikani."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Simu haijatumwa, hakuna nambari halali iliyoingizwa."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Simu haijatumwa."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Inaanzisha msururu wa MMI…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Kifaa ambacho hakijahiliwa."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Imeshindwa kubadilisha simu"</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Imeshindwa kutenganisha simu."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Imeshindwa kutuma simu"</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Imeshindwa kupigia watu wengi."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Imeshindwa kukataa simu."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Imeshindwa kuachilia simu."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Nambari ya ujumbe wa sauti haijulikani."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Simu ya SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Simu ya dharura"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Inawasha redio..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Uko mahali pasipokuwa na huduma, inajaribu tena…."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Simu haijatumwa. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> sio nambari ya dharura!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Simu haijatumwa. Piga nambari ya dharura!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Tumia kibodi kubonyeza"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Shikilia simu"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Endelea na simu"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Ongeza simu"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Unganisha simu"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Badilisha simu"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Shikilia"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Mwisho"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Kibao cha kupiga"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Nyamazisha"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Ongeza simu"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Changanyisha simu"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Badili"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Dhibiti simu"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Kusikika"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Hangout ya Video"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Badilisha iwe simu ya sauti"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Badilisha kamera"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Sitisha video"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Chaguo zaidi"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Huduma"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Sanidi"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Haijawekwa>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Mipangilio mingine ya simu"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Kupiga simu kupitia <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Simu zinazoingia kupitia <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"picha ya anwani"</string>
+ <string name="goPrivate" msgid="865837794424530980">"nenda kwa faragha"</string>
+ <string name="selectContact" msgid="781975788478987237">"chagua anwani"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Andika yako binafsi..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Ghairi"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Tuma"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"moja"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"mbili"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"tatu"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"nne"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"tano"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"sita"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"saba"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"nane"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"tisa"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"nyota"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"sufuri"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"pauni"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"piga simu"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"nafasi ya nyuma"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Spika ya simu imechaguliwa"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Spika ya sikioni imechaguliwa"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Vifaa vya sauti vinavyotumia waya vimechaguliwa"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Vifaa vya sauti vya Bluetooth vimechaguliwa"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Simu imezimwa."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"Sauti ya simu imerejeshwa."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"Simu imewekwa isubiri."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"Simu iliyokuwa inasubiri imeondolewa."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Jibu"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Tuma SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Kataa"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Pokea kama Hangout ya Video"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Pokea kama simu ya sauti"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Kubali ombi la video"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Kataa ombi la video"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Sogeza juu ili <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Sogeza kushoto ili <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Sogeza kulia ili <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Telezesha kidole chini kwa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Mtetemo"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Mtetemo"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Sauti"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Sauti chaguo-msingi (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Mlio wa simu"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Tetema wakati wa kulia"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Jaza nambari kiotomatiki"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Mlio wa simu na Mtetemo"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Dhibiti simu ya kongamano"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Nambari ya dharura"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Chagua Akaunti"</string>
+</resources>
diff --git a/InCallUI/res/values-ta-rIN/strings.xml b/InCallUI/res/values-ta-rIN/strings.xml
new file mode 100644
index 0000000..2950dae
--- /dev/null
+++ b/InCallUI/res/values-ta-rIN/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"மொபைல்"</string>
+ <string name="onHold" msgid="9035493194749959955">"காத்திருப்பில்"</string>
+ <string name="unknown" msgid="6878797917991465859">"தெரியாதவர்"</string>
+ <string name="private_num" msgid="6713286113000232309">"தனிப்பட்ட எண்"</string>
+ <string name="payphone" msgid="1931775086311769314">"கட்டண மொபைல்"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"லைன் பிஸியாக உள்ளது"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"நெட்வொர்க் பிஸி"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"பதில் இல்லை, நேரம் முடிந்தது"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"சேவையகம் தொடர்பில் இல்லை"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"தொடர்புகொள்ள முடியவில்லை"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"பயனர்பெயர் அல்லது கடவுச்சொல் தவறானது"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"நெட்வொர்க்கிற்கு அப்பாற்பட்ட எல்லையிலிருந்து அழைக்கப்பட்டது"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"சேவையகப் பிழை. பிறகு முயலவும்."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"சிக்னல் இல்லை"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM வரம்பு மீறப்பட்டது"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"ரேடியோ முடக்கப்பட்டது"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"SIM இல்லை அல்லது SIM பிழை"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"மொபைல் நெட்வொர்க் இல்லை"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"வெளிச்செல்லும் அழைப்புகள் FDN ஆல் தடுக்கப்பட்டன."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"அழைப்பு தடுப்பில் இருக்கும்போது பிறரை அழைக்க முடியாது."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"அணுகல் கட்டுப்பாட்டின் மூலம் எல்லா அழைப்புகளும் தடுக்கப்பட்டன."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"அணுகல் கட்டுப்பாட்டின் மூலம் அவசர அழைப்புகள் தடுக்கப்பட்டன."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"அணுகல் கட்டுப்பாட்டின் மூலம் இயல்பான அழைப்புகள் தடுக்கப்பட்டன."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"எண் தவறானது"</string>
+ <string name="confCall" msgid="1904840547188336828">"குழு அழைப்பு"</string>
+ <string name="call_lost" msgid="317670617901479594">"அழைப்பு முடிந்தது."</string>
+ <string name="ok" msgid="3811371167865772377">"சரி"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"ஸ்பீக்கர்"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"ஹேண்ட்செட் இயர்ஃபீஸ்"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"வயருடன்கூடிய ஹெட்செட்"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"புளூடூத்"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"பின்வரும் டோன்களை அனுப்பவா?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"டோன்களை அனுப்புகிறது\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"அனுப்பு"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"ஆம்"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"வேண்டாம்"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"இதனுடன் சிறப்புக்குறியை மாற்றியமை"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"குழு அழைப்பு <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"குரலஞ்சல் எண்"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"டயல் செய்கிறது"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"மீண்டும் முயற்சிக்கிறது"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"குழு அழைப்பு"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"உள்வரும் அழைப்பு"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"அழைப்பு முடிந்தது"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"காத்திருப்பில்"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"துண்டிக்கிறது"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"அழைப்பில்"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"எனது எண் <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"வீடியோவை இணைக்கிறது"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"வீடியோ அழைப்பு"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"வீடியோவைக் கோருகிறது"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"வீடியோ அழைப்பை இணைக்க முடியவில்லை"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"திருப்பி அழைப்பதற்கான எண்\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"அவசர அழைப்பு எண்\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"அழைக்கிறது"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"தவறிய அழைப்பு"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"தவறிய அழைப்புகள்"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> தவறிய அழைப்புகள்"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> இடமிருந்து தவறிய அழைப்பு"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"செயலில் இருக்கும் அழைப்பு"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"காத்திருப்பில்"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"உள்வரும் அழைப்பு"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"உள்வரும் வீடியோ அழைப்பு"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"உள்வரும் வீடியோ கோரிக்கை"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"புதிய குரலஞ்சல்"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"புதிய குரலஞ்சல் (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> ஐ அழை"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"குரலஞ்சல் எண் அறியப்படவில்லை"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"சேவை இல்லை"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"தேர்ந்தெடுத்த நெட்வொர்க் (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) கிடைக்கவில்லை"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"துண்டி"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"வீடியோ"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"குரல்"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"ஏற்கிறேன்"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"நிராகரி"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"திருப்பி அழை"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"செய்தி"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"அழைப்பதற்கு, முதலில் விமானப் பயன்முறையை முடக்கவும்."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"நெட்வொர்க்கில் பதிவுசெய்யப்படவில்லை."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"மொபைல் நெட்வொர்க் கிடைக்கவில்லை."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"அழைக்க முடியவில்லை, சரியான எண் உள்ளிடப்படவில்லை."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"அழைக்க முடியவில்லை."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI வரிசையைத் தொடங்குகிறது..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"ஆதரிக்கப்படாத சேவை."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"அழைப்புகளுக்குள் மாற முடியவில்லை."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"அழைப்பைத் தனியாக்க முடியவில்லை."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"அழைப்பைப் பரிமாற்ற முடியவில்லை."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"குழு அழைப்புகளை மேற்கொள்ள முடியவில்லை."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"அழைப்பை நிராகரிக்க முடியவில்லை."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"அழைப்பை(களை) முடிக்க முடியவில்லை."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"குரலஞ்சல் எண் அறியப்படாதது."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP அழைப்பு"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"அவசரகால அழைப்பு"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"ரேடியோவை இயக்குகிறது…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"சேவை பகுதிக்கு வெளியே உள்ளது, மீண்டும் முயற்சிக்கிறது..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"அழைக்க முடியவில்லை, <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ஆனது அவசரகால எண் அல்ல!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"அழைக்க முடியாது. அவசரகால எண்ணை டயல் செய்யவும்!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"டயல் செய்வதற்கு விசைப்பலகையைப் பயன்படுத்துக"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"அழைப்பை இடைநிறுத்து"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"அழைப்பைத் தொடர்"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"அழைப்பைச் சேர்"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"அழைப்புகளை இணை"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"அழைப்புக்களில் மாறு"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"காத்திரு"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"முடி"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"டயல்பேடு"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"முடக்கு"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"அழைப்பைச் சேர்"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"அழைப்புகளை இணை"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"மாற்று"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"அழைப்புகளை நிர்வகி"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"ஆடியோ"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"வீடியோ அழைப்பு"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"குரல் அழைப்பிற்கு மாறு"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"கேமராவை மாற்று"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"வீடியோவை இடைநிறுத்து"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"மேலும் விருப்பங்கள்"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"சேவை"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"அமைவு"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<அமைக்கப்படவில்லை>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"பிற அழைப்பு அமைப்பு"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> வழியாக அழைக்கிறது"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> மூலம் உள்வருவது"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"தொடர்பு படம்"</string>
+ <string name="goPrivate" msgid="865837794424530980">"தனிப்பட்டதிற்குச் செல்"</string>
+ <string name="selectContact" msgid="781975788478987237">"தொடர்பைத் தேர்ந்தெடுக்கவும்"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"சொந்தமாக எழுதவும்..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"ரத்துசெய்"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"அனுப்பு"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"ஒன்று"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"இரண்டு"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"மூன்று"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"நான்கு"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"ஐந்து"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"ஆறு"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"ஏழு"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"எட்டு"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"ஒன்பது"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"நட்சத்திரம்"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"பூஜ்ஜியம்"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"பவுண்ட்"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"டயல்"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"ஸ்பீக்கர்போன் தேர்ந்தெடுக்கப்பட்டது"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"இயர்பீஸ் தேர்ந்தெடுக்கப்பட்டது"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"வயர் ஹெட்செட் தேர்ந்தெடுக்கப்பட்டது"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"புளூடூத் ஹெட்செட் தேர்ந்தெடுக்கப்பட்டது"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"அழைப்பு முடக்கப்பட்டது."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"அழைப்பு இயக்கப்பட்டது."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"அழைப்பு இடைநிறுத்தப்பட்டது."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"அழைப்பு மீள் இயக்கப்பட்டது."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"பதிலளி"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS அனுப்பு"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"நிராகரி"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"வீடியோ அழைப்பில் பதிலளி"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"ஆடியோ அழைப்பில் பதிலளி"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"வீடியோ கோரிக்கையை அனுமதி"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"வீடியோ கோரிக்கையை நிராகரி"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> க்கு மேலாக நகர்த்தவும்."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> க்கு இடதுபக்கமாக நகர்த்தவும்."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> வலதுபக்கமாக நகர்த்தவும்."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> க்குக் கீழே ஸ்லைடு செய்க."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"அதிர்வு"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"அதிர்வு"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"ஒலி"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"இயல்பு ஒலி (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"தொலைபேசி ரிங்டோன்"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"ரிங் ஆகும்போது அதிர்வை ஏற்படுத்து"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"டயல்பேடு தானாக முடித்தல்"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"ரிங்டோன் & அதிர்வு"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"குழு அழைப்பை நிர்வகிக்கவும்"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"அவசரகால எண்"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"கணக்கைத் தேர்ந்தெடு"</string>
+</resources>
diff --git a/InCallUI/res/values-te-rIN/strings.xml b/InCallUI/res/values-te-rIN/strings.xml
new file mode 100644
index 0000000..559846e
--- /dev/null
+++ b/InCallUI/res/values-te-rIN/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"ఫోన్"</string>
+ <string name="onHold" msgid="9035493194749959955">"హోల్డ్లో ఉంది"</string>
+ <string name="unknown" msgid="6878797917991465859">"తెలియదు"</string>
+ <string name="private_num" msgid="6713286113000232309">"ప్రైవేట్ నంబర్"</string>
+ <string name="payphone" msgid="1931775086311769314">"పే ఫోన్"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"లైన్ బిజీగా ఉంది"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"నెట్వర్క్ బిజీగా ఉంది"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"ప్రతిస్పందన లేదు, సమయం ముగిసింది"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"సర్వర్ను చేరుకోవడం సాధ్యపడలేదు"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"నంబర్ను చేరుకోవడం సాధ్యపడలేదు"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"చెల్లని వినియోగదారు పేరు లేదా పాస్వర్డ్"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"నెట్వర్క్ లేని చోటు నుండి కాల్ చేయబడింది"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"సర్వర్ లోపం. తర్వాత మళ్లీ ప్రయత్నించండి."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"సిగ్నల్ లేదు"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM పరిమితి మించిపోయింది"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"రేడియో ఆఫ్లో ఉంది"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"SIM లేదు లేదా SIM లోపం"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"మొబైల్ నెట్వర్క్ అందుబాటులో లేదు"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"FDN ద్వారా అవుట్గోయింగ్ కాల్లు పరిమితం చేయబడ్డాయి."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"కాల్ బేరింగ్ ఆన్లో ఉన్నప్పుడు మీరు అవుట్గోయింగ్ కాల్లు చేయలేరు."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"ప్రాప్యత నియంత్రణ ద్వారా అన్ని కాల్లు పరిమితం చేయబడ్డాయి."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"ప్రాప్యత నియంత్రణ ద్వారా అత్యవసర కాల్లు పరిమితం చేయబడ్డాయి."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"ప్రాప్యత నియంత్రణ ద్వారా సాధారణ కాల్లు పరిమితం చేయబడ్డాయి."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"నంబర్ చెల్లదు"</string>
+ <string name="confCall" msgid="1904840547188336828">"కాన్ఫరెన్స్ కాల్"</string>
+ <string name="call_lost" msgid="317670617901479594">"కాల్ను కోల్పోయారు."</string>
+ <string name="ok" msgid="3811371167865772377">"సరే"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"స్పీకర్"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"హ్యాండ్సెట్ ఇయర్పీస్"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"వైర్ గల హెడ్సెట్"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"బ్లూటూత్"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"క్రింది టోన్లు పంపాలా?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"టోన్లు పంపుతోంది\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"పంపు"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"అవును"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"లేదు"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"దీనితో వైల్డ్ అక్షరాన్ని భర్తీ చేయండి"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"కాన్ఫరెన్స్ కాల్ <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"వాయిస్ మెయిల్ నంబర్"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"డయల్ చేస్తోంది"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"పునఃప్రయత్నిస్తోంది"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"కాన్ఫరెన్స్ కాల్"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"ఇన్కమింగ్ కాల్"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"కాల్ ముగిసింది"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"హోల్డ్లో ఉంది"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"ముగిస్తోంది"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"కాల్లో ఉంది"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"నా నంబర్ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"వీడియోను కనెక్ట్ చేస్తోంది"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"వీడియో కాల్"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"వీడియో కోసం అభ్యర్థిస్తోంది"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"వీడియో కాల్ను కనెక్ట్ చేయడం సాధ్యపడదు"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"మీ కాల్ బ్యాక్ నంబర్\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"మీ అత్యవసర కాల్ బ్యాక్ నంబర్\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"డయల్ చేస్తోంది"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"సమాధానం ఇవ్వని కాల్"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"సమాధానం ఇవ్వని కాల్లు"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> సమాధానం ఇవ్వని కాల్లు"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> నుండి సమాధానం ఇవ్వని కాల్"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"కాల్ కొనసాగుతోంది"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"హోల్డ్లో ఉంది"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"ఇన్కమింగ్ కాల్"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"ఇన్కమింగ్ వీడియో కాల్"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"ఇన్కమింగ్ వీడియో అభ్యర్థన"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"కొత్త వాయిస్ మెయిల్"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"కొత్త వాయిస్ మెయిల్ (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>కు డయల్ చేయండి"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"వాయిస్ మెయిల్ నంబర్ తెలియదు"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"సేవ లేదు"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"ఎంచుకున్న నెట్వర్క్ (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) అందుబాటులో లేదు"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"కాల్ను ముగించు"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"వీడియో"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"వాయిస్"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"ఆమోదిస్తున్నాను"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"తీసివేయి"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"తిరిగి కాల్ చేయి"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"సందేశం"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"కాల్ చేయడానికి, మొదట ఎయిర్ప్లైన్ మోడ్ను ఆపివేయండి."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"నెట్వర్క్లో నమోదు కాలేదు."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"మొబైల్ నెట్వర్క్ అందుబాటులో లేదు."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"కాల్ చేయలేరు, చెల్లుబాటు అయ్యే నంబర్ నమోదు చేయలేదు."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"కాల్ వెళ్లలేదు."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI శ్రేణిని ప్రారంభిస్తోంది…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"మద్దతు లేని సేవ."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"కాల్లను మార్చడం సాధ్యపడలేదు."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"కాల్ను వేరు చేయడం సాధ్యపడలేదు."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"కాల్ను బదిలీ చేయడం సాధ్యపడలేదు."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"కాన్ఫరెన్స్ కాల్లు చేయడం సాధ్యపడలేదు."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"కాల్ను తిరస్కరించడం సాధ్యపడలేదు."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"కాల్(లు)ను చేయడం సాధ్యపడలేదు."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"వాయిస్మెయిల్ నంబర్ తెలియదు."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP కాల్"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"అత్యవసర కాల్"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"రేడియోను ప్రారంభిస్తోంది…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"సేవా ప్రాంతంలో లేదు, పునఃప్రయత్నిస్తోంది…"</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"కాల్ వెళ్లలేదు. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> అత్యవసర నంబర్ కాదు!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"కాల్ వెళ్లలేదు. అత్యవసర నంబర్కు డయల్ చేయండి!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"డయల్ చేయడానికి కీబోర్డ్ను ఉపయోగించండి"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"కాల్ను హోల్డ్లో ఉంచు"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"కాల్ను పునఃప్రారంభించు"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"కాల్ను జోడించు"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"కాల్లను విలీనం చేయి"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"కాల్లను మార్చు"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"హోల్డ్ చేయి"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"ముగించు"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"డయల్ప్యాడ్"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"మ్యూట్ చేయి"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"కాల్ను జోడించు"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"కాల్లను విలీనం చేయి"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"స్వాప్ చేయి"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"కాల్లను నిర్వహించు"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"ఆడియో"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"వీడియో కాల్"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"వాయిస్ కాల్కి మార్చు"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"కెమెరాను మార్చు"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"వీడియోను పాజ్ చేయి"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"మరిన్ని ఎంపికలు"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"సేవ"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"సెటప్"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<సెట్ చేయలేదు>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"ఇతర కాల్ సెట్టింగ్లు"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ద్వారా కాల్ చేయబడుతోంది"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ద్వారా ఇన్కమింగ్"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"పరిచయ ఫోటో"</string>
+ <string name="goPrivate" msgid="865837794424530980">"ప్రైవేట్గా వెళ్లు"</string>
+ <string name="selectContact" msgid="781975788478987237">"పరిచయాన్ని ఎంచుకోండి"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"మీ స్వంతంగా వ్రాయండి…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"రద్దు చేయి"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"పంపు"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"ఒకటి"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"రెండు"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"మూడు"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"నాలుగు"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"అయిదు"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"ఆరు"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"ఏడు"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"ఎనిమిది"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"తొమ్మిది"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"నక్షత్రం"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"సున్నా"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"పౌండ్"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"డయల్ చేయి"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"స్పీకర్ఫోన్ ఎంచుకోబడింది"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"ఇయర్పీస్ ఎంచుకోబడింది"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"వైర్ గల హెడ్సెట్ ఎంచుకోబడింది"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"బ్లూటూత్ హెడ్సెట్ ఎంచుకోబడింది"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"కాల్ మ్యూట్ చేయబడింది."</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"కాల్ అన్మ్యూట్ చేయబడింది."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"కాల్ హోల్డ్లో ఉంది."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"కాల్ హోల్డ్ నుండి తీసివేయబడింది."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"సమాధానం ఇవ్వండి"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS పంపండి"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"తిరస్కరిస్తున్నాను"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"వీడియో కాల్ రూపంలో సమాధానమివ్వండి"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"ఆడియో కాల్ రూపంలో సమాధానమివ్వండి"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"వీడియో అభ్యర్థనను అంగీకరించండి"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"వీడియో అభ్యర్థనను తిరస్కరించండి"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> కోసం పైకి స్లైడ్ చేయండి."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> కోసం ఎడమవైపుకు స్లైడ్ చేయండి."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> కోసం కుడివైపుకు స్లైడ్ చేయండి."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> కోసం క్రిందికి స్లైడ్ చేయండి."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"వైబ్రేట్"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"వైబ్రేట్"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"ధ్వని"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"డిఫాల్ట్ ధ్వని (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"ఫోన్ రింగ్టోన్"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"రింగ్ అవుతున్నప్పుడు వైబ్రేట్ చేయి"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"డయల్ ప్యాడ్ స్వీయ పూర్తి"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"రింగ్టోన్ & వైబ్రేట్"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"కాన్ఫరెన్స్ కాల్ను నిర్వహించండి"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"అత్యవసర నంబర్"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"ఖాతాను ఎంచుకోండి"</string>
+</resources>
diff --git a/InCallUI/res/values-th/strings.xml b/InCallUI/res/values-th/strings.xml
new file mode 100644
index 0000000..1ea918b
--- /dev/null
+++ b/InCallUI/res/values-th/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"โทรศัพท์"</string>
+ <string name="onHold" msgid="9035493194749959955">"พักสาย"</string>
+ <string name="unknown" msgid="6878797917991465859">"ไม่ทราบ"</string>
+ <string name="private_num" msgid="6713286113000232309">"หมายเลขส่วนตัว"</string>
+ <string name="payphone" msgid="1931775086311769314">"โทรศัพท์สาธารณะ"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"สายไม่ว่าง"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"เครือข่ายไม่ว่าง"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"ไม่มีการตอบกลับ หมดเวลา"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"ไม่สามารถเข้าถึงเซิร์ฟเวอร์ได้"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"ไม่สามารถติดต่อเลขหมายนี้ได้"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"โทรจากนอกเครือข่าย"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"ข้อผิดพลาดของเซิร์ฟเวอร์ โปรดลองอีกครั้งในภายหลัง"</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"ไม่มีสัญญาณ"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"เกินจำนวนสูงสุดของ ACM แล้ว"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"ปิดวิทยุ"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"ไม่มีซิมหรือเกิดข้อผิดพลาดกับซิม"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"เครือข่ายมือถือใช้งานไม่ได้"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"การโทรออกถูกจำกัดโดย FDN"</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"โทรออกไม่ได้เมื่อระงับการโทรไว้"</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"การโทรทั้งหมดถูกจำกัดโดยการควบคุมการเข้าถึง"</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"การโทรฉุกเฉินถูกจำกัดโดยการควบคุมการเข้าถึง"</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"การโทรปกติถูกจำกัดโดยการควบคุมการเข้าถึง"</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"หมายเลขไม่ถูกต้อง"</string>
+ <string name="confCall" msgid="1904840547188336828">"การประชุมสาย"</string>
+ <string name="call_lost" msgid="317670617901479594">"สายหลุดไป"</string>
+ <string name="ok" msgid="3811371167865772377">"ตกลง"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"ลำโพง"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"ชุดหูฟังโทรศัพท์"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"ชุดหูฟังแบบมีสาย"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"บลูทูธ"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"ส่งโทนเสียงต่อไปนี้หรือไม่ \n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"กำลังส่งโทนเสียง\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"ส่ง"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"ใช่"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"ไม่"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"แทนที่อักขระแทนด้วย"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"การประชุมสาย <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"หมายเลขข้อความเสียง"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"กำลังโทรออก"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"กำลังทดลองซ้ำ"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"การประชุมสาย"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"สายเข้า"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"วางสายแล้ว"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"พักสาย"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"กำลังวางสาย"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"กำลังใช้สาย"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"หมายเลขของฉันคือ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"กำลังเชื่อมต่อวิดีโอ"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"แฮงเอาท์วิดีโอ"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"กำลังขอวิดีโอ"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"ไม่สามารถเชื่อมต่อแฮงเอาท์วิดีโอ"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"หมายเลขโทรกลับของคุณ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"หมายเลขโทรกลับฉุกเฉินของคุณ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"กำลังโทรออก"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"สายที่ไม่ได้รับ"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"สายที่ไม่ได้รับ"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> สายที่ไม่ได้รับ"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"สายที่ไม่ได้รับจาก <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"โทรต่อเนื่อง"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"พักสาย"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"สายเรียกเข้า"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"สายเรียกเข้าแฮงเอาท์วิดีโอ"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"คำขอโทรเข้าเป็นวิดีโอ"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"ข้อความเสียงใหม่"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"ข้อความเสียงใหม่ (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"หมุนหมายเลข <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"ไม่ทราบหมายเลขข้อความเสียง"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"ไม่มีบริการ"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"เครือข่ายที่เลือกไว้ (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ใช้งานไม่ได้"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"วางสาย"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"วิดีโอ"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"เสียง"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"ยอมรับ"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"ปิด"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"โทรกลับ"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"ข้อความ"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"หากต้องการโทรออก ให้ปิดโหมดใช้งานบนเครื่องบินก่อน"</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"ยังไม่ได้ลงทะเบียนบนเครือข่าย"</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"เครือข่ายมือถือใช้งานไม่ได้"</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"ไม่ได้โทรออก ไม่ได้ป้อนหมายเลขที่ถูกต้อง"</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"ไม่ได้โทรออก"</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"กำลังเริ่มต้นลำดับ MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"บริการไม่ได้รับการสนับสนุน"</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"สลับสายไม่ได้"</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"แยกสายไม่ได้"</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"โอนสายไม่ได้"</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"ประชุมทางโทรศัพท์ไม่ได้"</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"ปฏิเสธสายไม่ได้"</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"ปล่อยสายไม่ได้"</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"ไม่ทราบหมายเลขข้อความเสียง"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"โทรแบบ SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"หมายเลขฉุกเฉิน"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"กำลังเปิดวิทยุ…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"นอกพื้นที่ให้บริการ กำลังลองซ้ำ..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"ไม่ได้โทรออก <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ไม่ใช่หมายเลขฉุกเฉิน!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"ไม่ได้โทรออก หมุนหมายเลขฉุกเฉิน!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"ใช้แป้นพิมพ์กดหมายเลขโทรศัพท์"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"พักสาย"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"โทรต่อ"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"เพิ่มการโทร"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"รวมสาย"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"สลับสาย"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"พักสาย"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"สิ้นสุด"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"แป้นหมายเลข"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"ปิดเสียง"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"เพิ่มการโทร"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"รวมสาย"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"สลับ"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"จัดการการโทร"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"เสียง"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"แฮงเอาท์วิดีโอ"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"เปลี่ยนเป็นการโทรด้วยเสียง"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"สลับกล้องถ่ายรูป"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"หยุดวิดีโอชั่วคราว"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"ตัวเลือกอื่น"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"บริการ"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"การตั้งค่า"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<ไม่ได้ตั้งค่า>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"การตั้งค่าการโทรอื่นๆ"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"โทรผ่าน <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"สายเรียกเข้าผ่าน <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"ภาพของรายชื่อติดต่อ"</string>
+ <string name="goPrivate" msgid="865837794424530980">"เข้าสู่โหมดส่วนตัว"</string>
+ <string name="selectContact" msgid="781975788478987237">"เลือกรายชื่อติดต่อ"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"เขียนคำตอบของคุณเอง..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"ยกเลิก"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"ส่ง"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"หนึ่ง"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"สอง"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"สาม"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"สี่"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"ห้า"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"หก"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"เจ็ด"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"แปด"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"เก้า"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"ดาว"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"ศูนย์"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"ปอนด์"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"หมุนหมายเลข"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"ถอยหลัง"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"ปิดเสียงการโทร"</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"คำตอบ"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"ส่ง SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"ปฏิเสธ"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"รับสายเป็นแฮงเอาท์วิดีโอ"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"รับสายเป็นการโทรด้วยเสียง"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"ยอมรับคำขอวิดีโอ"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"ปฏิเสธคำขอวิดีโอ"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"เลื่อนขึ้นเพื่อ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"เลื่อนไปทางซ้ายเพื่อ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"เลื่อนไปทางขวาเพื่อ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"เลื่อนลงเพื่อ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"สั่น"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"สั่น"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"เสียง"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"เสียงเริ่มต้น (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"เสียงเรียกเข้าโทรศัพท์"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"สั่นเมื่อมีสายเข้า"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"ช่วยเติมอัตโนมัติในแป้นหมายเลข"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"เสียงเรียกเข้าและสั่น"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"จัดการการประชุมสาย"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"หมายเลขฉุกเฉิน"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"เลือกบัญชี"</string>
+</resources>
diff --git a/InCallUI/res/values-tl/strings.xml b/InCallUI/res/values-tl/strings.xml
new file mode 100644
index 0000000..16b354c
--- /dev/null
+++ b/InCallUI/res/values-tl/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telepono"</string>
+ <string name="onHold" msgid="9035493194749959955">"Naka-hold"</string>
+ <string name="unknown" msgid="6878797917991465859">"Di-kilala"</string>
+ <string name="private_num" msgid="6713286113000232309">"Pribadong numero"</string>
+ <string name="payphone" msgid="1931775086311769314">"Pay phone"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Abala ang linya"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Abala ang network"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Walang pagtugon, na-time out"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Hindi maabot ang server"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Hindi maabot ang numero"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Maling username o password"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Tumawag mula sa labas ng metwork"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Error sa server. Pakisubukang muli sa ibang pagkakataon."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Walang signal"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Lumagpas na sa limitasyon ng ACM"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Naka-off ang radyo"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Walang SIM, o error sa SIM"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Hindi available ang mobile network"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Pinaghihigpitan ng FDN ang mga papalabas na tawag."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Hindi ka makakagawa ng mga papalabas na tawag habang naka-on ang pag-bar ng tawag."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Pinaghihigpitan ang lahat ng mga tawag ng kontrol sa access."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Pinaghihigpitan ang mga pang-emergency na tawag ng kontrol sa access."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Pinaghihigpitan ang mga normal na tawag ng kontrol sa access."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Hindi wastong numero"</string>
+ <string name="confCall" msgid="1904840547188336828">"Conference na tawag"</string>
+ <string name="call_lost" msgid="317670617901479594">"Nawala ang tawag."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Speaker"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Handset earpiece"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Wired na headset"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Ipadala ang mga sumusunod na tone?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Nagpapadala ng mga tono\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Ipadala"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Oo"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Hindi"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Palitan ang wild character ng"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Conference na tawag <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Numero ng voicemail"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Dina-dial"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Sinusubukang muli"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Conference na tawag"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Papasok na tawag"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Winakasan ang Tawag"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Naka-hold"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Binababa"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Nasa tawag"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Ang aking numero ay <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Ikinokonekta ang video"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Video call"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Humihiling ng video"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Hindi maikokonekta ang video call"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Ang iyong matatawagang numero\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Ang iyong pang-emergency na matatawagang numero\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Dina-dial"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Hindi nasagot na tawag"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Mga hindi nasagot na tawag"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> (na) hindi nasagot na tawag"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Hindi nasagot na tawag mula kay <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Kasalukuyang tawag"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Naka-hold"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Papasok na tawag"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Papasok na video call"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Papasok na kahilingan ng video"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Bagong voicemail"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Bagong voicemail (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"I-dial ang <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Hindi kilala ang numero ng voicemail"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Walang serbisyo"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Hindi available ang mga piniling network (<xliff:g id="OPERATOR_NAME">%s</xliff:g>)"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Ibaba"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Boses"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Tanggapin"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"I-dismiss"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Tawagan"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Padalhan ng mensahe"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Upang tumawag, paki-off ang Airplane mode."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Hindi nakarehistro sa network."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Hindi available ang mobile network."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Hindi naipadala ang tawag, walang ipinasok na wastong numero."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Hindi naipadala ang tawag."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Sinisimulan ang pagkakasunud-sunod ng MMI…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Hindi suportadong serbisyo."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Hindi nagawang maglipat ng mga tawag."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Hindi nagawang ihiwalay ang tawag."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Hindi nagawang ilipat ang tawag."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Hindi nagawang i-conference ang mga tawag."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Hindi nagawang tanggihan ang tawag."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Hindi nagawang mapalabas ang (mga) tawag."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Hindi kilala ang numero ng voicemail."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Tawag sa SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Emergency na tawag"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Ino-on ang radyo…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Lugar na hindi nagseserbisyo, sinusubukang muli…"</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Hindi naipadala ang tawag. hindi pang-emergency na numero ang <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g>!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Hindi naipadala ang tawag. Mag-dial ng pang-emergency na numero!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Gamitin ang keyboard upang mag-dial"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"I-hold ang tawag"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Ipagpatuloy ang tawag"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Magdagdag ng tawag"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Pagsamahin ang mga tawag"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Pagpalitin ang mga tawag"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"I-hold"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Wakasan"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Dialpad"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"I-mute"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Magdagdag ng tawag"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Pagsamahin ang mga tawag"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Pagpalitin"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Pamahalaan ang mga tawag"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Video call"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Gawing voice call"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Magpalit ng camera"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"I-pause ang video"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Higit pang mga opsyon"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Serbisyo"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Setup"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Hindi nakatakda>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Iba pang mga setting ng tawag"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Tumatawag sa pamamagitan ng <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Papasok sa pamamagitan ng <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"larawan ng contact"</string>
+ <string name="goPrivate" msgid="865837794424530980">"maging pribado"</string>
+ <string name="selectContact" msgid="781975788478987237">"pumili ng contact"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Sumulat ng sarili mong tugon…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Kanselahin"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Ipadala"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"isa"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"dalawa"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"tatlo"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"apat"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"lima"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"anim"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"pito"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"walo"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"siyam"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"star"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"zero"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"pound"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"Mag-dial"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Naka-mute ang tawag."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Sagutin"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Magpadala ng SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Tanggihan"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Sagutin bilang video call"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Sagutin bilang audio call"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Tanggapin ang kahilingan sa video"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Tanggihan ang kahilingan sa video"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Mag-slide pataas para sa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Mag-slide pakaliwa para sa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Mag-slide pakanan para sa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Mag-slide pababa para sa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Mag-vibrate"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Mag-vibrate"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Tunog"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Default na tunog (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Ringtone ng telepono"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"I-vibrate kapag nagri-ring"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Pag-autocomplete ng dial pad"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Ringtone at Pag-vibrate"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Pamahalaan ang conference call"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Pang-emergency na numero"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Pumili ng Account"</string>
+</resources>
diff --git a/InCallUI/res/values-tr/strings.xml b/InCallUI/res/values-tr/strings.xml
new file mode 100644
index 0000000..c8aecb0
--- /dev/null
+++ b/InCallUI/res/values-tr/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Telefon"</string>
+ <string name="onHold" msgid="9035493194749959955">"Beklemede"</string>
+ <string name="unknown" msgid="6878797917991465859">"Bilinmiyor"</string>
+ <string name="private_num" msgid="6713286113000232309">"Özel numara"</string>
+ <string name="payphone" msgid="1931775086311769314">"Ankesörlü telefon"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Hat meşgul"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Ağ meşgul"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Yanıt yok, zaman aşımı oluştu"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Sunucuya ulaşılamıyor"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Numaraya ulaşılamıyor"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Hatalı kullanıcı adı veya şifre"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Çağrı, ağın dışından yapıldı"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Sunucu hatası. Daha sonra tekrar deneyin."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Sinyal yok"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM sınırı aşıldı"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Radyo kapalı"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"SIM kart yok veya SIM hatası"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Mobil ağ kullanılamıyor"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Giden çağrılar SAN tarafından kısıtlandı."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Çağrı engelleme açıkken arama yapamazsınız"</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Tüm çağrılar erişim denetimi tarafından kısıtlandı."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Acil durum çağrıları erişim denetimi tarafından kısıtlandı."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Normal çağrılar erişim denetimi tarafından kısıtlanmış."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Geçersiz numara"</string>
+ <string name="confCall" msgid="1904840547188336828">"Konferans görüşmesi"</string>
+ <string name="call_lost" msgid="317670617901479594">"Çağrı istemeden sonlandırıldı."</string>
+ <string name="ok" msgid="3811371167865772377">"Tamam"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Hoparlör"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Mobil cihaz kulaklığı"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Kablolu kulaklık"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Şu zil sesleri gönderilsin mi?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Sayı tonları gönderiliyor\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Gönder"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Evet"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Hayır"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Joker karakteri şununla değiştir:"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Konferans görüşmesi <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Sesli mesaj numarası"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Çevriliyor"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Tekrar deniyor"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Konferans görüşmesi"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Gelen çağrı"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Çağrı sonlandırıldı"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Beklemede"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Sonlandırılıyor"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Çağrı halinde"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Numaram: <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Video bağlanıyor"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Video görüşmesi"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Video isteniyor"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Video araması bağlanamıyor"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Geri aranma numaranız:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Acil durumda geri aranma numaranız\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Çevriliyor"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Cevapsız çağrı"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Cevapsız çağrılar"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> cevapsız çağrı"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Cevapsız çağrı: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Devam eden çağrılar"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Beklemede"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Gelen çağrı"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Gelen video görüşmesi isteği"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Gelen video isteği"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Yeni sesli mesaj"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Yeni sesli mesaj (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Çevir: <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Sesli mesaj numarası bilinmiyor"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Hizmet yok"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Seçili ağ (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) kullanılamıyor"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Kapat"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Ses"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Kabul et"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Kapat"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Geri ara"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Mesaj gönder"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Bir çağrı yapmak için öncelikle Uçak modunu kapatın."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ağda kayıtlı değil."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mobil ağ kullanılamıyor."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Çağrı gönderilmedi. Geçerli numara girilmedi."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Çağrı gönderilmedi."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI dizisi başlatılıyor..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Desteklenmeyen hizmet."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Çağrılar arasında geçiş yapılamıyor."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Çağrı ayrılamıyor."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Çağrı aktarılamıyor."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Çağrılar konferans görüşmesi olarak birleştirilemiyor."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Çağrı reddedilemiyor."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Çağrılar serbest bırakılamıyor."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Sesli mesaj numarası bilinmiyor."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP çağrısı"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Acil durum çağrısı"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Radyo açılıyor..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Hizmet alanı dışında, tekrar deneniyor..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Çağrı gönderilmedi, <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> bir acil durum numarası değil!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Çağrı gönderilmedi. Bir acil durum numarası çevirin!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Çevirmek için klavyeyi kullan"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Çağrıyı beklet"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Çağrıya devam et"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Çağrı ekle"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Çağrıları birleştir"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Çağrılar arasında geçiş yap"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Beklet"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Sonlandır"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Tuş takımı"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Sesi Kapat"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Çağrı ekle"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Çağrıları birleştir"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Değiştir"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Aramaları yönet"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Ses"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Video görüşmesi"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Sesli çağrıya geç"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Kamerayı değiştir"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Videoyu duraklat"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Diğer seçenekler"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Hizmet"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Kurulum"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Ayarlanmadı>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Diğer çağrı ayarları"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> üzerinden çağrı yapılıyor"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> adlı sağlayıcı üzerinden gelen çağrı"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"kişi fotoğrafı"</string>
+ <string name="goPrivate" msgid="865837794424530980">"özele git"</string>
+ <string name="selectContact" msgid="781975788478987237">"kişi seçin"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Kendi yanıtınızı oluşturun…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"İptal"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Gönder"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"bir"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"iki"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"üç"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"dört"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"beş"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"altı"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"yedi"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"sekiz"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"dokuz"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"yıldız"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"sıfır"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"kare"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"çevir"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"geri tuşu"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Çağrı sesi kapatıldı."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Yanıtla"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS gönder"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Reddet"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Video görüşmesi olarak yanıtla"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Sesli görüşme olarak yanıtla"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Video isteğini kabul et"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Video isteğini reddet"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> için yukarı kaydırın."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> için sola kaydırın."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> için sağa kaydırın."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> için aşağı kaydırın."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Titreşim"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Titreşim"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Ses"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Varsayılan ses (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Telefon zil sesi"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Çalarken titret"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Tuş takımı otomatik tamamlama"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Zil Sesi ve Titreşim"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Konferans görüşmesini yönet"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Acil durum numarası"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Hesap Seçin"</string>
+</resources>
diff --git a/InCallUI/res/values-uk/strings.xml b/InCallUI/res/values-uk/strings.xml
new file mode 100644
index 0000000..ee10e9e
--- /dev/null
+++ b/InCallUI/res/values-uk/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Телефон"</string>
+ <string name="onHold" msgid="9035493194749959955">"Очікує"</string>
+ <string name="unknown" msgid="6878797917991465859">"Невідомий"</string>
+ <string name="private_num" msgid="6713286113000232309">"Приватний номер"</string>
+ <string name="payphone" msgid="1931775086311769314">"Таксофон"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Лінія зайнята"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Мережа зайнята"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Нема відп., час очік.мин."</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Сервер недоступний"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Номер недоступний"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Неправ. ім\'я корист-ча чи пароль"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Виклик із-поза меж мережі"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Помилка сервера. Спроб. пізніше."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Немає сигналу"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Перевищено ліміт ACM"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Вимк. радіо"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Помилка SIM-карти або SIM-карта відсутня"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Мобільна мережа недоступна"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Вихідні дзвінки обмежено FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Ви не можете здійснювати вихідні виклики, коли ввімкнено заборону викликів."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Усі дзвінки обмежено контролем доступу."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Аварійні виклики обмежено контролем доступу."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Звичайні виклики обмежено контролем доступу."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Недійсний номер"</string>
+ <string name="confCall" msgid="1904840547188336828">"Конференц-виклик"</string>
+ <string name="call_lost" msgid="317670617901479594">"Виклик утрачено."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Динамік"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Гарнітура Bluetooth"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Дротова гарнітура"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Надісл. наступні сигнали?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Надсилання сигналів\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Надісл."</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Так"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Ні"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Замінити довільний символ на"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Конференц-виклик <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Номер голос. пошти"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Набір"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Повт. підкл."</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Конференц-виклик"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Вхідний дзвінок"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Виклик заверш."</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Очікує"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Класти слухавку"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Вхід. викл."</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Мій номер: <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Відеодзвінок: з’єднання"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Відеодзвінок"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Надсилання запиту на відеодзвінок"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Не вдається встановити з’єднання для відеодзвінка"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Ваш номер для зворотного зв’язку:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Екстрений номер\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Набір"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Пропущ. виклик"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Пропущ. дзвінки"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"Пропущ. дзвінк: <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Пропущ. виклик від <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Поточний виклик"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Очікує"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Вхідний дзвінок"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Вхідний відеодзвінок"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Запит на вхідний відеодзвінок"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Нова голос. пошта"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Нова голос. пошта (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Набрати <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Невідомий номер голос. пошти"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Нема служби"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Вибрана мережа (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) недоступна"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Завершити виклик"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Відео"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Голосовий дзвінок"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Приймаю"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Закрити"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Передзвонити"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Повідомлення"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Щоб установ. з\'єднання, споч. вимк. режим польоту."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Не зареєстровано в мережі."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Мобільна мережа недоступна."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Виклик не надіслано, не збережено дійсний номер."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Виклик не надісл."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Запуск ряду MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Непідтримувана служба"</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Неможл. переключ. виклики."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Неможл. розділити дзвінок."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Неможл. переслати дзвінок."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Неможл. створ. конференц-викл."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Неможл. відхилити дзвінок."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Неможл. роз\'єднати виклики."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Невідомий номер голосової пошти."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Дзвінок через протокол SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Аварійний виклик"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Увімкнення радіо…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Поза межами дії служби, повтор..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Виклик не надіслано. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> не є екстреним номером!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Виклик не надіслано. Наберіть екстрений номер!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Викор. клав. для набору"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Утримати виклик"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Відновити виклик"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Додати виклик"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Об’єднати виклики"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Поміняти виклики"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Утрим."</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Закінч."</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Цифр. клав."</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Вимк. зв."</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Дод. виклик"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Об’єдн. дзвінки"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Поміняти"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Керув. викликами"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Звук"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Відеодзвінок"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Перейти в режим голосового дзвінка"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Змінити камеру"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Призупинити відео"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Більше опцій"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Служба"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Налаштування"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Не встановлено>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Інші налаштування виклику"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Виклик здійснюється за допомогою <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Вхідні дзвінки через оператора <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"фото контакта"</string>
+ <string name="goPrivate" msgid="865837794424530980">"конфіденц."</string>
+ <string name="selectContact" msgid="781975788478987237">"вибрати контакт"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Напишіть власну відповідь..."</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Скасувати"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Надіслати"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"один"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"два"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"три"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"чотири"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"п’ять"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"шість"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"сім"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"вісім"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"дев’ять"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"зірочка"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"нуль"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"решітка"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"дзвонити"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"backspace"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Звук виклику вимкнено."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Відповісти"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Надіслати SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Відхилити"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Відповісти в режимі відеодзвінка"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Відповісти в режимі аудіодзвінка"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Прийняти запит на відеодзвінок"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Відхилити запит на відеодзвінок"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> – проведіть пальцем угору."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> – проведіть пальцем ліворуч."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> – проведіть пальцем праворуч."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Проведіть пальцем донизу, щоб <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Вібросигнал"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Вібросигнал"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Звук"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Звук за умовчанням (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Сигнал дзвінка телефону"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Вібрувати під час дзвінка"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Автозавершення для цифрової клавіатури"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Сигнал дзвінка та вібросигнал"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Керувати конференц-викликом"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Екстрений номер"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Вибрати обліковий запис"</string>
+</resources>
diff --git a/InCallUI/res/values-ur-rPK/strings.xml b/InCallUI/res/values-ur-rPK/strings.xml
new file mode 100644
index 0000000..3bdef12
--- /dev/null
+++ b/InCallUI/res/values-ur-rPK/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"فون"</string>
+ <string name="onHold" msgid="9035493194749959955">"ہولڈ پر"</string>
+ <string name="unknown" msgid="6878797917991465859">"نامعلوم"</string>
+ <string name="private_num" msgid="6713286113000232309">"نجی نمبر"</string>
+ <string name="payphone" msgid="1931775086311769314">"پے فون"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"لائن مصروف ہے"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"نیٹ ورک مصروف ہے"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"کوئی جواب نہیں، وقت ختم ہوگیا"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"سرور ناقابل رسائی ہے"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"نمبر ناقابل رسائی ہے"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"غلط صارف نام یا پاس ورڈ"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"نیٹ ورک کے باہر سے کال کیا"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"سرور کی خرابی۔ بعد میں دوبارہ کوشش کریں۔"</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"کوئی سگنل نہیں ہے"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"ACM حد سے تجاوز کر گیا"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"ریڈیو آف ہے"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"SIM نہیں ہے یا SIM میں خرابی ہے"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"موبائل نیٹ ورک دستیاب نہیں ہے۔"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"باہر جانے والی کالیں FDN کے ذریعہ ممنوع کر دی گئی ہیں۔"</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"آپ کال بندش آن ہونے کی حالت میں باہر جانے والی کالیں نہیں کرسکتے ہیں۔"</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"تمام کالیں رسائی کنٹرول کے ذریعہ ممنوع کر دی گئی ہیں۔"</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"ایمرجنسی کالیں رسائی کنٹرول کے ذریعہ ممنوع کر دی گئی ہیں۔"</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"عمومی کالیں رسائی کنٹرول کے ذریعہ ممنوع کر دی گئی ہیں۔"</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"غلط نمبر"</string>
+ <string name="confCall" msgid="1904840547188336828">"کانفرنس کال"</string>
+ <string name="call_lost" msgid="317670617901479594">"کال کھو گئی ہے۔"</string>
+ <string name="ok" msgid="3811371167865772377">"ٹھیک ہے"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"اسپیکر"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"ہینڈسیٹ ایئرپیس"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"تار والا ہیڈسیٹ"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"بلوٹوتھ"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"درج ذیل ٹونز بھیجیں؟\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"ٹونز بھیج رہا ہے\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"بھیجیں"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"ہاں"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"نہیں"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"وائلڈ حرف کو اس کے ساتھ بدلیں"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"کانفرنس کال <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"صوتی میل نمبر"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"ڈائل ہو رہا ہے"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"دوبارہ کوشش کر رہا ہے"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"کانفرنس کال"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"آنے والی کال"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"کال ختم ہوگئی"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"ہولڈ پر"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"کال منقطع ہو رہی ہے"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"کال میں"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"میرا نمبر ہے <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"ویڈیو کال مربوط ہو رہی ہے"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"ویڈیو کال"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"ویڈیو کی درخواست کی جا رہی ہے"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"ویڈیو کال مربوط نہیں کی جا سکتی"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"آپ کا واپسی کال نمبر\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"آپ کا ہنگامی واپسی کال نمبر\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"ڈائل ہو رہا ہے"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"چھوٹی ہوئی کال"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"چھوٹی ہوئی کالیں"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> چھوٹی ہوئی کالیں"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> کی جانب سے چھوٹی ہوئی کال"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"جاری کال"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"ہولڈ پر"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"آنے والی کال"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"اِن کمنگ ویڈیو کال"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"اِن کمنگ ویڈیو درخواست"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"نیا صوتی میل"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"نیا صوتی میل (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> ڈائل کریں"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"صوتی میل نمبر نامعلوم ہے"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"کوئی سروس نہیں ہے"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"منتخب کردہ نیٹ ورک (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) دستیاب نہیں ہے"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"کال منقطع کریں"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"ویڈیو"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"آواز"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"قبول کریں"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"برخاست کریں"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"واپس کال کریں"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"پیغام"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"کال کرنے کیلئے، پہلے ہوائی جہاز طرز کو آف کریں۔"</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"نیٹ ورک پر رجسٹرڈ نہیں ہے۔"</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"موبائل نیٹ ورک دستیاب نہیں ہے۔"</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"کال نہیں بھیجی گئی، کوئی درست نمبر درج نہیں کیا گیا۔"</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"کال نہیں بھیجی گئی۔"</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI ترتیب شروع ہو رہی ہے…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"غیر تعاون یافتہ سروس۔"</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"کالیں سوئچ کرنے سے قاصر ہے۔"</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"کال علیحدہ کرنے سے قاصر ہے۔"</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"کال منتقل کرنے سے قاصر ہے۔"</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"کانفرنس کالیں کرنے سے قاصر ہے۔"</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"کال مسترد کرنے سے قاصر ہے۔"</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"کال (کالیں) جاری کرنے سے قاصر ہے۔"</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"صوتی میل نمبر نامعلوم ہے۔"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP کال"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"ہنگامی کال"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"ریڈیو آن کر رہا ہے…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"سروس کے علاقے سے باہر، دوبارہ کوشش ہو رہی ہے…"</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"کال نہیں بھیجی گئی۔ <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ایک ہنگامی نمبر نہیں ہے!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"کال نہیں بھیجی گئی۔ ایک ہنگامی نمبر ڈائل کریں!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"ڈائل کرنے کیلئے کی بورڈ استعمال کریں"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"کال کو ہولڈ کریں"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"کال کو دوبارہ شروع کریں"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"کال شامل کریں"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"کالز کو ضم کریں"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"کالز تبدیل کریں"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"ہولڈ کریں"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"ختم کریں"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"ڈائل پیڈ"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"خاموش کریں"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"کال شامل کریں"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"کالیں ضم کریں"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"تبادلہ کریں"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"کالوں کا نظم کریں"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"آڈیو"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"ویڈیو کال"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"صوتی کال میں تبدیل کریں"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"کیمرہ سوئچ کریں"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"ویڈیو موقوف کریں"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"مزید اختیارات"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"سروس"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"سیٹ اپ"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<متعین نہیں ہے>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"دیگر کال کی ترتیبات"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> کی معرفت کال ہو رہی ہے"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> کے ذریعے موصول ہونے والی"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"رابطہ کی تصویر"</string>
+ <string name="goPrivate" msgid="865837794424530980">"نجی ہوجائیں"</string>
+ <string name="selectContact" msgid="781975788478987237">"رابطہ منتخب کریں"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"اپنا خود کا تحریر کریں…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"منسوخ کریں"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"بھیجیں"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"ایک"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"دو"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"تین"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"چار"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"پانچ"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"چھ"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"سات"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"آٹھ"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"نو"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"ستارہ"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"صفر"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"پاؤنڈ"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"ڈائل کریں"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"بیک اسپیس"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"کال خاموش کر دی گئی۔"</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"جواب دیں"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"SMS بھیجیں"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"مسترد کریں"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"ویڈیو کال کے بطور جواب دیں"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"آڈیو کال کے بطور جواب دیں"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"ویڈیو کی درخواست قبول کریں"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"ویڈیو کی درخواست مسترد کریں"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> کیلئے اوپر سلائیڈ کریں۔"</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> کیلئے بائیں سلائیڈ کریں۔"</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> کیلئے دائیں سلائیڈ کریں۔"</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> کیلئے نیچے سلائیڈ کریں۔"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"وائبریٹ"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"وائبریٹ"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"آواز"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"ڈیفالٹ آواز (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"فون رنگ ٹون"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"بجنے کے وقت مرتعش کریں"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"ڈائل پیڈ خود کار تکمیل"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"رنگ ٹون اور وائبریٹ"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"کانفرنس کال کا نظم کریں"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"ہنگامی نمبر"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"اکاؤنٹ منتخب کریں"</string>
+</resources>
diff --git a/InCallUI/res/values-vi/strings.xml b/InCallUI/res/values-vi/strings.xml
new file mode 100644
index 0000000..f9f76f2
--- /dev/null
+++ b/InCallUI/res/values-vi/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Điện thoại"</string>
+ <string name="onHold" msgid="9035493194749959955">"Đang chờ"</string>
+ <string name="unknown" msgid="6878797917991465859">"Không xác định"</string>
+ <string name="private_num" msgid="6713286113000232309">"Số cá nhân"</string>
+ <string name="payphone" msgid="1931775086311769314">"Điện thoại tự động"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Đường dây bận"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Mạng bận"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Không có phản hồi, đã hết thời gian chờ"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Máy chủ không thể truy cập được"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Số không thể truy cập được"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Tên người dùng hoặc mật khẩu không chính xác"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Được gọi từ ngoài mạng"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Lỗi máy chủ. Hãy thử lại sau."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Không có tín hiệu nào"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Đã vượt quá giới hạn ACM"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Tắt radio"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Không có SIM hoặc lỗi SIM"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Không có mạng di động"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Cuộc gọi đi bị hạn chế bởi FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Bạn không thể thực hiện cuộc gọi đi khi đang bật chế độ chặn cuộc gọi."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Tất cả cuộc gọi bị hạn chế bởi kiểm soát truy cập."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Cuộc gọi khẩn cấp bị hạn chế bằng kiểm soát truy cập."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Cuộc gọi thông thường bị hạn chế bởi kiểm soát truy cập."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Số không hợp lệ"</string>
+ <string name="confCall" msgid="1904840547188336828">"Cuộc gọi hội nghị"</string>
+ <string name="call_lost" msgid="317670617901479594">"Cuộc gọi đã bị mất."</string>
+ <string name="ok" msgid="3811371167865772377">"OK"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Loa"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Tai nghe ĐTDĐ"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Tai nghe có dây"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Gửi các âm sau?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Đang gửi âm\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Gửi"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Có"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Không"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Thay thế ký tự tự do bằng"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Cuộc gọi hội nghị <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Số thư thoại"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Đang quay số"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Đang thử lại"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Cuộc gọi hội nghị"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Cuộc gọi đến"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Cuộc gọi đã kết thúc"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Đang chờ"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Kết thúc cuộc gọi"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Đang trong cuộc gọi"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Số điện thoại của tôi là <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Đang kết nối video"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Cuộc gọi điện video"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Đang yêu cầu video"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Không thể kết nối cuộc gọi điện video"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Số gọi lại của bạn\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Số gọi lại khẩn cấp của bạn\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Đang gọi"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Cuộc gọi nhỡ"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Cuộc gọi nhỡ"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> cuộc gọi nhỡ"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Cuộc gọi nhỡ từ <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Cuộc gọi đang thực hiện"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Đang chờ"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Cuộc gọi đến"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Cuộc gọi điện video đến"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Yêu cầu video đến"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Thư thoại mới"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Thư thoại mới (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Quay số <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Số thư thoại không xác định"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Không có dịch vụ nào"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Mạng được chọn (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) không khả dụng"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Kết thúc"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Video"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Thoại"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Chấp nhận"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Loại bỏ"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Gọi lại"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Tin nhắn"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Để 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="4678640422710818317">"Chưa được đăng ký trên mạng."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Mạng di động không khả dụng."</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Cuộc gọi không được gửi đi, bạn đã nhập số không hợp lệ."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Cuộc gọi không được gửi đi."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Khởi động chuỗi MMI…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Dịch vụ không được hỗ trợ."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Không thể chuyển đổi cuộc gọi."</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Không thể tách cuộc gọi."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Không thể chuyển cuộc gọi."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Không thể thực hiện cuộc gọi hội nghị."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Không thể từ chối cuộc gọi."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Không thể thực hiện cuộc gọi."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Số thư thoại không xác định."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Cuộc gọi qua SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Cuộc gọi khẩn cấp"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Đang bật radio..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Ngoài vùng dịch vụ, đang thử lại..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Cuộc gọi không được gửi đi. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> không phải là số khẩn cấp!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Cuộc gọi không được gửi đi. Hãy quay số số khẩn cấp!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Sử dụng bàn phím để quay số"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Giữ cuộc gọi"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Tiếp tục cuộc gọi"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Thêm cuộc gọi"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Hợp nhất cuộc gọi"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Hoán đổi cuộc gọi"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Giữ"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Kết thúc"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Bàn phím số"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Tắt tiếng"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Thêm cuộc gọi"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Hợp nhất cuộc gọi"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Hoán đổi"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Quản lý cuộc gọi"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Âm thanh"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"C.gọi video"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Thay đổi thành cuộc gọi thoại"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Chuyển đổi máy ảnh"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Tạm dừng video"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Thêm tùy chọn"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Dịch vụ"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Thiết lập"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Chưa được đặt>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Cài đặt cuộc gọi khác"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Gọi điện qua <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Cuộc gọi đến qua <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"ảnh liên hệ"</string>
+ <string name="goPrivate" msgid="865837794424530980">"chuyển thành riêng tư"</string>
+ <string name="selectContact" msgid="781975788478987237">"chọn địa chỉ liên hệ"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Viết trả lời của riêng bạn…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Hủy"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Gửi"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"một"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"hai"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"ba"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"bốn"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"năm"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"sáu"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"bảy"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"tám"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"chín"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"dấu sao"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"không"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"dấu thăng"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"quay số"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"phím lùi"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Đã tắt tiếng cuộc gọi."</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"Trả lời"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Gửi SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Từ chối"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Trả lời là cuộc gọi điện video"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Trả lời là cuộc gọi âm thanh"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Chấp nhận yêu cầu cuộc gọi video"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Từ chối yêu cầu cuộc gọi video"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Trượt lên để <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Trượt sang trái để <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Trượt sang phải để <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Trượt xuống để <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Rung"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Rung"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Âm thanh"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Âm thanh mặc định (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Nhạc chuông điện thoại"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Rung khi đổ chuông"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Tự động hoàn thành bằng bàn phím số"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Nhạc chuông và rung"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Quản lý cuộc gọi hội nghị"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Số khẩn cấp"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Chọn tài khoản"</string>
+</resources>
diff --git a/InCallUI/res/values-zh-rCN/strings.xml b/InCallUI/res/values-zh-rCN/strings.xml
new file mode 100644
index 0000000..86b5129
--- /dev/null
+++ b/InCallUI/res/values-zh-rCN/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"电话"</string>
+ <string name="onHold" msgid="9035493194749959955">"保持"</string>
+ <string name="unknown" msgid="6878797917991465859">"未知"</string>
+ <string name="private_num" msgid="6713286113000232309">"私密号码"</string>
+ <string name="payphone" msgid="1931775086311769314">"公用电话"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"线路忙"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"网络忙"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"无响应,已超时"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"无法连接到服务器"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"该号码无法拨通"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"用户名或密码错误"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"网外呼叫"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"服务器错误,请稍后再试。"</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"无信号"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"超出 ACM 限制"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"已关闭天线"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"无SIM卡或SIM卡出错"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"没有移动网络"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"外拨电话受固定拨号限制。"</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"您无法在已启用通话限制的情况下拨出电话。"</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"所有通话都受访问控制限制。"</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"急救或报警电话受访问控制限制。"</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"正常通话受访问控制限制。"</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"号码无效"</string>
+ <string name="confCall" msgid="1904840547188336828">"电话会议"</string>
+ <string name="call_lost" msgid="317670617901479594">"通话已中断。"</string>
+ <string name="ok" msgid="3811371167865772377">"确定"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"扬声器"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"手机听筒"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"有线耳机"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"蓝牙"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"发送以下音频?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"正在发送双音频\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"发送"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"是"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"否"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"将通配符替换为"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"电话会议<xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"语音信箱号码"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"正在拨号"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"正在重拨"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"电话会议"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"来电"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"通话结束"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"保持"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"正在挂断"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"正在通话"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"我的手机号码:<xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"正在连接视频"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"视频通话"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"正在发出视频请求"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"无法连接视频通话"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"您的回拨号码如下:\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"您的紧急回拨号码:\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"正在拨号"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"未接电话"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"未接电话"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> 个未接电话"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"来自<xliff:g id="MISSED_CALL_FROM">%s</xliff:g>的未接电话"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"当前通话"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"保持"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"来电"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"有视频通话来电"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"收到视频通话邀请"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"新语音邮件"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"新语音邮件 (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"拨打 <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"语音信箱号码未知"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"无服务"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"所选网络(<xliff:g id="OPERATOR_NAME">%s</xliff:g>)不可用"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"挂断"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"视频"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"语音"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"接受"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"忽略"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"回拨"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"短信"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"要进行呼叫,请先关闭飞行模式。"</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"尚未注册网络。"</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"无法连接到移动网络"</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"拨号失败,因为输入的号码无效。"</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"拨号失败。"</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"正在启动 MMI 序列..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"不支持此服务。"</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"无法切换通话。"</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"无法分离通话。"</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"无法转移呼叫。"</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"无法进行电话会议。"</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"无法拒绝呼叫。"</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"无法挂断。"</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"语音信箱号码未知。"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP电话"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"紧急呼救"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"正在打开天线..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"不在服务区,正在重试..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"电话未拨出,<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> 不是紧急呼救号码!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"电话未拨出,请拨打紧急呼救电话!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"使用键盘拨号"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"保持通话"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"恢复通话"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"添加通话"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"合并通话"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"切换通话"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"等待"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"挂断"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"拨号键盘"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"静音"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"添加通话"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"合并通话"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"交换"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"管理通话"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"音频"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"视频通话"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"改为语音通话"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"切换摄像头"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"暂停视频"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"更多选项"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"服务"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"设置"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<未设置>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"其他通话设置"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"通过<xliff:g id="PROVIDER_NAME">%s</xliff:g>进行通话"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"来电(<xliff:g id="PROVIDER_NAME">%s</xliff:g>)"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"联系人照片"</string>
+ <string name="goPrivate" msgid="865837794424530980">"私聊"</string>
+ <string name="selectContact" msgid="781975788478987237">"选择联系人"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"自行撰写回复…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"取消"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"发送"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"一"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"二"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"三"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"四"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"五"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"六"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"七"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"八"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"九"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"星标"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"零"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"英镑"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"拨号"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"Backspace 键"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"通话已静音。"</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"接听"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"发送短信"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"拒绝"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"以视频通话的形式接听"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"以音频通话的形式接听"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"接受视频请求"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"拒绝视频请求"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"向上滑动即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"向左滑动即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"向右滑动即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"向下滑动即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"振动"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"振动"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"提示音"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"默认提示音 (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"手机铃声"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"响铃时振动"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"拨号键盘自动补全"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"铃声和振动"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"管理电话会议"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"紧急电话号码"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"选择帐户"</string>
+</resources>
diff --git a/InCallUI/res/values-zh-rHK/strings.xml b/InCallUI/res/values-zh-rHK/strings.xml
new file mode 100644
index 0000000..57576dc
--- /dev/null
+++ b/InCallUI/res/values-zh-rHK/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"手機"</string>
+ <string name="onHold" msgid="9035493194749959955">"保留通話"</string>
+ <string name="unknown" msgid="6878797917991465859">"未知"</string>
+ <string name="private_num" msgid="6713286113000232309">"私人號碼"</string>
+ <string name="payphone" msgid="1931775086311769314">"公共電話"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"忙線"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"網絡忙碌"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"沒有回應,已逾時"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"無法連接伺服器"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"無法撥通的號碼"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"用戶名稱或密碼不正確"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"無法在網外撥號"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"伺服器錯誤,請稍後再試一次。"</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"沒有訊號"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"已超過 ACM 上限"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"無線電已關閉"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"沒有 SIM 卡,或是 SIM 卡錯誤"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"無法連線至流動網絡"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"撥出通話受 FDN 限制。"</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"啟用通話限制時,無法撥出電話。"</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"所有通話都受存取控制限制。"</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"緊急通話受存取控制限制。"</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"正常通話受存取控制限制。"</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"號碼無效"</string>
+ <string name="confCall" msgid="1904840547188336828">"視訊會議"</string>
+ <string name="call_lost" msgid="317670617901479594">"電話已斷線。"</string>
+ <string name="ok" msgid="3811371167865772377">"確定"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"揚聲器"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"免提聽筒"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"有線頭戴式耳機"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"藍牙"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"傳送下列鈴聲? \n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"正在傳送訊號音\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"發送"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"是"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"否"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"將萬用字元改成"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"電話會議 <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"留言信箱號碼"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"撥號中"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"重試中"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"視訊會議"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"來電"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"通話已結束"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"保留通話"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"結束通話"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"通話中"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"我的電話號碼:<xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"連結視像"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"視像通話"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"提出視像要求"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"無法連結視像通話"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"您的回撥號碼如下:\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"您的緊急回撥號碼如下:\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"撥號中"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"未接來電"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"未接來電"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> 未接電話"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g>打來的未接來電"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"通話中"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"保留通話"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"來電"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"視像通話來電"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"收到視像要求"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"新留言"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"新留言 (<xliff:g id="COUNT">%d</xliff:g> 個)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"撥號 <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"沒有可用的留言信箱號碼"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"沒有服務"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"您所選取的網絡 (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) 無法使用"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"掛斷"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"影片"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"語音"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"接受"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"關閉"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"回撥"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"短訊"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"請先關閉飛行模式後再撥打電話。"</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"未在網絡上完成註冊。"</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"無法使用流動網絡。"</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"無法傳送,輸入的號碼無效。"</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"無法傳送通話。"</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"開始 MMI 序列..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"不支援的服務。"</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"無法切換通話。"</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"無法區分來電。"</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"無法傳接電話。"</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"無法進行會議通話"</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"無法拒接來電。"</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"無法結束通話。"</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"留言信箱號碼不明。"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP 通話"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"緊急電話"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"正在開啟無線電..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"超出服務範圍,正在重試..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"無法撥號,<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> 不是緊急電話號碼!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"無法撥號,請撥打緊急電話號碼!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"使用鍵盤撥號"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"保留通話"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"恢復通話"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"新增通話"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"合併通話"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"切換通話"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"按住"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"結束"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"撥號鍵盤"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"靜音"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"新增通話"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"合併通話"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"切換"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"管理通話"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"音頻裝置"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"視像通話"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"變更為語音通話"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"切換相機"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"暫停視像"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"更多選項"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"服務"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"設定"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<未設定>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"其他通話設定"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"正在透過 <xliff:g id="PROVIDER_NAME">%s</xliff:g> 撥號"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"有人透過 <xliff:g id="PROVIDER_NAME">%s</xliff:g> 來電"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"聯絡人相片"</string>
+ <string name="goPrivate" msgid="865837794424530980">"私人通話"</string>
+ <string name="selectContact" msgid="781975788478987237">"選取聯絡人"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"自行撰寫回覆…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"取消"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"傳送"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"一"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"二"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"三"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"四"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"五"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"六"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"七"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"八"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"九"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"星號"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"零"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"井字鍵"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"撥號"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"退格鍵"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"通話已靜音。"</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"接聽"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"發送短訊"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"拒絕"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"接聽視像通話"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"接聽語音通話"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"接受視像通話要求"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"拒絕視像通話要求"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"向上滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"向左滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"向右滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"向下滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"震動"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"震動"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"音效"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"預設音效 (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"手機鈴聲"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"鈴響時震動"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"撥號鍵盤自動完成"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"鈴聲與震動"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"管理會議通話"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"緊急電話號碼"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"選取帳戶"</string>
+</resources>
diff --git a/InCallUI/res/values-zh-rTW/strings.xml b/InCallUI/res/values-zh-rTW/strings.xml
new file mode 100644
index 0000000..d8cd907
--- /dev/null
+++ b/InCallUI/res/values-zh-rTW/strings.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"電話"</string>
+ <string name="onHold" msgid="9035493194749959955">"通話保留"</string>
+ <string name="unknown" msgid="6878797917991465859">"不明"</string>
+ <string name="private_num" msgid="6713286113000232309">"私人號碼"</string>
+ <string name="payphone" msgid="1931775086311769314">"公共電話"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"線路忙碌中"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"網路忙碌"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"沒有回應,已逾時"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"無法連上伺服器"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"無法撥通的號碼"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"使用者名稱或密碼有誤"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"無法進行網外撥號"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"伺服器錯誤,請稍後再試。"</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"沒有訊號"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"已達 ACM 限制"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"無線通訊關閉"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"沒有 SIM 卡或 SIM 卡發生錯誤"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"無法連線至行動網路"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"撥出受固定撥號限制。"</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"通話限制啟用時無法撥號。"</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"所有通話都受存取控制限制。"</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"緊急通話受存取控制限制。"</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"正常通話受存取控制限制。"</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"號碼無效"</string>
+ <string name="confCall" msgid="1904840547188336828">"多方通話"</string>
+ <string name="call_lost" msgid="317670617901479594">"電話已斷線。"</string>
+ <string name="ok" msgid="3811371167865772377">"確定"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"喇叭"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"手機聽筒"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"有線頭戴式耳機"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"藍牙"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"傳送此鈴聲?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"正在傳送信號音\n"</string>
+ <string name="send_button" msgid="4106860097497818751">"傳送"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"是"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"否"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"將萬用字元改成"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"多方通話<xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"語音信箱號碼"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"撥號中"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"重試中"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"多方通話"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"來電"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"通話結束"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"通話保留"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"掛斷電話"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"通話中"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"我的電話號碼:<xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"連接視訊"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"視訊通話"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"提出視訊要求"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"無法連接視訊通話"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"您的回撥號碼如下:\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"您的緊急回撥號碼如下:\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"撥號中"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"未接來電"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"未接來電"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> 通未接來電"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"來自 <xliff:g id="MISSED_CALL_FROM">%s</xliff:g> 的未接來電"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"通話中"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"通話保留"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"來電"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"視訊通話來電"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"收到視訊要求"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"新留言"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"新留言 (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"撥打 <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"無語音信箱號碼"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"沒有服務"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"您所選取的網路 (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) 無法使用"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"掛斷"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"視訊"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"語音"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"接受"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"關閉"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"回撥"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"簡訊"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"撥號前,請先關閉飛航模式。"</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"尚未註冊網路。"</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"無法使用 Google 行動服務網路。"</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"撥號未送出,未輸入正確號碼。"</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"撥號未送出。"</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"開始 MMI 序列…"</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"不支援的服務。"</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"無法切換通話。"</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"無法分隔來電。"</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"無法轉接來電。"</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"無法進行多方通話。"</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"無法拒絕來電。"</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"無法釋出通話。"</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"語音留言號碼不明。"</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"SIP 通話"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"緊急電話"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"開啟無線通訊中…"</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"超出服務範圍,重試中…"</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"未送出通話要求,<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> 不是緊急電話號碼!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"未送出通話要求,請撥打緊急電話號碼!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"使用鍵盤撥號"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"保留通話"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"恢復通話"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"新增通話"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"合併通話"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"切換通話"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"保留"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"結束"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"撥號鍵盤"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"靜音"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"新增通話"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"合併通話"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"切換"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"管理通話"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"音訊"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"視訊通話"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"變更為語音通話"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"切換相機"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"暫停影片"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"更多選項"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"服務"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"設定"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<未設定>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"其他通話設定"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"正在透過 <xliff:g id="PROVIDER_NAME">%s</xliff:g> 撥號"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"有人透過 <xliff:g id="PROVIDER_NAME">%s</xliff:g> 來電"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"聯絡人相片"</string>
+ <string name="goPrivate" msgid="865837794424530980">"私人通話"</string>
+ <string name="selectContact" msgid="781975788478987237">"選取聯絡人"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"自行撰寫回應…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"取消"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"傳送"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"1"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"2"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"3"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"4"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"5"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"6"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"7"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"8"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"9"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"星號"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"零"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"井字鍵"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"撥號"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"Backspace"</string>
+ <!-- no translation found for accessibility_speakerphone_selected (4389354567657833468) -->
+ <skip />
+ <!-- no translation found for accessibility_earpiece_selected (5749525199671068663) -->
+ <skip />
+ <!-- no translation found for accessibility_wired_headset_selected (2984920743124263932) -->
+ <skip />
+ <!-- no translation found for accessibility_bluetooth_headset_selected (2785473629292181736) -->
+ <skip />
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"通話已靜音。"</string>
+ <!-- no translation found for accessibility_call_unmuted (7496527089753980871) -->
+ <skip />
+ <!-- no translation found for accessibility_call_put_on_hold (4226100429657528833) -->
+ <skip />
+ <!-- no translation found for accessibility_call_removed_from_hold (2269352120695851563) -->
+ <skip />
+ <string name="description_target_answer" msgid="7205604197797472471">"解答"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"傳送簡訊"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"拒絕"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"接聽視訊通話"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"接聽語音通話"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"接受視訊要求"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"拒絕視訊要求"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"向上滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"向左滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"向右滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"向下滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"震動"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"震動"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"音效"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"預設音效 (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"手機鈴聲"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"鈴響時震動"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"撥號鍵盤自動完成"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"鈴聲與震動"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"管理會議通話"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"緊急電話號碼"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"選取帳戶"</string>
+</resources>
diff --git a/InCallUI/res/values-zu/strings.xml b/InCallUI/res/values-zu/strings.xml
new file mode 100644
index 0000000..c1ce83b
--- /dev/null
+++ b/InCallUI/res/values-zu/strings.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<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="906161039445636857">"Ifoni"</string>
+ <string name="onHold" msgid="9035493194749959955">"Ibambile"</string>
+ <string name="unknown" msgid="6878797917991465859">"Akwaziwa"</string>
+ <string name="private_num" msgid="6713286113000232309">"Inombolo eyimfihlo"</string>
+ <string name="payphone" msgid="1931775086311769314">"Ifoni ekhokhelwayo"</string>
+ <string name="callFailed_userBusy" msgid="8851106999809294904">"Ulayini umatasa"</string>
+ <string name="callFailed_congestion" msgid="8737761615702718375">"Inethiwekhi imatasa"</string>
+ <string name="callFailed_timedOut" msgid="7590961703135543346">"Ayikho impendulo, isikhathi siphelile"</string>
+ <string name="callFailed_server_unreachable" msgid="2133506577423869729">"Iseva ayitholakali"</string>
+ <string name="callFailed_number_unreachable" msgid="7632566442515734778">"Inombolo ayifinyeleleki"</string>
+ <string name="callFailed_invalid_credentials" msgid="8226835346196775378">"Igama lomsebenzisi noma iphasiwedi engalungile"</string>
+ <string name="callFailed_out_of_network" msgid="8740943329772180507">"Kushayelwe kwinethiwekhi yangaphandle"</string>
+ <string name="callFailed_server_error" msgid="5717915213586193217">"Iphutha leseva. Zama futhi emva kwesikhathi."</string>
+ <string name="callFailed_noSignal" msgid="1889803273616031933">"Ayikho isignali"</string>
+ <string name="callFailed_limitExceeded" msgid="4958065157970101491">"Umkhawulo we-ACM ufinyelelwe"</string>
+ <string name="callFailed_powerOff" msgid="2766035859391549713">"Umsakazo uvaliwe"</string>
+ <string name="callFailed_simError" msgid="4476360200030635828">"Ayikho i-SIM, noma iphutha le-SIM"</string>
+ <string name="callFailed_outOfService" msgid="682300184520329366">"Inethiwekhi yeselula ayitholakali"</string>
+ <string name="callFailed_fdn_only" msgid="2850204579765430641">"Amakholi aphumayo avinjelwe i-FDN."</string>
+ <string name="callFailed_cb_enabled" msgid="3686963693629739680">"Awukwazi ukwenza amakholi aphumayo ngenkathi ukuvimba kuvuliwe."</string>
+ <string name="callFailed_dsac_restricted" msgid="2180223622768522345">"Wonke amakholi avimbelwa ngesilawuli sokufinyelela."</string>
+ <string name="callFailed_dsac_restricted_emergency" msgid="4353654268813314466">"Amakholi aphuthumayo avinjelwe isilawuli sokufinyelela."</string>
+ <string name="callFailed_dsac_restricted_normal" msgid="2680774510252408620">"Amakholi avamile avinjelwe ukulawula kokufinyelela."</string>
+ <string name="callFailed_unobtainable_number" msgid="4736290912891155067">"Inombolo Engalungile"</string>
+ <string name="confCall" msgid="1904840547188336828">"Ikholi yengqungquthela"</string>
+ <string name="call_lost" msgid="317670617901479594">"Ikholi ikulahlekele."</string>
+ <string name="ok" msgid="3811371167865772377">"KULUNGILE"</string>
+ <string name="audio_mode_speaker" msgid="27649582100085266">"Isipikha"</string>
+ <string name="audio_mode_earpiece" msgid="4156527186373869107">"Ucezulwendlebe lwe-Handset"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"I-headset enezincingo"</string>
+ <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+ <string name="wait_prompt_str" msgid="7601815427707856238">"Thumela amathoni alandelayo?\n"</string>
+ <string name="pause_prompt_str" msgid="1789964702154314806">"Ithumela Amathoni \n"</string>
+ <string name="send_button" msgid="4106860097497818751">"Thumela"</string>
+ <string name="pause_prompt_yes" msgid="3564467212025151797">"Yebo"</string>
+ <string name="pause_prompt_no" msgid="6686238803236884877">"Cha"</string>
+ <string name="wild_prompt_str" msgid="5543521676355533577">"Miselela uhlamvu lwasendle nge"</string>
+ <string name="caller_manage_header" msgid="3231519674734638786">"Ikholi yengqungquthela <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string>
+ <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Inombolo yevoyisimeyili"</string>
+ <string name="card_title_dialing" msgid="5769417478498348054">"Iyadayela"</string>
+ <string name="card_title_redialing" msgid="4831412164303596395">"Izama futhi"</string>
+ <string name="card_title_conf_call" msgid="1162980346189744501">"Ikholi yengqungquthela"</string>
+ <string name="card_title_incoming_call" msgid="7364539451234646909">"Ikholi engenayo"</string>
+ <string name="card_title_call_ended" msgid="5544730338889702298">"Ikholi iqediwe"</string>
+ <string name="card_title_on_hold" msgid="821463117892339942">"Ibambile"</string>
+ <string name="card_title_hanging_up" msgid="3999101620995182450">"Iyavala"</string>
+ <string name="card_title_in_call" msgid="6346543933068225205">"Isecingweni"</string>
+ <string name="card_title_my_phone_number" msgid="112428362494434191">"Inombolo yami ngu <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string>
+ <string name="card_title_video_call_connecting" msgid="297586766381973954">"Ixhuma ividiyo"</string>
+ <string name="card_title_video_call" msgid="5898636679563320218">"Ikholi yevidiyo"</string>
+ <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Icela ividiyo"</string>
+ <string name="card_title_video_call_error" msgid="5520555528871673801">"Ayikwazi ukuxhuma ikholi yevidiyo"</string>
+ <string name="card_title_callback_number" msgid="4604563437776874016">"Inombolo yakho yokushayela emuva\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="card_title_callback_number_emergency" msgid="85588345502265075">"Inombolo yakho yokushayela emuva yesimo esiphuthumayo\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
+ <string name="notification_dialing" msgid="2107666444937350731">"Iyadayela"</string>
+ <string name="notification_missedCallTitle" msgid="7554385905572364535">"Ikholi ekulahlekele"</string>
+ <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Amakholi akuphuthele"</string>
+ <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> amakholi akulahlekele"</string>
+ <string name="notification_missedCallTicker" msgid="504686252427747209">"Uphuthelwe ikholi ephuma ku-<xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+ <string name="notification_ongoing_call" msgid="7068688957273482989">"Ikholi eqhubekayo"</string>
+ <string name="notification_on_hold" msgid="3480694969511790465">"Ibambile"</string>
+ <string name="notification_incoming_call" msgid="2820429205043529642">"Ikholi engenayo"</string>
+ <string name="notification_incoming_video_call" msgid="7356836933934464805">"Ikholi yevidiyo engenayo"</string>
+ <string name="notification_requesting_video_call" msgid="1405576812892369451">"Isicelo sevidiyo engenayo"</string>
+ <string name="notification_voicemail_title" msgid="8933468752045550523">"Umlayezo wezwi omusha"</string>
+ <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Umyalezo wezwi omusha (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+ <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Dayela <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+ <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Inombolo yevoyisimeyili ayaziwa"</string>
+ <string name="notification_network_selection_title" msgid="4224455487793492772">"Ayikho isevisi"</string>
+ <string name="notification_network_selection_text" msgid="2607085729661923269">"Inethiwekhi ekhethiwe <xliff:g id="OPERATOR_NAME">%s</xliff:g> ayitholakali"</string>
+ <string name="notification_action_end_call" msgid="6069460915123531620">"Vala ikholi"</string>
+ <string name="notification_action_answer_video" msgid="7809271910870211729">"Ividiyo"</string>
+ <string name="notification_action_answer_voice" msgid="1770796916369437773">"Izwi"</string>
+ <string name="notification_action_accept" msgid="2898609801209468429">"Yamukela"</string>
+ <string name="notification_action_dismiss" msgid="2679969397930852858">"Cashisa"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Phinda ushaye"</string>
+ <string name="notification_missedCall_message" msgid="3049928912736917988">"Umlayezo"</string>
+ <string name="incall_error_power_off" msgid="6550191216405193368">"Ukwenza ikholi, vala kuqala imodi Yendiza."</string>
+ <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ayibhalisiwe kwinethiwekhi."</string>
+ <string name="incall_error_out_of_service" msgid="8587993036435080418">"Inethiwekhi yefoni ayitholakali"</string>
+ <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Ikholi ayithunyelwanga, ayikho inombolo elungile efakiwe."</string>
+ <string name="incall_error_call_failed" msgid="4313552620858880999">"Ikholi ayithunyelwanga."</string>
+ <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Iqalisa ukulandelana kwe-MMI..."</string>
+ <string name="incall_error_supp_service_unknown" msgid="2991054870745666038">"Isevisi engasekelwe."</string>
+ <string name="incall_error_supp_service_switch" msgid="3503552565745872241">"Ayikwazi ukushintsha amakholi"</string>
+ <string name="incall_error_supp_service_separate" msgid="914362338192301746">"Ayikwazi ukwehlukanisa ucingo."</string>
+ <string name="incall_error_supp_service_transfer" msgid="2509871374644921632">"Ayikwazi ukudlulisa ucingo."</string>
+ <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Ayikwazi ukwenza amakholi engqungquthela."</string>
+ <string name="incall_error_supp_service_reject" msgid="7055164130563826216">"Ayikwazi ukwenqaba ikholi."</string>
+ <string name="incall_error_supp_service_hangup" msgid="7417583238334762737">"Ayikwazi ukuyeka ikholi (ama)."</string>
+ <string name="incall_error_missing_voicemail_number" msgid="2995137160077097934">"Inombolo yevoyisimeyili ayaziwa."</string>
+ <string name="incall_call_type_label_sip" msgid="4931428719494190371">"Ikholi ye-SIP"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Ikholi ephuthumayo"</string>
+ <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Ivula umsakazo..."</string>
+ <string name="emergency_enable_radio_dialog_retry" msgid="3724423402363063736">"Indawo engenayo isevisi, iyazama futhi..."</string>
+ <string name="dial_emergency_error" msgid="7969515493359619960">"Ikholi ayithunyelwe. I-<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> akuyona inombolo ephuthumayo!"</string>
+ <string name="dial_emergency_empty_error" msgid="5556166819619323893">"Ikholi ayithunyelwanga, sicela udayela inombolo ephuthumayo!"</string>
+ <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Sebenzisa ikhibhodi ukudayela"</string>
+ <string name="overflowHoldMenuItemText" msgid="7382457697092158039">"Bamba ikholi"</string>
+ <string name="overflowResumeMenuItemText" msgid="8826360006222366843">"Qhubekisa ikholi"</string>
+ <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Engeza ikholi"</string>
+ <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Hlanganisa amakholi"</string>
+ <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Shintsha amakholi"</string>
+ <string name="onscreenHoldText" msgid="2285258239691145872">"Bamba"</string>
+ <string name="onscreenEndCallText" msgid="4403855834875398585">"Qeda"</string>
+ <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Iphedi yokudayela"</string>
+ <string name="onscreenMuteText" msgid="5011369181754261374">"Thulisa"</string>
+ <string name="onscreenAddCallText" msgid="5140385634712287403">"Yengeza ikholi"</string>
+ <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Hlanganisa amakholi"</string>
+ <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Shintsha"</string>
+ <string name="onscreenManageCallsText" msgid="5473231160123254154">"Phatha amakholi"</string>
+ <!-- no translation found for onscreenManageConferenceText (6801708317570467407) -->
+ <skip />
+ <string name="onscreenAudioText" msgid="1710087112800041743">"Umsindo"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">"Ikholi yevidiyo ye-Hangout"</string>
+ <string name="onscreenChangeToVoiceText" msgid="5311407863653867937">"Shintshela kukholi yezwi"</string>
+ <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Shintsha ikhamela"</string>
+ <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Misa isikhashana ividiyo"</string>
+ <string name="onscreenOverflowText" msgid="2702376562345723132">"Izinketho eziningi"</string>
+ <string name="voicemail_provider" msgid="5135942703327136909">"Isevisi"</string>
+ <string name="voicemail_settings" msgid="72448049107749316">"Ukumisa"</string>
+ <string name="voicemail_number_not_set" msgid="6724904736891087856">"<Ayisethiwe>"</string>
+ <string name="other_settings" msgid="3672912580359716394">"Ezinye izilungiselelo zekholi"</string>
+ <string name="calling_via_template" msgid="4839419581866928142">"Ishaya ucingo nge <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="incoming_via_template" msgid="1696993226115570960">"Ingena nge-<xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+ <string name="contactPhoto" msgid="4713193418046639466">"isithombe sothintana naye"</string>
+ <string name="goPrivate" msgid="865837794424530980">"yenza kube imfihlo"</string>
+ <string name="selectContact" msgid="781975788478987237">"khetha othintana naye"</string>
+ <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Bhala okwakho…"</string>
+ <string name="custom_message_cancel" msgid="7516406059429609296">"Khansela"</string>
+ <string name="custom_message_send" msgid="5795754217085747742">"Thumela"</string>
+ <string name="description_image_button_one" msgid="5502718871331943463">"kunye"</string>
+ <string name="description_image_button_two" msgid="4903738528222924522">"okubili"</string>
+ <string name="description_image_button_three" msgid="5570985408463782329">"ntathu"</string>
+ <string name="description_image_button_four" msgid="1697520001239289074">"okune"</string>
+ <string name="description_image_button_five" msgid="3450276493026943454">"okuhlanu"</string>
+ <string name="description_image_button_six" msgid="2070376172268675300">"isithupha"</string>
+ <string name="description_image_button_seven" msgid="1757351311199993371">"isikhombisa"</string>
+ <string name="description_image_button_eight" msgid="4734693919020613227">"isishiyagalombili"</string>
+ <string name="description_image_button_nine" msgid="5568534122590597040">"isishiyagalolunye"</string>
+ <string name="description_image_button_star" msgid="1976280813017254462">"inkanyezi"</string>
+ <string name="description_image_button_zero" msgid="4211255756866893605">"lutho"</string>
+ <string name="description_image_button_pound" msgid="1716041284529917866">"iphawundi"</string>
+ <string name="description_dial_button" msgid="7459705245418435351">"dayela"</string>
+ <string name="description_delete_button" msgid="4015842181592283903">"i-backspace"</string>
+ <string name="accessibility_speakerphone_selected" msgid="4389354567657833468">"Ifoni yesipikha ikhethiwe"</string>
+ <string name="accessibility_earpiece_selected" msgid="5749525199671068663">"Isipikha sendlebe sikhethiwe"</string>
+ <string name="accessibility_wired_headset_selected" msgid="2984920743124263932">"Ama-earphone anentambo akhethiwe"</string>
+ <string name="accessibility_bluetooth_headset_selected" msgid="2785473629292181736">"Ama-earphone we-Bluetooth akhethiwe"</string>
+ <string name="accessibility_call_muted" msgid="2776111226185342220">"Ikholu ithulisiwe"</string>
+ <string name="accessibility_call_unmuted" msgid="7496527089753980871">"Ikholi isuswe ukuthula."</string>
+ <string name="accessibility_call_put_on_hold" msgid="4226100429657528833">"Ikholi ibanjiwe okwesikhashana."</string>
+ <string name="accessibility_call_removed_from_hold" msgid="2269352120695851563">"Ikholi isusiwe ekubanjweni okwesikhashana."</string>
+ <string name="description_target_answer" msgid="7205604197797472471">"Phendula"</string>
+ <string name="description_target_send_sms" msgid="2098326025587950144">"Thumela i-SMS"</string>
+ <string name="description_target_decline" msgid="4789834364389731957">"Nqaba"</string>
+ <string name="description_target_answer_video_call" msgid="3495965588512395026">"Phendula njengekholi yevidiyo"</string>
+ <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Phendula njengekholi yomsindo"</string>
+ <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Yamukela isicelo sevidiyo"</string>
+ <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Yenqaba isicelo sevidiyo"</string>
+ <string name="description_direction_up" msgid="4441409581444516690">"Slayidela phezulu ku-<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7129873384376533287">"Slayida ngakwesokunxele ku-<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_right" msgid="2122584234531957308">"Slayida ngakwesokudla ku-<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_down" msgid="4317245625565166742">"Slayida ngezansi ku-<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Dlidliza"</string>
+ <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Dlidliza"</string>
+ <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Umsindo"</string>
+ <string name="default_notification_description" msgid="78174796906240970">"Umsindo ozenzakalelayo (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_title" msgid="6374978286202084684">"Ithoni yokukhala kocingo"</string>
+ <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Dlidlizisa uma ikhala"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Okokudayela kuqedwe ngokuzenzakalela"</string>
+ <string name="preference_category_ringtone" msgid="5197960752529332721">"Ithoni yokukhala nokudlidliza"</string>
+ <string name="manageConferenceLabel" msgid="4691922394301969053">"Phatha ucingo lwengqungquthela"</string>
+ <string name="emergency_call_dialog_number_for_display" msgid="8373041754188879871">"Inombolo yesimo esiphuthumayo"</string>
+ <string name="select_account_dialog_title" msgid="5730339500156684204">"Khetha i-akhawunti"</string>
+</resources>
diff --git a/InCallUI/res/values/animation_constants.xml b/InCallUI/res/values/animation_constants.xml
new file mode 100644
index 0000000..8df6a72
--- /dev/null
+++ b/InCallUI/res/values/animation_constants.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+<resources>
+ <!-- Duration of the InCallUI reveal and shrink animations after a call is placed -->
+ <integer name="reveal_animation_duration">333</integer>
+ <integer name="shrink_animation_duration">333</integer>
+ <integer name="video_animation_duration">257</integer>
+</resources>
diff --git a/InCallUI/res/values/array.xml b/InCallUI/res/values/array.xml
index 3902e84..5270de1 100644
--- a/InCallUI/res/values/array.xml
+++ b/InCallUI/res/values/array.xml
@@ -20,50 +20,119 @@
<!-- "Target" resources for the GlowPadView widget used for incoming calls;
see InCallTouchUi.showIncomingCallWidget() and incall_touch_ui.xml. -->
- <!-- For most incoming calls the GlowPadView widget provides 3 choices:
+ <!-- For audio calls, if respond via SMS is disabled:
- Answer (drag right)
- - Reject (drag left)
- - Respond via SMS (drag up) -->
- <array name="incoming_call_widget_3way_targets">
+ - Decline (drag left) -->
+ <array name="incoming_call_widget_audio_without_sms_targets">
+ <item>@drawable/ic_lockscreen_answer</item>
+ <item>@null</item>
+ <item>@drawable/ic_lockscreen_decline</item>
+ <item>@null</item>"
+ </array>
+ <array name="incoming_call_widget_audio_without_sms_target_descriptions">
+ <item>@string/description_target_answer</item>
+ <item>@null</item>
+ <item>@string/description_target_decline</item>
+ <item>@null</item>"
+ </array>
+ <array name="incoming_call_widget_audio_without_sms_direction_descriptions">
+ <item>@string/description_direction_right</item>
+ <item>@null</item>
+ <item>@string/description_direction_left</item>
+ <item>@null</item>
+ </array>
+
+ <!-- For audio calls, if respond via SMS is enabled:
+ - Answer (drag right)
+ - Respond via SMS (drag up)
+ - Decline (drag left) -->
+ <array name="incoming_call_widget_audio_with_sms_targets">
<item>@drawable/ic_lockscreen_answer</item>
<item>@drawable/ic_lockscreen_text</item>
<item>@drawable/ic_lockscreen_decline</item>
<item>@null</item>"
</array>
- <array name="incoming_call_widget_3way_target_descriptions">
+ <array name="incoming_call_widget_audio_with_sms_target_descriptions">
<item>@string/description_target_answer</item>
<item>@string/description_target_send_sms</item>
<item>@string/description_target_decline</item>
<item>@null</item>"
</array>
- <array name="incoming_call_widget_3way_direction_descriptions">
+ <array name="incoming_call_widget_audio_with_sms_direction_descriptions">
<item>@string/description_direction_right</item>
<item>@string/description_direction_up</item>
<item>@string/description_direction_left</item>
<item>@null</item>
</array>
- <!-- But in some cases "Respond via SMS" isn't available, so there are
- only 2 choices:
- - Answer (drag right)
- - Reject (drag left) -->
- <array name="incoming_call_widget_2way_targets">
+ <!-- For video calls, if respond via SMS is disabled:
+ - Answer as video call (drag right)
+ - Decline (drag left)
+ - Answer as audio call (drag down) -->
+ <array name="incoming_call_widget_video_without_sms_targets">
<item>@drawable/ic_lockscreen_answer</item>
<item>@null</item>
<item>@drawable/ic_lockscreen_decline</item>
+ <item>@drawable/ic_lockscreen_answer_video</item>
+ </array>
+ <array name="incoming_call_widget_video_without_sms_target_descriptions">
+ <item>@string/description_target_answer_video_call</item>
+ <item>@null</item>
+ <item>@string/description_target_decline</item>
+ <item>@string/description_target_answer_audio_call</item>
+ </array>
+ <array name="incoming_call_widget_video_without_sms_direction_descriptions">
+ <item>@string/description_direction_right</item>
+ <item>@null</item>
+ <item>@string/description_direction_left</item>
+ <item>@string/description_direction_down</item>
+ </array>
+
+ <!-- For video calls, if respond via SMS is enabled:
+ - Answer as video call (drag right)
+ - Respond via SMS (drag up)
+ - Decline (drag left)
+ - Answer as audio call (drag down) -->
+ <array name="incoming_call_widget_video_with_sms_targets">
+ <item>@drawable/ic_lockscreen_answer_video</item>
+ <item>@drawable/ic_lockscreen_text</item>
+ <item>@drawable/ic_lockscreen_decline</item>
+ <item>@drawable/ic_lockscreen_answer</item>
+ </array>
+ <array name="incoming_call_widget_video_with_sms_target_descriptions">
+ <item>@string/description_target_answer_video_call</item>
+ <item>@string/description_target_send_sms</item>
+ <item>@string/description_target_decline</item>
+ <item>@string/description_target_answer_audio_call</item>
+ </array>
+ <array name="incoming_call_widget_video_with_sms_direction_descriptions">
+ <item>@string/description_direction_right</item>
+ <item>@string/description_direction_up</item>
+ <item>@string/description_direction_left</item>
+ <item>@string/description_direction_down</item>
+ </array>
+
+
+ <!-- For upgrade to video in an active video call.
+ - Accept upgrade to video request (drag right)
+ - Decline upgrade to video request (drag left)
+ - Answer as audio call (drag down) -->
+ <array name="incoming_call_widget_video_upgrade_request_targets">
+ <item>@drawable/ic_lockscreen_answer_video</item>
+ <item>@null</item>
+ <item>@drawable/ic_lockscreen_decline</item>
<item>@null</item>"
</array>
- <array name="incoming_call_widget_2way_target_descriptions">
- <item>@string/description_target_answer</item>
+ <array name="incoming_call_widget_video_upgrade_request_target_descriptions">
+ <item>@string/description_target_accept_upgrade_to_video_request</item>
<item>@null</item>
- <item>@string/description_target_decline</item>
+ <item>@string/description_target_decline_upgrade_to_video_request</item>
<item>@null</item>"
</array>
- <array name="incoming_call_widget_2way_direction_descriptions">
+ <array name="incoming_call_widget_video_upgrade_request_target_direction_descriptions">
<item>@string/description_direction_right</item>
<item>@null</item>
<item>@string/description_direction_left</item>
<item>@null</item>
</array>
-
</resources>
diff --git a/InCallUI/res/values/colors.xml b/InCallUI/res/values/colors.xml
index ca53f27..3060339 100644
--- a/InCallUI/res/values/colors.xml
+++ b/InCallUI/res/values/colors.xml
@@ -17,14 +17,17 @@
<resources>
- <!-- In-call UI -->
- <color name="incall_callTypeSip">#99CE3F</color> <!-- green -->
- <color name="incall_call_banner_background">#A0000000</color> <!-- semitransparent black -->
- <color name="incall_secondary_info_background">#8033b5e5</color> <!-- semitransparent blueish grey -->
- <color name="incall_call_banner_text_color">#FFFFFF</color> <!-- white -->
+ <!-- In-call UI background color. -->
+ <color name="incall_background_color">@color/dialer_theme_color</color>
+ <color name="incall_accent_color">#ffffff</color>
- <!-- Color of the theme of the People app -->
- <color name="people_app_theme_color">#33B5E5</color>
+ <!-- Background color of main banner. -->
+ <color name="incall_call_banner_background_color">@color/incall_background_color</color>
+ <color name="incall_call_banner_text_color">#ffffff</color>
+ <!-- 80% opacity, white -->
+ <color name="incall_call_banner_subtext_color">#ccffffff</color>
+ <color name="incall_banner_secondary_background_color">#f5f5f5</color>
+ <color name="incall_banner_secondary_text_color">#808080</color>
<!-- Put on top of each photo, implying 80% darker than usual. -->
<color name="on_hold_dim_effect">#cc000000</color>
@@ -32,33 +35,38 @@
<!-- Used with some smaller texts in manage conference screen. -->
<color name="manage_conference_secondary_text_color">#888888</color>
- <!-- Used when the End Call button is active -->
- <drawable name="end_call_active_state">#f22121</drawable>
-
- <!-- Used when the End Call button is pressed -->
- <drawable name="end_call_pressed_state">#ff4e4e</drawable>
-
- <!-- Used when the End Call button is disabled -->
- <drawable name="end_call_disabled_state">#303030</drawable>
+ <color name="end_call_touch_feedback_tint">#dddddd</color>
<!-- Color of dialpad digits -->
- <color name="dialpad_digits_text_color">#000000</color>
+ <color name="dialpad_digits_text_color">#333</color>
- <!-- Background color of dialpad -->
- <color name="background_dialpad">#ffffff</color>
+ <color name="incall_dialpad_background">#ffffff</color>
+ <color name="incall_dialpad_background_pressed">#ccaaaaaa</color>
- <!-- Pressed color of dialpad buttons -->
- <color name="background_dialpad_pressed">#ececec</color>
-
- <!-- Button background -->
- <color name="button_background">#000000</color>
+ <color name="button_background_color">@color/incall_background_color</color>
+ <color name="button_selected_color">@color/dialer_theme_color_dark</color>
+ <!-- 70% opacity, white. -->
+ <color name="button_default_color">#b3ffffff</color>
+ <!-- 20% opacity, white. -->
+ <color name="button_disabled_color">#33ffffff</color>
<!-- Background color of action bars -->
- <color name="actionbar_background_color">#3B77E7</color>
+ <color name="actionbar_background_color">@color/dialer_theme_color</color>
- <!-- Secondary color of dialpad text (used for the letters corresponding to each digit -->
- <color name="dialpad_secondary_text_color">#8b8b8b</color>
-
- <!-- Translucent shadow color -->
<color name="translucent_shadow">#33999999</color>
+
+ <!-- 70% opacity, black. -->
+ <color name="glowpad_background_color">#b3000000</color>
+ <!-- 15% opacity, white. -->
+ <color name="glowpad_outer_ring_color">#26ffffff</color>
+ <color name="glowpad_text_widget_ring_color">#ffffff</color>
+ <color name="glowpad_widget_active_color">#ffffff</color>
+ <color name="glowpad_text_widget_normal_tint">#cccccc</color>
+ <color name="glowpad_call_widget_normal_tint">@color/dialtacts_theme_color</color>
+ <color name="glowpad_end_call_widget_normal_tint">#ff1744</color>
+ <color name="glowpad_incoming_widget_tint">#a3a3a3</color>
+ <color name="glowpad_incoming_widget_background_tint">#ffffff</color>
+
+ <!-- 20% opacity, theme color. -->
+ <color name="incall_dialpad_touch_tint">#330288d1</color>
</resources>
diff --git a/InCallUI/res/values/dimens.xml b/InCallUI/res/values/dimens.xml
index 92e55d6..8648c8c 100644
--- a/InCallUI/res/values/dimens.xml
+++ b/InCallUI/res/values/dimens.xml
@@ -20,7 +20,7 @@
<!-- Height of the "call banner" overlay on top of the upper part of
the call info area. -->
- <dimen name="call_banner_height">80dp</dimen>
+ <dimen name="call_banner_height">122dp</dimen>
<!-- Margin between the bottom of the "call card" photo
and the top of the in-call button cluster. -->
@@ -29,29 +29,31 @@
<!-- Padding at the left and right edges of the "call banner". -->
<dimen name="call_banner_side_padding">24dp</dimen>
<!-- Padding at the right edges of the secondary call banner. -->
- <dimen name="secondary_call_banner_right_padding">100dp</dimen>
+ <dimen name="secondary_call_banner_right_padding">24dp</dimen>
<!-- Padding at the top and bottom edges of the "call banner". -->
- <dimen name="call_banner_top_bottom_padding">16dp</dimen>
+ <dimen name="call_banner_primary_call_container_top_padding">16dp</dimen>
+ <dimen name="call_banner_secondary_call_top_bottom_padding">24dp</dimen>
<!-- Padding at the top and bottom edges of the "provider information" -->
<dimen name="provider_info_top_bottom_padding">8dp</dimen>
+ <!-- Text size for the name in the call info. -->
+ <dimen name="call_status_text_size">22sp</dimen>
+ <dimen name="call_name_text_size">45dp</dimen>
+ <dimen name="call_name_text_min_size">34sp</dimen>
+ <dimen name="call_label_text_size">18sp</dimen>
<!-- Right padding for name and number fields in the call banner.
This padding is used to ensure that ultra-long names or
numbers won't overlap the elapsed time indication. -->
<dimen name="call_banner_name_number_right_padding">50sp</dimen>
- <!-- Height of the main row of in-call buttons. -->
- <dimen name="in_call_button_height">76dp</dimen>
+ <!-- Height and width of the in-call buttons. -->
+ <dimen name="in_call_button_dimension">48dp</dimen>
- <!-- Height of the in-call "End" button. Match with Contact's dimens/call_button_height -->
- <dimen name="in_call_end_button_height">60dp</dimen>
+ <dimen name="primary_call_elevation">4dp</dimen>
+ <dimen name="secondary_call_elevation">4dp</dimen>
- <!-- Width of buttons in the extra button row. -->
- <dimen name="extra_row_button_width">56dp</dimen>
-
- <!-- Height of buttons in the extra button row. -->
- <dimen name="extra_row_button_height">@dimen/in_call_button_height</dimen>
+ <dimen name="floating_action_bar_vertical_offset">-24dp</dimen>
<!-- Padding at the left and right edges of the incall_touch_ui button
cluster. This padding is necessary because we can't allow the
@@ -59,54 +61,29 @@
risk of false touches (from your finger wrapping around while
holding the phone, *before* moving it up to your face and having
the prox sensor kick in.) -->
- <dimen name="button_cluster_side_padding">20dp</dimen>
-
+ <dimen name="button_cluster_horizontal_padding">20dp</dimen>
+ <dimen name="call_button_margin_vertical">8dp</dimen>
+ <dimen name="call_button_margin_horizontal">6dp</dimen>
<!-- Dimensions for OTA Call Card -->
<dimen name="otaactivate_layout_marginTop">10dp</dimen>
<dimen name="otalistenprogress_layout_marginTop">5dp</dimen>
<dimen name="otasuccessfail_layout_marginTop">10dp</dimen>
-
- <!-- Dimensions for Emergency Dialer and dialpad inside the in-call screen -->
- <dimen name="dialpad_horizontal_margin">4dp</dimen>
- <dimen name="dialpad_vertical_margin">2dp</dimen>
- <dimen name="dialpad_digits_text_size">36sp</dimen>
- <dimen name="dialpad_digits_height">47dp</dimen>
-
- <!-- Just used in landscape mode -->
- <dimen name="emergency_dialer_digits_height">0px</dimen>
- <dimen name="dialpad_center_margin">3dp</dimen>
- <dimen name="dialpad_button_margin">3dp</dimen>
-
-
- <!-- Layout weight values for dialpad screen. These layouts will be used in one
- LinearLayout (dialpad_fragment.xml), configuring dialpad screen's vertical
- ratio. -->
- <integer name="dialpad_layout_weight_digits">20</integer>
- <integer name="dialpad_layout_weight_dialpad">65</integer>
- <integer name="dialpad_layout_weight_additional_buttons">15</integer>
-
<!-- Dimension used to possibly down-scale high-res photo into what is suitable
for notification's large icon. -->
<dimen name="notification_icon_size">64dp</dimen>
<!-- Circle size for incoming call widget's each item. -->
- <dimen name="incoming_call_widget_circle_size">94dp</dimen>
- <!-- Margin used for incoming call widget's icon for each item.
- This should be same as "(incoming_call_widget_circle_size - icon_size)/2".
- Right now answer/decline/reject icons have 38dp width/height.
- So, (94 - 38)/2 ==> 28dp -->
- <dimen name="incoming_call_widget_asset_margin">28dp</dimen>
+ <dimen name="incoming_call_widget_circle_size">56dp</dimen>
<!-- Size of alarm alert outer ring. -->
- <dimen name="glowpadview_outerring_diameter">270dip</dimen>
-
+ <dimen name="glowpadview_outerring_diameter">250dp</dimen>
<!-- Default target placement radius for GlowPadView. Should be 1/2 of outerring diameter. -->
- <dimen name="glowpadview_target_placement_radius">135dip</dimen>
+ <dimen name="glowpadview_target_placement_radius">125dp</dimen>
<!-- Default glow radius for GlowPadView -->
- <dimen name="glowpadview_glow_radius">75dip</dimen>
+ <dimen name="glowpadview_glow_radius">70dip</dimen>
<!-- Default distance beyond which GlowPadView snaps to the matching target -->
<dimen name="glowpadview_snap_margin">40dip</dimen>
@@ -116,19 +93,20 @@
<dimen name="glowpadview_margin_bottom">-48dip</dimen>
<dimen name="glowpadview_margin_right">0dip</dimen>
-
- <!-- Text dimensions for dialpad keys -->
- <dimen name="dialpad_key_numbers_size">40sp</dimen>
- <dimen name="dialpad_key_letters_size">13sp</dimen>
- <dimen name="dialpad_key_star_size">26sp</dimen>
- <dimen name="dialpad_key_pound_size">26sp</dimen>
- <dimen name="dialpad_key_numbers_width">30dp</dimen>
- <dimen name="dialpad_key_letters_width">50dp</dimen>
- <dimen name="dialpad_key_height">56dp</dimen>
- <dimen name="dialpad_key_plus_size">18sp</dimen>
- <dimen name="dialpad_number_to_letters_padding">11dp</dimen>
- <dimen name="dialpad_horizontal_padding">5dp</dimen>
-
<!-- Height of translucent shadow effect -->
<dimen name="translucent_shadow_height">2dp</dimen>
+
+ <dimen name="end_call_button_margin_bottom">8dp</dimen>
+
+ <dimen name="call_card_anim_translate_y_offset">50dp</dimen>
+
+ <!-- The smaller dimension of the video preview. When in portrait orientation this is the
+ width of the preview. When in landscape, this is the height. -->
+ <dimen name="video_preview_small_dimension">90dp</dimen>
+
+ <dimen name="video_preview_margin">20dp</dimen>
+
+ <dimen name="end_call_floating_action_button_diameter">72dp</dimen>
+ <dimen name="end_call_floating_action_button_small_diameter">56dp</dimen>
+
</resources>
diff --git a/InCallUI/res/values/strings.xml b/InCallUI/res/values/strings.xml
index 0469171..0be6e01 100644
--- a/InCallUI/res/values/strings.xml
+++ b/InCallUI/res/values/strings.xml
@@ -61,7 +61,7 @@
<!-- In-call screen: call failure reason (SIM error) -->
<string name="callFailed_simError">No SIM or SIM error</string>
<!-- In-call screen: call failure reason (out of service) -->
- <string name="callFailed_outOfService">Out of service area</string>
+ <string name="callFailed_outOfService">Mobile network not available</string>
<!-- In-call screen: call failure reason (call denied because of current FDN setting) -->
<string name="callFailed_fdn_only">Outgoing calls are restricted by FDN.</string>
<!-- In-call screen: call failure reason (call denied because call barring is on) -->
@@ -147,6 +147,27 @@
<!-- In-call screen: special status label that shows your own phone
number during emergency callback mode (ECM) [CHAR LIMIT=30] -->
<string name="card_title_my_phone_number">My number is <xliff:g id="my_phone_number">%s</xliff:g></string>
+ <!-- In-call screen: status label when connecting video. -->
+ <string name="card_title_video_call_connecting">Connecting video</string>
+ <!-- In-call screen: status label when in a video call. -->
+ <string name="card_title_video_call">Video call</string>
+ <!-- In-call screen: status label when requesting video. -->
+ <string name="card_title_video_call_requesting">Requesting video</string>
+ <!-- In-call screen: status label when there is a problem connecting a video call. -->
+ <string name="card_title_video_call_error">Cannot connect video call</string>
+
+ <!-- In-call screen: string shown to the user when their outgoing number is different than the
+ number reported by TelephonyManager#getLine1Number() -->
+ <string name="card_title_callback_number">Your call back number\n
+ <xliff:g id="dark_number">%1$s</xliff:g>
+ </string>
+
+ <!-- In-call screen: string shown to the user when their outgoing number is different than the
+ number reported by TelephonyManager#getLine1Number() and they're calling emergency
+ services. -->
+ <string name="card_title_callback_number_emergency">Your emergency call back number\n
+ <xliff:g id="dark_number">%1$s</xliff:g>
+ </string>
<!-- Notification strings -->
<!-- The "label" of the in-call Notification for a dialing call, used
@@ -168,6 +189,10 @@
<string name="notification_on_hold">On hold</string>
<!-- The "label" of the in-call Notification for an incoming ringing call -->
<string name="notification_incoming_call">Incoming call</string>
+ <!-- The "label" of the in-call Notification for an incoming ringing video call. -->
+ <string name="notification_incoming_video_call">Incoming video call</string>
+ <!-- The "label" of the in-call Notification for upgrading an existing call to a video call. -->
+ <string name="notification_requesting_video_call">Incoming video request</string>
<!-- Label for the "Voicemail" notification item, when expanded. -->
<string name="notification_voicemail_title">New voicemail</string>
<!-- Label for the expanded "Voicemail" notification item,
@@ -184,11 +209,26 @@
<!-- Label for the expanded "No service" notification item, including the
operator name set by user -->
<string name="notification_network_selection_text">Selected network (<xliff:g id="operator_name">%s</xliff:g>) unavailable</string>
- <!-- Message for "end call" Action.
+ <!-- Label for "end call" Action.
It is displayed in the "Ongoing call" notification, which is shown
when the user is outside the in-call screen while the phone call is still
active. [CHAR LIMIT=40] -->
<string name="notification_action_end_call">Hang up</string>
+ <!-- Label for "Video Call" notification action. This is a displayed on the notification for an
+ incoming video call, and answers the call as a video call. [CHAR LIMIT=40] -->
+ <string name="notification_action_answer_video">Video</string>
+ <!-- Label for "Voice" notification action. This is a displayed on the notification for an
+ incoming video call, and answers the call as an audio call. [CHAR LIMIT=40] -->
+ <string name="notification_action_answer_voice">Voice</string>
+ <!-- Label for "Accept" notification action. This is somewhat generic, and may refer to
+ scenarios such as accepting an incoming call or accepting a video call request.
+ [CHAR LIMIT=40] -->
+ <string name="notification_action_accept">Accept</string>
+ <!-- Label for "Dismiss" notification action. This is somewhat generic, and may refer to
+ scenarios such as declining an incoming call or declining a video call request.
+ [CHAR LIMIT=40] -->
+ <string name="notification_action_dismiss">Dismiss</string>
+
<!-- Message for "call back" Action, which is displayed in the missed call notificaiton.
The user will be able to call back to the person or the phone number.
[CHAR LIMIT=60] -->
@@ -225,9 +265,11 @@
<string name="incall_error_supp_service_reject">Unable to reject call.</string>
<!-- In-call screen: message displayed in an error dialog -->
<string name="incall_error_supp_service_hangup">Unable to release call(s).</string>
+ <!-- In-call screen: message displayed in an error dialog -->
+ <string name="incall_error_missing_voicemail_number">Voicemail number unknown.</string>
<!-- In-call screen: "call type" indication for a SIP call [CHAR LIMIT=30] -->
- <string name="incall_call_type_label_sip">Internet call</string>
+ <string name="incall_call_type_label_sip">SIP call</string>
<!-- Dialog title for the "radio enable" UI for emergency calls -->
<string name="emergency_enable_radio_dialog_title">Emergency call</string>
@@ -246,6 +288,17 @@
to dial using the physical keyboard -->
<string name="dialerKeyboardHintText">Use keyboard to dial</string>
+ <!-- Text for the overflow "Hold call" menu item. -->
+ <string name="overflowHoldMenuItemText">Hold call</string>
+ <!-- Text for the overflow "Resume call" menu item. -->
+ <string name="overflowResumeMenuItemText">Resume call</string>
+ <!-- Text for the overflow "Add call" menu item. -->
+ <string name="overflowAddMenuItemText">Add call</string>
+ <!-- Text for the onscreen "Merge calls" menu item. -->
+ <string name="overflowMergeMenuItemText">Merge calls</string>
+ <!-- Text for the onscreen "Swap calls" menu item. -->
+ <string name="overflowSwapMenuItemText">Swap calls</string>
+
<!-- Text for the onscreen "Hold" button -->
<string name="onscreenHoldText">Hold</string>
<!-- Text for the onscreen "End call" button -->
@@ -263,13 +316,23 @@
<!-- Text for the onscreen "Manage calls" button -->
<string name="onscreenManageCallsText">Manage calls</string>
<!-- Text for the onscreen "Manage conference" button [CHAR LIMIT=20] -->
- <string name="onscreenManageConferenceText">Manage conference</string>
+ <string name="onscreenManageConferenceText">Manage conference call</string>
<!-- Text for the onscreen "Audio" button that lets you switch
between speaker / bluetooth / earpiece [CHAR LIMIT=10] -->
<string name="onscreenAudioText">Audio</string>
<!-- Text for the onscreen "Video call" button used to change a voice call
to a video call. [CHAR LIMIT=10] -->
<string name="onscreenVideoCallText">Video call</string>
+ <!-- Text for the onscreen "Change to voice" button. When clicked, this downgrades a video call
+ to a voice call. -->
+ <string name="onscreenChangeToVoiceText">Change to voice call</string>
+ <!-- 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 overflow button, to see additional actions which can be done. -->
+ <string name="onscreenOverflowText">More options</string>
<!-- For incoming calls, this is a string we can get from a CDMA network instead of
the actual phone number, to indicate there's no number present. DO NOT TRANSLATE. -->
@@ -292,9 +355,12 @@
<!-- Title displayed above settings coming after voicemail in the call features screen -->
<string name="other_settings">Other call settings</string>
- <!-- Title displayed in the overlay when a call is placed using a 3rd party provider.
+ <!-- Title displayed in the overlay for outgoing calls which include the name of the provider.
[CHAR LIMIT=40] -->
<string name="calling_via_template">Calling via <xliff:g id="provider_name">%s</xliff:g></string>
+ <!-- Title displayed in the overlay for incoming calls which include the name of the provider.
+ [CHAR LIMIT=40] -->
+ <string name="incoming_via_template">Incoming via <xliff:g id="provider_name">%s</xliff:g></string>
<!-- Use this as a default to describe the contact photo; currently for screen readers through accessibility. -->
<string name="contactPhoto">contact photo</string>
@@ -303,14 +369,6 @@
<!-- Use this to describe the select contact button in EditPhoneNumberPreference; currently for screen readers through accessibility. -->
<string name="selectContact">select contact</string>
- <!-- Canned response for the "Respond via SMS" feature for incoming calls. [CHAR LIMIT=35] -->
- <string name="respond_via_sms_canned_response_1">Can\'t talk now. What\'s up?</string>
- <!-- Canned response for the "Respond via SMS" feature for incoming calls. [CHAR LIMIT=35] -->
- <string name="respond_via_sms_canned_response_2">I\'ll call you right back.</string>
- <!-- Canned response for the "Respond via SMS" feature for incoming calls. [CHAR LIMIT=35] -->
- <string name="respond_via_sms_canned_response_3">I\'ll call you later.</string>
- <!-- Canned response for the "Respond via SMS" feature for incoming calls. [CHAR LIMIT=35] -->
- <string name="respond_via_sms_canned_response_4">Can\'t talk now. Call me later?</string>
<!-- "Respond via SMS" option that lets you compose a custom response. [CHAR LIMIT=30] -->
<string name="respond_via_sms_custom_message">Write your own...</string>
<!-- "Custom Message" Cancel alert dialog button -->
@@ -318,23 +376,6 @@
<!-- "Custom Message" Send alert dialog button -->
<string name="custom_message_send">Send</string>
- <!-- Title of settings screen for managing the "Respond via SMS" feature. [CHAR LIMIT=30] -->
- <string name="respond_via_sms_setting_title">Quick responses</string>
- <!-- Slightly more verbose title of settings screen for managing the
- "Respond via SMS" feature. [CHAR LIMIT=30] -->
- <string name="respond_via_sms_setting_title_2">Edit quick responses</string>
- <!-- Settings summary string for the "Respond via SMS" feature. [CHAR LIMIT=40] -->
- <string name="respond_via_sms_setting_summary"></string>
- <!-- Dialog title when changing a string for the "Respond via SMS" feature. [CHAR LIMIT=30] -->
- <string name="respond_via_sms_edittext_dialog_title">Quick response</string>
- <!-- Menu option in "Respond via SMS" that allows user to reset the default
- activity used to handle "Respond via SMS" [CHAR LIMIT=30] -->
- <string name="respond_via_sms_menu_reset_default_activity">Reset default app</string>
-
- <!-- "Respond via SMS": Confirmation message shown after sending
- a text response. [CHAR LIMIT=40] -->
- <string name="respond_via_sms_confirmation_format">Message sent to <xliff:g id="phone_number">%s</xliff:g>.</string>
-
<!-- String describing the image on ImageButton one
Note: AccessibilityServices use this attribute to announce what the view represents.
@@ -445,18 +486,48 @@
-->
<string name="description_delete_button">backspace</string>
- <!-- Content description of the speakerphone enabled notification icon for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
- <string name="accessibility_speakerphone_enabled">Speakerphone enabled.</string>
+ <!-- String used by AccessibilityService to announce that the speakerphone has been selected for audio output [CHAR LIMIT=NONE]-->
+ <string name="accessibility_speakerphone_selected">Speakerphone selected</string>
- <!-- Content description of the call muted notification icon for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
+ <!-- String used by AccessibilityService to announce that the phone's earpiece has been selected for audio output [CHAR LIMIT=NONE]-->
+ <string name="accessibility_earpiece_selected">Earpiece selected</string>
+
+ <!-- String used by AccessibilityService to announce that the wired headset has been selected for audio output [CHAR LIMIT=NONE]-->
+ <string name="accessibility_wired_headset_selected">Wired headset selected</string>
+
+ <!-- String used by AccessibilityService to announce that the bluetooth headset has been selected for audio output [CHAR LIMIT=NONE]-->
+ <string name="accessibility_bluetooth_headset_selected">Bluetooth headset selected</string>
+
+ <!-- String used by AccessibilityService to announce that the call has been muted [CHAR LIMIT=NONE]-->
<string name="accessibility_call_muted">Call muted.</string>
+ <!-- String used by AccessibilityService to announce that the call has been unmuted [CHAR LIMIT=NONE]-->
+ <string name="accessibility_call_unmuted">Call unmuted.</string>
+
+ <!-- String used by AccessibilityService to announce that the call has been put on hold [CHAR LIMIT=NONE]-->
+ <string name="accessibility_call_put_on_hold">Call put on hold.</string>
+
+ <!-- String used by AccessibilityService to announce that the call has been removed from hold [CHAR LIMIT=NONE]-->
+ <string name="accessibility_call_removed_from_hold">Call removed from hold.</string>
+
<!-- Description of the answer target in the Slide unlock screen of Phone. [CHAR LIMIT=NONE] -->
<string name="description_target_answer">Answer</string>
<!-- Description of the send_sms target in the Slide unlock screen of Phone. [CHAR LIMIT=NONE] -->
<string name="description_target_send_sms">Send SMS</string>
- <!-- Description of the decline on target in the Slide unlock screen. [CHAR LIMIT=NONE] -->
+ <!-- Description of the decline target in the Slide unlock screen. [CHAR LIMIT=NONE] -->
<string name="description_target_decline">Decline</string>
+ <!-- Description of the target to answer a call as a video call in the Slide unlock screen.
+ [CHAR LIMIT=NONE] -->
+ <string name="description_target_answer_video_call">Answer as video call</string>
+ <!-- Description of the target to answer a call as an audio call in the Slide unlock screen.
+ [CHAR LIMIT=NONE] -->
+ <string name="description_target_answer_audio_call">Answer as audio call</string>
+ <!-- Description of the target to accept a request to upgrade from an audio call to a video call.
+ [CHAR LIMIT=NONE] -->
+ <string name="description_target_accept_upgrade_to_video_request">Accept video request</string>
+ <!-- Description of the target to decline a request to upgrade from an audio call to a video call.
+ [CHAR LIMIT=NONE] -->
+ <string name="description_target_decline_upgrade_to_video_request">Decline video request</string>
<!-- Description of the up direction in which one can to slide the handle in the phone answer screen. [CHAR LIMIT=NONE] -->
<string name="description_direction_up">Slide up for <xliff:g id="target_description" example="Unlock">%s</xliff:g>.</string>
@@ -464,6 +535,8 @@
<string name="description_direction_left">"Slide left for <xliff:g id="target_description" example="Unlock">%s</xliff:g>.</string>
<!-- Description of the right direction in which one can to slide the handle in the phone answer screen. [CHAR LIMIT=NONE] -->
<string name="description_direction_right">Slide right for <xliff:g id="target_description" example="Unlock">%s</xliff:g>.</string>
+ <!-- Description of the down direction in which one can to slide the handle in the phone answer screen. [CHAR LIMIT=NONE] -->
+ <string name="description_direction_down">Slide down for <xliff:g id="target_description" example="Unlock">%s</xliff:g>.</string>
<!-- Dialog title for the vibration settings for voicemail notifications [CHAR LIMIT=40] -->
<string name="voicemail_notification_vibrate_when_title" msgid="8731372580674292759">Vibrate</string>
@@ -499,10 +572,6 @@
[CHAR LIMIT=30] -->
<string name="vibrate_on_ring_title">Vibrate when ringing</string>
- <!-- Setting option name to enable or disable DTMF tone sound
- [CHAR LIMIT=30] -->
- <string name="dtmf_tone_enable_title">Dial pad touch tones</string>
-
<!-- Setting option name to enable or disable dialpad autocomplete functionality
[CHAR LIMIT=30] -->
<string name="dial_pad_autocomplete">Dial pad autocomplete</string>
@@ -518,53 +587,6 @@
<!-- This can be used in any application wanting to disable the text "Emergency number" -->
<string name="emergency_call_dialog_number_for_display">Emergency number</string>
- <!-- The digit to be displayed on the 0 key of the dialpad [CHAR LIMIT=1]-->
- <string name="dialpad_0_number">0</string>
- <!-- The digit to be displayed on the 1 key of the dialpad [CHAR LIMIT=1]-->
- <string name="dialpad_1_number">1</string>
- <!-- The digit to be displayed on the 2 key of the dialpad [CHAR LIMIT=1]-->
- <string name="dialpad_2_number">2</string>
- <!-- The digit to be displayed on the 3 key of the dialpad [CHAR LIMIT=1]-->
- <string name="dialpad_3_number">3</string>
- <!-- The digit to be displayed on the 4 key of the dialpad [CHAR LIMIT=1]-->
- <string name="dialpad_4_number">4</string>
- <!-- The digit to be displayed on the 5 key of the dialpad [CHAR LIMIT=1]-->
- <string name="dialpad_5_number">5</string>
- <!-- The digit to be displayed on the 6 key of the dialpad [CHAR LIMIT=1]-->
- <string name="dialpad_6_number">6</string>
- <!-- The digit to be displayed on the 7 key of the dialpad [CHAR LIMIT=1]-->
- <string name="dialpad_7_number">7</string>
- <!-- The digit to be displayed on the 8 key of the dialpad [CHAR LIMIT=1]-->
- <string name="dialpad_8_number">8</string>
- <!-- The digit to be displayed on the 9 key of the dialpad [CHAR LIMIT=1]-->
- <string name="dialpad_9_number">9</string>
- <!-- Do not translate. -->
- <string name="dialpad_star_number">*</string>
- <!-- Do not translate. -->
- <string name="dialpad_pound_number">#</string>
-
- <!-- Do not translate. -->
- <string name="dialpad_0_letters">+</string>
- <!-- Do not translate. -->
- <string name="dialpad_1_letters"></string>
- <!-- Do not translate. -->
- <string name="dialpad_2_letters">ABC</string>
- <!-- Do not translate. -->
- <string name="dialpad_3_letters">DEF</string>
- <!-- Do not translate. -->
- <string name="dialpad_4_letters">GHI</string>
- <!-- Do not translate. -->
- <string name="dialpad_5_letters">JKL</string>
- <!-- Do not translate. -->
- <string name="dialpad_6_letters">MNO</string>
- <!-- Do not translate. -->
- <string name="dialpad_7_letters">PQRS</string>
- <!-- Do not translate. -->
- <string name="dialpad_8_letters">TUV</string>
- <!-- Do not translate. -->
- <string name="dialpad_9_letters">WXYZ</string>
- <!-- Do not translate. -->
- <string name="dialpad_star_letters"></string>
- <!-- Do not translate. -->
- <string name="dialpad_pound_letters"></string>
+ <!-- Title for Select Account Dialog [CHAR LIMIT=30] -->
+ <string name="select_account_dialog_title">Select Account</string>
</resources>
diff --git a/InCallUI/res/values/styles.xml b/InCallUI/res/values/styles.xml
index 3fb2bb2..f49cee9 100644
--- a/InCallUI/res/values/styles.xml
+++ b/InCallUI/res/values/styles.xml
@@ -52,9 +52,11 @@
<!-- Buttons in the main "button row" of the in-call onscreen touch UI. -->
<style name="InCallButton">
- <item name="android:layout_width">0px</item>
- <item name="android:layout_height">@dimen/in_call_button_height</item>
- <item name="android:layout_weight">1</item>
+ <item name="android:layout_width">@dimen/in_call_button_dimension</item>
+ <item name="android:layout_height">@dimen/in_call_button_dimension</item>
+ <item name="android:layout_marginBottom">@dimen/call_button_margin_vertical</item>
+ <item name="android:layout_marginLeft">@dimen/call_button_margin_horizontal</item>
+ <item name="android:layout_marginRight">@dimen/call_button_margin_horizontal</item>
<item name="android:background">?android:attr/selectableItemBackground</item>
</style>
@@ -68,40 +70,6 @@
<item name="android:textOff">@null</item>
</style>
- <style name="VerticalSeparator">
- <item name="android:layout_width">2dp</item>
- <item name="android:layout_height">match_parent</item>
- <item name="android:background">@android:color/black</item>
- </style>
-
- <!-- "End" button; similar to InCallButton. -->
- <style name="InCallEndButton">
- <item name="android:layout_width">0dip</item>
- <item name="android:layout_height">@dimen/in_call_end_button_height</item>
- <item name="android:layout_weight">1</item>
- </style>
-
- <!-- Buttons in extra button row. -->
- <style name="InCallExtraRowButton">
- <item name="android:layout_width">@dimen/extra_row_button_width</item>
- <item name="android:layout_height">@dimen/extra_row_button_height</item>
- <item name="android:background">@null</item>
- </style>
-
- <!-- Text label drawn alongside buttons in the "extra button row" of
- the in-call onscreen touch UI. -->
- <style name="InCallExtraRowButtonLabel">
- <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
- <item name="android:textColor">@color/incall_call_banner_text_color</item>
- <item name="android:textAllCaps">true</item>
- <item name="android:textStyle">bold</item>
- <item name="android:layout_width">wrap_content</item>
- <item name="android:layout_height">wrap_content</item>
- <item name="android:layout_gravity">center_vertical</item>
- <item name="android:layout_marginStart">5dip</item>
- <item name="android:layout_marginEnd">5dip</item>
- </style>
-
<style name="InCallAnimationStyle" parent="@android:style/Animation.Activity">
<!-- Suppress task-to-task animation happening during the transition from
OutgoingCallBroadcaster (and SipOptionHandler) to InCallActivity.
@@ -122,74 +90,23 @@
<item name="android:taskToFrontExitAnimation">@anim/activity_open_exit</item>
</style>
- <!-- Theme for the InCallActivity activity. This gives us a totally black
- window background instead of the default dark grey. (We don't just use
+ <!-- Theme for the InCallActivity activity. Should have a transparent background for the
+ circular reveal animation for a new outgoing call to work correctly. We don't just use
Theme.Black.NoTitleBar directly, since we want any popups or dialogs
from the InCallActivity to have the correct holo style. -->
- <style name="Theme.InCallScreen" parent="@android:style/Theme.Holo.NoActionBar">
- <item name="android:windowBackground">@android:color/black</item>
+ <style name="Theme.InCallScreen" parent="@android:style/Theme.Material.Light">
<item name="android:windowAnimationStyle">@style/InCallAnimationStyle</item>
+ <item name="android:windowIsTranslucent">true</item>
+ <item name="android:windowBackground">@android:color/transparent</item>
+ <item name="android:windowContentOverlay">@null</item>
+ <item name="android:windowNoTitle">true</item>
+ <item name="dialpad_key_button_touch_tint">@color/incall_dialpad_touch_tint</item>
+ <item name="android:textColorPrimary">@color/incall_call_banner_text_color</item>
+ <item name="android:colorPrimaryDark">@color/dialer_theme_color_dark</item>
+ <item name="android:popupMenuStyle">@style/InCallPopupMenuStyle</item>
</style>
- <style name="InCallDialpadTableRowStyle">
- <item name="android:layout_height">0dp</item>
- <item name="android:layout_weight">1</item>
- <item name="android:layout_width">match_parent</item>
- </style>
-
- <style name="InCallDialpadKeyNumberStyle">
- <item name="android:textColor">@color/actionbar_background_color</item>
- <item name="android:textSize">@dimen/dialpad_key_numbers_size</item>
- <item name="android:fontFamily">sans-serif-light</item>
- <item name="android:layout_width">@dimen/dialpad_key_numbers_width</item>
- <item name="android:layout_height">wrap_content</item>
- <item name="android:gravity">center</item>
- </style>
-
- <style name="InCallDialpadKeyStarPoundStyle">
- <item name="android:textColor">@color/dialpad_secondary_text_color</item>
- <item name="android:fontFamily">sans-serif-light</item>
- <item name="android:layout_width">@dimen/dialpad_key_numbers_width</item>
- <item name="android:layout_height">wrap_content</item>
- <item name="android:gravity">center</item>
- </style>
-
- <style name="InCallDialpadKeyLettersStyle">
- <item name="android:textColor">@color/dialpad_secondary_text_color</item>
- <item name="android:textSize">@dimen/dialpad_key_letters_size</item>
- <item name="android:fontFamily">sans-serif-light</item>
- <item name="android:layout_width">@dimen/dialpad_key_letters_width</item>
- <item name="android:layout_height">wrap_content</item>
- <item name="android:paddingLeft">@dimen/dialpad_number_to_letters_padding</item>
- </style>
-
- <style name="InCallDialpadKeyButtonStyle">
- <item name="android:soundEffectsEnabled">false</item>
- <item name="android:clickable">true</item>
- <item name="android:layout_width">match_parent</item>
- <item name="android:layout_height">@dimen/dialpad_key_height</item>
- <item name="android:background">@drawable/dialpad_key_colors</item>
- <item name="android:focusable">true</item>
- </style>
-
- <style name="InCallDialpadKeyInternalLayoutStyle">
- <item name="android:layout_width">wrap_content</item>
- <item name="android:layout_height">wrap_content</item>
- <item name="android:layout_gravity">center</item>
- <item name="android:gravity">center</item>
- </style>
-
- <style name="PrimaryCallInfoPrimaryCallBanner">
- <item name="android:layout_alignParentTop">true</item>
- </style>
- <style name="PrimaryCallInfoSupplementaryInfoContainer">
- <item name="android:layout_below">@id/primary_call_banner</item>
- </style>
-
- <style name="SecondaryCallInfoSecondaryCallName">
- <item name="android:layout_gravity">top|left</item>
- </style>
- <style name="SecondaryCallInfoSecondaryCallStatus">
- <item name="android:layout_gravity">top|right</item>
+ <style name="InCallPopupMenuStyle" parent="@android:style/Theme.Material.Light">
+ <item name="android:textColorPrimary">@color/popup_menu_color</item>
</style>
</resources>
diff --git a/InCallUI/src/com/android/incallui/AnswerFragment.java b/InCallUI/src/com/android/incallui/AnswerFragment.java
index c76c507..29747da 100644
--- a/InCallUI/src/com/android/incallui/AnswerFragment.java
+++ b/InCallUI/src/com/android/incallui/AnswerFragment.java
@@ -18,6 +18,7 @@
import android.app.AlertDialog;
import android.app.Dialog;
+import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.Editable;
@@ -33,8 +34,10 @@
import android.widget.ListView;
import com.google.common.base.Preconditions;
+import com.google.common.collect.Lists;
import java.util.ArrayList;
+import java.util.List;
/**
*
@@ -42,6 +45,12 @@
public class AnswerFragment extends BaseFragment<AnswerPresenter, AnswerPresenter.AnswerUi>
implements GlowPadWrapper.AnswerListener, AnswerPresenter.AnswerUi {
+ public static final int TARGET_SET_FOR_AUDIO_WITHOUT_SMS = 0;
+ public static final int TARGET_SET_FOR_AUDIO_WITH_SMS = 1;
+ public static final int TARGET_SET_FOR_VIDEO_WITHOUT_SMS = 2;
+ public static final int TARGET_SET_FOR_VIDEO_WITH_SMS = 3;
+ public static final int TARGET_SET_FOR_VIDEO_UPGRADE_REQUEST = 4;
+
/**
* The popup showing the list of canned responses.
*
@@ -56,7 +65,9 @@
*/
private AlertDialog mCustomMessagePopup = null;
- private ArrayAdapter<String> mTextResponsesAdapter = null;
+ private ArrayAdapter<String> mSmsResponsesAdapter;
+
+ private final List<String> mSmsResponses = new ArrayList<>();
private GlowPadWrapper mGlowpad;
@@ -108,53 +119,92 @@
}
}
+ /**
+ * Sets targets on the glowpad according to target set identified by the parameter.
+ * @param targetSet Integer identifying the set of targets to use.
+ */
@Override
- public void showTextButton(boolean show) {
- final int targetResourceId = show
- ? R.array.incoming_call_widget_3way_targets
- : R.array.incoming_call_widget_2way_targets;
+ public void showTargets(int targetSet) {
+ final int targetResourceId;
+ final int targetDescriptionsResourceId;
+ final int directionDescriptionsResourceId;
+ final int handleDrawableResourceId;
+
+ switch (targetSet) {
+ case TARGET_SET_FOR_AUDIO_WITH_SMS:
+ targetResourceId = R.array.incoming_call_widget_audio_with_sms_targets;
+ targetDescriptionsResourceId =
+ R.array.incoming_call_widget_audio_with_sms_target_descriptions;
+ directionDescriptionsResourceId =
+ R.array.incoming_call_widget_audio_with_sms_direction_descriptions;
+ handleDrawableResourceId = R.drawable.ic_incall_audio_handle;
+ break;
+ case TARGET_SET_FOR_VIDEO_WITHOUT_SMS:
+ targetResourceId = R.array.incoming_call_widget_video_without_sms_targets;
+ targetDescriptionsResourceId =
+ R.array.incoming_call_widget_video_without_sms_target_descriptions;
+ directionDescriptionsResourceId =
+ R.array.incoming_call_widget_video_without_sms_direction_descriptions;
+ handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+ break;
+ case TARGET_SET_FOR_VIDEO_WITH_SMS:
+ targetResourceId = R.array.incoming_call_widget_video_with_sms_targets;
+ targetDescriptionsResourceId =
+ R.array.incoming_call_widget_video_with_sms_target_descriptions;
+ directionDescriptionsResourceId =
+ R.array.incoming_call_widget_video_with_sms_direction_descriptions;
+ handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+ break;
+ case TARGET_SET_FOR_VIDEO_UPGRADE_REQUEST:
+ targetResourceId = R.array.incoming_call_widget_video_upgrade_request_targets;
+ targetDescriptionsResourceId =
+ R.array.incoming_call_widget_video_upgrade_request_target_descriptions;
+ directionDescriptionsResourceId = R.array
+ .incoming_call_widget_video_upgrade_request_target_direction_descriptions;
+ handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+ break;
+ case TARGET_SET_FOR_AUDIO_WITHOUT_SMS:
+ default:
+ targetResourceId = R.array.incoming_call_widget_audio_without_sms_targets;
+ targetDescriptionsResourceId =
+ R.array.incoming_call_widget_audio_without_sms_target_descriptions;
+ directionDescriptionsResourceId =
+ R.array.incoming_call_widget_audio_without_sms_direction_descriptions;
+ handleDrawableResourceId = R.drawable.ic_incall_audio_handle;
+ break;
+ }
if (targetResourceId != mGlowpad.getTargetResourceId()) {
- if (show) {
- // Answer, Decline, and Respond via SMS.
- mGlowpad.setTargetResources(targetResourceId);
- mGlowpad.setTargetDescriptionsResourceId(
- R.array.incoming_call_widget_3way_target_descriptions);
- mGlowpad.setDirectionDescriptionsResourceId(
- R.array.incoming_call_widget_3way_direction_descriptions);
- } else {
- // Answer or Decline.
- mGlowpad.setTargetResources(targetResourceId);
- mGlowpad.setTargetDescriptionsResourceId(
- R.array.incoming_call_widget_2way_target_descriptions);
- mGlowpad.setDirectionDescriptionsResourceId(
- R.array.incoming_call_widget_2way_direction_descriptions);
- }
-
+ mGlowpad.setTargetResources(targetResourceId);
+ mGlowpad.setTargetDescriptionsResourceId(targetDescriptionsResourceId);
+ mGlowpad.setDirectionDescriptionsResourceId(directionDescriptionsResourceId);
+ mGlowpad.setHandleDrawable(handleDrawableResourceId);
mGlowpad.reset(false);
}
}
@Override
public void showMessageDialog() {
- final ListView lv = new ListView(getActivity());
+ final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
- Preconditions.checkNotNull(mTextResponsesAdapter);
- lv.setAdapter(mTextResponsesAdapter);
+ mSmsResponsesAdapter = new ArrayAdapter<>(builder.getContext(),
+ android.R.layout.simple_list_item_1, android.R.id.text1, mSmsResponses);
+
+ final ListView lv = new ListView(getActivity());
+ lv.setAdapter(mSmsResponsesAdapter);
lv.setOnItemClickListener(new RespondViaSmsItemClickListener());
- final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()).setCancelable(
- true).setView(lv);
- builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
- @Override
- public void onCancel(DialogInterface dialogInterface) {
- if (mGlowpad != null) {
- mGlowpad.startPing();
- }
- dismissCannedResponsePopup();
- getPresenter().onDismissDialog();
- }
- });
+ builder.setCancelable(true).setView(lv).setOnCancelListener(
+ new DialogInterface.OnCancelListener() {
+ @Override
+ public void onCancel(DialogInterface dialogInterface) {
+ if (mGlowpad != null) {
+ mGlowpad.startPing();
+ }
+ dismissCannedResponsePopup();
+ getPresenter().onDismissDialog();
+ }
+ });
mCannedResponsePopup = builder.create();
mCannedResponsePopup.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
mCannedResponsePopup.show();
@@ -216,9 +266,9 @@
*/
public void showCustomMessageDialog() {
// Create an alert dialog containing an EditText
- final EditText et = new EditText(getActivity());
- final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()).setCancelable(
- true).setView(et)
+ final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ final EditText et = new EditText(builder.getContext());
+ builder.setCancelable(true).setView(et)
.setPositiveButton(R.string.custom_message_send,
new DialogInterface.OnClickListener() {
@Override
@@ -271,18 +321,24 @@
}
@Override
- public void configureMessageDialog(ArrayList<String> textResponses) {
- final ArrayList<String> textResponsesForDisplay = new ArrayList<String>(textResponses);
-
- textResponsesForDisplay.add(getResources().getString(
+ public void configureMessageDialog(List<String> textResponses) {
+ mSmsResponses.clear();
+ mSmsResponses.addAll(textResponses);
+ mSmsResponses.add(getResources().getString(
R.string.respond_via_sms_custom_message));
- mTextResponsesAdapter = new ArrayAdapter<String>(getActivity(),
- android.R.layout.simple_list_item_1, android.R.id.text1, textResponsesForDisplay);
+ if (mSmsResponsesAdapter != null) {
+ mSmsResponsesAdapter.notifyDataSetChanged();
+ }
}
@Override
- public void onAnswer() {
- getPresenter().onAnswer();
+ public Context getContext() {
+ return getActivity();
+ }
+
+ @Override
+ public void onAnswer(int videoState, Context context) {
+ getPresenter().onAnswer(videoState, context);
}
@Override
diff --git a/InCallUI/src/com/android/incallui/AnswerPresenter.java b/InCallUI/src/com/android/incallui/AnswerPresenter.java
index dd4deeb..4022bb4 100644
--- a/InCallUI/src/com/android/incallui/AnswerPresenter.java
+++ b/InCallUI/src/com/android/incallui/AnswerPresenter.java
@@ -16,9 +16,10 @@
package com.android.incallui;
-import com.android.services.telephony.common.Call;
+import android.telecomm.PhoneCapabilities;
+import android.content.Context;
-import java.util.ArrayList;
+import java.util.List;
/**
* Presenter for the Incoming call widget.
@@ -28,7 +29,7 @@
private static final String TAG = AnswerPresenter.class.getSimpleName();
- private int mCallId = Call.INVALID_CALL_ID;
+ private String mCallId;
private Call mCall = null;
@Override
@@ -36,11 +37,15 @@
super.onUiReady(ui);
final CallList calls = CallList.getInstance();
- final Call call = calls.getIncomingCall();
- // TODO: change so that answer presenter never starts up if it's not incoming.
+ Call call;
+ call = calls.getIncomingCall();
if (call != null) {
processIncomingCall(call);
}
+ call = calls.getVideoUpgradeRequestCall();
+ if (call != null) {
+ processVideoUpgradeRequestCall(call);
+ }
// Listen for incoming calls.
calls.addListener(this);
@@ -54,7 +59,7 @@
// This is necessary because the activity can be destroyed while an incoming call exists.
// This happens when back button is pressed while incoming call is still being shown.
- if (mCallId != Call.INVALID_CALL_ID) {
+ if (mCallId != null) {
CallList.getInstance().removeCallUpdateListener(mCallId, this);
}
}
@@ -75,7 +80,7 @@
// getting updates here.
Log.d(this, "onIncomingCall: " + this);
if (getUi() != null) {
- if (call.getCallId() != mCallId) {
+ if (!call.getId().equals(mCallId)) {
// A new call is coming in.
processIncomingCall(call);
}
@@ -83,28 +88,47 @@
}
private void processIncomingCall(Call call) {
- mCallId = call.getCallId();
+ mCallId = call.getId();
mCall = call;
// Listen for call updates for the current call.
CallList.getInstance().addCallUpdateListener(mCallId, this);
Log.d(TAG, "Showing incoming for call id: " + mCallId + " " + this);
- final ArrayList<String> textMsgs = CallList.getInstance().getTextResponses(
- call.getCallId());
+ final List<String> textMsgs = CallList.getInstance().getTextResponses(call.getId());
getUi().showAnswerUi(true);
- if (call.can(Call.Capabilities.RESPOND_VIA_TEXT) && textMsgs != null) {
- getUi().showTextButton(true);
- getUi().configureMessageDialog(textMsgs);
+ boolean withSms = call.can(PhoneCapabilities.RESPOND_VIA_TEXT) && textMsgs != null;
+ if (call.isVideoCall(getUi().getContext())) {
+ if (withSms) {
+ getUi().showTargets(AnswerFragment.TARGET_SET_FOR_VIDEO_WITH_SMS);
+ getUi().configureMessageDialog(textMsgs);
+ } else {
+ getUi().showTargets(AnswerFragment.TARGET_SET_FOR_VIDEO_WITHOUT_SMS);
+ }
} else {
- getUi().showTextButton(false);
+ if (withSms) {
+ getUi().showTargets(AnswerFragment.TARGET_SET_FOR_AUDIO_WITH_SMS);
+ getUi().configureMessageDialog(textMsgs);
+ } else {
+ getUi().showTargets(AnswerFragment.TARGET_SET_FOR_AUDIO_WITHOUT_SMS);
+ }
}
}
+ private void processVideoUpgradeRequestCall(Call call) {
+ mCallId = call.getId();
+ mCall = call;
+
+ // Listen for call updates for the current call.
+ CallList.getInstance().addCallUpdateListener(mCallId, this);
+ getUi().showAnswerUi(true);
+
+ getUi().showTargets(AnswerFragment.TARGET_SET_FOR_VIDEO_UPGRADE_REQUEST);
+ }
@Override
- public void onCallStateChanged(Call call) {
+ public void onCallChanged(Call call) {
Log.d(this, "onCallStateChange() " + call + " " + this);
if (call.getState() != Call.State.INCOMING && call.getState() != Call.State.CALL_WAITING) {
// Stop listening for updates.
@@ -114,24 +138,31 @@
// mCallId will hold the state of the call. We don't clear the mCall variable here as
// it may be useful for sending text messages after phone disconnects.
- mCallId = Call.INVALID_CALL_ID;
+ mCallId = null;
}
}
- public void onAnswer() {
- if (mCallId == Call.INVALID_CALL_ID) {
+ public void onAnswer(int videoState, Context context) {
+ if (mCallId == null) {
return;
}
Log.d(this, "onAnswer " + mCallId);
-
- CallCommandClient.getInstance().answerCall(mCallId);
+ if (mCall.getSessionModificationState()
+ == Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
+ InCallPresenter.getInstance().acceptUpgradeRequest(context);
+ } else {
+ TelecommAdapter.getInstance().answerCall(mCall.getId(), videoState);
+ }
}
+ /**
+ * TODO: We are using reject and decline interchangeably. We should settle on
+ * reject since it seems to be more prevalent.
+ */
public void onDecline() {
Log.d(this, "onDecline " + mCallId);
-
- CallCommandClient.getInstance().rejectCall(mCall, false, null);
+ TelecommAdapter.getInstance().rejectCall(mCall.getId(), false, null);
}
public void onText() {
@@ -142,8 +173,7 @@
public void rejectCallWithMessage(String message) {
Log.d(this, "sendTextToDefaultActivity()...");
-
- CallCommandClient.getInstance().rejectCall(mCall, true, message);
+ TelecommAdapter.getInstance().rejectCall(mCall.getId(), true, message);
onDismissDialog();
}
@@ -154,8 +184,9 @@
interface AnswerUi extends Ui {
public void showAnswerUi(boolean show);
- public void showTextButton(boolean show);
+ public void showTargets(int targetSet);
public void showMessageDialog();
- public void configureMessageDialog(ArrayList<String> textResponses);
+ public void configureMessageDialog(List<String> textResponses);
+ public Context getContext();
}
}
diff --git a/InCallUI/src/com/android/incallui/AudioModeProvider.java b/InCallUI/src/com/android/incallui/AudioModeProvider.java
index 8700875..31ce9eb 100644
--- a/InCallUI/src/com/android/incallui/AudioModeProvider.java
+++ b/InCallUI/src/com/android/incallui/AudioModeProvider.java
@@ -16,28 +16,51 @@
package com.android.incallui;
-import com.google.android.collect.Lists;
+import com.google.common.collect.Lists;
-import com.android.services.telephony.common.AudioMode;
+import android.telecomm.AudioState;
+import android.telecomm.Phone;
import java.util.List;
-
/**
* Proxy class for getting and setting the audio mode.
*/
-/* package */ class AudioModeProvider {
+/* package */ class AudioModeProvider implements InCallPhoneListener {
+
+ static final int AUDIO_MODE_INVALID = 0;
private static AudioModeProvider sAudioModeProvider = new AudioModeProvider();
- private int mAudioMode = AudioMode.EARPIECE;
+ private int mAudioMode = AudioState.ROUTE_EARPIECE;
private boolean mMuted = false;
- private int mSupportedModes = AudioMode.ALL_MODES;
+ private int mSupportedModes = AudioState.ROUTE_ALL;
private final List<AudioModeListener> mListeners = Lists.newArrayList();
+ private Phone mPhone;
+
+ private Phone.Listener mPhoneListener = new Phone.Listener() {
+ @Override
+ public void onAudioStateChanged(Phone phone, AudioState audioState) {
+ onAudioModeChange(audioState.route, audioState.isMuted);
+ onSupportedAudioModeChange(audioState.supportedRouteMask);
+ }
+ };
public static AudioModeProvider getInstance() {
return sAudioModeProvider;
}
+ @Override
+ public void setPhone(Phone phone) {
+ mPhone = phone;
+ mPhone.addListener(mPhoneListener);
+ }
+
+ @Override
+ public void clearPhone() {
+ mPhone.removeListener(mPhoneListener);
+ mPhone = null;
+ }
+
public void onAudioModeChange(int newMode, boolean muted) {
if (mAudioMode != newMode) {
mAudioMode = newMode;
diff --git a/InCallUI/src/com/android/incallui/Call.java b/InCallUI/src/com/android/incallui/Call.java
new file mode 100644
index 0000000..9948c21
--- /dev/null
+++ b/InCallUI/src/com/android/incallui/Call.java
@@ -0,0 +1,394 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.android.contacts.common.CallUtil;
+
+import android.content.Context;
+import android.net.Uri;
+import android.telecomm.PhoneCapabilities;
+import android.telecomm.GatewayInfo;
+import android.telecomm.InCallService.VideoCall;
+import android.telecomm.PhoneAccountHandle;
+import android.telecomm.VideoProfile;
+import android.telephony.DisconnectCause;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+
+/**
+ * Describes a single call and its state.
+ */
+public final class Call {
+ /* Defines different states of this call */
+ public static class State {
+ public static final int INVALID = 0;
+ public static final int IDLE = 1; /* The call is idle. Nothing active */
+ public static final int ACTIVE = 2; /* There is an active call */
+ public static final int INCOMING = 3; /* A normal incoming phone call */
+ public static final int CALL_WAITING = 4; /* Incoming call while another is active */
+ public static final int DIALING = 5; /* An outgoing call during dial phase */
+ public static final int REDIALING = 6; /* Subsequent dialing attempt after a failure */
+ public static final int ONHOLD = 7; /* An active phone call placed on hold */
+ public static final int DISCONNECTING = 8; /* A call is being ended. */
+ public static final int DISCONNECTED = 9; /* State after a call disconnects */
+ public static final int CONFERENCED = 10; /* Call part of a conference call */
+ public static final int PRE_DIAL_WAIT = 11; /* Waiting for user before outgoing call */
+ public static final int CONNECTING = 12; /* Waiting for Telecomm broadcast to finish */
+
+ public static boolean isConnectingOrConnected(int state) {
+ switch(state) {
+ case ACTIVE:
+ case INCOMING:
+ case CALL_WAITING:
+ case CONNECTING:
+ case DIALING:
+ case REDIALING:
+ case ONHOLD:
+ case CONFERENCED:
+ return true;
+ default:
+ }
+ return false;
+ }
+
+ public static boolean isDialing(int state) {
+ return state == DIALING || state == REDIALING;
+ }
+
+ public static String toString(int state) {
+ switch (state) {
+ case INVALID:
+ return "INVALID";
+ case IDLE:
+ return "IDLE";
+ case ACTIVE:
+ return "ACTIVE";
+ case INCOMING:
+ return "INCOMING";
+ case CALL_WAITING:
+ return "CALL_WAITING";
+ case DIALING:
+ return "DIALING";
+ case REDIALING:
+ return "REDIALING";
+ case ONHOLD:
+ return "ONHOLD";
+ case DISCONNECTING:
+ return "DISCONNECTING";
+ case DISCONNECTED:
+ return "DISCONNECTED";
+ case CONFERENCED:
+ return "CONFERENCED";
+ case PRE_DIAL_WAIT:
+ return "PRE_DIAL_WAIT";
+ case CONNECTING:
+ return "CONNECTING";
+ default:
+ return "UNKNOWN";
+ }
+ }
+ }
+
+ /**
+ * Defines different states of session modify requests, which are used to upgrade to video, or
+ * downgrade to audio.
+ */
+ public static class SessionModificationState {
+ public static final int NO_REQUEST = 0;
+ public static final int WAITING_FOR_RESPONSE = 1;
+ public static final int REQUEST_FAILED = 2;
+ public static final int RECEIVED_UPGRADE_TO_VIDEO_REQUEST = 3;
+ }
+
+ private static final String ID_PREFIX = Call.class.getSimpleName() + "_";
+ private static int sIdCounter = 0;
+
+ private android.telecomm.Call.Listener mTelecommCallListener =
+ new android.telecomm.Call.Listener() {
+ @Override
+ public void onStateChanged(android.telecomm.Call call, int newState) {
+ update();
+ }
+
+ @Override
+ public void onParentChanged(android.telecomm.Call call,
+ android.telecomm.Call newParent) {
+ update();
+ }
+
+ @Override
+ public void onChildrenChanged(android.telecomm.Call call,
+ List<android.telecomm.Call> children) {
+ update();
+ }
+
+ @Override
+ public void onDetailsChanged(android.telecomm.Call call,
+ android.telecomm.Call.Details details) {
+ update();
+ }
+
+ @Override
+ public void onCannedTextResponsesLoaded(android.telecomm.Call call,
+ List<String> cannedTextResponses) {
+ update();
+ }
+
+ @Override
+ public void onPostDialWait(android.telecomm.Call call,
+ String remainingPostDialSequence) {
+ update();
+ }
+
+ @Override
+ public void onVideoCallChanged(android.telecomm.Call call,
+ VideoCall videoCall) {
+ update();
+ }
+
+ @Override
+ public void onCallDestroyed(android.telecomm.Call call) {
+ call.removeListener(mTelecommCallListener);
+ }
+ };
+
+ private final android.telecomm.Call mTelecommCall;
+ private final String mId;
+ private int mState = State.INVALID;
+ private int mDisconnectCause;
+ private int mSessionModificationState;
+ private final List<String> mChildCallIds = new ArrayList<>();
+
+ private InCallVideoCallListener mVideoCallListener;
+
+ public Call(android.telecomm.Call telecommCall) {
+ mTelecommCall = telecommCall;
+ mId = ID_PREFIX + Integer.toString(sIdCounter++);
+ updateFromTelecommCall();
+ if (getState() == Call.State.INCOMING) {
+ CallList.getInstance().onIncoming(this, getCannedSmsResponses());
+ } else {
+ CallList.getInstance().onUpdate(this);
+ }
+ mTelecommCall.addListener(mTelecommCallListener);
+ }
+
+ public android.telecomm.Call getTelecommCall() {
+ return mTelecommCall;
+ }
+
+ private void update() {
+ int oldState = getState();
+ updateFromTelecommCall();
+ if (oldState != getState() && getState() == Call.State.DISCONNECTED) {
+ CallList.getInstance().onDisconnect(this);
+ } else {
+ CallList.getInstance().onUpdate(this);
+ }
+ }
+
+ private void updateFromTelecommCall() {
+ Log.d(this, "updateFromTelecommCall: " + mTelecommCall);
+ setState(translateState(mTelecommCall.getState()));
+ setDisconnectCause(mTelecommCall.getDetails().getDisconnectCauseCode());
+
+ if (mTelecommCall.getVideoCall() != null) {
+ if (mVideoCallListener == null) {
+ mVideoCallListener = new InCallVideoCallListener(this);
+ }
+ mTelecommCall.getVideoCall().setVideoCallListener(mVideoCallListener);
+ }
+
+ mChildCallIds.clear();
+ for (int i = 0; i < mTelecommCall.getChildren().size(); i++) {
+ mChildCallIds.add(
+ CallList.getInstance().getCallByTelecommCall(
+ mTelecommCall.getChildren().get(i)).getId());
+ }
+ }
+
+ private static int translateState(int state) {
+ switch (state) {
+ case android.telecomm.Call.STATE_CONNECTING:
+ return Call.State.CONNECTING;
+ case android.telecomm.Call.STATE_PRE_DIAL_WAIT:
+ return Call.State.PRE_DIAL_WAIT;
+ case android.telecomm.Call.STATE_DIALING:
+ case android.telecomm.Call.STATE_NEW:
+ return Call.State.DIALING;
+ case android.telecomm.Call.STATE_RINGING:
+ return Call.State.INCOMING;
+ case android.telecomm.Call.STATE_ACTIVE:
+ return Call.State.ACTIVE;
+ case android.telecomm.Call.STATE_HOLDING:
+ return Call.State.ONHOLD;
+ case android.telecomm.Call.STATE_DISCONNECTED:
+ return Call.State.DISCONNECTED;
+ default:
+ return Call.State.INVALID;
+ }
+ }
+
+ public String getId() {
+ return mId;
+ }
+
+ public String getNumber() {
+ if (mTelecommCall.getDetails().getGatewayInfo() != null) {
+ return mTelecommCall.getDetails().getGatewayInfo()
+ .getOriginalHandle().getSchemeSpecificPart();
+ }
+ return getHandle() == null ? null : getHandle().getSchemeSpecificPart();
+ }
+
+ public Uri getHandle() {
+ return mTelecommCall.getDetails().getHandle();
+ }
+
+ public int getState() {
+ if (mTelecommCall.getParent() != null) {
+ return State.CONFERENCED;
+ } else {
+ return mState;
+ }
+ }
+
+ public void setState(int state) {
+ mState = state;
+ }
+
+ public int getNumberPresentation() {
+ return getTelecommCall().getDetails().getHandlePresentation();
+ }
+
+ public int getCnapNamePresentation() {
+ return getTelecommCall().getDetails().getCallerDisplayNamePresentation();
+ }
+
+ public String getCnapName() {
+ return getTelecommCall().getDetails().getCallerDisplayName();
+ }
+
+ /** Returns call disconnect cause; values are defined in {@link DisconnectCause}. */
+ public int getDisconnectCause() {
+ if (mState == State.DISCONNECTED || mState == State.IDLE) {
+ return mDisconnectCause;
+ }
+
+ return DisconnectCause.NOT_DISCONNECTED;
+ }
+
+ public void setDisconnectCause(int disconnectCause) {
+ mDisconnectCause = disconnectCause;
+ }
+
+ /** Returns the possible text message responses. */
+ public List<String> getCannedSmsResponses() {
+ return mTelecommCall.getCannedTextResponses();
+ }
+
+ /** Checks if the call supports the given set of capabilities supplied as a bit mask. */
+ public boolean can(int capabilities) {
+ if (PhoneCapabilities.MERGE_CALLS == (capabilities & PhoneCapabilities.MERGE_CALLS)) {
+ if (mTelecommCall.getConferenceableCalls().isEmpty()) {
+ // Cannot merge calls if there are no calls to merge with.
+ return false;
+ }
+ capabilities &= ~PhoneCapabilities.MERGE_CALLS;
+ }
+ return (capabilities == (capabilities & mTelecommCall.getDetails().getCallCapabilities()));
+ }
+
+ /** Gets the time when the call first became active. */
+ public long getConnectTimeMillis() {
+ return mTelecommCall.getDetails().getConnectTimeMillis();
+ }
+
+ public boolean isConferenceCall() {
+ return mChildCallIds != null && !mChildCallIds.isEmpty();
+ }
+
+ public GatewayInfo getGatewayInfo() {
+ return mTelecommCall.getDetails().getGatewayInfo();
+ }
+
+ public PhoneAccountHandle getAccountHandle() {
+ return mTelecommCall.getDetails().getAccountHandle();
+ }
+
+ public VideoCall getVideoCall() {
+ return mTelecommCall.getVideoCall();
+ }
+
+ public List<String> getChildCallIds() {
+ return mChildCallIds;
+ }
+
+ public String getParentId() {
+ android.telecomm.Call parentCall = mTelecommCall.getParent();
+ if (parentCall != null) {
+ return CallList.getInstance().getCallByTelecommCall(parentCall).getId();
+ }
+ return null;
+ }
+
+ public int getVideoState() {
+ return mTelecommCall.getDetails().getVideoState();
+ }
+
+ public boolean isVideoCall(Context context) {
+ return CallUtil.isVideoEnabled(context) &&
+ VideoProfile.VideoState.isBidirectional(getVideoState());
+ }
+
+ public void setSessionModificationState(int state) {
+ boolean hasChanged = mSessionModificationState != state;
+ mSessionModificationState = state;
+
+ if (hasChanged) {
+ update();
+ }
+ }
+
+ public static boolean areSame(Call call1, Call call2) {
+ if (call1 == null && call2 == null) {
+ return true;
+ } else if (call1 == null || call2 == null) {
+ return false;
+ }
+
+ // otherwise compare call Ids
+ return call1.getId().equals(call2.getId());
+ }
+
+ public int getSessionModificationState() {
+ return mSessionModificationState;
+ }
+
+ @Override
+ public String toString() {
+ return String.format(Locale.US, "[%s, %s, %s, children:%s, parent:%s, videoState:%d]",
+ mId,
+ State.toString(getState()),
+ PhoneCapabilities.toString(mTelecommCall.getDetails().getCallCapabilities()),
+ mChildCallIds,
+ getParentId(),
+ mTelecommCall.getDetails().getVideoState());
+ }
+}
diff --git a/InCallUI/src/com/android/incallui/CallButtonFragment.java b/InCallUI/src/com/android/incallui/CallButtonFragment.java
index ed76903..14d1363 100644
--- a/InCallUI/src/com/android/incallui/CallButtonFragment.java
+++ b/InCallUI/src/com/android/incallui/CallButtonFragment.java
@@ -16,22 +16,23 @@
package com.android.incallui;
+import android.content.Context;
import android.graphics.drawable.LayerDrawable;
import android.os.Bundle;
+import android.telecomm.AudioState;
+import android.view.ContextThemeWrapper;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
-import android.view.View.OnClickListener;
import android.view.ViewGroup;
+import android.view.accessibility.AccessibilityEvent;
+import android.view.accessibility.AccessibilityManager;
import android.widget.CompoundButton;
import android.widget.ImageButton;
import android.widget.PopupMenu;
import android.widget.PopupMenu.OnDismissListener;
import android.widget.PopupMenu.OnMenuItemClickListener;
-import android.widget.ToggleButton;
-
-import com.android.services.telephony.common.AudioMode;
/**
* Fragment for call control buttons
@@ -41,25 +42,34 @@
implements CallButtonPresenter.CallButtonUi, OnMenuItemClickListener, OnDismissListener,
View.OnClickListener, CompoundButton.OnCheckedChangeListener {
- private ImageButton mMuteButton;
private ImageButton mAudioButton;
+ private ImageButton mChangeToVoiceButton;
+ private ImageButton mMuteButton;
+ private ImageButton mShowDialpadButton;
private ImageButton mHoldButton;
- private ToggleButton mShowDialpadButton;
- private ImageButton mMergeButton;
- private ImageButton mAddCallButton;
private ImageButton mSwapButton;
+ private ImageButton mChangeToVideoButton;
+ private ImageButton mSwitchCameraButton;
+ private ImageButton mAddCallButton;
+ private ImageButton mMergeButton;
+ private ImageButton mPauseVideoButton;
+ private ImageButton mOverflowButton;
private PopupMenu mAudioModePopup;
private boolean mAudioModePopupVisible;
- private View mEndCallButton;
- private View mExtraRowButton;
- private View mManageConferenceButton;
- private View mGenericMergeButton;
+ private PopupMenu mOverflowPopup;
+
+ private int mPrevAudioMode = 0;
+
+ // Constants for Drawable.setAlpha()
+ private static final int HIDDEN = 0;
+ private static final int VISIBLE = 255;
+
+ private boolean mIsEnabled;
@Override
CallButtonPresenter createPresenter() {
- // TODO: find a cleaner way to include audio mode provider than
- // having a singleton instance.
+ // TODO: find a cleaner way to include audio mode provider than having a singleton instance.
return new CallButtonPresenter();
}
@@ -78,69 +88,30 @@
Bundle savedInstanceState) {
final View parent = inflater.inflate(R.layout.call_button_fragment, container, false);
- mExtraRowButton = parent.findViewById(R.id.extraButtonRow);
-
- mManageConferenceButton = parent.findViewById(R.id.manageConferenceButton);
- mManageConferenceButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- getPresenter().manageConferenceButtonClicked();
- }
- });
- mGenericMergeButton = parent.findViewById(R.id.cdmaMergeButton);
- mGenericMergeButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- getPresenter().mergeClicked();
- }
- });
-
- mEndCallButton = parent.findViewById(R.id.endButton);
- mEndCallButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- getPresenter().endCallClicked();
- }
- });
-
- // make the hit target smaller for the end button so that is creates a deadzone
- // along the inside perimeter of the button.
- mEndCallButton.setOnTouchListener(new SmallerHitTargetTouchListener());
-
- mMuteButton = (ImageButton) parent.findViewById(R.id.muteButton);
- mMuteButton.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- final ImageButton button = (ImageButton) v;
- getPresenter().muteClicked(!button.isSelected());
- }
- });
-
mAudioButton = (ImageButton) parent.findViewById(R.id.audioButton);
- mAudioButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- onAudioButtonClicked();
- }
- });
-
- mHoldButton = (ImageButton) parent.findViewById(R.id.holdButton);
- mHoldButton.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- final ImageButton button = (ImageButton) v;
- getPresenter().holdClicked(!button.isSelected());
- }
- });
-
- mShowDialpadButton = (ToggleButton) parent.findViewById(R.id.dialpadButton);
+ mAudioButton.setOnClickListener(this);
+ mChangeToVoiceButton = (ImageButton) parent.findViewById(R.id.changeToVoiceButton);
+ mChangeToVoiceButton. setOnClickListener(this);
+ mMuteButton = (ImageButton) parent.findViewById(R.id.muteButton);
+ mMuteButton.setOnClickListener(this);
+ mShowDialpadButton = (ImageButton) parent.findViewById(R.id.dialpadButton);
mShowDialpadButton.setOnClickListener(this);
+ mHoldButton = (ImageButton) parent.findViewById(R.id.holdButton);
+ mHoldButton.setOnClickListener(this);
+ mSwapButton = (ImageButton) parent.findViewById(R.id.swapButton);
+ mSwapButton.setOnClickListener(this);
+ mChangeToVideoButton = (ImageButton) parent.findViewById(R.id.changeToVideoButton);
+ mChangeToVideoButton.setOnClickListener(this);
+ mSwitchCameraButton = (ImageButton) parent.findViewById(R.id.switchCameraButton);
+ mSwitchCameraButton.setOnClickListener(this);
mAddCallButton = (ImageButton) parent.findViewById(R.id.addButton);
mAddCallButton.setOnClickListener(this);
mMergeButton = (ImageButton) parent.findViewById(R.id.mergeButton);
mMergeButton.setOnClickListener(this);
- mSwapButton = (ImageButton) parent.findViewById(R.id.swapButton);
- mSwapButton.setOnClickListener(this);
+ mPauseVideoButton = (ImageButton) parent.findViewById(R.id.pauseVideoButton);
+ mPauseVideoButton.setOnClickListener(this);
+ mOverflowButton = (ImageButton) parent.findViewById(R.id.overflowButton);
+ mOverflowButton.setOnClickListener(this);
return parent;
}
@@ -171,17 +142,47 @@
Log.d(this, "onClick(View " + view + ", id " + id + ")...");
switch(id) {
+ case R.id.audioButton:
+ onAudioButtonClicked();
+ break;
case R.id.addButton:
getPresenter().addCallClicked();
break;
+ case R.id.changeToVoiceButton:
+ getPresenter().changeToVoiceClicked();
+ break;
+ case R.id.muteButton: {
+ final ImageButton button = (ImageButton) view;
+ getPresenter().muteClicked(!button.isSelected());
+ break;
+ }
case R.id.mergeButton:
getPresenter().mergeClicked();
break;
+ case R.id.holdButton: {
+ final ImageButton button = (ImageButton) view;
+ getPresenter().holdClicked(!button.isSelected());
+ break;
+ }
case R.id.swapButton:
getPresenter().swapClicked();
break;
case R.id.dialpadButton:
- getPresenter().showDialpadClicked(mShowDialpadButton.isChecked());
+ getPresenter().showDialpadClicked(!mShowDialpadButton.isSelected());
+ break;
+ case R.id.changeToVideoButton:
+ getPresenter().changeToVideoClicked();
+ break;
+ case R.id.switchCameraButton:
+ getPresenter().switchCameraClicked(
+ mSwitchCameraButton.isSelected() /* useFrontFacingCamera */);
+ break;
+ case R.id.pauseVideoButton:
+ getPresenter().pauseVideoClicked(
+ !mPauseVideoButton.isSelected() /* pause */);
+ break;
+ case R.id.overflowButton:
+ mOverflowPopup.show();
break;
default:
Log.wtf(this, "onClick: unexpected");
@@ -191,27 +192,43 @@
@Override
public void setEnabled(boolean isEnabled) {
+ mIsEnabled = isEnabled;
View view = getView();
if (view.getVisibility() != View.VISIBLE) {
view.setVisibility(View.VISIBLE);
}
- // The main end-call button spanning across the screen.
- mEndCallButton.setEnabled(isEnabled);
-
- // The smaller buttons laid out horizontally just below the end-call button.
- mMuteButton.setEnabled(isEnabled);
mAudioButton.setEnabled(isEnabled);
- mHoldButton.setEnabled(isEnabled);
+ mChangeToVoiceButton.setEnabled(isEnabled);
+ mMuteButton.setEnabled(isEnabled);
mShowDialpadButton.setEnabled(isEnabled);
- mMergeButton.setEnabled(isEnabled);
- mAddCallButton.setEnabled(isEnabled);
+ mHoldButton.setEnabled(isEnabled);
mSwapButton.setEnabled(isEnabled);
+ mChangeToVideoButton.setEnabled(isEnabled);
+ mSwitchCameraButton.setEnabled(isEnabled);
+ mAddCallButton.setEnabled(isEnabled);
+ mMergeButton.setEnabled(isEnabled);
+ mPauseVideoButton.setEnabled(isEnabled);
+ mOverflowButton.setEnabled(isEnabled);
}
@Override
public void setMute(boolean value) {
- mMuteButton.setSelected(value);
+ if (mMuteButton.isSelected() != value) {
+ mMuteButton.setSelected(value);
+ maybeSendAccessibilityEvent(mMuteButton, value ? R.string.accessibility_call_muted
+ : R.string.accessibility_call_unmuted);
+ }
+ }
+
+ @Override
+ public void showAudioButton(boolean show) {
+ mAudioButton.setVisibility(show ? View.VISIBLE : View.GONE);
+ }
+
+ @Override
+ public void showChangeToVoiceButton(boolean show) {
+ mChangeToVoiceButton.setVisibility(show ? View.VISIBLE : View.GONE);
}
@Override
@@ -220,12 +237,22 @@
}
@Override
- public void setHold(boolean value) {
- mHoldButton.setSelected(value);
+ public void showDialpadButton(boolean show) {
+ mShowDialpadButton.setVisibility(show ? View.VISIBLE : View.GONE);
}
@Override
- public void showHold(boolean show) {
+ public void setHold(boolean value) {
+ if (mHoldButton.isSelected() != value) {
+ mHoldButton.setSelected(value);
+ maybeSendAccessibilityEvent(mHoldButton,
+ value ? R.string.accessibility_call_put_on_hold :
+ R.string.accessibility_call_removed_from_hold);
+ }
+ }
+
+ @Override
+ public void showHoldButton(boolean show) {
mHoldButton.setVisibility(show ? View.VISIBLE : View.GONE);
}
@@ -235,17 +262,28 @@
}
@Override
- public void showMerge(boolean show) {
- mMergeButton.setVisibility(show ? View.VISIBLE : View.GONE);
- }
-
- @Override
- public void showSwap(boolean show) {
+ public void showSwapButton(boolean show) {
mSwapButton.setVisibility(show ? View.VISIBLE : View.GONE);
}
@Override
- public void showAddCall(boolean show) {
+ public void showChangeToVideoButton(boolean show) {
+ mChangeToVideoButton.setVisibility(show ? View.VISIBLE : View.GONE);
+ }
+
+ @Override
+ public void showSwitchCameraButton(boolean show) {
+ mSwitchCameraButton.setVisibility(show ? View.VISIBLE : View.GONE);
+ }
+
+ @Override
+ public void setSwitchCameraButton(boolean isBackFacingCamera) {
+ mSwitchCameraButton.setSelected(isBackFacingCamera);
+ }
+
+ @Override
+ public void showAddCallButton(boolean show) {
+ Log.d(this, "show Add call button: " + show);
mAddCallButton.setVisibility(show ? View.VISIBLE : View.GONE);
}
@@ -255,9 +293,108 @@
}
@Override
+ public void showMergeButton(boolean show) {
+ mMergeButton.setVisibility(show ? View.VISIBLE : View.GONE);
+ }
+
+ @Override
+ public void showPauseVideoButton(boolean show) {
+ mPauseVideoButton.setVisibility(show ? View.VISIBLE : View.GONE);
+ }
+
+ @Override
+ public void setPauseVideoButton(boolean isPaused) {
+ mPauseVideoButton.setSelected(isPaused);
+ }
+
+ @Override
+ public void showOverflowButton(boolean show) {
+ mOverflowButton.setVisibility(show ? View.VISIBLE : View.GONE);
+ }
+
+ @Override
+ public void configureOverflowMenu(boolean showMergeMenuOption, boolean showAddMenuOption,
+ boolean showHoldMenuOption, boolean showSwapMenuOption) {
+ if (mOverflowPopup == null) {
+ final ContextThemeWrapper contextWrapper = new ContextThemeWrapper(getActivity(),
+ R.style.InCallPopupMenuStyle);
+ mOverflowPopup = new PopupMenu(contextWrapper, mOverflowButton);
+ mOverflowPopup.getMenuInflater().inflate(R.menu.incall_overflow_menu,
+ mOverflowPopup.getMenu());
+ mOverflowPopup.setOnMenuItemClickListener(new OnMenuItemClickListener() {
+ @Override
+ public boolean onMenuItemClick(MenuItem item) {
+ switch (item.getItemId()) {
+ case R.id.overflow_merge_menu_item:
+ getPresenter().mergeClicked();
+ break;
+ case R.id.overflow_add_menu_item:
+ getPresenter().addCallClicked();
+ break;
+ case R.id.overflow_hold_menu_item:
+ getPresenter().holdClicked(true /* checked */);
+ break;
+ case R.id.overflow_resume_menu_item:
+ getPresenter().holdClicked(false /* checked */);
+ break;
+ case R.id.overflow_swap_menu_item:
+ getPresenter().addCallClicked();
+ break;
+ default:
+ Log.wtf(this, "onMenuItemClick: unexpected overflow menu click");
+ break;
+ }
+ return true;
+ }
+ });
+ mOverflowPopup.setOnDismissListener(new OnDismissListener() {
+ @Override
+ public void onDismiss(PopupMenu popupMenu) {
+ popupMenu.dismiss();
+ }
+ });
+ }
+
+ final Menu menu = mOverflowPopup.getMenu();
+ menu.findItem(R.id.overflow_merge_menu_item).setVisible(showMergeMenuOption);
+ menu.findItem(R.id.overflow_add_menu_item).setVisible(showAddMenuOption);
+ menu.findItem(R.id.overflow_hold_menu_item).setVisible(
+ showHoldMenuOption && !mHoldButton.isSelected());
+ menu.findItem(R.id.overflow_resume_menu_item).setVisible(
+ showHoldMenuOption && mHoldButton.isSelected());
+ menu.findItem(R.id.overflow_swap_menu_item).setVisible(showSwapMenuOption);
+
+ mOverflowButton.setEnabled(menu.hasVisibleItems());
+ }
+
+ @Override
public void setAudio(int mode) {
updateAudioButtons(getPresenter().getSupportedAudio());
refreshAudioModePopup();
+
+ if (mPrevAudioMode != mode) {
+ if (mPrevAudioMode != 0) {
+ int stringId = 0;
+ switch (mode) {
+ case AudioState.ROUTE_EARPIECE:
+ stringId = R.string.accessibility_earpiece_selected;
+ break;
+ case AudioState.ROUTE_BLUETOOTH:
+ stringId = R.string.accessibility_bluetooth_headset_selected;
+ break;
+ case AudioState.ROUTE_WIRED_HEADSET:
+ stringId = R.string.accessibility_wired_headset_selected;
+ break;
+ case AudioState.ROUTE_SPEAKER:
+ stringId = R.string.accessibility_speakerphone_selected;
+ break;
+ }
+ if (stringId != 0) {
+ maybeSendAccessibilityEvent(mAudioButton, stringId);
+ }
+ }
+ mPrevAudioMode = mode;
+ }
}
@Override
@@ -272,20 +409,20 @@
Log.d(this, " id: " + item.getItemId());
Log.d(this, " title: '" + item.getTitle() + "'");
- int mode = AudioMode.WIRED_OR_EARPIECE;
+ int mode = AudioState.ROUTE_WIRED_OR_EARPIECE;
switch (item.getItemId()) {
case R.id.audio_mode_speaker:
- mode = AudioMode.SPEAKER;
+ mode = AudioState.ROUTE_SPEAKER;
break;
case R.id.audio_mode_earpiece:
case R.id.audio_mode_wired_headset:
- // InCallAudioMode.EARPIECE means either the handset earpiece,
+ // InCallAudioState.ROUTE_EARPIECE means either the handset earpiece,
// or the wired headset (if connected.)
- mode = AudioMode.WIRED_OR_EARPIECE;
+ mode = AudioState.ROUTE_WIRED_OR_EARPIECE;
break;
case R.id.audio_mode_bluetooth:
- mode = AudioMode.BLUETOOTH;
+ mode = AudioState.ROUTE_BLUETOOTH;
break;
default:
Log.e(this, "onMenuItemClick: unexpected View ID " + item.getItemId()
@@ -314,9 +451,9 @@
*/
private void onAudioButtonClicked() {
Log.d(this, "onAudioButtonClicked: " +
- AudioMode.toString(getPresenter().getSupportedAudio()));
+ AudioState.audioRouteToString(getPresenter().getSupportedAudio()));
- if (isSupported(AudioMode.BLUETOOTH)) {
+ if (isSupported(AudioState.ROUTE_BLUETOOTH)) {
showAudioModePopup();
} else {
getPresenter().toggleSpeakerphone();
@@ -346,16 +483,15 @@
* are visible based on the supported audio formats.
*/
private void updateAudioButtons(int supportedModes) {
- final boolean bluetoothSupported = isSupported(AudioMode.BLUETOOTH);
- final boolean speakerSupported = isSupported(AudioMode.SPEAKER);
+ final boolean bluetoothSupported = isSupported(AudioState.ROUTE_BLUETOOTH);
+ final boolean speakerSupported = isSupported(AudioState.ROUTE_SPEAKER);
boolean audioButtonEnabled = false;
boolean audioButtonChecked = false;
boolean showMoreIndicator = false;
boolean showBluetoothIcon = false;
- boolean showSpeakerphoneOnIcon = false;
- boolean showSpeakerphoneOffIcon = false;
+ boolean showSpeakerphoneIcon = false;
boolean showHandsetIcon = false;
boolean showToggleIndicator = false;
@@ -370,10 +506,10 @@
// btn_compound_background layer anyway.)
// Update desired layers:
- if (isAudio(AudioMode.BLUETOOTH)) {
+ if (isAudio(AudioState.ROUTE_BLUETOOTH)) {
showBluetoothIcon = true;
- } else if (isAudio(AudioMode.SPEAKER)) {
- showSpeakerphoneOnIcon = true;
+ } else if (isAudio(AudioState.ROUTE_SPEAKER)) {
+ showSpeakerphoneIcon = true;
} else {
showHandsetIcon = true;
// TODO: if a wired headset is plugged in, that takes precedence
@@ -388,13 +524,11 @@
// The audio button *is* a toggle in this state, and indicated the
// current state of the speakerphone.
- audioButtonChecked = isAudio(AudioMode.SPEAKER);
+ audioButtonChecked = isAudio(AudioState.ROUTE_SPEAKER);
// update desired layers:
showToggleIndicator = true;
-
- showSpeakerphoneOnIcon = isAudio(AudioMode.SPEAKER);
- showSpeakerphoneOffIcon = !showSpeakerphoneOnIcon;
+ showSpeakerphoneIcon = true;
} else {
Log.d(this, "updateAudioButtons - disabled...");
@@ -405,7 +539,7 @@
// update desired layers:
showToggleIndicator = true;
- showSpeakerphoneOffIcon = true;
+ showSpeakerphoneIcon = true;
}
// Finally, update it all!
@@ -414,15 +548,11 @@
Log.v(this, "audioButtonChecked: " + audioButtonChecked);
Log.v(this, "showMoreIndicator: " + showMoreIndicator);
Log.v(this, "showBluetoothIcon: " + showBluetoothIcon);
- Log.v(this, "showSpeakerphoneOnIcon: " + showSpeakerphoneOnIcon);
- Log.v(this, "showSpeakerphoneOffIcon: " + showSpeakerphoneOffIcon);
+ Log.v(this, "showSpeakerphoneIcon: " + showSpeakerphoneIcon);
Log.v(this, "showHandsetIcon: " + showHandsetIcon);
- // Constants for Drawable.setAlpha()
- final int HIDDEN = 0;
- final int VISIBLE = 255;
-
- mAudioButton.setEnabled(audioButtonEnabled);
+ // Only enable the audio button if the fragment is enabled.
+ mAudioButton.setEnabled(audioButtonEnabled && mIsEnabled);
mAudioButton.setSelected(audioButtonChecked);
final LayerDrawable layers = (LayerDrawable) mAudioButton.getBackground();
@@ -440,17 +570,17 @@
layers.findDrawableByLayerId(R.id.handsetItem)
.setAlpha(showHandsetIcon ? VISIBLE : HIDDEN);
- layers.findDrawableByLayerId(R.id.speakerphoneOnItem)
- .setAlpha(showSpeakerphoneOnIcon ? VISIBLE : HIDDEN);
+ layers.findDrawableByLayerId(R.id.speakerphoneItem)
+ .setAlpha(showSpeakerphoneIcon ? VISIBLE : HIDDEN);
- layers.findDrawableByLayerId(R.id.speakerphoneOffItem)
- .setAlpha(showSpeakerphoneOffIcon ? VISIBLE : HIDDEN);
}
private void showAudioModePopup() {
Log.d(this, "showAudioPopup()...");
- mAudioModePopup = new PopupMenu(getView().getContext(), mAudioButton /* anchorView */);
+ final ContextThemeWrapper contextWrapper = new ContextThemeWrapper(getActivity(),
+ R.style.InCallPopupMenuStyle);
+ mAudioModePopup = new PopupMenu(contextWrapper, mAudioButton /* anchorView */);
mAudioModePopup.getMenuInflater().inflate(R.menu.incall_audio_mode_menu,
mAudioModePopup.getMenu());
mAudioModePopup.setOnMenuItemClickListener(this);
@@ -464,7 +594,7 @@
// See comments below for the exact logic.
final MenuItem speakerItem = menu.findItem(R.id.audio_mode_speaker);
- speakerItem.setEnabled(isSupported(AudioMode.SPEAKER));
+ speakerItem.setEnabled(isSupported(AudioState.ROUTE_SPEAKER));
// TODO: Show speakerItem as initially "selected" if
// speaker is on.
@@ -473,7 +603,7 @@
final MenuItem earpieceItem = menu.findItem(R.id.audio_mode_earpiece);
final MenuItem wiredHeadsetItem = menu.findItem(R.id.audio_mode_wired_headset);
- final boolean usingHeadset = isSupported(AudioMode.WIRED_HEADSET);
+ final boolean usingHeadset = isSupported(AudioState.ROUTE_WIRED_HEADSET);
earpieceItem.setVisible(!usingHeadset);
earpieceItem.setEnabled(!usingHeadset);
wiredHeadsetItem.setVisible(usingHeadset);
@@ -483,7 +613,7 @@
// bluetoothIndicatorOn are both false.
final MenuItem bluetoothItem = menu.findItem(R.id.audio_mode_bluetooth);
- bluetoothItem.setEnabled(isSupported(AudioMode.BLUETOOTH));
+ bluetoothItem.setEnabled(isSupported(AudioState.ROUTE_BLUETOOTH));
// TODO: Show bluetoothItem as initially "selected" if
// bluetoothIndicatorOn is true.
@@ -504,10 +634,10 @@
}
@Override
- public void displayDialpad(boolean value) {
- mShowDialpadButton.setChecked(value);
+ public void displayDialpad(boolean value, boolean animate) {
+ mShowDialpadButton.setSelected(value);
if (getActivity() != null && getActivity() instanceof InCallActivity) {
- ((InCallActivity) getActivity()).displayDialpad(value);
+ ((InCallActivity) getActivity()).displayDialpad(value, animate);
}
}
@@ -520,29 +650,22 @@
}
@Override
- public void displayManageConferencePanel(boolean value) {
- if (getActivity() != null && getActivity() instanceof InCallActivity) {
- ((InCallActivity) getActivity()).displayManageConferencePanel(value);
+ public Context getContext() {
+ return getActivity();
+ }
+
+ private void maybeSendAccessibilityEvent(View view, int stringId) {
+ final Context context = getActivity();
+ AccessibilityManager manager =
+ (AccessibilityManager) context.getSystemService(Context.ACCESSIBILITY_SERVICE);
+ if (manager != null && manager.isEnabled()) {
+ AccessibilityEvent e = AccessibilityEvent.obtain();
+ e.setSource(view);
+ e.setEventType(AccessibilityEvent.TYPE_ANNOUNCEMENT);
+ e.setClassName(getClass().getName());
+ e.setPackageName(context.getPackageName());
+ e.getText().add(context.getResources().getString(stringId));
+ manager.sendAccessibilityEvent(e);
}
}
-
-
- @Override
- public void showManageConferenceCallButton() {
- mExtraRowButton.setVisibility(View.VISIBLE);
- mManageConferenceButton.setVisibility(View.VISIBLE);
- mGenericMergeButton.setVisibility(View.GONE);
- }
-
- @Override
- public void showGenericMergeButton() {
- mExtraRowButton.setVisibility(View.VISIBLE);
- mManageConferenceButton.setVisibility(View.GONE);
- mGenericMergeButton.setVisibility(View.VISIBLE);
- }
-
- @Override
- public void hideExtraRow() {
- mExtraRowButton.setVisibility(View.GONE);
- }
}
diff --git a/InCallUI/src/com/android/incallui/CallButtonPresenter.java b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
index be25737..8a5170c 100644
--- a/InCallUI/src/com/android/incallui/CallButtonPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
@@ -16,13 +16,18 @@
package com.android.incallui;
+import android.content.Context;
+import android.telecomm.AudioState;
+import android.telecomm.InCallService.VideoCall;
+import android.telecomm.PhoneCapabilities;
+import android.telecomm.VideoProfile;
+
+import com.android.contacts.common.util.PhoneNumberHelper;
+import com.android.contacts.common.util.TelephonyManagerUtils;
import com.android.incallui.AudioModeProvider.AudioModeListener;
import com.android.incallui.InCallPresenter.InCallState;
import com.android.incallui.InCallPresenter.InCallStateListener;
import com.android.incallui.InCallPresenter.IncomingCallListener;
-import com.android.services.telephony.common.AudioMode;
-import com.android.services.telephony.common.Call;
-import com.android.services.telephony.common.Call.Capabilities;
import android.telephony.PhoneNumberUtils;
@@ -35,11 +40,8 @@
private Call mCall;
private boolean mAutomaticallyMuted = false;
private boolean mPreviousMuteState = false;
-
- private boolean mShowGenericMerge = false;
private boolean mShowManageConference = false;
-
- private InCallState mPreviousState = null;
+ private InCallCameraManager mInCallCameraManager;
public CallButtonPresenter() {
}
@@ -53,6 +55,7 @@
// register for call state changes last
InCallPresenter.getInstance().addListener(this);
InCallPresenter.getInstance().addIncomingCallListener(this);
+ mInCallCameraManager = InCallPresenter.getInstance().getInCallCameraManager();
}
@Override
@@ -62,38 +65,42 @@
InCallPresenter.getInstance().removeListener(this);
AudioModeProvider.getInstance().removeListener(this);
InCallPresenter.getInstance().removeIncomingCallListener(this);
+ mInCallCameraManager = null;
}
@Override
- public void onStateChange(InCallState state, CallList callList) {
+ public void onStateChange(InCallState oldState, InCallState newState, CallList callList) {
+ CallButtonUi ui = getUi();
- if (state == InCallState.OUTGOING) {
+ if (newState == InCallState.OUTGOING) {
mCall = callList.getOutgoingCall();
- } else if (state == InCallState.INCALL) {
+ } else if (newState == InCallState.INCALL) {
mCall = callList.getActiveOrBackgroundCall();
// When connected to voice mail, automatically shows the dialpad.
// (On previous releases we showed it when in-call shows up, before waiting for
// OUTGOING. We may want to do that once we start showing "Voice mail" label on
// the dialpad too.)
- if (mPreviousState == InCallState.OUTGOING
- && mCall != null && PhoneNumberUtils.isVoiceMailNumber(mCall.getNumber())) {
- getUi().displayDialpad(true);
+ if (ui != null) {
+ if (oldState == InCallState.OUTGOING && mCall != null
+ && PhoneNumberUtils.isVoiceMailNumber(mCall.getNumber())) {
+ ui.displayDialpad(true /* show */, true /* animate */);
+ }
}
- } else if (state == InCallState.INCOMING) {
- getUi().displayDialpad(false);
+ } else if (newState == InCallState.INCOMING) {
+ if (ui != null) {
+ ui.displayDialpad(false /* show */, true /* animate */);
+ }
mCall = null;
} else {
mCall = null;
}
- updateUi(state, mCall);
-
- mPreviousState = state;
+ updateUi(newState, mCall);
}
@Override
- public void onIncomingCall(InCallState state, Call call) {
- onStateChange(state, CallList.getInstance());
+ public void onIncomingCall(InCallState oldState, InCallState newState, Call call) {
+ onStateChange(oldState, newState, CallList.getInstance());
}
@Override
@@ -112,7 +119,7 @@
@Override
public void onMute(boolean muted) {
- if (getUi() != null) {
+ if (getUi() != null && !mAutomaticallyMuted) {
getUi().setMute(muted);
}
}
@@ -131,8 +138,8 @@
// an update for onAudioMode(). This will make UI response immediate
// if it turns out to be slow
- Log.d(this, "Sending new Audio Mode: " + AudioMode.toString(mode));
- CallCommandClient.getInstance().setAudioMode(mode);
+ Log.d(this, "Sending new Audio Mode: " + AudioState.audioRouteToString(mode));
+ TelecommAdapter.getInstance().setAudioRoute(mode);
}
/**
@@ -140,7 +147,7 @@
*/
public void toggleSpeakerphone() {
// this function should not be called if bluetooth is available
- if (0 != (AudioMode.BLUETOOTH & getSupportedAudio())) {
+ if (0 != (AudioState.ROUTE_BLUETOOTH & getSupportedAudio())) {
// It's clear the UI is wrong, so update the supported mode once again.
Log.e(this, "toggling speakerphone not allowed when bluetooth supported.");
@@ -148,46 +155,36 @@
return;
}
- int newMode = AudioMode.SPEAKER;
+ int newMode = AudioState.ROUTE_SPEAKER;
// if speakerphone is already on, change to wired/earpiece
- if (getAudioMode() == AudioMode.SPEAKER) {
- newMode = AudioMode.WIRED_OR_EARPIECE;
+ if (getAudioMode() == AudioState.ROUTE_SPEAKER) {
+ newMode = AudioState.ROUTE_WIRED_OR_EARPIECE;
}
setAudioMode(newMode);
}
- public void endCallClicked() {
- if (mCall == null) {
- return;
- }
-
- CallCommandClient.getInstance().disconnectCall(mCall.getCallId());
- }
-
- public void manageConferenceButtonClicked() {
- getUi().displayManageConferencePanel(true);
- }
-
public void muteClicked(boolean checked) {
Log.d(this, "turning on mute: " + checked);
-
- CallCommandClient.getInstance().mute(checked);
+ TelecommAdapter.getInstance().mute(checked);
}
public void holdClicked(boolean checked) {
if (mCall == null) {
return;
}
-
- Log.d(this, "holding: " + mCall.getCallId());
-
- CallCommandClient.getInstance().hold(mCall.getCallId(), checked);
+ if (checked) {
+ Log.i(this, "Putting the call on hold: " + mCall);
+ TelecommAdapter.getInstance().holdCall(mCall.getId());
+ } else {
+ Log.i(this, "Removing the call from hold: " + mCall);
+ TelecommAdapter.getInstance().unholdCall(mCall.getId());
+ }
}
public void mergeClicked() {
- CallCommandClient.getInstance().merge();
+ TelecommAdapter.getInstance().merge(mCall.getId());
}
public void addCallClicked() {
@@ -197,123 +194,215 @@
// Simulate a click on the mute button
muteClicked(true);
- CallCommandClient.getInstance().addCall();
+ TelecommAdapter.getInstance().addCall();
+ }
+
+ public void changeToVoiceClicked() {
+ VideoCall videoCall = mCall.getVideoCall();
+ if (videoCall == null) {
+ return;
+ }
+
+ VideoProfile videoProfile = new VideoProfile(
+ VideoProfile.VideoState.AUDIO_ONLY, VideoProfile.QUALITY_DEFAULT);
+ videoCall.sendSessionModifyRequest(videoProfile);
}
public void swapClicked() {
- CallCommandClient.getInstance().swap();
+ TelecommAdapter.getInstance().swap(mCall.getId());
}
public void showDialpadClicked(boolean checked) {
Log.v(this, "Show dialpad " + String.valueOf(checked));
- getUi().displayDialpad(checked);
- updateExtraButtonRow();
+ getUi().displayDialpad(checked /* show */, true /* animate */);
+ }
+
+ public void changeToVideoClicked() {
+ VideoCall videoCall = mCall.getVideoCall();
+ if (videoCall == null) {
+ return;
+ }
+
+ VideoProfile videoProfile =
+ new VideoProfile(VideoProfile.VideoState.BIDIRECTIONAL);
+ videoCall.sendSessionModifyRequest(videoProfile);
+
+ mCall.setSessionModificationState(Call.SessionModificationState.REQUEST_FAILED);
+ }
+
+ /**
+ * Switches the camera between the front-facing and back-facing camera.
+ * @param useFrontFacingCamera True if we should switch to using the front-facing camera, or
+ * false if we should switch to using the back-facing camera.
+ */
+ public void switchCameraClicked(boolean useFrontFacingCamera) {
+ mInCallCameraManager.setUseFrontFacingCamera(useFrontFacingCamera);
+
+ VideoCall videoCall = mCall.getVideoCall();
+ if (videoCall == null) {
+ return;
+ }
+
+ String cameraId = mInCallCameraManager.getActiveCameraId();
+ if (cameraId != null) {
+ videoCall.setCamera(cameraId);
+ videoCall.requestCameraCapabilities();
+ }
+ getUi().setSwitchCameraButton(!useFrontFacingCamera);
+ }
+
+ /**
+ * Stop or start client's video transmission.
+ * @param pause True if pausing the local user's video, or false if starting the local user's
+ * video.
+ */
+ public void pauseVideoClicked(boolean pause) {
+ VideoCall videoCall = mCall.getVideoCall();
+ if (videoCall == null) {
+ return;
+ }
+
+ if (pause) {
+ videoCall.setCamera(null);
+ VideoProfile videoProfile = new VideoProfile(
+ mCall.getVideoState() | VideoProfile.VideoState.PAUSED);
+ videoCall.sendSessionModifyRequest(videoProfile);
+ } else {
+ videoCall.setCamera(mInCallCameraManager.getActiveCameraId());
+ VideoProfile videoProfile = new VideoProfile(
+ mCall.getVideoState() & ~VideoProfile.VideoState.PAUSED);
+ videoCall.sendSessionModifyRequest(videoProfile);
+ }
+ getUi().setPauseVideoButton(pause);
}
private void updateUi(InCallState state, Call call) {
+ Log.d(this, "Updating call UI for call: ", call);
+
final CallButtonUi ui = getUi();
if (ui == null) {
return;
}
- final boolean isEnabled = state.isConnectingOrConnected() &&
- !state.isIncoming() && call != null;
-
+ final boolean isEnabled =
+ state.isConnectingOrConnected() &&!state.isIncoming() && call != null;
ui.setEnabled(isEnabled);
- Log.d(this, "Updating call UI for call: ", call);
-
- if (isEnabled) {
- Log.v(this, "Show hold ", call.can(Capabilities.SUPPORT_HOLD));
- Log.v(this, "Enable hold", call.can(Capabilities.HOLD));
- Log.v(this, "Show merge ", call.can(Capabilities.MERGE_CALLS));
- Log.v(this, "Show swap ", call.can(Capabilities.SWAP_CALLS));
- Log.v(this, "Show add call ", call.can(Capabilities.ADD_CALL));
- Log.v(this, "Show mute ", call.can(Capabilities.MUTE));
-
- final boolean canMerge = call.can(Capabilities.MERGE_CALLS);
- final boolean canAdd = call.can(Capabilities.ADD_CALL);
- final boolean isGenericConference = call.can(Capabilities.GENERIC_CONFERENCE);
-
-
- final boolean showMerge = !isGenericConference && canMerge;
-
- if (showMerge) {
- ui.showMerge(true);
- ui.showAddCall(false);
- } else {
- ui.showMerge(false);
- ui.showAddCall(true);
- ui.enableAddCall(canAdd);
- }
-
- final boolean canHold = call.can(Capabilities.HOLD);
- final boolean canSwap = call.can(Capabilities.SWAP_CALLS);
- final boolean supportHold = call.can(Capabilities.SUPPORT_HOLD);
-
- if (canHold) {
- ui.showHold(true);
- ui.setHold(call.getState() == Call.State.ONHOLD);
- ui.enableHold(true);
- ui.showSwap(false);
- } else if (canSwap) {
- ui.showHold(false);
- ui.showSwap(true);
- } else {
- // Neither "Hold" nor "Swap" is available. This can happen for two
- // reasons:
- // (1) this is a transient state on a device that *can*
- // normally hold or swap, or
- // (2) this device just doesn't have the concept of hold/swap.
- //
- // In case (1), show the "Hold" button in a disabled state. In case
- // (2), remove the button entirely. (This means that the button row
- // will only have 4 buttons on some devices.)
-
- if (supportHold) {
- ui.showHold(true);
- ui.enableHold(false);
- ui.setHold(call.getState() == Call.State.ONHOLD);
- ui.showSwap(false);
- } else {
- ui.showHold(false);
- ui.showSwap(false);
- }
- }
-
- ui.enableMute(call.can(Capabilities.MUTE));
-
- // Finally, update the "extra button row": It's displayed above the
- // "End" button, but only if necessary. Also, it's never displayed
- // while the dialpad is visible (since it would overlap.)
- //
- // The row contains two buttons:
- //
- // - "Manage conference" (used only on GSM devices)
- // - "Merge" button (used only on CDMA devices)
-
- mShowGenericMerge = isGenericConference && canMerge;
- mShowManageConference = (call.isConferenceCall() && !isGenericConference);
-
- updateExtraButtonRow();
+ if (!isEnabled) {
+ return;
}
+
+ if (call.isVideoCall(ui.getContext())) {
+ updateVideoCallButtons();
+ } else {
+ updateVoiceCallButtons(call);
+ }
+
+ ui.enableMute(call.can(PhoneCapabilities.MUTE));
}
- private void updateExtraButtonRow() {
- final boolean showExtraButtonRow = (mShowGenericMerge || mShowManageConference) &&
- !getUi().isDialpadVisible();
+ private void updateVideoCallButtons() {
+ Log.v(this, "Showing buttons for video call.");
+ final CallButtonUi ui = getUi();
- Log.d(this, "isGeneric: " + mShowGenericMerge);
- Log.d(this, "mShowManageConference : " + mShowManageConference);
- Log.d(this, "mShowGenericMerge: " + mShowGenericMerge);
- if (showExtraButtonRow) {
- if (mShowGenericMerge) {
- getUi().showGenericMergeButton();
- } else if (mShowManageConference) {
- getUi().showManageConferenceCallButton();
- }
+ // Hide all voice-call-related buttons.
+ ui.showAudioButton(false);
+ ui.showDialpadButton(false);
+ ui.showHoldButton(false);
+ ui.showSwapButton(false);
+ ui.showChangeToVideoButton(false);
+ ui.showAddCallButton(false);
+ ui.showMergeButton(false);
+ ui.showOverflowButton(false);
+
+ // Show all video-call-related buttons.
+ ui.showChangeToVoiceButton(true);
+ ui.showSwitchCameraButton(true);
+ ui.showPauseVideoButton(true);
+ }
+
+ private void updateVoiceCallButtons(Call call) {
+ Log.v(this, "Showing buttons for voice call.");
+ final CallButtonUi ui = getUi();
+
+ // Hide all video-call-related buttons.
+ ui.showChangeToVoiceButton(false);
+ ui.showSwitchCameraButton(false);
+ ui.showPauseVideoButton(false);
+
+ // Show all voice-call-related buttons.
+ ui.showAudioButton(true);
+ ui.showDialpadButton(true);
+
+ Log.v(this, "Show hold ", call.can(PhoneCapabilities.SUPPORT_HOLD));
+ Log.v(this, "Enable hold", call.can(PhoneCapabilities.HOLD));
+ Log.v(this, "Show merge ", call.can(PhoneCapabilities.MERGE_CALLS));
+ Log.v(this, "Show swap ", call.can(PhoneCapabilities.SWAP_CALLS));
+ Log.v(this, "Show add call ", call.can(PhoneCapabilities.ADD_CALL));
+ Log.v(this, "Show mute ", call.can(PhoneCapabilities.MUTE));
+
+ final boolean canMerge = call.can(PhoneCapabilities.MERGE_CALLS);
+ final boolean canAdd = call.can(PhoneCapabilities.ADD_CALL);
+ final boolean canHold = call.can(PhoneCapabilities.HOLD);
+ final boolean canSwap = call.can(PhoneCapabilities.SWAP_CALLS);
+ final boolean supportHold = call.can(PhoneCapabilities.SUPPORT_HOLD);
+ final boolean isGenericConference = call.can(PhoneCapabilities.GENERIC_CONFERENCE);
+
+ boolean canVideoCall = call.can(PhoneCapabilities.SUPPORTS_VT_LOCAL)
+ && call.can(PhoneCapabilities.SUPPORTS_VT_REMOTE);
+ ui.showChangeToVideoButton(canVideoCall);
+
+ // Show either MERGE or ADD. Only show both if, for CDMA, we're in a generic conference.
+ final boolean showMergeOption = canMerge;
+ final boolean showAddCallOption = canAdd && (isGenericConference || !canMerge);
+ final boolean enableAddCallOption = showAddCallOption && canAdd;
+ // Show either HOLD or SWAP, but not both.
+ // If neither HOLD or SWAP is available:
+ // (1) If the device normally can hold/swap, show HOLD in a disabled state.
+ // (2) If the device doesn't have the concept of hold/swap, remove the button.
+ final boolean showHoldOption = canHold || (!canSwap && supportHold);
+ final boolean enableHoldOption = canHold;
+ final boolean showSwapOption = !canHold && canSwap;
+
+ ui.setHold(call.getState() == Call.State.ONHOLD);
+ // If we show video upgrade and add/merge and hold/swap, the overflow menu is needed.
+ final boolean isVideoOverflowScenario = canVideoCall
+ && (showAddCallOption || showMergeOption) && (showHoldOption || showSwapOption);
+ // If we show hold/swap, add, and merge simultaneously, the overflow menu is needed.
+ final boolean isCdmaConferenceOverflowScenario =
+ (showHoldOption || showSwapOption) && showMergeOption && showAddCallOption;
+
+ if (isVideoOverflowScenario) {
+ ui.showHoldButton(false);
+ ui.showSwapButton(false);
+ ui.showAddCallButton(false);
+ ui.showMergeButton(false);
+
+ ui.showOverflowButton(true);
+ ui.configureOverflowMenu(
+ showMergeOption,
+ showAddCallOption && enableAddCallOption /* showAddMenuOption */,
+ showHoldOption && enableHoldOption /* showHoldMenuOption */,
+ showSwapOption);
} else {
- getUi().hideExtraRow();
+ if (isCdmaConferenceOverflowScenario) {
+ ui.showAddCallButton(false);
+ ui.showMergeButton(false);
+
+ ui.configureOverflowMenu(
+ showMergeOption,
+ showAddCallOption && enableAddCallOption /* showAddMenuOption */,
+ false /* showHoldMenuOption */,
+ false /* showSwapMenuOption */);
+ } else {
+ ui.showMergeButton(showMergeOption);
+ ui.showAddCallButton(showAddCallOption);
+ ui.enableAddCall(enableAddCallOption);
+ }
+
+ ui.showHoldButton(showHoldOption);
+ ui.enableHold(enableHoldOption);
+ ui.showSwapButton(showSwapOption);
}
}
@@ -333,20 +422,28 @@
void setEnabled(boolean on);
void setMute(boolean on);
void enableMute(boolean enabled);
+ void showAudioButton(boolean show);
+ void showChangeToVoiceButton(boolean show);
+ void showDialpadButton(boolean show);
void setHold(boolean on);
- void showHold(boolean show);
+ void showHoldButton(boolean show);
void enableHold(boolean enabled);
- void showMerge(boolean show);
- void showSwap(boolean show);
- void showAddCall(boolean show);
+ void showSwapButton(boolean show);
+ void showChangeToVideoButton(boolean show);
+ void showSwitchCameraButton(boolean show);
+ void setSwitchCameraButton(boolean isBackFacingCamera);
+ void showAddCallButton(boolean show);
void enableAddCall(boolean enabled);
- void displayDialpad(boolean on);
+ void showMergeButton(boolean show);
+ void showPauseVideoButton(boolean show);
+ void setPauseVideoButton(boolean isPaused);
+ void showOverflowButton(boolean show);
+ void displayDialpad(boolean on, boolean animate);
boolean isDialpadVisible();
void setAudio(int mode);
void setSupportedAudio(int mask);
- void showManageConferenceCallButton();
- void showGenericMergeButton();
- void hideExtraRow();
- void displayManageConferencePanel(boolean on);
+ void configureOverflowMenu(boolean showMergeMenuOption, boolean showAddMenuOption,
+ boolean showHoldMenuOption, boolean showSwapMenuOption);
+ Context getContext();
}
}
diff --git a/InCallUI/src/com/android/incallui/CallCardFragment.java b/InCallUI/src/com/android/incallui/CallCardFragment.java
index 9b452cd..600689c 100644
--- a/InCallUI/src/com/android/incallui/CallCardFragment.java
+++ b/InCallUI/src/com/android/incallui/CallCardFragment.java
@@ -16,25 +16,37 @@
package com.android.incallui;
-import android.animation.LayoutTransition;
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.AnimatorSet;
+import android.animation.ObjectAnimator;
+import android.app.Activity;
import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.drawable.BitmapDrawable;
+import android.content.res.Configuration;
+import android.graphics.Point;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
+import android.telecomm.VideoProfile;
import android.telephony.DisconnectCause;
+import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
-import android.view.Gravity;
+import android.view.Display;
import android.view.LayoutInflater;
import android.view.View;
-import android.view.View.OnClickListener;
+import android.view.ViewAnimationUtils;
import android.view.ViewGroup;
-import android.view.ViewStub;
+import android.view.ViewPropertyAnimator;
+import android.view.ViewTreeObserver;
+import android.view.ViewTreeObserver.OnGlobalLayoutListener;
import android.view.accessibility.AccessibilityEvent;
+import android.view.animation.Animation;
+import android.view.animation.AnimationUtils;
+import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
-import com.android.services.telephony.common.Call;
+import com.android.contacts.common.widget.FloatingActionButtonController;
+import com.android.phone.common.animation.AnimUtils;
import java.util.List;
@@ -44,28 +56,58 @@
public class CallCardFragment extends BaseFragment<CallCardPresenter, CallCardPresenter.CallCardUi>
implements CallCardPresenter.CallCardUi {
+ private int mRevealAnimationDuration;
+ private int mShrinkAnimationDuration;
+ private int mFabNormalDiameter;
+ private int mFabSmallDiameter;
+ private boolean mIsLandscape;
+ private boolean mIsDialpadShowing;
+
// Primary caller info
private TextView mPhoneNumber;
private TextView mNumberLabel;
private TextView mPrimaryName;
+ private View mCallStateButton;
+ private ImageView mCallStateIcon;
+ private ImageView mCallStateVideoCallIcon;
private TextView mCallStateLabel;
private TextView mCallTypeLabel;
+ private View mCallNumberAndLabel;
private ImageView mPhoto;
private TextView mElapsedTime;
- private View mProviderInfo;
- private TextView mProviderLabel;
- private TextView mProviderNumber;
- private ViewGroup mSupplementaryInfoContainer;
+
+ // Container view that houses the entire primary call card, including the call buttons
+ private View mPrimaryCallCardContainer;
+ // Container view that houses the primary call information
+ private View mPrimaryCallInfo;
+ private View mCallButtonsContainer;
// Secondary caller info
- private ViewStub mSecondaryCallInfo;
+ private View mSecondaryCallInfo;
private TextView mSecondaryCallName;
- private ImageView mSecondaryPhoto;
- private View mSecondaryPhotoOverlay;
+ private View mSecondaryCallProviderInfo;
+ private TextView mSecondaryCallProviderLabel;
+ private ImageView mSecondaryCallProviderIcon;
+ private View mProgressSpinner;
+
+ private View mManageConferenceCallButton;
+
+ // Dark number info bar
+ private TextView mInCallMessageLabel;
+
+ private FloatingActionButtonController mFloatingActionButtonController;
+ private View mFloatingActionButtonContainer;
+ private ImageButton mFloatingActionButton;
+ private int mFloatingActionButtonVerticalOffset;
// Cached DisplayMetrics density.
private float mDensity;
+ private float mTranslationOffset;
+ private Animation mPulseAnimation;
+
+ private int mVideoAnimationDuration;
+
@Override
CallCardPresenter.CallCardUi getUi() {
return this;
@@ -79,6 +121,18 @@
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+
+ mRevealAnimationDuration = getResources().getInteger(R.integer.reveal_animation_duration);
+ mShrinkAnimationDuration = getResources().getInteger(R.integer.shrink_animation_duration);
+ mVideoAnimationDuration = getResources().getInteger(R.integer.video_animation_duration);
+ mFloatingActionButtonVerticalOffset = getResources().getDimensionPixelOffset(
+ R.dimen.floating_action_bar_vertical_offset);
+ mFabNormalDiameter = getResources().getDimensionPixelOffset(
+ R.dimen.end_call_floating_action_button_diameter);
+ mFabSmallDiameter = getResources().getDimensionPixelOffset(
+ R.dimen.end_call_floating_action_button_small_diameter);
+ mIsLandscape = getResources().getConfiguration().orientation
+ == Configuration.ORIENTATION_LANDSCAPE;
}
@@ -97,27 +151,90 @@
super.onCreateView(inflater, container, savedInstanceState);
mDensity = getResources().getDisplayMetrics().density;
+ mTranslationOffset =
+ getResources().getDimensionPixelSize(R.dimen.call_card_anim_translate_y_offset);
- return inflater.inflate(R.layout.call_card, container, false);
+ return inflater.inflate(R.layout.call_card_content, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
+ mPulseAnimation =
+ AnimationUtils.loadAnimation(view.getContext(), R.anim.call_status_pulse);
+
mPhoneNumber = (TextView) view.findViewById(R.id.phoneNumber);
mPrimaryName = (TextView) view.findViewById(R.id.name);
mNumberLabel = (TextView) view.findViewById(R.id.label);
- mSecondaryCallInfo = (ViewStub) view.findViewById(R.id.secondary_call_info);
+ mSecondaryCallInfo = view.findViewById(R.id.secondary_call_info);
+ mSecondaryCallProviderInfo = view.findViewById(R.id.secondary_call_provider_info);
mPhoto = (ImageView) view.findViewById(R.id.photo);
+ mCallStateIcon = (ImageView) view.findViewById(R.id.callStateIcon);
+ mCallStateVideoCallIcon = (ImageView) view.findViewById(R.id.videoCallIcon);
mCallStateLabel = (TextView) view.findViewById(R.id.callStateLabel);
+ mCallNumberAndLabel = view.findViewById(R.id.labelAndNumber);
mCallTypeLabel = (TextView) view.findViewById(R.id.callTypeLabel);
mElapsedTime = (TextView) view.findViewById(R.id.elapsedTime);
- mProviderInfo = view.findViewById(R.id.providerInfo);
- mProviderLabel = (TextView) view.findViewById(R.id.providerLabel);
- mProviderNumber = (TextView) view.findViewById(R.id.providerAddress);
- mSupplementaryInfoContainer =
- (ViewGroup) view.findViewById(R.id.supplementary_info_container);
+ mPrimaryCallCardContainer = view.findViewById(R.id.primary_call_info_container);
+ mPrimaryCallInfo = view.findViewById(R.id.primary_call_banner);
+ mCallButtonsContainer = view.findViewById(R.id.callButtonFragment);
+ mInCallMessageLabel = (TextView) view.findViewById(R.id.connectionServiceMessage);
+ mProgressSpinner = view.findViewById(R.id.progressSpinner);
+
+ mFloatingActionButtonContainer = view.findViewById(
+ R.id.floating_end_call_action_button_container);
+ mFloatingActionButton = (ImageButton) view.findViewById(
+ R.id.floating_end_call_action_button);
+ mFloatingActionButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ getPresenter().endCallClicked();
+ }
+ });
+ int floatingActionButtonWidth = getResources().getDimensionPixelSize(
+ R.dimen.floating_action_button_width);
+ mFloatingActionButtonController = new FloatingActionButtonController(getActivity(),
+ mFloatingActionButtonContainer, mFloatingActionButton);
+ final ViewGroup parent = (ViewGroup) mPrimaryCallCardContainer.getParent();
+ final ViewTreeObserver observer = getView().getViewTreeObserver();
+ observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
+ @Override
+ public void onGlobalLayout() {
+ final ViewTreeObserver observer = getView().getViewTreeObserver();
+ if (!observer.isAlive()) {
+ return;
+ }
+ observer.removeOnGlobalLayoutListener(this);
+ mFloatingActionButtonController.setScreenWidth(parent.getWidth());
+ mFloatingActionButtonController.align(
+ mIsLandscape ? FloatingActionButtonController.ALIGN_QUARTER_END
+ : FloatingActionButtonController.ALIGN_MIDDLE,
+ 0 /* offsetX */,
+ mFloatingActionButtonVerticalOffset /* offsetY */,
+ false);
+ }
+ });
+
+ mCallStateButton = view.findViewById(R.id.callStateButton);
+ mCallStateButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ getPresenter().phoneAccountClicked();
+ }
+ });
+
+ mManageConferenceCallButton = view.findViewById(R.id.manage_conference_call_button);
+ mManageConferenceCallButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ InCallActivity activity = (InCallActivity) getActivity();
+ activity.showConferenceCallManager();
+ }
+ });
+
+ mPrimaryName.setElegantTextHeight(false);
+ mCallStateLabel.setElegantTextHeight(false);
}
@Override
@@ -129,10 +246,141 @@
}
}
+ /**
+ * Hides or shows the progress spinner.
+ *
+ * @param visible {@code True} if the progress spinner should be visible.
+ */
+ @Override
+ public void setProgressSpinnerVisible(boolean visible) {
+ mProgressSpinner.setVisibility(visible ? View.VISIBLE : View.GONE);
+ }
+
+ /**
+ * Sets the visibility of the primary call card.
+ * Ensures that when the primary call card is hidden, the video surface slides over to fill the
+ * entire screen.
+ *
+ * @param visible {@code True} if the primary call card should be visible.
+ */
+ @Override
+ public void setCallCardVisible(final boolean visible) {
+ // When animating the hide/show of the views in a landscape layout, we need to take into
+ // account whether we are in a left-to-right locale or a right-to-left locale and adjust
+ // the animations accordingly.
+ final boolean isLayoutRtl = InCallPresenter.isRtl();
+
+ // Retrieve here since at fragment creation time the incoming video view is not inflated.
+ final View videoView = getView().findViewById(R.id.incomingVideo);
+
+ // Determine how much space there is below or to the side of the call card.
+ final float spaceBesideCallCard = getSpaceBesideCallCard();
+
+ // We need to translate the video surface, but we need to know its position after the layout
+ // has occurred so use a {@code ViewTreeObserver}.
+ final ViewTreeObserver observer = getView().getViewTreeObserver();
+ observer.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
+ @Override
+ public boolean onPreDraw() {
+ // We don't want to continue getting called.
+ if (observer.isAlive()) {
+ observer.removeOnPreDrawListener(this);
+ }
+
+ float videoViewTranslation = 0f;
+
+ // Translate the call card to its pre-animation state.
+ if (mIsLandscape) {
+ float translationX = mPrimaryCallCardContainer.getWidth();
+ translationX *= isLayoutRtl ? 1 : -1;
+
+ mPrimaryCallCardContainer.setTranslationX(visible ? translationX : 0);
+
+ if (visible) {
+ videoViewTranslation = videoView.getWidth() / 2 - spaceBesideCallCard / 2;
+ videoViewTranslation *= isLayoutRtl ? -1 : 1;
+ }
+ } else {
+ mPrimaryCallCardContainer.setTranslationY(visible ?
+ -mPrimaryCallCardContainer.getHeight() : 0);
+
+ if (visible) {
+ videoViewTranslation = videoView.getHeight() / 2 - spaceBesideCallCard / 2;
+ }
+ }
+
+ // Perform animation of video view.
+ ViewPropertyAnimator videoViewAnimator = videoView.animate()
+ .setInterpolator(AnimUtils.EASE_OUT_EASE_IN)
+ .setDuration(mVideoAnimationDuration);
+ if (mIsLandscape) {
+ videoViewAnimator
+ .translationX(videoViewTranslation)
+ .start();
+ } else {
+ videoViewAnimator
+ .translationY(videoViewTranslation)
+ .start();
+ }
+ videoViewAnimator.start();
+
+ // Animate the call card sliding.
+ ViewPropertyAnimator callCardAnimator = mPrimaryCallCardContainer.animate()
+ .setInterpolator(AnimUtils.EASE_OUT_EASE_IN)
+ .setDuration(mVideoAnimationDuration)
+ .setListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ super.onAnimationEnd(animation);
+ if (!visible) {
+ mPrimaryCallCardContainer.setVisibility(View.GONE);
+ }
+ }
+
+ @Override
+ public void onAnimationStart(Animator animation) {
+ super.onAnimationStart(animation);
+ if (visible) {
+ mPrimaryCallCardContainer.setVisibility(View.VISIBLE);
+ }
+ }
+ });
+
+ if (mIsLandscape) {
+ float translationX = mPrimaryCallCardContainer.getWidth();
+ translationX *= isLayoutRtl ? 1 : -1;
+ callCardAnimator
+ .translationX(visible ? 0 : translationX)
+ .start();
+ } else {
+ callCardAnimator
+ .translationY(visible ? 0 : -mPrimaryCallCardContainer.getHeight())
+ .start();
+ }
+
+ return true;
+ }
+ });
+ }
+
+ /**
+ * Determines the amount of space below the call card for portrait layouts), or beside the
+ * call card for landscape layouts.
+ *
+ * @return The amount of space below or beside the call card.
+ */
+ public float getSpaceBesideCallCard() {
+ if (mIsLandscape) {
+ return getView().getWidth() - mPrimaryCallCardContainer.getWidth();
+ } else {
+ return getView().getHeight() - mPrimaryCallCardContainer.getHeight();
+ }
+ }
+
@Override
public void setPrimaryName(String name, boolean nameIsNumber) {
if (TextUtils.isEmpty(name)) {
- mPrimaryName.setText("");
+ mPrimaryName.setText(null);
} else {
mPrimaryName.setText(name);
@@ -156,7 +404,7 @@
public void setPrimaryPhoneNumber(String number) {
// Set the number
if (TextUtils.isEmpty(number)) {
- mPhoneNumber.setText("");
+ mPhoneNumber.setText(null);
mPhoneNumber.setVisibility(View.GONE);
} else {
mPhoneNumber.setText(number);
@@ -187,11 +435,17 @@
nameIsNumber = false;
}
- setPrimaryPhoneNumber(number);
-
// set the name field.
setPrimaryName(name, nameIsNumber);
+ if (TextUtils.isEmpty(number) && TextUtils.isEmpty(label)) {
+ mCallNumberAndLabel.setVisibility(View.GONE);
+ } else {
+ mCallNumberAndLabel.setVisibility(View.VISIBLE);
+ }
+
+ setPrimaryPhoneNumber(number);
+
// Set the label (Mobile, Work, etc)
setPrimaryLabel(label);
@@ -202,93 +456,118 @@
@Override
public void setSecondary(boolean show, String name, boolean nameIsNumber, String label,
- Drawable photo, boolean isConference, boolean isGeneric) {
+ String providerLabel, Drawable providerIcon, boolean isConference, boolean isGeneric) {
+
+ if (show != mSecondaryCallInfo.isShown()) {
+ updateFabPositionOnSecondaryCallInfoLayout();
+ }
if (show) {
if (isConference) {
name = getConferenceString(isGeneric);
- photo = getConferencePhoto(isGeneric);
nameIsNumber = false;
}
- showAndInitializeSecondaryCallInfo();
+ boolean hasProvider = !TextUtils.isEmpty(providerLabel);
+ showAndInitializeSecondaryCallInfo(hasProvider);
+
mSecondaryCallName.setText(name);
+ if (hasProvider) {
+ mSecondaryCallProviderLabel.setText(providerLabel);
+ mSecondaryCallProviderIcon.setImageDrawable(providerIcon);
+ }
int nameDirection = View.TEXT_DIRECTION_INHERIT;
if (nameIsNumber) {
nameDirection = View.TEXT_DIRECTION_LTR;
}
mSecondaryCallName.setTextDirection(nameDirection);
-
- setDrawableToImageView(mSecondaryPhoto, photo);
} else {
mSecondaryCallInfo.setVisibility(View.GONE);
}
}
@Override
- public void setSecondaryImage(Drawable image) {
- if (image != null) {
- setDrawableToImageView(mSecondaryPhoto, image);
+ public void setCallState(int state, int videoState, int sessionModificationState, int cause,
+ String connectionLabel, Drawable connectionIcon, String gatewayNumber) {
+ boolean isGatewayCall = !TextUtils.isEmpty(gatewayNumber);
+ String callStateLabel = getCallStateLabelFromState(
+ state, videoState, sessionModificationState, cause, connectionLabel, isGatewayCall);
+
+ Log.v(this, "setCallState " + callStateLabel);
+ Log.v(this, "DisconnectCause " + DisconnectCause.toString(cause));
+ Log.v(this, "gateway " + connectionLabel + gatewayNumber);
+
+ if (TextUtils.equals(callStateLabel, mCallStateLabel.getText())) {
+ // Nothing to do if the labels are the same
+ return;
+ }
+
+ // Update the call state label and icon.
+ if (!TextUtils.isEmpty(callStateLabel)) {
+ mCallStateLabel.setText(callStateLabel);
+ mCallStateLabel.setAlpha(1);
+ mCallStateLabel.setVisibility(View.VISIBLE);
+
+ if (connectionIcon == null) {
+ mCallStateIcon.setVisibility(View.GONE);
+ } else {
+ mCallStateIcon.setVisibility(View.VISIBLE);
+ mCallStateIcon.setImageAlpha(255);
+ mCallStateIcon.setImageDrawable(connectionIcon);
+ }
+
+ if (VideoProfile.VideoState.isBidirectional(videoState)
+ || (state == Call.State.ACTIVE && sessionModificationState
+ == Call.SessionModificationState.WAITING_FOR_RESPONSE)) {
+ mCallStateVideoCallIcon.setVisibility(View.VISIBLE);
+ } else {
+ mCallStateVideoCallIcon.setVisibility(View.GONE);
+ }
+
+ if (state == Call.State.ACTIVE || state == Call.State.CONFERENCED) {
+ mCallStateLabel.clearAnimation();
+ mCallStateIcon.clearAnimation();
+ } else {
+ mCallStateLabel.startAnimation(mPulseAnimation);
+ mCallStateIcon.startAnimation(mPulseAnimation);
+ }
+ } else {
+ Animation callStateAnimation = mCallStateLabel.getAnimation();
+ if (callStateAnimation != null) {
+ callStateAnimation.cancel();
+ }
+ mCallStateLabel.setText(null);
+ mCallStateLabel.setAlpha(0);
+ mCallStateLabel.setVisibility(View.GONE);
+ mCallStateIcon.setImageAlpha(0);
+ mCallStateIcon.setVisibility(View.GONE);
+
+ mCallStateVideoCallIcon.setVisibility(View.GONE);
}
}
@Override
- public void setCallState(int state, int cause, boolean bluetoothOn,
- String gatewayLabel, String gatewayNumber) {
- String callStateLabel = null;
-
- // States other than disconnected not yet supported
- callStateLabel = getCallStateLabelFromState(state, cause);
-
- Log.v(this, "setCallState " + callStateLabel);
- Log.v(this, "DisconnectCause " + DisconnectCause.toString(cause));
- Log.v(this, "bluetooth on " + bluetoothOn);
- Log.v(this, "gateway " + gatewayLabel + gatewayNumber);
-
- // There are cases where we totally skip the animation, in which case remove the transition
- // animation here and restore it afterwards.
- final boolean skipAnimation = (Call.State.isDialing(state)
- || state == Call.State.DISCONNECTED || state == Call.State.DISCONNECTING);
- LayoutTransition transition = null;
- if (skipAnimation) {
- transition = mSupplementaryInfoContainer.getLayoutTransition();
- mSupplementaryInfoContainer.setLayoutTransition(null);
+ public void setCallbackNumber(String callbackNumber, boolean isEmergencyCall) {
+ if (mInCallMessageLabel == null) {
+ return;
}
- // Update the call state label.
- if (!TextUtils.isEmpty(callStateLabel)) {
- mCallStateLabel.setVisibility(View.VISIBLE);
- mCallStateLabel.setText(callStateLabel);
-
- if (Call.State.INCOMING == state) {
- setBluetoothOn(bluetoothOn);
- }
- } else {
- mCallStateLabel.setVisibility(View.GONE);
- // Gravity is aligned left when receiving an incoming call in landscape.
- // In that rare case, the gravity needs to be reset to the right.
- // Also, setText("") is used since there is a delay in making the view GONE,
- // so the user will otherwise see the text jump to the right side before disappearing.
- if(mCallStateLabel.getGravity() != Gravity.END) {
- mCallStateLabel.setText("");
- mCallStateLabel.setGravity(Gravity.END);
- }
+ if (TextUtils.isEmpty(callbackNumber)) {
+ mInCallMessageLabel.setVisibility(View.GONE);
+ return;
}
- // Provider info: (e.g. "Calling via <gatewayLabel>")
- if (!TextUtils.isEmpty(gatewayLabel) && !TextUtils.isEmpty(gatewayNumber)) {
- mProviderLabel.setText(gatewayLabel);
- mProviderNumber.setText(gatewayNumber);
- mProviderInfo.setVisibility(View.VISIBLE);
- } else {
- mProviderInfo.setVisibility(View.GONE);
- }
+ // TODO: The new Locale-specific methods don't seem to be working. Revisit this.
+ callbackNumber = PhoneNumberUtils.formatNumber(callbackNumber);
- // Restore the animation.
- if (skipAnimation) {
- mSupplementaryInfoContainer.setLayoutTransition(transition);
- }
+ int stringResourceId = isEmergencyCall ? R.string.card_title_callback_number_emergency
+ : R.string.card_title_callback_number;
+
+ String text = getString(stringResourceId, callbackNumber);
+ mInCallMessageLabel.setText(text);
+
+ mInCallMessageLabel.setVisibility(View.VISIBLE);
}
private void showInternetCallLabel(boolean show) {
@@ -306,12 +585,12 @@
public void setPrimaryCallElapsedTime(boolean show, String callTimeElapsed) {
if (show) {
if (mElapsedTime.getVisibility() != View.VISIBLE) {
- AnimationUtils.Fade.show(mElapsedTime);
+ AnimUtils.fadeIn(mElapsedTime, AnimUtils.DEFAULT_DURATION);
}
mElapsedTime.setText(callTimeElapsed);
} else {
// hide() animation has no effect if it is already hidden.
- AnimationUtils.Fade.hide(mElapsedTime, View.INVISIBLE);
+ AnimUtils.fadeOut(mElapsedTime, AnimUtils.DEFAULT_DURATION);
}
}
@@ -323,9 +602,9 @@
final Drawable current = view.getDrawable();
if (current == null) {
view.setImageDrawable(photo);
- AnimationUtils.Fade.show(view);
+ AnimUtils.fadeIn(mElapsedTime, AnimUtils.DEFAULT_DURATION);
} else {
- AnimationUtils.startCrossFade(view, current, photo);
+ InCallAnimationUtils.startCrossFade(view, current, photo);
view.setVisibility(View.VISIBLE);
}
}
@@ -342,61 +621,82 @@
return getView().getResources().getDrawable(resId);
}
- private void setBluetoothOn(boolean onOff) {
- // Also, display a special icon (alongside the "Incoming call"
- // label) if there's an incoming call and audio will be routed
- // to bluetooth when you answer it.
- final int bluetoothIconId = R.drawable.ic_in_call_bt_dk;
-
- if (onOff) {
- mCallStateLabel.setCompoundDrawablesWithIntrinsicBounds(bluetoothIconId, 0, 0, 0);
- mCallStateLabel.setCompoundDrawablePadding((int) (mDensity * 5));
- } else {
- // Clear out any icons
- mCallStateLabel.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
- }
- }
-
/**
- * Gets the call state label based on the state of the call and
- * cause of disconnect
+ * Gets the call state label based on the state of the call or cause of disconnect.
+ *
+ * Additional labels are applied as follows:
+ * 1. All outgoing calls with display "Calling via [Provider]".
+ * 2. Ongoing calls will display the name of the provider.
+ * 3. Incoming calls will only display "Incoming via..." for accounts.
+ * 4. Video calls, and session modification states (eg. requesting video).
*/
- private String getCallStateLabelFromState(int state, int cause) {
+ private String getCallStateLabelFromState(int state, int videoState,
+ int sessionModificationState, int disconnectCause, String label,
+ boolean isGatewayCall) {
final Context context = getView().getContext();
String callStateLabel = null; // Label to display as part of the call banner
- if (Call.State.IDLE == state) {
- // "Call state" is meaningless in this state.
+ boolean isSpecialCall = label != null;
+ boolean isAccount = isSpecialCall && !isGatewayCall;
- } else if (Call.State.ACTIVE == state) {
- // We normally don't show a "call state label" at all in
- // this state (but see below for some special cases).
-
- } else if (Call.State.ONHOLD == state) {
- callStateLabel = context.getString(R.string.card_title_on_hold);
- } else if (Call.State.DIALING == state) {
- callStateLabel = context.getString(R.string.card_title_dialing);
- } else if (Call.State.REDIALING == state) {
- callStateLabel = context.getString(R.string.card_title_redialing);
- } else if (Call.State.INCOMING == state || Call.State.CALL_WAITING == state) {
- callStateLabel = context.getString(R.string.card_title_incoming_call);
-
- } else if (Call.State.DISCONNECTING == state) {
- // While in the DISCONNECTING state we display a "Hanging up"
- // message in order to make the UI feel more responsive. (In
- // GSM it's normal to see a delay of a couple of seconds while
- // negotiating the disconnect with the network, so the "Hanging
- // up" state at least lets the user know that we're doing
- // something. This state is currently not used with CDMA.)
- callStateLabel = context.getString(R.string.card_title_hanging_up);
-
- } else if (Call.State.DISCONNECTED == state) {
- callStateLabel = getCallFailedString(cause);
-
- } else {
- Log.wtf(this, "updateCallStateWidgets: unexpected call: " + state);
+ switch (state) {
+ case Call.State.IDLE:
+ // "Call state" is meaningless in this state.
+ break;
+ case Call.State.ACTIVE:
+ // We normally don't show a "call state label" at all in this state
+ // (but we can use the call state label to display the provider name).
+ if (isAccount) {
+ callStateLabel = label;
+ } else if (sessionModificationState
+ == Call.SessionModificationState.REQUEST_FAILED) {
+ callStateLabel = context.getString(R.string.card_title_video_call_error);
+ } else if (sessionModificationState
+ == Call.SessionModificationState.WAITING_FOR_RESPONSE) {
+ callStateLabel = context.getString(R.string.card_title_video_call_requesting);
+ } else if (VideoProfile.VideoState.isBidirectional(videoState)) {
+ callStateLabel = context.getString(R.string.card_title_video_call);
+ }
+ break;
+ case Call.State.ONHOLD:
+ callStateLabel = context.getString(R.string.card_title_on_hold);
+ break;
+ case Call.State.CONNECTING:
+ case Call.State.DIALING:
+ if (isSpecialCall) {
+ callStateLabel = context.getString(R.string.calling_via_template, label);
+ } else {
+ callStateLabel = context.getString(R.string.card_title_dialing);
+ }
+ break;
+ case Call.State.REDIALING:
+ callStateLabel = context.getString(R.string.card_title_redialing);
+ break;
+ case Call.State.INCOMING:
+ case Call.State.CALL_WAITING:
+ if (isAccount) {
+ callStateLabel = context.getString(R.string.incoming_via_template, label);
+ } else if (VideoProfile.VideoState.isBidirectional(videoState)) {
+ callStateLabel = context.getString(R.string.notification_incoming_video_call);
+ } else {
+ callStateLabel = context.getString(R.string.card_title_incoming_call);
+ }
+ break;
+ case Call.State.DISCONNECTING:
+ // While in the DISCONNECTING state we display a "Hanging up"
+ // message in order to make the UI feel more responsive. (In
+ // GSM it's normal to see a delay of a couple of seconds while
+ // negotiating the disconnect with the network, so the "Hanging
+ // up" state at least lets the user know that we're doing
+ // something. This state is currently not used with CDMA.)
+ callStateLabel = context.getString(R.string.card_title_hanging_up);
+ break;
+ case Call.State.DISCONNECTED:
+ callStateLabel = getCallFailedString(disconnectCause);
+ break;
+ default:
+ Log.wtf(this, "updateCallStateWidgets: unexpected call: " + state);
}
-
return callStateLabel;
}
@@ -405,14 +705,14 @@
*
* @param cause disconnect cause as defined in {@link DisconnectCause}
*/
- private String getCallFailedString(int cause) {
+ private String getCallFailedString(int disconnectCause) {
int resID = R.string.card_title_call_ended;
// TODO: The card *title* should probably be "Call ended" in all
// cases, but if the DisconnectCause was an error condition we should
// probably also display the specific failure reason somewhere...
- switch (cause) {
+ switch (disconnectCause) {
case DisconnectCause.BUSY:
resID = R.string.callFailed_userBusy;
break;
@@ -478,32 +778,33 @@
return this.getView().getContext().getString(resID);
}
- private void showAndInitializeSecondaryCallInfo() {
+ private void showAndInitializeSecondaryCallInfo(boolean hasProvider) {
mSecondaryCallInfo.setVisibility(View.VISIBLE);
- // mSecondaryCallName is initialized here (vs. onViewCreated) because it is inaccesible
+ // mSecondaryCallName is initialized here (vs. onViewCreated) because it is inaccessible
// until mSecondaryCallInfo is inflated in the call above.
if (mSecondaryCallName == null) {
mSecondaryCallName = (TextView) getView().findViewById(R.id.secondaryCallName);
+ if (hasProvider) {
+ mSecondaryCallProviderInfo.setVisibility(View.VISIBLE);
+ mSecondaryCallProviderLabel = (TextView) getView()
+ .findViewById(R.id.secondaryCallProviderLabel);
+ mSecondaryCallProviderIcon = (ImageView) getView()
+ .findViewById(R.id.secondaryCallProviderIcon);
+ }
}
- if (mSecondaryPhoto == null) {
- mSecondaryPhoto = (ImageView) getView().findViewById(R.id.secondaryCallPhoto);
- }
-
- if (mSecondaryPhotoOverlay == null) {
- mSecondaryPhotoOverlay = getView().findViewById(R.id.dim_effect_for_secondary_photo);
- mSecondaryPhotoOverlay.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- getPresenter().secondaryPhotoClicked();
- }
- });
- mSecondaryPhotoOverlay.setOnTouchListener(new SmallerHitTargetTouchListener());
- }
+ mSecondaryCallInfo.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ getPresenter().secondaryInfoClicked();
+ updateFabPositionOnSecondaryCallInfoLayout();
+ }
+ });
}
public void dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) {
+ dispatchPopulateAccessibilityEvent(event, mCallStateLabel);
dispatchPopulateAccessibilityEvent(event, mPrimaryName);
dispatchPopulateAccessibilityEvent(event, mPhoneNumber);
return;
@@ -513,10 +814,53 @@
dispatchPopulateAccessibilityEvent(event, mPhoneNumber);
dispatchPopulateAccessibilityEvent(event, mCallTypeLabel);
dispatchPopulateAccessibilityEvent(event, mSecondaryCallName);
+ dispatchPopulateAccessibilityEvent(event, mSecondaryCallProviderLabel);
return;
}
+ @Override
+ public void setEndCallButtonEnabled(boolean enabled, boolean animate) {
+ if (enabled != mFloatingActionButton.isEnabled()) {
+ if (animate) {
+ if (enabled) {
+ mFloatingActionButtonController.scaleIn();
+ } else {
+ mFloatingActionButtonController.scaleOut();
+ }
+ } else {
+ if (enabled) {
+ mFloatingActionButtonContainer.setScaleX(1);
+ mFloatingActionButtonContainer.setScaleY(1);
+ mFloatingActionButtonContainer.setVisibility(View.VISIBLE);
+ } else {
+ mFloatingActionButtonContainer.setVisibility(View.GONE);
+ }
+ }
+ mFloatingActionButton.setEnabled(enabled);
+ }
+ }
+
+ /**
+ * Changes the visibility of the contact photo.
+ *
+ * @param isVisible {@code True} if the UI should show the contact photo.
+ */
+ @Override
+ public void setPhotoVisible(boolean isVisible) {
+ mPhoto.setVisibility(isVisible ? View.VISIBLE : View.GONE);
+ }
+
+ /**
+ * Changes the visibility of the "manage conference call" button.
+ *
+ * @param visible Whether to set the button to be visible or not.
+ */
+ @Override
+ public void showManageConferenceCallButton(boolean visible) {
+ mManageConferenceCallButton.setVisibility(visible ? View.VISIBLE : View.GONE);
+ }
+
private void dispatchPopulateAccessibilityEvent(AccessibilityEvent event, View view) {
if (view == null) return;
final List<CharSequence> eventText = event.getText();
@@ -527,4 +871,177 @@
eventText.add(null);
}
}
+
+ public void animateForNewOutgoingCall(Point touchPoint) {
+ final ViewGroup parent = (ViewGroup) mPrimaryCallCardContainer.getParent();
+ final Point startPoint = touchPoint;
+
+ final ViewTreeObserver observer = getView().getViewTreeObserver();
+ observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
+ @Override
+ public void onGlobalLayout() {
+ final ViewTreeObserver observer = getView().getViewTreeObserver();
+ if (!observer.isAlive()) {
+ return;
+ }
+ observer.removeOnGlobalLayoutListener(this);
+
+ final LayoutIgnoringListener listener = new LayoutIgnoringListener();
+ mPrimaryCallCardContainer.addOnLayoutChangeListener(listener);
+
+ // Prepare the state of views before the circular reveal animation
+ final int originalHeight = mPrimaryCallCardContainer.getHeight();
+ mPrimaryCallCardContainer.setBottom(parent.getHeight());
+
+ // Set up FAB.
+ mFloatingActionButtonContainer.setVisibility(View.GONE);
+ mFloatingActionButtonController.setScreenWidth(parent.getWidth());
+ mFloatingActionButtonController.align(
+ mIsLandscape ? FloatingActionButtonController.ALIGN_QUARTER_END
+ : FloatingActionButtonController.ALIGN_MIDDLE,
+ 0 /* offsetX */,
+ mFloatingActionButtonVerticalOffset /* offsetY */,
+ false);
+ mCallButtonsContainer.setAlpha(0);
+ mCallStateLabel.setAlpha(0);
+ mPrimaryName.setAlpha(0);
+ mCallTypeLabel.setAlpha(0);
+ mCallNumberAndLabel.setAlpha(0);
+
+ final Animator revealAnimator = getRevealAnimator(startPoint);
+ final Animator shrinkAnimator =
+ getShrinkAnimator(parent.getHeight(), originalHeight);
+
+ final AnimatorSet set = new AnimatorSet();
+ set.playSequentially(revealAnimator, shrinkAnimator);
+ set.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationCancel(Animator animation) {
+ mPrimaryCallCardContainer.removeOnLayoutChangeListener(listener);
+ mFloatingActionButtonController.scaleIn();
+ }
+
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ mPrimaryCallCardContainer.removeOnLayoutChangeListener(listener);
+ mFloatingActionButtonController.scaleIn();
+ }
+ });
+ set.start();
+ }
+ });
+ }
+
+ public void onDialpadVisiblityChange(boolean isShown) {
+ mIsDialpadShowing = isShown;
+
+ int offsetY = 0;
+ if (!mIsDialpadShowing) {
+ offsetY = mFloatingActionButtonVerticalOffset;
+ if (mSecondaryCallInfo.isShown()) {
+ offsetY -= mSecondaryCallInfo.getHeight();
+ }
+ }
+
+ mFloatingActionButtonController.align(
+ mIsLandscape ? FloatingActionButtonController.ALIGN_QUARTER_END
+ : FloatingActionButtonController.ALIGN_MIDDLE,
+ 0 /* offsetX */,
+ offsetY,
+ true);
+
+ mFloatingActionButtonController.resize(
+ mIsDialpadShowing ? mFabSmallDiameter : mFabNormalDiameter, true);
+ }
+
+ /**
+ * Adds a global layout listener to update the FAB's positioning on the next layout. This allows
+ * us to position the FAB after the secondary call info's height has been calculated.
+ */
+ private void updateFabPositionOnSecondaryCallInfoLayout() {
+ mSecondaryCallInfo.getViewTreeObserver().addOnGlobalLayoutListener(
+ new ViewTreeObserver.OnGlobalLayoutListener() {
+ @Override
+ public void onGlobalLayout() {
+ final ViewTreeObserver observer =
+ mSecondaryCallInfo.getViewTreeObserver();
+ if (!observer.isAlive()) {
+ return;
+ }
+ observer.removeOnGlobalLayoutListener(this);
+
+ onDialpadVisiblityChange(mIsDialpadShowing);
+ }
+ });
+ }
+
+ /**
+ * Animator that performs the upwards shrinking animation of the blue call card scrim.
+ * At the start of the animation, each child view is moved downwards by a pre-specified amount
+ * and then translated upwards together with the scrim.
+ */
+ private Animator getShrinkAnimator(int startHeight, int endHeight) {
+ final Animator shrinkAnimator =
+ ObjectAnimator.ofInt(mPrimaryCallCardContainer, "bottom", startHeight, endHeight);
+ shrinkAnimator.setDuration(mShrinkAnimationDuration);
+ shrinkAnimator.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationStart(Animator animation) {
+ assignTranslateAnimation(mCallStateLabel, 1);
+ assignTranslateAnimation(mCallStateIcon, 1);
+ assignTranslateAnimation(mPrimaryName, 2);
+ assignTranslateAnimation(mCallNumberAndLabel, 3);
+ assignTranslateAnimation(mCallTypeLabel, 4);
+ assignTranslateAnimation(mCallButtonsContainer, 5);
+
+ mFloatingActionButton.setEnabled(true);
+ }
+ });
+ shrinkAnimator.setInterpolator(AnimUtils.EASE_IN);
+ return shrinkAnimator;
+ }
+
+ private Animator getRevealAnimator(Point touchPoint) {
+ final Activity activity = getActivity();
+ final View view = activity.getWindow().getDecorView();
+ final Display display = activity.getWindowManager().getDefaultDisplay();
+ final Point size = new Point();
+ display.getSize(size);
+
+ int startX = size.x / 2;
+ int startY = size.y / 2;
+ if (touchPoint != null) {
+ startX = touchPoint.x;
+ startY = touchPoint.y;
+ }
+
+ final Animator valueAnimator = ViewAnimationUtils.createCircularReveal(view,
+ startX, startY, 0, Math.max(size.x, size.y));
+ valueAnimator.setDuration(mRevealAnimationDuration);
+ return valueAnimator;
+ }
+
+ private void assignTranslateAnimation(View view, int offset) {
+ view.setTranslationY(mTranslationOffset * offset);
+ view.animate().translationY(0).alpha(1).withLayer()
+ .setDuration(mShrinkAnimationDuration).setInterpolator(AnimUtils.EASE_IN);
+ }
+
+ private final class LayoutIgnoringListener implements View.OnLayoutChangeListener {
+ @Override
+ public void onLayoutChange(View v,
+ int left,
+ int top,
+ int right,
+ int bottom,
+ int oldLeft,
+ int oldTop,
+ int oldRight,
+ int oldBottom) {
+ v.setLeft(oldLeft);
+ v.setRight(oldRight);
+ v.setTop(oldTop);
+ v.setBottom(oldBottom);
+ }
+ }
}
diff --git a/InCallUI/src/com/android/incallui/CallCardPresenter.java b/InCallUI/src/com/android/incallui/CallCardPresenter.java
index 4e9fe96..b746267 100644
--- a/InCallUI/src/com/android/incallui/CallCardPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallCardPresenter.java
@@ -20,22 +20,31 @@
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
-import android.graphics.Bitmap;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Handler;
+import android.telecomm.PhoneCapabilities;
+import android.telecomm.PhoneAccount;
+import android.telecomm.PhoneAccountHandle;
+import android.telecomm.StatusHints;
+import android.telecomm.TelecommManager;
+import android.telecomm.VideoProfile;
import android.telephony.DisconnectCause;
import android.telephony.PhoneNumberUtils;
+import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.text.format.DateUtils;
-import com.android.incallui.AudioModeProvider.AudioModeListener;
import com.android.incallui.ContactInfoCache.ContactCacheEntry;
import com.android.incallui.ContactInfoCache.ContactInfoCacheCallback;
+import com.android.incallui.InCallPresenter.InCallDetailsListener;
+import com.android.incallui.InCallPresenter.InCallEventListener;
import com.android.incallui.InCallPresenter.InCallState;
import com.android.incallui.InCallPresenter.InCallStateListener;
import com.android.incallui.InCallPresenter.IncomingCallListener;
-import com.android.services.telephony.common.AudioMode;
-import com.android.services.telephony.common.Call;
-import com.android.services.telephony.common.Call.Capabilities;
-import com.android.services.telephony.common.CallIdentification;
+
+import java.lang.ref.WeakReference;
+
import com.google.common.base.Preconditions;
/**
@@ -44,10 +53,11 @@
* This class listens for changes to InCallState and passes it along to the fragment.
*/
public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi>
- implements InCallStateListener, AudioModeListener, IncomingCallListener {
+ implements InCallStateListener, IncomingCallListener, InCallDetailsListener,
+ InCallEventListener {
private static final String TAG = CallCardPresenter.class.getSimpleName();
- private static final long CALL_TIME_UPDATE_INTERVAL = 1000; // in milliseconds
+ private static final long CALL_TIME_UPDATE_INTERVAL_MS = 1000;
private Call mPrimary;
private Call mSecondary;
@@ -55,6 +65,34 @@
private ContactCacheEntry mSecondaryContactInfo;
private CallTimer mCallTimer;
private Context mContext;
+ private TelecommManager mTelecommManager;
+
+ public static class ContactLookupCallback implements ContactInfoCacheCallback {
+ private final WeakReference<CallCardPresenter> mCallCardPresenter;
+ private final boolean mIsPrimary;
+
+ public ContactLookupCallback(CallCardPresenter callCardPresenter, boolean isPrimary) {
+ mCallCardPresenter = new WeakReference<CallCardPresenter>(callCardPresenter);
+ mIsPrimary = isPrimary;
+ }
+
+ @Override
+ public void onContactInfoComplete(String callId, ContactCacheEntry entry) {
+ CallCardPresenter presenter = mCallCardPresenter.get();
+ if (presenter != null) {
+ presenter.onContactInfoComplete(callId, entry, mIsPrimary);
+ }
+ }
+
+ @Override
+ public void onImageLoadComplete(String callId, ContactCacheEntry entry) {
+ CallCardPresenter presenter = mCallCardPresenter.get();
+ if (presenter != null) {
+ presenter.onImageLoadComplete(callId, entry);
+ }
+ }
+
+ }
public CallCardPresenter() {
// create the call timer
@@ -66,7 +104,6 @@
});
}
-
public void init(Context context, Call call) {
mContext = Preconditions.checkNotNull(context);
@@ -74,12 +111,9 @@
if (call != null) {
mPrimary = call;
- final CallIdentification identification = call.getIdentification();
-
// start processing lookups right away.
if (!call.isConferenceCall()) {
- startContactInfoSearch(identification, true,
- call.getState() == Call.State.INCOMING);
+ startContactInfoSearch(call, true, call.getState() == Call.State.INCOMING);
} else {
updateContactEntry(null, true, true);
}
@@ -90,8 +124,6 @@
public void onUiReady(CallCardUi ui) {
super.onUiReady(ui);
- AudioModeProvider.getInstance().addListener(this);
-
// Contact search may have completed before ui is ready.
if (mPrimaryContactInfo != null) {
updatePrimaryDisplayInfo(mPrimaryContactInfo, isConference(mPrimary));
@@ -100,6 +132,8 @@
// Register for call state changes last
InCallPresenter.getInstance().addListener(this);
InCallPresenter.getInstance().addIncomingCallListener(this);
+ InCallPresenter.getInstance().addDetailsListener(this);
+ InCallPresenter.getInstance().addInCallEventListener(this);
}
@Override
@@ -109,8 +143,8 @@
// stop getting call state changes
InCallPresenter.getInstance().removeListener(this);
InCallPresenter.getInstance().removeIncomingCallListener(this);
-
- AudioModeProvider.getInstance().removeListener(this);
+ InCallPresenter.getInstance().removeDetailsListener(this);
+ InCallPresenter.getInstance().removeInCallEventListener(this);
mPrimary = null;
mPrimaryContactInfo = null;
@@ -118,14 +152,14 @@
}
@Override
- public void onIncomingCall(InCallState state, Call call) {
+ public void onIncomingCall(InCallState oldState, InCallState newState, Call call) {
// same logic should happen as with onStateChange()
- onStateChange(state, CallList.getInstance());
+ onStateChange(oldState, newState, CallList.getInstance());
}
@Override
- public void onStateChange(InCallState state, CallList callList) {
- Log.d(this, "onStateChange() " + state);
+ public void onStateChange(InCallState oldState, InCallState newState, CallList callList) {
+ Log.d(this, "onStateChange() " + newState);
final CallCardUi ui = getUi();
if (ui == null) {
return;
@@ -134,15 +168,18 @@
Call primary = null;
Call secondary = null;
- if (state == InCallState.INCOMING) {
+ if (newState == InCallState.INCOMING) {
primary = callList.getIncomingCall();
- } else if (state == InCallState.OUTGOING) {
+ } else if (newState == InCallState.PENDING_OUTGOING || newState == InCallState.OUTGOING) {
primary = callList.getOutgoingCall();
+ if (primary == null) {
+ primary = callList.getPendingOutgoingCall();
+ }
// getCallToDisplay doesn't go through outgoing or incoming calls. It will return the
// highest priority call to display as the secondary call.
secondary = getCallToDisplay(callList, null, true);
- } else if (state == InCallState.INCALL) {
+ } else if (newState == InCallState.INCALL) {
primary = getCallToDisplay(callList, null, false);
secondary = getCallToDisplay(callList, primary, true);
}
@@ -150,17 +187,19 @@
Log.d(this, "Primary call: " + primary);
Log.d(this, "Secondary call: " + secondary);
- final boolean primaryChanged = !areCallsSame(mPrimary, primary);
- final boolean secondaryChanged = !areCallsSame(mSecondary, secondary);
+ final boolean primaryChanged = !Call.areSame(mPrimary, primary);
+ final boolean secondaryChanged = !Call.areSame(mSecondary, secondary);
+
mSecondary = secondary;
mPrimary = primary;
if (primaryChanged && mPrimary != null) {
// primary call has changed
- mPrimaryContactInfo = ContactInfoCache.buildCacheEntryFromCall(mContext,
- mPrimary.getIdentification(), mPrimary.getState() == Call.State.INCOMING);
+ mPrimaryContactInfo = ContactInfoCache.buildCacheEntryFromCall(mContext, mPrimary,
+ mPrimary.getState() == Call.State.INCOMING);
updatePrimaryDisplayInfo(mPrimaryContactInfo, isConference(mPrimary));
maybeStartSearch(mPrimary, true);
+ mPrimary.setSessionModificationState(Call.SessionModificationState.NO_REQUEST);
}
if (mSecondary == null) {
@@ -169,16 +208,17 @@
updateSecondaryDisplayInfo(false);
} else if (secondaryChanged) {
// secondary call has changed
- mSecondaryContactInfo = ContactInfoCache.buildCacheEntryFromCall(mContext,
- mSecondary.getIdentification(), mSecondary.getState() == Call.State.INCOMING);
+ mSecondaryContactInfo = ContactInfoCache.buildCacheEntryFromCall(mContext, mSecondary,
+ mSecondary.getState() == Call.State.INCOMING);
updateSecondaryDisplayInfo(mSecondary.isConferenceCall());
maybeStartSearch(mSecondary, false);
+ mSecondary.setSessionModificationState(Call.SessionModificationState.NO_REQUEST);
}
- // Start/Stop the call time update timer
+ // Start/stop timers.
if (mPrimary != null && mPrimary.getState() == Call.State.ACTIVE) {
Log.d(this, "Starting the calltime timer");
- mCallTimer.start(CALL_TIME_UPDATE_INTERVAL);
+ mCallTimer.start(CALL_TIME_UPDATE_INTERVAL_MS);
} else {
Log.d(this, "Canceling the calltime timer");
mCallTimer.cancel();
@@ -186,32 +226,109 @@
}
// Set the call state
+ int callState = Call.State.IDLE;
if (mPrimary != null) {
- final boolean bluetoothOn =
- (AudioModeProvider.getInstance().getAudioMode() == AudioMode.BLUETOOTH);
- ui.setCallState(mPrimary.getState(), mPrimary.getDisconnectCause(), bluetoothOn,
- getGatewayLabel(), getGatewayNumber());
+ callState = mPrimary.getState();
+ updatePrimaryCallState();
} else {
- ui.setCallState(Call.State.IDLE, DisconnectCause.NOT_VALID, false, null, null);
+ getUi().setCallState(
+ callState,
+ VideoProfile.VideoState.AUDIO_ONLY,
+ Call.SessionModificationState.NO_REQUEST,
+ DisconnectCause.NOT_VALID,
+ null,
+ null,
+ null);
+ }
+
+ // Hide/show the contact photo based on the video state.
+ // If the primary call is a video call on hold, still show the contact photo.
+ // If the primary call is an active video call, hide the contact photo.
+ if (mPrimary != null) {
+ getUi().setPhotoVisible(!(mPrimary.isVideoCall(mContext) &&
+ callState != Call.State.ONHOLD));
+ }
+
+ maybeShowManageConferenceCallButton();
+
+ final boolean enableEndCallButton = Call.State.isConnectingOrConnected(callState) &&
+ callState != Call.State.INCOMING && mPrimary != null;
+ // Hide the end call button instantly if we're receiving an incoming call.
+ getUi().setEndCallButtonEnabled(
+ enableEndCallButton, callState != Call.State.INCOMING /* animate */);
+ }
+
+ @Override
+ public void onDetailsChanged(Call call, android.telecomm.Call.Details details) {
+ updatePrimaryCallState();
+ }
+
+ private String getSubscriptionNumber() {
+ // If it's an emergency call, and they're not populating the callback number,
+ // then try to fall back to the phone sub info (to hopefully get the SIM's
+ // number directly from the telephony layer).
+ PhoneAccountHandle accountHandle = mPrimary.getAccountHandle();
+ if (accountHandle != null) {
+ TelecommManager mgr =
+ (TelecommManager) mContext.getSystemService(Context.TELECOMM_SERVICE);
+ PhoneAccount account = mgr.getPhoneAccount(accountHandle);
+ if (account != null) {
+ return account.getSubscriptionNumber();
+ }
+ }
+ return null;
+ }
+
+ private void updatePrimaryCallState() {
+ if (getUi() != null && mPrimary != null) {
+ getUi().setCallState(
+ mPrimary.getState(),
+ mPrimary.getVideoState(),
+ mPrimary.getSessionModificationState(),
+ mPrimary.getDisconnectCause(),
+ getConnectionLabel(),
+ getConnectionIcon(),
+ getGatewayNumber());
+ setCallbackNumber();
}
}
- @Override
- public void onAudioMode(int mode) {
- if (mPrimary != null && getUi() != null) {
- final boolean bluetoothOn = (AudioMode.BLUETOOTH == mode);
+ /**
+ * Only show the conference call button if we are not in a generic conference.
+ * On CDMA devices, instead of a manage conference call button, we show "add" and "merge"
+ * buttons in the {@link CallButtonFragment}.
+ */
+ private void maybeShowManageConferenceCallButton() {
+ final boolean isGenericConference = mPrimary.can(PhoneCapabilities.GENERIC_CONFERENCE);
+ getUi().showManageConferenceCallButton(mPrimary.isConferenceCall() && !isGenericConference);
+ }
- getUi().setCallState(mPrimary.getState(), mPrimary.getDisconnectCause(), bluetoothOn,
- getGatewayLabel(), getGatewayNumber());
+ private void setCallbackNumber() {
+ String callbackNumber = null;
+
+ boolean isEmergencyCall = PhoneNumberUtils.isEmergencyNumber(
+ getNumberFromHandle(mPrimary.getHandle()));
+ if (isEmergencyCall) {
+ callbackNumber = getSubscriptionNumber();
+ } else {
+ StatusHints statusHints = mPrimary.getTelecommCall().getDetails().getStatusHints();
+ if (statusHints != null) {
+ Bundle extras = statusHints.getExtras();
+ if (extras != null) {
+ callbackNumber = extras.getString(TelecommManager.EXTRA_CALL_BACK_NUMBER);
+ }
+ }
}
- }
- @Override
- public void onSupportedAudioMode(int mask) {
- }
+ TelephonyManager telephonyManager =
+ (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
+ String simNumber = telephonyManager.getLine1Number();
+ if (PhoneNumberUtils.compare(callbackNumber, simNumber)) {
+ Log.d(this, "Numbers are the same; not showing the callback number");
+ callbackNumber = null;
+ }
- @Override
- public void onMute(boolean muted) {
+ getUi().setCallbackNumber(callbackNumber, isEmergencyCall);
}
public void updateCallTime() {
@@ -223,64 +340,56 @@
}
mCallTimer.cancel();
} else {
- final long callStart = mPrimary.getConnectTime();
+ final long callStart = mPrimary.getConnectTimeMillis();
final long duration = System.currentTimeMillis() - callStart;
ui.setPrimaryCallElapsedTime(true, DateUtils.formatElapsedTime(duration / 1000));
}
}
- private boolean areCallsSame(Call call1, Call call2) {
- if (call1 == null && call2 == null) {
- return true;
- } else if (call1 == null || call2 == null) {
- return false;
+ public void phoneAccountClicked() {
+ if (mPrimary == null) {
+ return;
}
-
- // otherwise compare call Ids
- return call1.getCallId() == call2.getCallId();
+ TelecommAdapter.getInstance().phoneAccountClicked(mPrimary.getId());
}
private void maybeStartSearch(Call call, boolean isPrimary) {
// no need to start search for conference calls which show generic info.
if (call != null && !call.isConferenceCall()) {
- startContactInfoSearch(call.getIdentification(), isPrimary,
- call.getState() == Call.State.INCOMING);
+ startContactInfoSearch(call, isPrimary, call.getState() == Call.State.INCOMING);
}
}
/**
* Starts a query for more contact data for the save primary and secondary calls.
*/
- private void startContactInfoSearch(final CallIdentification identification,
- final boolean isPrimary, boolean isIncoming) {
+ private void startContactInfoSearch(final Call call, final boolean isPrimary,
+ boolean isIncoming) {
final ContactInfoCache cache = ContactInfoCache.getInstance(mContext);
- cache.findInfo(identification, isIncoming, new ContactInfoCacheCallback() {
- @Override
- public void onContactInfoComplete(int callId, ContactCacheEntry entry) {
- updateContactEntry(entry, isPrimary, false);
- if (entry.name != null) {
- Log.d(TAG, "Contact found: " + entry);
- }
- if (entry.personUri != null) {
- CallerInfoUtils.sendViewNotification(mContext, entry.personUri);
- }
- }
+ cache.findInfo(call, isIncoming, new ContactLookupCallback(this, isPrimary));
+ }
- @Override
- public void onImageLoadComplete(int callId, ContactCacheEntry entry) {
- if (getUi() == null) {
- return;
- }
- if (entry.photo != null) {
- if (mPrimary != null && callId == mPrimary.getCallId()) {
- getUi().setPrimaryImage(entry.photo);
- } else if (mSecondary != null && callId == mSecondary.getCallId()) {
- getUi().setSecondaryImage(entry.photo);
- }
- }
- }
- });
+ private void onContactInfoComplete(String callId, ContactCacheEntry entry, boolean isPrimary) {
+ updateContactEntry(entry, isPrimary, false);
+ if (entry.name != null) {
+ Log.d(TAG, "Contact found: " + entry);
+ }
+ if (entry.contactUri != null) {
+ CallerInfoUtils.sendViewNotification(mContext, entry.contactUri);
+ }
+ }
+
+ private void onImageLoadComplete(String callId, ContactCacheEntry entry) {
+ if (getUi() == null) {
+ return;
+ }
+
+ if (entry.photo != null) {
+ if (mPrimary != null && callId.equals(mPrimary.getId())) {
+ getUi().setPrimaryImage(entry.photo);
+ }
+ }
}
private static boolean isConference(Call call) {
@@ -288,7 +397,7 @@
}
private static boolean isGenericConference(Call call) {
- return call != null && call.can(Capabilities.GENERIC_CONFERENCE);
+ return call != null && call.can(PhoneCapabilities.GENERIC_CONFERENCE);
}
private void updateContactEntry(ContactCacheEntry entry, boolean isPrimary,
@@ -381,43 +490,97 @@
final boolean nameIsNumber = nameForCall != null && nameForCall.equals(
mSecondaryContactInfo.number);
- ui.setSecondary(true, nameForCall, nameIsNumber, mSecondaryContactInfo.label,
- mSecondaryContactInfo.photo, isConference, isGenericConf);
+ ui.setSecondary(true /* show */, nameForCall, nameIsNumber, mSecondaryContactInfo.label,
+ getCallProviderLabel(mSecondary), getCallProviderIcon(mSecondary),
+ isConference, isGenericConf);
} else {
// reset to nothing so that it starts off blank next time we use it.
- ui.setSecondary(false, null, false, null, null, isConference, isGenericConf);
+ ui.setSecondary(false, null, false, null, null, null, isConference, isGenericConf);
}
}
+
+ /**
+ * Gets the phone account to display for a call.
+ */
+ private PhoneAccount getAccountForCall(Call call) {
+ PhoneAccountHandle accountHandle = call.getAccountHandle();
+ if (accountHandle == null) {
+ return null;
+ }
+ return getTelecommManager().getPhoneAccount(accountHandle);
+ }
+
/**
* Returns the gateway number for any existing outgoing call.
*/
private String getGatewayNumber() {
if (hasOutgoingGatewayCall()) {
- return mPrimary.getGatewayNumber();
+ return getNumberFromHandle(mPrimary.getGatewayInfo().getGatewayHandle());
}
-
return null;
}
/**
- * Returns the label for the gateway app for any existing outgoing call.
+ * Return the Drawable object of the icon to display to the left of the connection label.
*/
- private String getGatewayLabel() {
- if (hasOutgoingGatewayCall() && getUi() != null) {
- final PackageManager pm = mContext.getPackageManager();
- try {
- final ApplicationInfo info = pm.getApplicationInfo(mPrimary.getGatewayPackage(), 0);
- return mContext.getString(R.string.calling_via_template,
- pm.getApplicationLabel(info).toString());
- } catch (PackageManager.NameNotFoundException e) {
- }
+ private Drawable getCallProviderIcon(Call call) {
+ PhoneAccount account = getAccountForCall(call);
+ if (account != null && getTelecommManager().hasMultipleEnabledAccounts()) {
+ return account.getIcon(mContext);
}
return null;
}
+ /**
+ * Return the string label to represent the call provider
+ */
+ private String getCallProviderLabel(Call call) {
+ PhoneAccount account = getAccountForCall(call);
+ if (account != null && getTelecommManager().hasMultipleEnabledAccounts()) {
+ return account.getLabel().toString();
+ }
+ return null;
+ }
+
+ /**
+ * Returns the label (line of text above the number/name) for any given call.
+ * For example, "calling via [Account/Google Voice]" for outgoing calls.
+ */
+ private String getConnectionLabel() {
+ StatusHints statusHints = mPrimary.getTelecommCall().getDetails().getStatusHints();
+ if (statusHints != null && !TextUtils.isEmpty(statusHints.getLabel())) {
+ return statusHints.getLabel().toString();
+ }
+
+ if (hasOutgoingGatewayCall() && getUi() != null) {
+ // Return the label for the gateway app on outgoing calls.
+ final PackageManager pm = mContext.getPackageManager();
+ try {
+ ApplicationInfo info = pm.getApplicationInfo(
+ mPrimary.getGatewayInfo().getGatewayProviderPackageName(), 0);
+ return pm.getApplicationLabel(info).toString();
+ } catch (PackageManager.NameNotFoundException e) {
+ Log.e(this, "Gateway Application Not Found.", e);
+ return null;
+ }
+ }
+ return getCallProviderLabel(mPrimary);
+ }
+
+ private Drawable getConnectionIcon() {
+ StatusHints statusHints = mPrimary.getTelecommCall().getDetails().getStatusHints();
+ if (statusHints != null && statusHints.getIconResId() != 0) {
+ Drawable icon = statusHints.getIcon(mContext);
+ if (icon != null) {
+ return icon;
+ }
+ }
+ return getCallProviderIcon(mPrimary);
+ }
+
private boolean hasOutgoingGatewayCall() {
- // We only display the gateway information while DIALING so return false for any othe
+ // We only display the gateway information while STATE_DIALING so return false for any othe
// call state.
// TODO: mPrimary can be null because this is called from updatePrimaryDisplayInfo which
// is also called after a contact search completes (call is not present yet). Split the
@@ -425,9 +588,8 @@
if (mPrimary == null) {
return false;
}
- return (Call.State.isDialing(mPrimary.getState()) &&
- !TextUtils.isEmpty(mPrimary.getGatewayNumber()) &&
- !TextUtils.isEmpty(mPrimary.getGatewayPackage()));
+ return Call.State.isDialing(mPrimary.getState()) && mPrimary.getGatewayInfo() != null &&
+ !mPrimary.getGatewayInfo().isEmpty();
}
/**
@@ -452,23 +614,70 @@
return contactInfo.number;
}
- public void secondaryPhotoClicked() {
- CallCommandClient.getInstance().swap();
+ public void secondaryInfoClicked() {
+ if (mSecondary == null) {
+ Log.wtf(this, "Secondary info clicked but no secondary call.");
+ return;
+ }
+
+ Log.i(this, "Swapping call to foreground: " + mSecondary);
+ TelecommAdapter.getInstance().unholdCall(mSecondary.getId());
+ }
+
+ public void endCallClicked() {
+ if (mPrimary == null) {
+ return;
+ }
+
+ Log.i(this, "Disconnecting call: " + mPrimary);
+ TelecommAdapter.getInstance().disconnectCall(mPrimary.getId());
+ }
+
+ private String getNumberFromHandle(Uri handle) {
+ return handle == null ? "" : handle.getSchemeSpecificPart();
+ }
+
+ /**
+ * Handles a change to the full screen video state.
+ *
+ * @param isFullScreenVideo {@code True} if the application is entering full screen video mode.
+ */
+ @Override
+ public void onFullScreenVideoStateChanged(boolean isFullScreenVideo) {
+ final CallCardUi ui = getUi();
+ if (ui == null) {
+ return;
+ }
+ ui.setCallCardVisible(!isFullScreenVideo);
}
public interface CallCardUi extends Ui {
void setVisible(boolean on);
+ void setCallCardVisible(boolean visible);
void setPrimary(String number, String name, boolean nameIsNumber, String label,
Drawable photo, boolean isConference, boolean isGeneric, boolean isSipCall);
void setSecondary(boolean show, String name, boolean nameIsNumber, String label,
- Drawable photo, boolean isConference, boolean isGeneric);
- void setSecondaryImage(Drawable image);
- void setCallState(int state, int cause, boolean bluetoothOn,
- String gatewayLabel, String gatewayNumber);
+ String providerLabel, Drawable providerIcon, boolean isConference,
+ boolean isGeneric);
+ void setCallState(int state, int videoState, int sessionModificationState, int cause,
+ String connectionLabel, Drawable connectionIcon, String gatewayNumber);
void setPrimaryCallElapsedTime(boolean show, String duration);
void setPrimaryName(String name, boolean nameIsNumber);
void setPrimaryImage(Drawable image);
void setPrimaryPhoneNumber(String phoneNumber);
void setPrimaryLabel(String label);
+ void setEndCallButtonEnabled(boolean enabled, boolean animate);
+ void setCallbackNumber(String number, boolean isEmergencyCalls);
+ void setPhotoVisible(boolean isVisible);
+ void setProgressSpinnerVisible(boolean visible);
+ void showManageConferenceCallButton(boolean visible);
+ }
+
+ private TelecommManager getTelecommManager() {
+ if (mTelecommManager == null) {
+ mTelecommManager =
+ (TelecommManager) mContext.getSystemService(Context.TELECOMM_SERVICE);
+ }
+ return mTelecommManager;
}
}
diff --git a/InCallUI/src/com/android/incallui/CallCommandClient.java b/InCallUI/src/com/android/incallui/CallCommandClient.java
deleted file mode 100644
index 52d2100..0000000
--- a/InCallUI/src/com/android/incallui/CallCommandClient.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.incallui;
-
-import android.os.RemoteException;
-
-
-import com.android.services.telephony.common.AudioMode;
-import com.android.services.telephony.common.ICallCommandService;
-import com.android.services.telephony.common.Call;
-
-/**
- * Main interface for phone related commands.
- */
-public class CallCommandClient {
-
- private static CallCommandClient sInstance;
-
- public static synchronized CallCommandClient getInstance() {
- if (sInstance == null) {
- sInstance = new CallCommandClient();
- }
- return sInstance;
- }
-
- private ICallCommandService mCommandService;
-
- private CallCommandClient() {
- }
-
- public void setService(ICallCommandService service) {
- mCommandService = service;
- }
-
- public void answerCall(int callId) {
- Log.i(this, "answerCall: " + callId);
- if (mCommandService == null) {
- Log.e(this, "Cannot answer call; CallCommandService == null");
- return;
- }
- try {
- mCommandService.answerCall(callId);
- } catch (RemoteException e) {
- Log.e(this, "Error answering call.", e);
- }
- }
-
- public void rejectCall(Call call, boolean rejectWithMessage, String message) {
- Log.i(this, "rejectCall: " + call.getCallId() +
- ", with rejectMessage? " + rejectWithMessage);
- if (mCommandService == null) {
- Log.e(this, "Cannot reject call; CallCommandService == null");
- return;
- }
- try {
- mCommandService.rejectCall(call, rejectWithMessage, message);
- } catch (RemoteException e) {
- Log.e(this, "Error rejecting call.", e);
- }
- }
-
- public void disconnectCall(int callId) {
- Log.i(this, "disconnect Call: " + callId);
- if (mCommandService == null) {
- Log.e(this, "Cannot disconnect call; CallCommandService == null");
- return;
- }
- try {
- mCommandService.disconnectCall(callId);
- } catch (RemoteException e) {
- Log.e(this, "Error disconnecting call.", e);
- }
- }
-
- public void separateCall(int callId) {
- Log.i(this, "separate Call: " + callId);
- if (mCommandService == null) {
- Log.e(this, "Cannot separate call; CallCommandService == null");
- return;
- }
- try {
- mCommandService.separateCall(callId);
- } catch (RemoteException e) {
- Log.e(this, "Error separating call.", e);
- }
- }
-
- public void mute(boolean onOff) {
- Log.i(this, "mute: " + onOff);
- if (mCommandService == null) {
- Log.e(this, "Cannot mute call; CallCommandService == null");
- return;
- }
- try {
- mCommandService.mute(onOff);
- } catch (RemoteException e) {
- Log.e(this, "Error muting phone.", e);
- }
- }
-
- public void hold(int callId, boolean onOff) {
- Log.i(this, "hold call(" + onOff + "): " + callId);
- if (mCommandService == null) {
- Log.e(this, "Cannot hold call; CallCommandService == null");
- return;
- }
- try {
- mCommandService.hold(callId, onOff);
- } catch (RemoteException e) {
- Log.e(this, "Error holding call.", e);
- }
- }
-
- public void merge() {
- Log.i(this, "merge calls");
- if (mCommandService == null) {
- Log.e(this, "Cannot merge call; CallCommandService == null");
- return;
- }
- try {
- mCommandService.merge();
- } catch (RemoteException e) {
- Log.e(this, "Error merging calls.", e);
- }
- }
-
- public void swap() {
- Log.i(this, "swap active/hold calls");
- if (mCommandService == null) {
- Log.e(this, "Cannot swap call; CallCommandService == null");
- return;
- }
- try {
- mCommandService.swap();
- } catch (RemoteException e) {
- Log.e(this, "Error merging calls.", e);
- }
- }
-
- public void addCall() {
- Log.i(this, "add a new call");
- if (mCommandService == null) {
- Log.e(this, "Cannot add call; CallCommandService == null");
- return;
- }
- try {
- mCommandService.addCall();
- } catch (RemoteException e) {
- Log.e(this, "Error merging calls.", e);
- }
- }
-
- public void setAudioMode(int mode) {
- Log.i(this, "Set Audio Mode: " + AudioMode.toString(mode));
- if (mCommandService == null) {
- Log.e(this, "Cannot set audio mode; CallCommandService == null");
- return;
- }
- try {
- mCommandService.setAudioMode(mode);
- } catch (RemoteException e) {
- Log.e(this, "Error setting speaker.", e);
- }
- }
-
- public void playDtmfTone(char digit, boolean timedShortTone) {
- if (mCommandService == null) {
- Log.e(this, "Cannot start dtmf tone; CallCommandService == null");
- return;
- }
- try {
- Log.v(this, "Sending dtmf tone " + digit);
- mCommandService.playDtmfTone(digit, timedShortTone);
- } catch (RemoteException e) {
- Log.e(this, "Error setting speaker.", e);
- }
-
- }
-
- public void stopDtmfTone() {
- if (mCommandService == null) {
- Log.e(this, "Cannot stop dtmf tone; CallCommandService == null");
- return;
- }
- try {
- Log.v(this, "Stop dtmf tone ");
- mCommandService.stopDtmfTone();
- } catch (RemoteException e) {
- Log.e(this, "Error setting speaker.", e);
- }
- }
-
- public void postDialWaitContinue(int callId) {
- if (mCommandService == null) {
- Log.e(this, "Cannot postDialWaitContinue(); CallCommandService == null");
- return;
- }
- try {
- Log.v(this, "postDialWaitContinue()");
- mCommandService.postDialWaitContinue(callId);
- } catch (RemoteException e) {
- Log.e(this, "Error on postDialWaitContinue().", e);
- }
- }
-
- public void postDialCancel(int callId) {
- if (mCommandService == null) {
- Log.e(this, "Cannot postDialCancel(); CallCommandService == null");
- return;
- }
- try {
- Log.v(this, "postDialCancel()");
- mCommandService.postDialCancel(callId);
- } catch (RemoteException e) {
- Log.e(this, "Error on postDialCancel().", e);
- }
- }
-
- public void setSystemBarNavigationEnabled(boolean enable) {
- if (mCommandService == null) {
- Log.e(this, "Cannot setSystemBarNavigationEnabled(); CallCommandService == null");
- return;
- }
- try {
- Log.v(this, "setSystemBarNavigationEnabled() enabled = " + enable);
- mCommandService.setSystemBarNavigationEnabled(enable);
- } catch (RemoteException e) {
- Log.d(this, "Error on setSystemBarNavigationEnabled().");
- }
- }
-
-}
diff --git a/InCallUI/src/com/android/incallui/CallHandlerService.java b/InCallUI/src/com/android/incallui/CallHandlerService.java
deleted file mode 100644
index 06b10ab..0000000
--- a/InCallUI/src/com/android/incallui/CallHandlerService.java
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.incallui;
-
-import android.app.Service;
-import android.content.Intent;
-import android.os.Handler;
-import android.os.IBinder;
-import android.os.Message;
-
-import com.android.services.telephony.common.AudioMode;
-import com.android.services.telephony.common.Call;
-import com.android.services.telephony.common.ICallCommandService;
-import com.android.services.telephony.common.ICallHandlerService;
-
-import java.util.AbstractMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Service used to listen for call state changes.
- */
-public class CallHandlerService extends Service {
-
- private final static String TAG = CallHandlerService.class.getSimpleName();
-
- private static final int ON_UPDATE_CALL = 1;
- private static final int ON_UPDATE_MULTI_CALL = 2;
- private static final int ON_UPDATE_CALL_WITH_TEXT_RESPONSES = 3;
- private static final int ON_AUDIO_MODE = 4;
- private static final int ON_SUPPORTED_AUDIO_MODE = 5;
- private static final int ON_DISCONNECT_CALL = 6;
- private static final int ON_BRING_TO_FOREGROUND = 7;
- private static final int ON_POST_CHAR_WAIT = 8;
- private static final int ON_START = 9;
- private static final int ON_DESTROY = 10;
-
- private static final int LARGEST_MSG_ID = ON_DESTROY;
-
-
- private CallList mCallList;
- private Handler mMainHandler;
- private Object mHandlerInitLock = new Object();
- private InCallPresenter mInCallPresenter;
- private AudioModeProvider mAudioModeProvider;
- private boolean mServiceStarted = false;
-
- @Override
- public void onCreate() {
- Log.i(TAG, "onCreate");
- super.onCreate();
-
- synchronized(mHandlerInitLock) {
- if (mMainHandler == null) {
- mMainHandler = new MainHandler();
- }
- }
-
- }
-
- @Override
- public void onDestroy() {
- Log.i(TAG, "onDestroy");
-
- // onDestroy will get called when:
- // 1) there are no more calls
- // 2) the client (TeleService) crashes.
- //
- // Because onDestroy is not sequenced with calls to CallHandlerService binder,
- // we cannot know which is happening.
- // Thats okay since in both cases we want to end all calls and let the UI know it can tear
- // itself down when it's ready. Start the destruction sequence.
- mMainHandler.sendMessage(mMainHandler.obtainMessage(ON_DESTROY));
- }
-
-
- @Override
- public IBinder onBind(Intent intent) {
- Log.i(TAG, "onBind");
- return mBinder;
- }
-
- @Override
- public boolean onUnbind(Intent intent) {
- Log.i(TAG, "onUnbind");
-
- // Returning true here means we get called on rebind, which is a feature we do not need.
- // Return false so that all reconnections happen with a call to onBind().
- return false;
- }
-
- private final ICallHandlerService.Stub mBinder = new ICallHandlerService.Stub() {
-
- @Override
- public void startCallService(ICallCommandService service) {
- try {
- Log.d(TAG, "startCallService: " + service.toString());
-
- mMainHandler.sendMessage(mMainHandler.obtainMessage(ON_START, service));
- } catch (Exception e) {
- Log.e(TAG, "Error processing setCallCommandservice() call", e);
- }
- }
-
- @Override
- public void onDisconnect(Call call) {
- try {
- Log.i(TAG, "onDisconnected: " + call);
- mMainHandler.sendMessage(mMainHandler.obtainMessage(ON_DISCONNECT_CALL, call));
- } catch (Exception e) {
- Log.e(TAG, "Error processing onDisconnect() call.", e);
- }
- }
-
- @Override
- public void onIncoming(Call call, List<String> textResponses) {
- try {
- Log.i(TAG, "onIncomingCall: " + call);
- Map.Entry<Call, List<String>> incomingCall
- = new AbstractMap.SimpleEntry<Call, List<String>>(call, textResponses);
- mMainHandler.sendMessage(mMainHandler.obtainMessage(
- ON_UPDATE_CALL_WITH_TEXT_RESPONSES, incomingCall));
- } catch (Exception e) {
- Log.e(TAG, "Error processing onIncoming() call.", e);
- }
- }
-
- @Override
- public void onUpdate(List<Call> calls) {
- try {
- Log.i(TAG, "onUpdate: " + calls);
- mMainHandler.sendMessage(mMainHandler.obtainMessage(ON_UPDATE_MULTI_CALL, calls));
- } catch (Exception e) {
- Log.e(TAG, "Error processing onUpdate() call.", e);
- }
- }
-
- @Override
- public void onAudioModeChange(int mode, boolean muted) {
- try {
- Log.i(TAG, "onAudioModeChange : " +
- AudioMode.toString(mode));
- mMainHandler.sendMessage(mMainHandler.obtainMessage(ON_AUDIO_MODE, mode,
- muted ? 1 : 0, null));
- } catch (Exception e) {
- Log.e(TAG, "Error processing onAudioModeChange() call.", e);
- }
- }
-
- @Override
- public void onSupportedAudioModeChange(int modeMask) {
- try {
- Log.i(TAG, "onSupportedAudioModeChange : " +
- AudioMode.toString(modeMask));
- mMainHandler.sendMessage(mMainHandler.obtainMessage(ON_SUPPORTED_AUDIO_MODE,
- modeMask, 0, null));
- } catch (Exception e) {
- Log.e(TAG, "Error processing onSupportedAudioModeChange() call.", e);
- }
- }
-
- @Override
- public void bringToForeground(boolean showDialpad) {
- mMainHandler.sendMessage(mMainHandler.obtainMessage(ON_BRING_TO_FOREGROUND,
- showDialpad ? 1 : 0, 0));
- }
-
- @Override
- public void onPostDialWait(int callId, String chars) {
- mMainHandler.sendMessage(mMainHandler.obtainMessage(ON_POST_CHAR_WAIT, callId, 0,
- chars));
- }
- };
-
- private void doStart(ICallCommandService service) {
- Log.i(TAG, "doStart");
-
- // always setup the new callcommandservice
- CallCommandClient.getInstance().setService(service);
-
- // If we have a new service when one is already started, we can continue
- // using the service that we already have.
- if (mServiceStarted) {
- Log.i(TAG, "Starting a service before another one is completed");
- doStop();
- }
-
- mCallList = CallList.getInstance();
- mAudioModeProvider = AudioModeProvider.getInstance();
- mInCallPresenter = InCallPresenter.getInstance();
-
- mInCallPresenter.setUp(getApplicationContext(), mCallList, mAudioModeProvider);
-
- mServiceStarted = true;
- }
-
- public void doStop() {
- Log.i(TAG, "doStop");
-
- if (!mServiceStarted) {
- return;
- }
-
- mServiceStarted = false;
-
- // We are disconnected, clear the call list so that UI can start
- // tearing itself down.
- mCallList.clearOnDisconnect();
- mCallList = null;
-
- mInCallPresenter.tearDown();
- mInCallPresenter = null;
- mAudioModeProvider = null;
- }
-
- /**
- * Handles messages from the service so that they get executed on the main thread, where they
- * can interact with UI.
- */
- private class MainHandler extends Handler {
- MainHandler() {
- super(getApplicationContext().getMainLooper(), null, true);
- }
-
- @Override
- public void handleMessage(Message msg) {
- executeMessage(msg);
- }
- }
-
- private void executeMessage(Message msg) {
- if (msg.what > LARGEST_MSG_ID) {
- // If you got here, you may have added a new message and forgotten to
- // update LARGEST_MSG_ID
- Log.wtf(TAG, "Cannot handle message larger than LARGEST_MSG_ID.");
- }
-
- // If we are not initialized, ignore all messages except start up
- if (!mServiceStarted && msg.what != ON_START) {
- Log.i(TAG, "System not initialized. Ignoring message: " + msg.what);
- return;
- }
-
- Log.d(TAG, "executeMessage " + msg.what);
-
- switch (msg.what) {
- case ON_UPDATE_CALL:
- Log.i(TAG, "ON_UPDATE_CALL: " + msg.obj);
- mCallList.onUpdate((Call) msg.obj);
- break;
- case ON_UPDATE_MULTI_CALL:
- Log.i(TAG, "ON_UPDATE_MULTI_CALL: " + msg.obj);
- mCallList.onUpdate((List<Call>) msg.obj);
- break;
- case ON_UPDATE_CALL_WITH_TEXT_RESPONSES:
- AbstractMap.SimpleEntry<Call, List<String>> entry
- = (AbstractMap.SimpleEntry<Call, List<String>>) msg.obj;
- Log.i(TAG, "ON_INCOMING_CALL: " + entry.getKey());
- mCallList.onIncoming(entry.getKey(), entry.getValue());
- break;
- case ON_DISCONNECT_CALL:
- Log.i(TAG, "ON_DISCONNECT_CALL: " + msg.obj);
- mCallList.onDisconnect((Call) msg.obj);
- break;
- case ON_POST_CHAR_WAIT:
- mInCallPresenter.onPostDialCharWait(msg.arg1, (String) msg.obj);
- break;
- case ON_AUDIO_MODE:
- Log.i(TAG, "ON_AUDIO_MODE: " +
- AudioMode.toString(msg.arg1) + ", muted (" + (msg.arg2 == 1) + ")");
- mAudioModeProvider.onAudioModeChange(msg.arg1, msg.arg2 == 1);
- break;
- case ON_SUPPORTED_AUDIO_MODE:
- Log.i(TAG, "ON_SUPPORTED_AUDIO_MODE: " + AudioMode.toString(
- msg.arg1));
-
- mAudioModeProvider.onSupportedAudioModeChange(msg.arg1);
- break;
- case ON_BRING_TO_FOREGROUND:
- Log.i(TAG, "ON_BRING_TO_FOREGROUND" + msg.arg1);
- if (mInCallPresenter != null) {
- mInCallPresenter.bringToForeground(msg.arg1 != 0);
- }
- break;
- case ON_START:
- doStart((ICallCommandService) msg.obj);
- break;
- case ON_DESTROY:
- doStop();
- break;
- default:
- break;
- }
- }
-}
diff --git a/InCallUI/src/com/android/incallui/CallList.java b/InCallUI/src/com/android/incallui/CallList.java
index c161058..0908b56 100644
--- a/InCallUI/src/com/android/incallui/CallList.java
+++ b/InCallUI/src/com/android/incallui/CallList.java
@@ -16,28 +16,28 @@
package com.android.incallui;
-import com.google.android.collect.Lists;
-import com.google.android.collect.Maps;
-import com.google.android.collect.Sets;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
import com.google.common.base.Preconditions;
import android.os.Handler;
import android.os.Message;
+import android.telecomm.Phone;
import android.telephony.DisconnectCause;
-import com.android.services.telephony.common.Call;
-
-import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.CopyOnWriteArrayList;
/**
- * Maintains the list of active calls received from CallHandlerService and notifies interested
- * classes of changes to the call list as they are received from the telephony stack.
- * Primary lister of changes to this class is InCallPresenter.
+ * Maintains the list of active calls and notifies interested classes of changes to the call list
+ * as they are received from the telephony stack. Primary listener of changes to this class is
+ * InCallPresenter.
*/
-public class CallList {
+public class CallList implements InCallPhoneListener {
private static final int DISCONNECTED_CALL_SHORT_TIMEOUT_MS = 200;
private static final int DISCONNECTED_CALL_MEDIUM_TIMEOUT_MS = 2000;
@@ -47,13 +47,20 @@
private static CallList sInstance = new CallList();
- private final HashMap<Integer, Call> mCallMap = Maps.newHashMap();
- private final HashMap<Integer, ArrayList<String>> mCallTextReponsesMap =
- Maps.newHashMap();
- private final Set<Listener> mListeners = Sets.newArraySet();
- private final HashMap<Integer, List<CallUpdateListener>> mCallUpdateListenerMap = Maps
+ private final HashMap<String, Call> mCallById = new HashMap<>();
+ private final HashMap<android.telecomm.Call, Call> mCallByTelecommCall = new HashMap<>();
+ private final HashMap<String, List<String>> mCallTextReponsesMap = Maps.newHashMap();
+ /**
+ * ConcurrentHashMap constructor params: 8 is initial table size, 0.9f is
+ * load factor before resizing, 1 means we only expect a single thread to
+ * access the map so make only a single shard
+ */
+ private final Set<Listener> mListeners = Collections.newSetFromMap(
+ new ConcurrentHashMap<Listener, Boolean>(8, 0.9f, 1));
+ private final HashMap<String, List<CallUpdateListener>> mCallUpdateListenerMap = Maps
.newHashMap();
+ private Phone mPhone;
/**
* Static singleton accessor method.
@@ -62,20 +69,36 @@
return sInstance;
}
+ private Phone.Listener mPhoneListener = new Phone.Listener() {
+ @Override
+ public void onCallAdded(Phone phone, android.telecomm.Call call) {
+ // TODO: The Call adds itself to various singletons within its ctor. Refactor
+ // so that this is done more explicitly; otherwise, the below looks like we're creating
+ // an object and never using it.
+ new Call(call);
+ }
+ @Override
+ public void onCallRemoved(Phone phone, android.telecomm.Call call) {
+ // Handled by disconnection cascade from the Call itself
+ }
+ };
+
/**
* Private constructor. Instance should only be acquired through getInstance().
*/
private CallList() {
}
- /**
- * Called when a single call has changed.
- */
- public void onUpdate(Call call) {
- Log.d(this, "onUpdate - ", call);
+ @Override
+ public void setPhone(Phone phone) {
+ mPhone = phone;
+ mPhone.addListener(mPhoneListener);
+ }
- updateCallInMap(call);
- notifyListenersOfChange();
+ @Override
+ public void clearPhone() {
+ mPhone.removeListener(mPhoneListener);
+ mPhone = null;
}
/**
@@ -110,29 +133,19 @@
}
/**
- * Called when multiple calls have changed.
+ * Called when a single call has changed.
*/
- public void onUpdate(List<Call> callsToUpdate) {
- Log.d(this, "onUpdate(...)");
-
- Preconditions.checkNotNull(callsToUpdate);
- for (Call call : callsToUpdate) {
- Log.d(this, "\t" + call);
-
- updateCallInMap(call);
- updateCallTextMap(call, null);
-
- notifyCallUpdateListeners(call);
- }
-
- notifyListenersOfChange();
+ public void onUpdate(Call call) {
+ onUpdateCall(call);
+ Log.d(this, "onUpdate - ", call);
+ notifyGenericListeners();
}
public void notifyCallUpdateListeners(Call call) {
- final List<CallUpdateListener> listeners = mCallUpdateListenerMap.get(call.getCallId());
+ final List<CallUpdateListener> listeners = mCallUpdateListenerMap.get(call.getId());
if (listeners != null) {
for (CallUpdateListener listener : listeners) {
- listener.onCallStateChanged(call);
+ listener.onCallChanged(call);
}
}
}
@@ -143,10 +156,10 @@
* @param callId The call id to get updates for.
* @param listener The listener to add.
*/
- public void addCallUpdateListener(int callId, CallUpdateListener listener) {
+ public void addCallUpdateListener(String callId, CallUpdateListener listener) {
List<CallUpdateListener> listeners = mCallUpdateListenerMap.get(callId);
if (listeners == null) {
- listeners = Lists.newArrayList();
+ listeners = new CopyOnWriteArrayList<CallUpdateListener>();
mCallUpdateListenerMap.put(callId, listeners);
}
listeners.add(listener);
@@ -158,7 +171,7 @@
* @param callId The call id to remove the listener for.
* @param listener The listener to remove.
*/
- public void removeCallUpdateListener(int callId, CallUpdateListener listener) {
+ public void removeCallUpdateListener(String callId, CallUpdateListener listener) {
List<CallUpdateListener> listeners = mCallUpdateListenerMap.get(callId);
if (listeners != null) {
listeners.remove(listener);
@@ -175,8 +188,9 @@
}
public void removeListener(Listener listener) {
- Preconditions.checkNotNull(listener);
- mListeners.remove(listener);
+ if (listener != null) {
+ mListeners.remove(listener);
+ }
}
/**
@@ -192,6 +206,17 @@
return retval;
}
+ /**
+ * A call that is waiting for {@link PhoneAccount} selection
+ */
+ public Call getWaitingForAccountCall() {
+ return getFirstCallWithState(Call.State.PRE_DIAL_WAIT);
+ }
+
+ public Call getPendingOutgoingCall() {
+ return getFirstCallWithState(Call.State.CONNECTING);
+ }
+
public Call getOutgoingCall() {
Call call = getFirstCallWithState(Call.State.DIALING);
if (call == null) {
@@ -240,6 +265,9 @@
public Call getFirstCall() {
Call result = getIncomingCall();
if (result == null) {
+ result = getPendingOutgoingCall();
+ }
+ if (result == null) {
result = getOutgoingCall();
}
if (result == null) {
@@ -254,20 +282,30 @@
return result;
}
- public Call getCall(int callId) {
- return mCallMap.get(callId);
- }
-
- public boolean existsLiveCall() {
- for (Call call : mCallMap.values()) {
- if (!isCallDead(call)) {
- return true;
+ /**
+ * Returns the first call found in the call map with the specified call modification state.
+ * @param state The session modification state to search for.
+ * @return The first call with the specified state.
+ */
+ public Call getVideoUpgradeRequestCall() {
+ for(Call call : mCallById.values()) {
+ if (call.getSessionModificationState() ==
+ Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
+ return call;
}
}
- return false;
+ return null;
}
- public ArrayList<String> getTextResponses(int callId) {
+ public Call getCallById(String callId) {
+ return mCallById.get(callId);
+ }
+
+ public Call getCallByTelecommCall(android.telecomm.Call telecommCall) {
+ return mCallByTelecommCall.get(telecommCall);
+ }
+
+ public List<String> getTextResponses(String callId) {
return mCallTextReponsesMap.get(callId);
}
@@ -285,7 +323,7 @@
public Call getCallWithState(int state, int positionToFind) {
Call retval = null;
int position = 0;
- for (Call call : mCallMap.values()) {
+ for (Call call : mCallById.values()) {
if (call.getState() == state) {
if (position >= positionToFind) {
retval = call;
@@ -306,7 +344,7 @@
* there can be no active calls, so this is relatively safe thing to do.
*/
public void clearOnDisconnect() {
- for (Call call : mCallMap.values()) {
+ for (Call call : mCallById.values()) {
final int state = call.getState();
if (state != Call.State.IDLE &&
state != Call.State.INVALID &&
@@ -317,14 +355,26 @@
updateCallInMap(call);
}
}
- notifyListenersOfChange();
+ notifyGenericListeners();
+ }
+
+ /**
+ * Processes an update for a single call.
+ *
+ * @param call The call to update.
+ */
+ private void onUpdateCall(Call call) {
+ Log.d(this, "\t" + call);
+ updateCallInMap(call);
+ updateCallTextMap(call, null);
+ notifyCallUpdateListeners(call);
}
/**
* Sends a generic notification to all listeners that something has changed.
* It is up to the listeners to call back to determine what changed.
*/
- private void notifyListenersOfChange() {
+ private void notifyGenericListeners() {
for (Listener listener : mListeners) {
listener.onCallListChange(this);
}
@@ -345,11 +395,9 @@
boolean updated = false;
- final Integer id = new Integer(call.getCallId());
-
if (call.getState() == Call.State.DISCONNECTED) {
// update existing (but do not add!!) disconnected calls
- if (mCallMap.containsKey(id)) {
+ if (mCallById.containsKey(call.getId())) {
// For disconnected calls, we want to keep them alive for a few seconds so that the
// UI has a chance to display anything it needs when a call is disconnected.
@@ -358,14 +406,17 @@
final Message msg = mHandler.obtainMessage(EVENT_DISCONNECTED_TIMEOUT, call);
mHandler.sendMessageDelayed(msg, getDelayForDisconnect(call));
- mCallMap.put(id, call);
+ mCallById.put(call.getId(), call);
+ mCallByTelecommCall.put(call.getTelecommCall(), call);
updated = true;
}
} else if (!isCallDead(call)) {
- mCallMap.put(id, call);
+ mCallById.put(call.getId(), call);
+ mCallByTelecommCall.put(call.getTelecommCall(), call);
updated = true;
- } else if (mCallMap.containsKey(id)) {
- mCallMap.remove(id);
+ } else if (mCallById.containsKey(call.getId())) {
+ mCallById.remove(call.getId());
+ mCallByTelecommCall.remove(call.getTelecommCall());
updated = true;
}
@@ -387,7 +438,8 @@
break;
case DisconnectCause.INCOMING_REJECTED:
case DisconnectCause.INCOMING_MISSED:
- // no delay for missed/rejected incoming calls
+ case DisconnectCause.OUTGOING_CANCELED:
+ // no delay for missed/rejected incoming calls and canceled outgoing calls.
delay = 0;
break;
default:
@@ -401,14 +453,12 @@
private void updateCallTextMap(Call call, List<String> textResponses) {
Preconditions.checkNotNull(call);
- final Integer id = new Integer(call.getCallId());
-
if (!isCallDead(call)) {
if (textResponses != null) {
- mCallTextReponsesMap.put(id, (ArrayList<String>) textResponses);
+ mCallTextReponsesMap.put(call.getId(), textResponses);
}
- } else if (mCallMap.containsKey(id)) {
- mCallTextReponsesMap.remove(id);
+ } else if (mCallById.containsKey(call.getId())) {
+ mCallTextReponsesMap.remove(call.getId());
}
}
@@ -423,7 +473,20 @@
private void finishDisconnectedCall(Call call) {
call.setState(Call.State.IDLE);
updateCallInMap(call);
- notifyListenersOfChange();
+ notifyGenericListeners();
+ }
+
+ /**
+ * Notifies all video calls of a change in device orientation.
+ *
+ * @param rotation The new rotation angle (in degrees).
+ */
+ public void notifyCallsOfDeviceRotation(int rotation) {
+ for (Call call : mCallById.values()) {
+ if (call.getVideoCall() != null) {
+ call.getVideoCall().setDeviceOrientation(rotation);
+ }
+ }
}
/**
@@ -475,6 +538,6 @@
public interface CallUpdateListener {
// TODO: refactor and limit arg to be call state. Caller info is not needed.
- public void onCallStateChanged(Call call);
+ public void onCallChanged(Call call);
}
}
diff --git a/InCallUI/src/com/android/incallui/CallerInfo.java b/InCallUI/src/com/android/incallui/CallerInfo.java
index ea6ebd9..138575a 100644
--- a/InCallUI/src/com/android/incallui/CallerInfo.java
+++ b/InCallUI/src/com/android/incallui/CallerInfo.java
@@ -16,29 +16,28 @@
package com.android.incallui;
+import com.android.contacts.common.util.PhoneNumberHelper;
+import com.android.contacts.common.util.TelephonyManagerUtils;
import android.content.Context;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
-import android.location.Country;
-import android.location.CountryDetector;
import android.net.Uri;
import android.provider.ContactsContract.CommonDataKinds.Phone;
+import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.PhoneLookup;
import android.provider.ContactsContract.RawContacts;
import android.telephony.PhoneNumberUtils;
-import android.telephony.TelephonyManager;
import android.text.TextUtils;
-import com.android.i18n.phonenumbers.geocoding.PhoneNumberOfflineGeocoder;
-import com.android.i18n.phonenumbers.NumberParseException;
-import com.android.i18n.phonenumbers.PhoneNumberUtil;
-import com.android.i18n.phonenumbers.Phonenumber.PhoneNumber;
+import com.google.i18n.phonenumbers.geocoding.PhoneNumberOfflineGeocoder;
+import com.google.i18n.phonenumbers.NumberParseException;
+import com.google.i18n.phonenumbers.PhoneNumberUtil;
+import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
import java.util.Locale;
-
/**
* Looks up caller information for the given phone number.
*
@@ -91,10 +90,19 @@
public String numberLabel;
public int photoResource;
- public long person_id;
+
+ // Contact ID, which will be 0 if a contact comes from the corp CP2.
+ public long contactIdOrZero;
+ public String lookupKeyOrNull;
public boolean needUpdate;
public Uri contactRefUri;
+ /**
+ * Contact display photo URI. If a contact has no display photo but a thumbnail, it'll be
+ * the thumbnail URI instead.
+ */
+ public Uri contactDisplayPhotoUri;
+
// fields to hold individual contact preference data,
// including the send to voicemail flag and the ringtone
// uri reference.
@@ -195,7 +203,7 @@
if (typeColumnIndex != -1) {
info.numberType = cursor.getInt(typeColumnIndex);
info.numberLabel = cursor.getString(columnIndex);
- info.phoneLabel = Phone.getDisplayLabel(context,
+ info.phoneLabel = Phone.getTypeLabel(context.getResources(),
info.numberType, info.numberLabel)
.toString();
}
@@ -204,16 +212,33 @@
// Look for the person_id.
columnIndex = getColumnIndexForPersonId(contactRef, cursor);
if (columnIndex != -1) {
- info.person_id = cursor.getLong(columnIndex);
- Log.v(TAG, "==> got info.person_id: " + info.person_id);
+ final long contactId = cursor.getLong(columnIndex);
+ if (contactId != 0 && !Contacts.isCorpContactId(contactId)) {
+ info.contactIdOrZero = contactId;
+ Log.v(TAG, "==> got info.contactIdOrZero: " + info.contactIdOrZero);
+
+ // cache the lookup key for later use with person_id to create lookup URIs
+ columnIndex = cursor.getColumnIndex(PhoneLookup.LOOKUP_KEY);
+ if (columnIndex != -1) {
+ info.lookupKeyOrNull = cursor.getString(columnIndex);
+ }
+ }
} else {
// No valid columnIndex, so we can't look up person_id.
- Log.v(TAG, "Couldn't find person_id column for " + contactRef);
+ Log.v(TAG, "Couldn't find contactId column for " + contactRef);
// Watch out: this means that anything that depends on
// person_id will be broken (like contact photo lookups in
// the in-call UI, for example.)
}
+ // Display photo URI.
+ columnIndex = cursor.getColumnIndex(PhoneLookup.PHOTO_URI);
+ if ((columnIndex != -1) && (cursor.getString(columnIndex) != null)) {
+ info.contactDisplayPhotoUri = Uri.parse(cursor.getString(columnIndex));
+ } else {
+ info.contactDisplayPhotoUri = null;
+ }
+
// look for the custom ringtone, create from the string stored
// in the database.
columnIndex = cursor.getColumnIndex(PhoneLookup.CUSTOM_RINGTONE);
@@ -248,53 +273,13 @@
* @return the CallerInfo which contains the caller id for the given
* number. The returned CallerInfo is null if no number is supplied.
*/
- public static CallerInfo getCallerInfo(Context context, Uri contactRef) {
+ private static CallerInfo getCallerInfo(Context context, Uri contactRef) {
return getCallerInfo(context, contactRef,
context.getContentResolver().query(contactRef, null, null, null, null));
}
/**
- * getCallerInfo given a phone number, look up in the call-log database
- * for the matching caller id info.
- * @param context the context used to get the ContentResolver
- * @param number the phone number used to lookup caller id
- * @return the CallerInfo which contains the caller id for the given
- * number. The returned CallerInfo is null if no number is supplied. If
- * a matching number is not found, then a generic caller info is returned,
- * with all relevant fields empty or null.
- */
- public static CallerInfo getCallerInfo(Context context, String number) {
- Log.v(TAG, "getCallerInfo() based on number...");
-
- if (TextUtils.isEmpty(number)) {
- return null;
- }
-
- // Change the callerInfo number ONLY if it is an emergency number
- // or if it is the voicemail number. If it is either, take a
- // shortcut and skip the query.
- if (PhoneNumberUtils.isLocalEmergencyNumber(number, context)) {
- return new CallerInfo().markAsEmergency(context);
- } else if (PhoneNumberUtils.isVoiceMailNumber(number)) {
- return new CallerInfo().markAsVoiceMail();
- }
-
- Uri contactUri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number));
-
- CallerInfo info = getCallerInfo(context, contactUri);
- info = doSecondaryLookupIfNecessary(context, number, info);
-
- // if no query results were returned with a viable number,
- // fill in the original number value we used to query with.
- if (TextUtils.isEmpty(info.phoneNumber)) {
- info.phoneNumber = number;
- }
-
- return info;
- }
-
- /**
* Performs another lookup if previous lookup fails and it's a SIP call
* and the peer's username is all numeric. Look up the username as it
* could be a PSTN number in the contact database.
@@ -307,50 +292,17 @@
static CallerInfo doSecondaryLookupIfNecessary(Context context,
String number, CallerInfo previousResult) {
if (!previousResult.contactExists
- && PhoneNumberUtils.isUriNumber(number)) {
- String username = PhoneNumberUtils.getUsernameFromUriNumber(number);
+ && PhoneNumberHelper.isUriNumber(number)) {
+ String username = PhoneNumberHelper.getUsernameFromUriNumber(number);
if (PhoneNumberUtils.isGlobalPhoneNumber(username)) {
previousResult = getCallerInfo(context,
- Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI,
+ Uri.withAppendedPath(PhoneLookup.ENTERPRISE_CONTENT_FILTER_URI,
Uri.encode(username)));
}
}
return previousResult;
}
- /**
- * getCallerId: a convenience method to get the caller id for a given
- * number.
- *
- * @param context the context used to get the ContentResolver.
- * @param number a phone number.
- * @return if the number belongs to a contact, the contact's name is
- * returned; otherwise, the number itself is returned.
- *
- * TODO NOTE: This MAY need to refer to the Asynchronous Query API
- * [startQuery()], instead of getCallerInfo, but since it looks like
- * it is only being used by the provider calls in the messaging app:
- * 1. android.provider.Telephony.Mms.getDisplayAddress()
- * 2. android.provider.Telephony.Sms.getDisplayAddress()
- * We may not need to make the change.
- */
- public static String getCallerId(Context context, String number) {
- CallerInfo info = getCallerInfo(context, number);
- String callerID = null;
-
- if (info != null) {
- String name = info.name;
-
- if (!TextUtils.isEmpty(name)) {
- callerID = name;
- } else {
- callerID = number;
- }
- }
-
- return callerID;
- }
-
// Accessors
/**
@@ -381,7 +333,7 @@
// should be displayed.
/* package */ CallerInfo markAsEmergency(Context context) {
phoneNumber = context.getString(R.string.emergency_call_dialog_number_for_display);
- photoResource = R.drawable.picture_emergency;
+ photoResource = R.drawable.img_emergency;
mIsEmergency = true;
return this;
}
@@ -396,13 +348,14 @@
*/
// TODO: As in the emergency number handling, we end up writing a
// string in the phone number field.
- /* package */ CallerInfo markAsVoiceMail() {
+ /* package */ CallerInfo markAsVoiceMail(Context context) {
mIsVoiceMail = true;
try {
- String voiceMailLabel = TelephonyManager.getDefault().getVoiceMailAlphaTag();
-
- phoneNumber = voiceMailLabel;
+ // For voicemail calls, we display the voice mail tag
+ // instead of the real phone number in the "number"
+ // field.
+ phoneNumber = TelephonyManagerUtils.getVoiceMailAlphaTag(context);
} catch (SecurityException se) {
// Should never happen: if this process does not have
// permission to retrieve VM tag, it should not have
@@ -534,7 +487,7 @@
PhoneNumberOfflineGeocoder geocoder = PhoneNumberOfflineGeocoder.getInstance();
Locale locale = context.getResources().getConfiguration().locale;
- String countryIso = getCurrentCountryIso(context, locale);
+ String countryIso = TelephonyManagerUtils.getCurrentCountryIso(context, locale);
PhoneNumber pn = null;
try {
Log.v(TAG, "parsing '" + number
@@ -550,37 +503,9 @@
String description = geocoder.getDescriptionForNumber(pn, locale);
Log.v(TAG, "- got description: '" + description + "'");
return description;
- } else {
- return null;
}
- }
- /**
- * @return The ISO 3166-1 two letters country code of the country the user
- * is in.
- */
- private static String getCurrentCountryIso(Context context, Locale locale) {
- String countryIso = null;
- CountryDetector detector = (CountryDetector) context.getSystemService(
- Context.COUNTRY_DETECTOR);
- if (detector != null) {
- Country country = detector.detectCountry();
- if (country != null) {
- countryIso = country.getCountryIso();
- } else {
- Log.e(TAG, "CountryDetector.detectCountry() returned null.");
- }
- }
- if (countryIso == null) {
- countryIso = locale.getCountry();
- Log.w(TAG, "No CountryDetector; falling back to countryIso based on locale: "
- + countryIso);
- }
- return countryIso;
- }
-
- protected static String getCurrentCountryIso(Context context) {
- return getCurrentCountryIso(context, Locale.getDefault());
+ return null;
}
/**
@@ -608,10 +533,11 @@
.append("\nnumberType: " + numberType)
.append("\nnumberLabel: " + numberLabel)
.append("\nphotoResource: " + photoResource)
- .append("\nperson_id: " + person_id)
+ .append("\ncontactIdOrZero: " + contactIdOrZero)
.append("\nneedUpdate: " + needUpdate)
.append("\ncontactRefUri: " + contactRefUri)
- .append("\ncontactRingtoneUri: " + contactRefUri)
+ .append("\ncontactRingtoneUri: " + contactRingtoneUri)
+ .append("\ncontactDisplayPhotoUri: " + contactDisplayPhotoUri)
.append("\nshouldSendToVoicemail: " + shouldSendToVoicemail)
.append("\ncachedPhoto: " + cachedPhoto)
.append("\nisCachedPhotoCurrent: " + isCachedPhotoCurrent)
diff --git a/InCallUI/src/com/android/incallui/CallerInfoAsyncQuery.java b/InCallUI/src/com/android/incallui/CallerInfoAsyncQuery.java
index c09baf2..fd95458 100644
--- a/InCallUI/src/com/android/incallui/CallerInfoAsyncQuery.java
+++ b/InCallUI/src/com/android/incallui/CallerInfoAsyncQuery.java
@@ -24,12 +24,17 @@
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
-import android.provider.ContactsContract.CommonDataKinds.SipAddress;
-import android.provider.ContactsContract.Data;
+import android.provider.ContactsContract;
import android.provider.ContactsContract.PhoneLookup;
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
+import com.android.contacts.common.util.PhoneNumberHelper;
+import com.android.contacts.common.util.TelephonyManagerUtils;
+
+import java.util.Arrays;
+import java.util.Locale;
+
/**
* Helper class to make it easier to run asynchronous caller-id lookup queries.
* @see CallerInfo
@@ -90,6 +95,20 @@
*/
private class CallerInfoAsyncQueryHandler extends AsyncQueryHandler {
+ @Override
+ public void startQuery(int token, Object cookie, Uri uri, String[] projection,
+ String selection, String[] selectionArgs, String orderBy) {
+ if (DBG) {
+ // Show stack trace with the arguments.
+ android.util.Log.d(LOG_TAG, "InCall: startQuery: url=" + uri +
+ " projection=[" + Arrays.toString(projection) + "]" +
+ " selection=" + selection + " " +
+ " args=[" + Arrays.toString(selectionArgs) + "]",
+ new RuntimeException("STACKTRACE"));
+ }
+ super.startQuery(token, cookie, uri, projection, selection, selectionArgs, orderBy);
+ }
+
/**
* The information relevant to each CallerInfo query. Each query may have multiple
* listeners, so each AsyncCursorInfo is associated with 2 or more CookieWrapper
@@ -231,7 +250,7 @@
// comments at the top of CallerInfo class).
mCallerInfo = new CallerInfo().markAsEmergency(mQueryContext);
} else if (cw.event == EVENT_VOICEMAIL_NUMBER) {
- mCallerInfo = new CallerInfo().markAsVoiceMail();
+ mCallerInfo = new CallerInfo().markAsVoiceMail(mQueryContext);
} else {
mCallerInfo = CallerInfo.getCallerInfo(mQueryContext, mQueryUri, cursor);
Log.d(this, "==> Got mCallerInfo: " + mCallerInfo);
@@ -268,9 +287,10 @@
// Use the number entered by the user for display.
if (!TextUtils.isEmpty(cw.number)) {
- mCallerInfo.phoneNumber = PhoneNumberUtils.formatNumber(cw.number,
+ mCallerInfo.phoneNumber = PhoneNumberHelper.formatNumber(cw.number,
mCallerInfo.normalizedNumber,
- CallerInfo.getCurrentCountryIso(mQueryContext));
+ TelephonyManagerUtils.getCurrentCountryIso(mQueryContext,
+ Locale.getDefault()));
}
}
@@ -297,29 +317,6 @@
private CallerInfoAsyncQuery() {
}
-
- /**
- * Factory method to start query with a Uri query spec
- */
- public static CallerInfoAsyncQuery startQuery(int token, Context context, Uri contactRef,
- OnQueryCompleteListener listener, Object cookie) {
-
- CallerInfoAsyncQuery c = new CallerInfoAsyncQuery();
- c.allocate(context, contactRef);
-
- Log.d(LOG_TAG, "starting query for URI: " + contactRef + " handler: " + c.toString());
-
- //create cookieWrapper, start query
- CookieWrapper cw = new CookieWrapper();
- cw.listener = listener;
- cw.cookie = cookie;
- cw.event = EVENT_NEW_QUERY;
-
- c.mHandler.startQuery(token, cw, contactRef, null, null, null, null);
-
- return c;
- }
-
/**
* Factory method to start the query based on a number.
*
@@ -334,56 +331,19 @@
public static CallerInfoAsyncQuery startQuery(int token, Context context, String number,
OnQueryCompleteListener listener, Object cookie) {
Log.d(LOG_TAG, "##### CallerInfoAsyncQuery startQuery()... #####");
- Log.d(LOG_TAG, "- number: " + /* number */"xxxxxxx");
+ Log.d(LOG_TAG, "- number: " + number);
Log.d(LOG_TAG, "- cookie: " + cookie);
// Construct the URI object and query params, and start the query.
- Uri contactRef;
- String selection;
- String[] selectionArgs;
-
- if (PhoneNumberUtils.isUriNumber(number)) {
- // "number" is really a SIP address.
- Log.d(LOG_TAG, " - Treating number as a SIP address: " + /* number */"xxxxxxx");
-
- // We look up SIP addresses directly in the Data table:
- contactRef = Data.CONTENT_URI;
-
- // Note Data.DATA1 and SipAddress.SIP_ADDRESS are equivalent.
- //
- // Also note we use "upper(data1)" in the WHERE clause, and
- // uppercase the incoming SIP address, in order to do a
- // case-insensitive match.
- //
- // TODO: need to confirm that the use of upper() doesn't
- // prevent us from using the index! (Linear scan of the whole
- // contacts DB can be very slow.)
- //
- // TODO: May also need to normalize by adding "sip:" as a
- // prefix, if we start storing SIP addresses that way in the
- // database.
-
- selection = "upper(" + Data.DATA1 + ")=?"
- + " AND "
- + Data.MIMETYPE + "='" + SipAddress.CONTENT_ITEM_TYPE + "'";
- selectionArgs = new String[] { number.toUpperCase() };
-
- } else {
- // "number" is a regular phone number. Use the PhoneLookup table:
- contactRef = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number));
- selection = null;
- selectionArgs = null;
- }
+ final Uri contactRef = PhoneLookup.ENTERPRISE_CONTENT_FILTER_URI.buildUpon()
+ .appendPath(number)
+ .appendQueryParameter(PhoneLookup.QUERY_PARAMETER_SIP_ADDRESS,
+ String.valueOf(PhoneNumberHelper.isUriNumber(number)))
+ .build();
if (DBG) {
Log.d(LOG_TAG, "==> contactRef: " + sanitizeUriToString(contactRef));
- Log.d(LOG_TAG, "==> selection: " + selection);
- if (selectionArgs != null) {
- for (int i = 0; i < selectionArgs.length; i++) {
- Log.d(LOG_TAG, "==> selectionArgs[" + i + "]: " + selectionArgs[i]);
- }
- }
}
CallerInfoAsyncQuery c = new CallerInfoAsyncQuery();
@@ -396,7 +356,7 @@
cw.number = number;
// check to see if these are recognized numbers, and use shortcuts if we can.
- if (PhoneNumberUtils.isLocalEmergencyNumber(number, context)) {
+ if (PhoneNumberHelper.isLocalEmergencyNumber(number, context)) {
cw.event = EVENT_EMERGENCY_NUMBER;
} else if (PhoneNumberUtils.isVoiceMailNumber(number)) {
cw.event = EVENT_VOICEMAIL_NUMBER;
@@ -408,30 +368,13 @@
cw, // cookie
contactRef, // uri
null, // projection
- selection, // selection
- selectionArgs, // selectionArgs
+ null, // selection
+ null, // selectionArgs
null); // orderBy
return c;
}
/**
- * Method to add listeners to a currently running query
- */
- public void addQueryListener(int token, OnQueryCompleteListener listener, Object cookie) {
-
- Log.d(this, "adding listener to query: " + sanitizeUriToString(mHandler.mQueryUri) +
- " handler: " + mHandler.toString());
-
- //create cookieWrapper, add query request to end of queue.
- CookieWrapper cw = new CookieWrapper();
- cw.listener = listener;
- cw.cookie = cookie;
- cw.event = EVENT_ADD_LISTENER;
-
- mHandler.startQuery(token, cw, null, null, null, null, null);
- }
-
- /**
* Method to create a new CallerInfoAsyncQueryHandler object, ensuring correct
* state of context and uri.
*/
diff --git a/InCallUI/src/com/android/incallui/CallerInfoUtils.java b/InCallUI/src/com/android/incallui/CallerInfoUtils.java
index 3d2c5c4..9745c18 100644
--- a/InCallUI/src/com/android/incallui/CallerInfoUtils.java
+++ b/InCallUI/src/com/android/incallui/CallerInfoUtils.java
@@ -1,12 +1,15 @@
package com.android.incallui;
import android.content.Context;
-import android.content.Intent;
+import android.content.Loader;
+import android.content.Loader.OnLoadCompleteListener;
import android.net.Uri;
+import android.telecomm.PropertyPresentation;
import android.text.TextUtils;
+import android.util.Log;
-import com.android.services.telephony.common.Call;
-import com.android.services.telephony.common.CallIdentification;
+import com.android.contacts.common.model.Contact;
+import com.android.contacts.common.model.ContactLoader;
import java.util.Arrays;
@@ -20,12 +23,6 @@
/** Define for not a special CNAP string */
private static final int CNAP_SPECIAL_CASE_NO = -1;
- private static final String VIEW_NOTIFICATION_ACTION =
- "com.android.contacts.VIEW_NOTIFICATION";
- private static final String VIEW_NOTIFICATION_PACKAGE = "com.android.contacts";
- private static final String VIEW_NOTIFICATION_CLASS =
- "com.android.contacts.ViewNotificationService";
-
public CallerInfoUtils() {
}
@@ -37,14 +34,14 @@
* more information is returned to the OnQueryCompleteListener (which contains
* information about the phone number label, user's name, etc).
*/
- public static CallerInfo getCallerInfoForCall(Context context, CallIdentification call,
+ public static CallerInfo getCallerInfoForCall(Context context, Call call,
CallerInfoAsyncQuery.OnQueryCompleteListener listener) {
CallerInfo info = buildCallerInfo(context, call);
String number = info.phoneNumber;
// TODO: Have phoneapp send a Uri when it knows the contact that triggered this call.
- if (info.numberPresentation == Call.PRESENTATION_ALLOWED) {
+ if (info.numberPresentation == PropertyPresentation.ALLOWED) {
// Start the query with the number provided from the call.
Log.d(TAG, "==> Actually starting CallerInfoAsyncQuery.startQuery()...");
CallerInfoAsyncQuery.startQuery(QUERY_TOKEN, context, number, listener, call);
@@ -52,17 +49,17 @@
return info;
}
- public static CallerInfo buildCallerInfo(Context context, CallIdentification identification) {
+ public static CallerInfo buildCallerInfo(Context context, Call call) {
CallerInfo info = new CallerInfo();
// Store CNAP information retrieved from the Connection (we want to do this
// here regardless of whether the number is empty or not).
- info.cnapName = identification.getCnapName();
+ info.cnapName = call.getCnapName();
info.name = info.cnapName;
- info.numberPresentation = identification.getNumberPresentation();
- info.namePresentation = identification.getCnapNamePresentation();
+ info.numberPresentation = call.getNumberPresentation();
+ info.namePresentation = call.getCnapNamePresentation();
- String number = identification.getNumber();
+ String number = call.getNumber();
if (!TextUtils.isEmpty(number)) {
final String[] numbers = number.split("&");
number = numbers[0];
@@ -101,9 +98,9 @@
final String[] absentNumberValues =
context.getResources().getStringArray(R.array.absent_num);
if (Arrays.asList(absentNumberValues).contains(number)
- && presentation == Call.PRESENTATION_ALLOWED) {
+ && presentation == PropertyPresentation.ALLOWED) {
number = context.getString(R.string.unknown);
- ci.numberPresentation = Call.PRESENTATION_UNKNOWN;
+ ci.numberPresentation = PropertyPresentation.UNKNOWN;
}
// Check for other special "corner cases" for CNAP and fix them similarly. Corner
@@ -111,48 +108,31 @@
// if we think we have an allowed presentation, or if the CallerInfo presentation doesn't
// match the presentation passed in for verification (meaning we changed it previously
// because it's a corner case and we're being called from a different entry point).
- if (ci.numberPresentation == Call.PRESENTATION_ALLOWED
+ if (ci.numberPresentation == PropertyPresentation.ALLOWED
|| (ci.numberPresentation != presentation
- && presentation == Call.PRESENTATION_ALLOWED)) {
- int cnapSpecialCase = checkCnapSpecialCases(number);
- if (cnapSpecialCase != CNAP_SPECIAL_CASE_NO) {
- // For all special strings, change number & numberPresentation.
- if (cnapSpecialCase == Call.PRESENTATION_RESTRICTED) {
- number = context.getString(R.string.private_num);
- } else if (cnapSpecialCase == Call.PRESENTATION_UNKNOWN) {
- number = context.getString(R.string.unknown);
- }
- Log.d(TAG, "SpecialCnap: number=" + toLogSafePhoneNumber(number)
- + "; presentation now=" + cnapSpecialCase);
- ci.numberPresentation = cnapSpecialCase;
+ && presentation == PropertyPresentation.ALLOWED)) {
+ // For all special strings, change number & numberPrentation.
+ if (isCnapSpecialCaseRestricted(number)) {
+ number = context.getString(R.string.private_num);
+ ci.numberPresentation = PropertyPresentation.RESTRICTED;
+ } else if (isCnapSpecialCaseUnknown(number)) {
+ number = context.getString(R.string.unknown);
+ ci.numberPresentation = PropertyPresentation.UNKNOWN;
}
+ Log.d(TAG, "SpecialCnap: number=" + toLogSafePhoneNumber(number)
+ + "; presentation now=" + ci.numberPresentation);
}
Log.d(TAG, "modifyForSpecialCnapCases: returning number string="
+ toLogSafePhoneNumber(number));
return number;
}
- /**
- * Based on the input CNAP number string,
- * @return _RESTRICTED or _UNKNOWN for all the special CNAP strings.
- * Otherwise, return CNAP_SPECIAL_CASE_NO.
- */
- private static int checkCnapSpecialCases(String n) {
- if (n.equals("PRIVATE") ||
- n.equals("P") ||
- n.equals("RES")) {
- Log.d(TAG, "checkCnapSpecialCases, PRIVATE string: " + n);
- return Call.PRESENTATION_RESTRICTED;
- } else if (n.equals("UNAVAILABLE") ||
- n.equals("UNKNOWN") ||
- n.equals("UNA") ||
- n.equals("U")) {
- Log.d(TAG, "checkCnapSpecialCases, UNKNOWN string: " + n);
- return Call.PRESENTATION_UNKNOWN;
- } else {
- Log.d(TAG, "checkCnapSpecialCases, normal str. number: " + n);
- return CNAP_SPECIAL_CASE_NO;
- }
+ private static boolean isCnapSpecialCaseRestricted(String n) {
+ return n.equals("PRIVATE") || n.equals("P") || n.equals("RES");
+ }
+
+ private static boolean isCnapSpecialCaseUnknown(String n) {
+ return n.equals("UNAVAILABLE") || n.equals("UNKNOWN") || n.equals("UNA") || n.equals("U");
}
/* package */static String toLogSafePhoneNumber(String number) {
@@ -182,12 +162,23 @@
}
/**
- * Send a notification that that we are viewing a particular contact, so that the high-res
- * photo is downloaded by the sync adapter.
+ * Send a notification using a {@link ContactLoader} to inform the sync adapter that we are
+ * viewing a particular contact, so that it can download the high-res photo.
*/
public static void sendViewNotification(Context context, Uri contactUri) {
- final Intent intent = new Intent(VIEW_NOTIFICATION_ACTION, contactUri);
- intent.setClassName(VIEW_NOTIFICATION_PACKAGE, VIEW_NOTIFICATION_CLASS);
- context.startService(intent);
+ final ContactLoader loader = new ContactLoader(context, contactUri,
+ true /* postViewNotification */);
+ loader.registerListener(0, new OnLoadCompleteListener<Contact>() {
+ @Override
+ public void onLoadComplete(
+ Loader<Contact> loader, Contact contact) {
+ try {
+ loader.reset();
+ } catch (RuntimeException e) {
+ Log.e(TAG, "Error resetting loader", e);
+ }
+ }
+ });
+ loader.startLoading();
}
}
diff --git a/InCallUI/src/com/android/incallui/ConferenceManagerPresenter.java b/InCallUI/src/com/android/incallui/ConferenceManagerPresenter.java
index 1ba88cb..2b5e8eb 100644
--- a/InCallUI/src/com/android/incallui/ConferenceManagerPresenter.java
+++ b/InCallUI/src/com/android/incallui/ConferenceManagerPresenter.java
@@ -21,7 +21,6 @@
import com.android.incallui.ContactInfoCache.ContactCacheEntry;
import com.android.incallui.InCallPresenter.InCallState;
import com.android.incallui.InCallPresenter.InCallStateListener;
-import com.android.services.telephony.common.Call;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableSortedSet;
@@ -35,8 +34,7 @@
private static final int MAX_CALLERS_IN_CONFERENCE = 5;
- private int mNumCallersInConference;
- private Integer[] mCallerIds;
+ private String[] mCallerIds;
private Context mContext;
@Override
@@ -55,10 +53,10 @@
}
@Override
- public void onStateChange(InCallState state, CallList callList) {
+ public void onStateChange(InCallState oldState, InCallState newState, CallList callList) {
if (getUi().isFragmentVisible()) {
- Log.v(this, "onStateChange" + state);
- if (state == InCallState.INCALL) {
+ Log.v(this, "onStateChange" + newState);
+ if (newState == InCallState.INCALL) {
final Call call = callList.getActiveOrBackgroundCall();
if (call != null && call.isConferenceCall()) {
Log.v(this, "Number of existing calls is " +
@@ -80,10 +78,15 @@
}
private void update(CallList callList) {
- mCallerIds = null;
- mCallerIds = callList.getActiveOrBackgroundCall().getChildCallIds().toArray(new Integer[0]);
- mNumCallersInConference = mCallerIds.length;
- Log.v(this, "Number of calls is " + String.valueOf(mNumCallersInConference));
+ // callList is non null, but getActiveOrBackgroundCall() may return null
+ final Call currentCall = callList.getActiveOrBackgroundCall();
+ if (currentCall != null) {
+ // getChildCallIds() always returns a valid Set
+ mCallerIds = currentCall.getChildCallIds().toArray(new String[0]);
+ } else {
+ mCallerIds = new String[0];
+ }
+ Log.d(this, "Number of calls is " + String.valueOf(mCallerIds.length));
// Users can split out a call from the conference call if there either the active call
// or the holding call is empty. If both are filled at the moment, users can not split out
@@ -93,7 +96,7 @@
boolean canSeparate = !(hasActiveCall && hasHoldingCall);
for (int i = 0; i < MAX_CALLERS_IN_CONFERENCE; i++) {
- if (i < mNumCallersInConference) {
+ if (i < mCallerIds.length) {
// Fill in the row in the UI for this caller.
final ContactCacheEntry contactCache = ContactInfoCache.getInstance(mContext).
@@ -149,11 +152,15 @@
}
public void separateConferenceConnection(int rowId) {
- CallCommandClient.getInstance().separateCall(mCallerIds[rowId]);
+ if (rowId < mCallerIds.length) {
+ TelecommAdapter.getInstance().separateCall(mCallerIds[rowId]);
+ }
}
public void endConferenceConnection(int rowId) {
- CallCommandClient.getInstance().disconnectCall(mCallerIds[rowId]);
+ if (rowId < mCallerIds.length) {
+ TelecommAdapter.getInstance().disconnectCall(mCallerIds[rowId]);
+ }
}
public interface ConferenceManagerUi extends Ui {
diff --git a/InCallUI/src/com/android/incallui/ContactInfoCache.java b/InCallUI/src/com/android/incallui/ContactInfoCache.java
index 448de7f..ccf5b79 100644
--- a/InCallUI/src/com/android/incallui/ContactInfoCache.java
+++ b/InCallUI/src/com/android/incallui/ContactInfoCache.java
@@ -16,7 +16,6 @@
package com.android.incallui;
-import android.content.ContentUris;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
@@ -25,22 +24,19 @@
import android.os.Looper;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.CommonDataKinds.Phone;
-import android.telephony.PhoneNumberUtils;
+import android.telecomm.PropertyPresentation;
import android.text.TextUtils;
+import com.android.contacts.common.util.PhoneNumberHelper;
import com.android.incallui.service.PhoneNumberService;
import com.android.incalluibind.ServiceFactory;
-import com.android.services.telephony.common.Call;
-import com.android.services.telephony.common.CallIdentification;
import com.android.services.telephony.common.MoreStrings;
-import com.google.android.collect.Lists;
-import com.google.android.collect.Maps;
-import com.google.android.collect.Sets;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
import com.google.common.base.Objects;
import com.google.common.base.Preconditions;
import java.util.HashMap;
-import java.util.List;
import java.util.Set;
/**
@@ -56,14 +52,14 @@
private final Context mContext;
private final PhoneNumberService mPhoneNumberService;
- private final HashMap<Integer, ContactCacheEntry> mInfoMap = Maps.newHashMap();
- private final HashMap<Integer, Set<ContactInfoCacheCallback>> mCallBacks = Maps.newHashMap();
+ private final HashMap<String, ContactCacheEntry> mInfoMap = Maps.newHashMap();
+ private final HashMap<String, Set<ContactInfoCacheCallback>> mCallBacks = Maps.newHashMap();
private static ContactInfoCache sCache = null;
public static synchronized ContactInfoCache getInstance(Context mContext) {
if (sCache == null) {
- sCache = new ContactInfoCache(mContext);
+ sCache = new ContactInfoCache(mContext.getApplicationContext());
}
return sCache;
}
@@ -73,18 +69,18 @@
mPhoneNumberService = ServiceFactory.newPhoneNumberService(context);
}
- public ContactCacheEntry getInfo(int callId) {
+ public ContactCacheEntry getInfo(String callId) {
return mInfoMap.get(callId);
}
- public static ContactCacheEntry buildCacheEntryFromCall(Context context,
- CallIdentification identification, boolean isIncoming) {
+ public static ContactCacheEntry buildCacheEntryFromCall(Context context, Call call,
+ boolean isIncoming) {
final ContactCacheEntry entry = new ContactCacheEntry();
// TODO: get rid of caller info.
- final CallerInfo info = CallerInfoUtils.buildCallerInfo(context, identification);
- ContactInfoCache.populateCacheEntry(context, info, entry,
- identification.getNumberPresentation(), isIncoming);
+ final CallerInfo info = CallerInfoUtils.buildCallerInfo(context, call);
+ ContactInfoCache.populateCacheEntry(context, info, entry, call.getNumberPresentation(),
+ isIncoming);
return entry;
}
@@ -97,8 +93,7 @@
@Override
public void onQueryComplete(int token, Object cookie, CallerInfo callerInfo) {
- final CallIdentification identification = (CallIdentification) cookie;
- findInfoQueryComplete(identification, callerInfo, mIsIncoming, true);
+ findInfoQueryComplete((Call) cookie, callerInfo, mIsIncoming, true);
}
}
@@ -107,15 +102,14 @@
* Returns the data through callback. If callback is null, no response is made, however the
* query is still performed and cached.
*
- * @param identification The call identification
* @param callback The function to call back when the call is found. Can be null.
*/
- public void findInfo(final CallIdentification identification, final boolean isIncoming,
+ public void findInfo(final Call call, final boolean isIncoming,
ContactInfoCacheCallback callback) {
Preconditions.checkState(Looper.getMainLooper().getThread() == Thread.currentThread());
Preconditions.checkNotNull(callback);
- final int callId = identification.getCallId();
+ final String callId = call.getId();
final ContactCacheEntry cacheEntry = mInfoMap.get(callId);
Set<ContactInfoCacheCallback> callBacks = mCallBacks.get(callId);
@@ -148,17 +142,18 @@
* emergency call information, will not perform an additional asynchronous query.
*/
final CallerInfo callerInfo = CallerInfoUtils.getCallerInfoForCall(
- mContext, identification, new FindInfoCallback(isIncoming));
+ mContext, call, new FindInfoCallback(isIncoming));
- findInfoQueryComplete(identification, callerInfo, isIncoming, false);
+ findInfoQueryComplete(call, callerInfo, isIncoming, false);
}
- private void findInfoQueryComplete(CallIdentification identification,
- CallerInfo callerInfo, boolean isIncoming, boolean didLocalLookup) {
- final int callId = identification.getCallId();
- int presentationMode = identification.getNumberPresentation();
- if (callerInfo.contactExists || callerInfo.isEmergencyNumber() || callerInfo.isVoiceMailNumber()) {
- presentationMode = Call.PRESENTATION_ALLOWED;
+ private void findInfoQueryComplete(Call call, CallerInfo callerInfo, boolean isIncoming,
+ boolean didLocalLookup) {
+ final String callId = call.getId();
+ int presentationMode = call.getNumberPresentation();
+ if (callerInfo.contactExists || callerInfo.isEmergencyNumber() ||
+ callerInfo.isVoiceMailNumber()) {
+ presentationMode = PropertyPresentation.ALLOWED;
}
final ContactCacheEntry cacheEntry = buildEntry(mContext, callId,
@@ -175,12 +170,12 @@
final PhoneNumberServiceListener listener = new PhoneNumberServiceListener(callId);
mPhoneNumberService.getPhoneNumberInfo(cacheEntry.number, listener, listener,
isIncoming);
- } else if (cacheEntry.personUri != null) {
+ } else if (cacheEntry.displayPhotoUri != null) {
Log.d(TAG, "Contact lookup. Local contact found, starting image load");
// Load the image with a callback to update the image state.
// When the load is finished, onImageLoadComplete() will be called.
ContactsAsyncHelper.startObtainPhotoAsync(TOKEN_UPDATE_PHOTO_FOR_CALL_STATE,
- mContext, cacheEntry.personUri, ContactInfoCache.this, callId);
+ mContext, cacheEntry.displayPhotoUri, ContactInfoCache.this, callId);
} else {
if (callerInfo.contactExists) {
Log.d(TAG, "Contact lookup done. Local contact found, no image.");
@@ -197,9 +192,9 @@
class PhoneNumberServiceListener implements PhoneNumberService.NumberLookupListener,
PhoneNumberService.ImageLookupListener {
- private final int mCallId;
+ private final String mCallId;
- PhoneNumberServiceListener(int callId) {
+ PhoneNumberServiceListener(String callId) {
mCallId = callId;
}
@@ -238,7 +233,7 @@
// If no image and it's a business, switch to using the default business avatar.
if (info.getImageUrl() == null && info.isBusiness()) {
Log.d(TAG, "Business has no image. Using default.");
- entry.photo = mContext.getResources().getDrawable(R.drawable.business_unknown);
+ entry.photo = mContext.getResources().getDrawable(R.drawable.img_business);
}
// Add the contact info to the cache.
@@ -254,8 +249,7 @@
@Override
public void onImageFetchComplete(Bitmap bitmap) {
- onImageLoadComplete(TOKEN_UPDATE_PHOTO_FOR_CALL_STATE, null,
- bitmap, (Integer) mCallId);
+ onImageLoadComplete(TOKEN_UPDATE_PHOTO_FOR_CALL_STATE, null, bitmap, mCallId);
}
}
@@ -269,7 +263,7 @@
// TODO: may be nice to update the image view again once the newer one
// is available on contacts database.
- final int callId = (Integer) cookie;
+ final String callId = (String) cookie;
final ContactCacheEntry entry = mInfoMap.get(callId);
if (entry == null) {
@@ -303,7 +297,7 @@
mCallBacks.clear();
}
- private ContactCacheEntry buildEntry(Context context, int callId,
+ private ContactCacheEntry buildEntry(Context context, String callId,
CallerInfo info, int presentation, boolean isIncoming) {
// The actual strings we're going to display onscreen:
Drawable photo = null;
@@ -320,19 +314,17 @@
} else {
photo = context.getResources().getDrawable(R.drawable.picture_unknown);
}
- } else if (info.person_id == 0) {
+ } else if (info.contactDisplayPhotoUri == null) {
photo = context.getResources().getDrawable(R.drawable.picture_unknown);
} else {
- Uri personUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, info.person_id);
- Log.d(TAG, "- got personUri: '" + personUri + "', based on info.person_id: " +
- info.person_id);
+ cce.displayPhotoUri = info.contactDisplayPhotoUri;
+ }
- if (personUri == null) {
- Log.v(TAG, "personUri is null. Just use unknown picture.");
- photo = context.getResources().getDrawable(R.drawable.picture_unknown);
- } else {
- cce.personUri = personUri;
- }
+ if (info.lookupKeyOrNull == null || info.contactIdOrZero == 0) {
+ Log.v(TAG, "lookup key is null or contact ID is 0. Don't create a lookup uri.");
+ cce.lookupUri = null;
+ } else {
+ cce.lookupUri = Contacts.getLookupUri(info.contactIdOrZero, info.lookupKeyOrNull);
}
cce.photo = photo;
@@ -340,7 +332,7 @@
}
/**
- * Populate a cache entry from a caller identification (which got converted into a caller info).
+ * Populate a cache entry from a call (which got converted into a caller info).
*/
public static void populateCacheEntry(Context context, CallerInfo info, ContactCacheEntry cce,
int presentation, boolean isIncoming) {
@@ -376,7 +368,7 @@
String number = info.phoneNumber;
if (!TextUtils.isEmpty(number)) {
- isSipCall = PhoneNumberUtils.isUriNumber(number);
+ isSipCall = PhoneNumberHelper.isUriNumber(number);
if (number.startsWith("sip:")) {
number = number.substring(4);
}
@@ -393,7 +385,7 @@
// (or potentially some other default based on the presentation.)
displayName = getPresentationString(context, presentation);
Log.d(TAG, " ==> no name *or* number! displayName = " + displayName);
- } else if (presentation != Call.PRESENTATION_ALLOWED) {
+ } else if (presentation != PropertyPresentation.ALLOWED) {
// This case should never happen since the network should never send a phone #
// AND a restricted presentation. However we leave it here in case of weird
// network behavior
@@ -430,7 +422,7 @@
} else {
// We do have a valid "name" in the CallerInfo. Display that
// in the "name" slot, and the phone number in the "number" slot.
- if (presentation != Call.PRESENTATION_ALLOWED) {
+ if (presentation != PropertyPresentation.ALLOWED) {
// This case should never happen since the network should never send a name
// AND a restricted presentation. However we leave it here in case of weird
// network behavior
@@ -456,7 +448,7 @@
/**
* Sends the updated information to call the callbacks for the entry.
*/
- private void sendInfoNotifications(int callId, ContactCacheEntry entry) {
+ private void sendInfoNotifications(String callId, ContactCacheEntry entry) {
final Set<ContactInfoCacheCallback> callBacks = mCallBacks.get(callId);
if (callBacks != null) {
for (ContactInfoCacheCallback callBack : callBacks) {
@@ -465,7 +457,7 @@
}
}
- private void sendImageNotifications(int callId, ContactCacheEntry entry) {
+ private void sendImageNotifications(String callId, ContactCacheEntry entry) {
final Set<ContactInfoCacheCallback> callBacks = mCallBacks.get(callId);
if (callBacks != null && entry.photo != null) {
for (ContactInfoCacheCallback callBack : callBacks) {
@@ -474,7 +466,7 @@
}
}
- private void clearCallbacks(int callId) {
+ private void clearCallbacks(String callId) {
mCallBacks.remove(callId);
}
@@ -483,9 +475,9 @@
*/
private static String getPresentationString(Context context, int presentation) {
String name = context.getString(R.string.unknown);
- if (presentation == Call.PRESENTATION_RESTRICTED) {
+ if (presentation == PropertyPresentation.RESTRICTED) {
name = context.getString(R.string.private_num);
- } else if (presentation == Call.PRESENTATION_PAYPHONE) {
+ } else if (presentation == PropertyPresentation.PAYPHONE) {
name = context.getString(R.string.payphone);
}
return name;
@@ -495,8 +487,8 @@
* Callback interface for the contact query.
*/
public interface ContactInfoCacheCallback {
- public void onContactInfoComplete(int callId, ContactCacheEntry entry);
- public void onImageLoadComplete(int callId, ContactCacheEntry entry);
+ public void onContactInfoComplete(String callId, ContactCacheEntry entry);
+ public void onImageLoadComplete(String callId, ContactCacheEntry entry);
}
public static class ContactCacheEntry {
@@ -506,7 +498,11 @@
public String label;
public Drawable photo;
public boolean isSipCall;
- public Uri personUri; // Used for local photo load
+ /** This will be used for the "view" notification. */
+ public Uri contactUri;
+ /** Either a display photo or a thumbnail URI. */
+ public Uri displayPhotoUri;
+ public Uri lookupUri; // Sent to NotificationMananger
@Override
public String toString() {
@@ -517,6 +513,8 @@
.add("label", label)
.add("photo", photo)
.add("isSipCall", isSipCall)
+ .add("contactUri", contactUri)
+ .add("displayPhotoUri", displayPhotoUri)
.toString();
}
}
diff --git a/InCallUI/src/com/android/incallui/ContactsAsyncHelper.java b/InCallUI/src/com/android/incallui/ContactsAsyncHelper.java
index 395fbfd..011eef2 100644
--- a/InCallUI/src/com/android/incallui/ContactsAsyncHelper.java
+++ b/InCallUI/src/com/android/incallui/ContactsAsyncHelper.java
@@ -19,6 +19,7 @@
import android.app.Notification;
import android.content.ContentUris;
import android.content.Context;
+import android.content.res.AssetFileDescriptor;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
@@ -68,7 +69,7 @@
case EVENT_LOAD_IMAGE:
if (args.listener != null) {
Log.d(this, "Notifying listener: " + args.listener.toString() +
- " image: " + args.uri + " completed");
+ " image: " + args.displayPhotoUri + " completed");
args.listener.onImageLoadComplete(msg.what, args.photo, args.photoIcon,
args.cookie);
}
@@ -91,7 +92,7 @@
private static final class WorkerArgs {
public Context context;
- public Uri uri;
+ public Uri displayPhotoUri;
public Drawable photo;
public Bitmap photoIcon;
public Object cookie;
@@ -99,78 +100,6 @@
}
/**
- * public inner class to help out the ContactsAsyncHelper callers
- * with tracking the state of the CallerInfo Queries and image
- * loading.
- *
- * Logic contained herein is used to remove the race conditions
- * that exist as the CallerInfo queries run and mix with the image
- * loads, which then mix with the Phone state changes.
- */
- public static class ImageTracker {
-
- // Image display states
- public static final int DISPLAY_UNDEFINED = 0;
- public static final int DISPLAY_IMAGE = -1;
- public static final int DISPLAY_DEFAULT = -2;
-
- // State of the image on the imageview.
- private CallerInfo mCurrentCallerInfo;
- private int displayMode;
-
- public ImageTracker() {
- mCurrentCallerInfo = null;
- displayMode = DISPLAY_UNDEFINED;
- }
-
- /**
- * Used to see if the requested call / connection has a
- * different caller attached to it than the one we currently
- * have in the CallCard.
- */
- public boolean isDifferentImageRequest(CallerInfo ci) {
- // note, since the connections are around for the lifetime of the
- // call, and the CallerInfo-related items as well, we can
- // definitely use a simple != comparison.
- return (mCurrentCallerInfo != ci);
- }
-
- /**
- * Simple setter for the CallerInfo object.
- */
- public void setPhotoRequest(CallerInfo info) {
- mCurrentCallerInfo = info;
- }
-
- /**
- * Convenience method used to retrieve the URI
- * representing the Photo file recorded in the attached
- * CallerInfo Object.
- */
- public Uri getPhotoUri() {
- if (mCurrentCallerInfo != null) {
- return ContentUris.withAppendedId(Contacts.CONTENT_URI,
- mCurrentCallerInfo.person_id);
- }
- return null;
- }
-
- /**
- * Simple setter for the Photo state.
- */
- public void setPhotoState(int state) {
- displayMode = state;
- }
-
- /**
- * Simple getter for the Photo state.
- */
- public int getPhotoState() {
- return displayMode;
- }
- }
-
- /**
* Thread worker class that handles the task of opening the stream and loading
* the images.
*/
@@ -188,27 +117,27 @@
InputStream inputStream = null;
try {
try {
- inputStream = Contacts.openContactPhotoInputStream(
- args.context.getContentResolver(), args.uri, true);
+ inputStream = args.context.getContentResolver()
+ .openInputStream(args.displayPhotoUri);
} catch (Exception e) {
Log.e(this, "Error opening photo input stream", e);
}
if (inputStream != null) {
args.photo = Drawable.createFromStream(inputStream,
- args.uri.toString());
+ args.displayPhotoUri.toString());
// This assumes Drawable coming from contact database is usually
// BitmapDrawable and thus we can have (down)scaled version of it.
args.photoIcon = getPhotoIconWhenAppropriate(args.context, args.photo);
Log.d(ContactsAsyncHelper.this, "Loading image: " + msg.arg1 +
- " token: " + msg.what + " image URI: " + args.uri);
+ " token: " + msg.what + " image URI: " + args.displayPhotoUri);
} else {
args.photo = null;
args.photoIcon = null;
Log.d(ContactsAsyncHelper.this, "Problem with image: " + msg.arg1 +
- " token: " + msg.what + " image URI: " + args.uri +
+ " token: " + msg.what + " image URI: " + args.displayPhotoUri +
", using default image.");
}
} finally {
@@ -284,7 +213,7 @@
* @param token Arbitrary integer which will be returned as the first argument of
* {@link OnImageLoadCompleteListener#onImageLoadComplete(int, Drawable, Bitmap, Object)}
* @param context Context object used to do the time-consuming operation.
- * @param personUri Uri to be used to fetch the photo
+ * @param displayPhotoUri Uri to be used to fetch the photo
* @param listener Callback object which will be used when the asynchronous load is done.
* Can be null, which means only the asynchronous load is done while there's no way to
* obtain the loaded photos.
@@ -292,11 +221,11 @@
* fourth argument of {@link OnImageLoadCompleteListener#onImageLoadComplete(int, Drawable,
* Bitmap, Object)}. Can be null, at which the callback will also has null for the argument.
*/
- public static final void startObtainPhotoAsync(int token, Context context, Uri personUri,
+ public static final void startObtainPhotoAsync(int token, Context context, Uri displayPhotoUri,
OnImageLoadCompleteListener listener, Object cookie) {
// in case the source caller info is null, the URI will be null as well.
// just update using the placeholder image in this case.
- if (personUri == null) {
+ if (displayPhotoUri == null) {
Log.wtf("startObjectPhotoAsync", "Uri is missing");
return;
}
@@ -308,7 +237,7 @@
WorkerArgs args = new WorkerArgs();
args.cookie = cookie;
args.context = context;
- args.uri = personUri;
+ args.displayPhotoUri = displayPhotoUri;
args.listener = listener;
// setup message arguments
@@ -316,7 +245,7 @@
msg.arg1 = EVENT_LOAD_IMAGE;
msg.obj = args;
- Log.d("startObjectPhotoAsync", "Begin loading image: " + args.uri +
+ Log.d("startObjectPhotoAsync", "Begin loading image: " + args.displayPhotoUri +
", displaying default image for now.");
// notify the thread to begin working
diff --git a/InCallUI/src/com/android/incallui/DialpadFragment.java b/InCallUI/src/com/android/incallui/DialpadFragment.java
index 236b38c..e15f1bc 100644
--- a/InCallUI/src/com/android/incallui/DialpadFragment.java
+++ b/InCallUI/src/com/android/incallui/DialpadFragment.java
@@ -17,8 +17,9 @@
package com.android.incallui;
import android.content.Context;
-import android.content.res.Resources;
import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
import android.text.Editable;
import android.text.method.DialerKeyListener;
import android.util.AttributeSet;
@@ -31,9 +32,11 @@
import android.view.accessibility.AccessibilityManager;
import android.widget.EditText;
import android.widget.LinearLayout;
-import android.widget.TableRow;
import android.widget.TextView;
+import com.android.phone.common.dialpad.DialpadKeyButton;
+import com.android.phone.common.dialpad.DialpadView;
+
import java.util.HashMap;
/**
@@ -45,6 +48,8 @@
private static final float DIALPAD_SLIDE_FRACTION = 1.0f;
+ private static final int ACCESSIBILITY_DTMF_STOP_DELAY_MILLIS = 50;
+
/**
* LinearLayout with getter and setter methods for the translationY property using floats,
* for animation purposes.
@@ -104,6 +109,9 @@
private static final HashMap<Integer, Character> mDisplayMap =
new HashMap<Integer, Character>();
+ private static final Handler sHandler = new Handler(Looper.getMainLooper());
+
+
/** Set up the static maps*/
static {
// Map the buttons to the display characters
@@ -124,6 +132,8 @@
// KeyListener used with the "dialpad digits" EditText widget.
private DTMFKeyListener mDialerKeyListener;
+ private DialpadView mDialpadView;
+
/**
* Our own key listener, specialized for dealing with DTMF codes.
* 1. Ignore the backspace since it is irrelevant.
@@ -219,7 +229,7 @@
if (keyOK) {
Log.d(this, "Stopping the tone for '" + c + "'");
- getPresenter().stopTone();
+ getPresenter().stopDtmf();
return true;
}
@@ -271,7 +281,7 @@
// consider checking for this ourselves.
if (ok(getAcceptedChars(), c)) {
Log.d(this, "Stopping the tone for '" + c + "'");
- getPresenter().stopTone();
+ getPresenter().stopDtmf();
return true;
}
@@ -323,7 +333,13 @@
final int id = v.getId();
// Checking the press state prevents double activation.
if (!v.isPressed() && mDisplayMap.containsKey(id)) {
- getPresenter().processDtmf(mDisplayMap.get(id), true /* timedShortTone */);
+ getPresenter().processDtmf(mDisplayMap.get(id));
+ sHandler.postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ getPresenter().stopDtmf();
+ }
+ }, ACCESSIBILITY_DTMF_STOP_DELAY_MILLIS);
}
}
}
@@ -375,7 +391,7 @@
}
break;
case KeyEvent.ACTION_UP:
- getPresenter().stopTone();
+ getPresenter().stopDtmf();
break;
}
// do not return true [handled] here, since we want the
@@ -401,7 +417,7 @@
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
// stop the tone on ANY other event, except for MOVE.
- getPresenter().stopTone();
+ getPresenter().stopDtmf();
break;
}
// do not return true [handled] here, since we want the
@@ -432,39 +448,20 @@
Bundle savedInstanceState) {
final View parent = inflater.inflate(
com.android.incallui.R.layout.dtmf_twelve_key_dialer_view, container, false);
- mDtmfDialerField = (EditText) parent.findViewById(R.id.dtmfDialerField);
+ mDialpadView = (DialpadView) parent.findViewById(R.id.dialpad_view);
+ mDialpadView.setCanDigitsBeEdited(false);
+ mDialpadView.setBackgroundResource(R.color.incall_dialpad_background);
+ mDtmfDialerField = (EditText) parent.findViewById(R.id.digits);
if (mDtmfDialerField != null) {
mDialerKeyListener = new DTMFKeyListener();
mDtmfDialerField.setKeyListener(mDialerKeyListener);
// remove the long-press context menus that support
// the edit (copy / paste / select) functions.
mDtmfDialerField.setLongClickable(false);
-
- setupKeypad(parent);
+ mDtmfDialerField.setElegantTextHeight(false);
+ configureKeypadListeners(mDialpadView);
}
- final ViewTreeObserver vto = parent.getViewTreeObserver();
- // Adjust the translation of the DialpadFragment in a preDrawListener instead of in
- // DialtactsActivity, because at the point in time when the DialpadFragment is added,
- // its views have not been laid out yet.
- final ViewTreeObserver.OnPreDrawListener
- preDrawListener = new ViewTreeObserver.OnPreDrawListener() {
- @Override
- public boolean onPreDraw() {
- if (isHidden()) return true;
- if (parent.getTranslationY() == 0) {
- ((DialpadSlidingLinearLayout) parent)
- .setYFraction(DIALPAD_SLIDE_FRACTION);
- }
- final ViewTreeObserver vto = parent.getViewTreeObserver();
- vto.removeOnPreDrawListener(this);
- return true;
- }
-
- };
-
- vto.addOnPreDrawListener(preDrawListener);
-
return parent;
}
@@ -474,6 +471,24 @@
super.onDestroyView();
}
+ /**
+ * Getter for Dialpad text.
+ *
+ * @return String containing current Dialpad EditText text.
+ */
+ public String getDtmfText() {
+ return mDtmfDialerField.getText().toString();
+ }
+
+ /**
+ * Sets the Dialpad text field with some text.
+ *
+ * @param text Text to set Dialpad EditText to.
+ */
+ public void setDtmfText(String text) {
+ mDtmfDialerField.setText(text);
+ }
+
@Override
public void setVisible(boolean on) {
if (on) {
@@ -483,6 +498,14 @@
}
}
+ /**
+ * Starts the slide up animation for the Dialpad keys when the Dialpad is revealed.
+ */
+ public void animateShowDialpad() {
+ final DialpadView dialpadView = (DialpadView) getView().findViewById(R.id.dialpad_view);
+ dialpadView.animateShow();
+ }
+
@Override
public void appendDigitsToField(char digit) {
if (mDtmfDialerField != null) {
@@ -523,43 +546,16 @@
}
}
- private void setupKeypad(View fragmentView) {
+ private void configureKeypadListeners(View fragmentView) {
final int[] buttonIds = new int[] {R.id.zero, R.id.one, R.id.two, R.id.three, R.id.four,
R.id.five, R.id.six, R.id.seven, R.id.eight, R.id.nine, R.id.star, R.id.pound};
-
- final int[] numberIds = new int[] {R.string.dialpad_0_number, R.string.dialpad_1_number,
- R.string.dialpad_2_number, R.string.dialpad_3_number, R.string.dialpad_4_number,
- R.string.dialpad_5_number, R.string.dialpad_6_number, R.string.dialpad_7_number,
- R.string.dialpad_8_number, R.string.dialpad_9_number, R.string.dialpad_star_number,
- R.string.dialpad_pound_number};
-
- final int[] letterIds = new int[] {R.string.dialpad_0_letters, R.string.dialpad_1_letters,
- R.string.dialpad_2_letters, R.string.dialpad_3_letters, R.string.dialpad_4_letters,
- R.string.dialpad_5_letters, R.string.dialpad_6_letters, R.string.dialpad_7_letters,
- R.string.dialpad_8_letters, R.string.dialpad_9_letters,
- R.string.dialpad_star_letters, R.string.dialpad_pound_letters};
-
- final Resources resources = getResources();
-
- View button;
- TextView numberView;
- TextView lettersView;
-
+ DialpadKeyButton dialpadKey;
for (int i = 0; i < buttonIds.length; i++) {
- button = fragmentView.findViewById(buttonIds[i]);
- button.setOnTouchListener(this);
- button.setClickable(true);
- button.setOnKeyListener(this);
- button.setOnHoverListener(this);
- button.setOnClickListener(this);
- numberView = (TextView) button.findViewById(R.id.dialpad_key_number);
- lettersView = (TextView) button.findViewById(R.id.dialpad_key_letters);
- final String numberString = resources.getString(numberIds[i]);
- numberView.setText(numberString);
- button.setContentDescription(numberString);
- if (lettersView != null) {
- lettersView.setText(resources.getString(letterIds[i]));
- }
+ dialpadKey = (DialpadKeyButton) fragmentView.findViewById(buttonIds[i]);
+ dialpadKey.setOnTouchListener(this);
+ dialpadKey.setOnKeyListener(this);
+ dialpadKey.setOnHoverListener(this);
+ dialpadKey.setOnClickListener(this);
}
}
}
diff --git a/InCallUI/src/com/android/incallui/DialpadPresenter.java b/InCallUI/src/com/android/incallui/DialpadPresenter.java
index 8640f8a..c36ead7 100644
--- a/InCallUI/src/com/android/incallui/DialpadPresenter.java
+++ b/InCallUI/src/com/android/incallui/DialpadPresenter.java
@@ -24,14 +24,26 @@
public class DialpadPresenter extends Presenter<DialpadPresenter.DialpadUi>
implements InCallPresenter.InCallStateListener {
+ private Call mCall;
+
@Override
public void onUiReady(DialpadUi ui) {
super.onUiReady(ui);
+ InCallPresenter.getInstance().addListener(this);
+ mCall = CallList.getInstance().getActiveCall();
}
@Override
- public void onStateChange(InCallPresenter.InCallState state, CallList callList) {
+ public void onUiUnready(DialpadUi ui) {
+ super.onUiUnready(ui);
+ InCallPresenter.getInstance().removeListener(this);
+ }
+ @Override
+ public void onStateChange(InCallPresenter.InCallState oldState,
+ InCallPresenter.InCallState newState, CallList callList) {
+ mCall = callList.getActiveCall();
+ Log.d(this, "DialpadPresenter mCall = " + mCall);
}
/**
@@ -39,27 +51,17 @@
* appropriate DTMF tone, and appending the digit to the EditText
* field that displays the DTMF digits sent so far.
*
- * @see #processDtmf(char, boolean)
*/
public final void processDtmf(char c) {
- processDtmf(c, false);
- }
-
- /**
- * Processes the specified digit as a DTMF key, by playing the appropriate
- * DTMF tone (or short tone if requested), and appending the digit to the
- * EditText field that displays the DTMF digits sent so far.
- */
- public final void processDtmf(char c, boolean timedShortTone) {
Log.d(this, "Processing dtmf key " + c);
// if it is a valid key, then update the display and send the dtmf tone.
- if (PhoneNumberUtils.is12Key(c)) {
+ if (PhoneNumberUtils.is12Key(c) && mCall != null) {
Log.d(this, "updating display and sending dtmf tone for '" + c + "'");
// Append this key to the "digits" widget.
getUi().appendDigitsToField(c);
- // Plays the tone through CallCommandService
- CallCommandClient.getInstance().playDtmfTone(c, timedShortTone);
+ // Plays the tone through Telecomm.
+ TelecommAdapter.getInstance().playDtmfTone(mCall.getId(), c);
} else {
Log.d(this, "ignoring dtmf request for '" + c + "'");
}
@@ -68,9 +70,11 @@
/**
* Stops the local tone based on the phone type.
*/
- public void stopTone() {
- Log.d(this, "stopping remote tone");
- CallCommandClient.getInstance().stopDtmfTone();
+ public void stopDtmf() {
+ if (mCall != null) {
+ Log.d(this, "stopping remote tone");
+ TelecommAdapter.getInstance().stopDtmfTone(mCall.getId());
+ }
}
public interface DialpadUi extends Ui {
diff --git a/InCallUI/src/com/android/incallui/GlowPadWrapper.java b/InCallUI/src/com/android/incallui/GlowPadWrapper.java
index 28ccb95..1a14f0b 100644
--- a/InCallUI/src/com/android/incallui/GlowPadWrapper.java
+++ b/InCallUI/src/com/android/incallui/GlowPadWrapper.java
@@ -19,6 +19,7 @@
import android.content.Context;
import android.os.Handler;
import android.os.Message;
+import android.telecomm.VideoProfile;
import android.util.AttributeSet;
import android.view.View;
@@ -111,7 +112,7 @@
final int resId = getResourceIdForTarget(target);
switch (resId) {
case R.drawable.ic_lockscreen_answer:
- mAnswerListener.onAnswer();
+ mAnswerListener.onAnswer(VideoProfile.VideoState.AUDIO_ONLY, getContext());
mTargetTriggered = true;
break;
case R.drawable.ic_lockscreen_decline:
@@ -122,6 +123,14 @@
mAnswerListener.onText();
mTargetTriggered = true;
break;
+ case R.drawable.ic_videocam:
+ mAnswerListener.onAnswer(VideoProfile.VideoState.BIDIRECTIONAL, getContext());
+ mTargetTriggered = true;
+ break;
+ case R.drawable.ic_toolbar_video_off:
+ InCallPresenter.getInstance().declineUpgradeRequest(getContext());
+ mTargetTriggered = true;
+ break;
default:
// Code should never reach here.
Log.e(this, "Trigger detected on unhandled resource. Skipping.");
@@ -143,7 +152,7 @@
}
public interface AnswerListener {
- void onAnswer();
+ void onAnswer(int videoState, Context context);
void onDecline();
void onText();
}
diff --git a/InCallUI/src/com/android/incallui/InCallActivity.java b/InCallUI/src/com/android/incallui/InCallActivity.java
index d41cc99..f092033 100644
--- a/InCallUI/src/com/android/incallui/InCallActivity.java
+++ b/InCallUI/src/com/android/incallui/InCallActivity.java
@@ -16,25 +16,34 @@
package com.android.incallui;
-import com.android.services.telephony.common.Call;
-import com.android.services.telephony.common.Call.State;
-
import android.app.Activity;
import android.app.AlertDialog;
+import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
import android.content.res.Configuration;
+import android.graphics.Point;
import android.os.Bundle;
import android.telephony.DisconnectCause;
+import android.text.TextUtils;
+import android.view.ViewTreeObserver;
+import android.view.animation.Animation;
+import android.view.animation.AnimationUtils;
import android.view.KeyEvent;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityEvent;
-import android.widget.Toast;
+
+import com.android.phone.common.animation.AnimUtils;
+import com.android.phone.common.animation.AnimationListenerAdapter;
+import com.android.contacts.common.interactions.TouchPointManager;
+import com.android.incallui.Call.State;
+
+import java.util.Locale;
/**
* Phone app "in call" screen.
@@ -42,6 +51,8 @@
public class InCallActivity extends Activity {
public static final String SHOW_DIALPAD_EXTRA = "InCallActivity.show_dialpad";
+ public static final String DIALPAD_TEXT_EXTRA = "InCallActivity.dialpad_text";
+ public static final String NEW_OUTGOING_CALL = "InCallActivity.new_outgoing_call";
private static final int INVALID_RES_ID = -1;
@@ -50,12 +61,41 @@
private AnswerFragment mAnswerFragment;
private DialpadFragment mDialpadFragment;
private ConferenceManagerFragment mConferenceManagerFragment;
+ private FragmentManager mChildFragmentManager;
+
private boolean mIsForegroundActivity;
private AlertDialog mDialog;
/** Use to pass 'showDialpad' from {@link #onNewIntent} to {@link #onResume} */
private boolean mShowDialpadRequested;
+ /** Use to determine if the dialpad should be animated on show. */
+ private boolean mAnimateDialpadOnShow;
+
+ /** Use to determine the DTMF Text which should be pre-populated in the dialpad. */
+ private String mDtmfText;
+
+ /** Use to pass parameters for showing the PostCharDialog to {@link #onResume} */
+ private boolean mShowPostCharWaitDialogOnResume;
+ private String mShowPostCharWaitDialogCallId;
+ private String mShowPostCharWaitDialogChars;
+
+ private boolean mIsLandscape;
+ private Animation mSlideIn;
+ private Animation mSlideOut;
+ AnimationListenerAdapter mSlideOutListener = new AnimationListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animation animation) {
+ showDialpad(false);
+ }
+ };
+
+ /**
+ * Stores the current orientation of the activity. Used to determine if a change in orientation
+ * has occurred.
+ */
+ private int mCurrentOrientation;
+
@Override
protected void onCreate(Bundle icicle) {
Log.d(this, "onCreate()... this = " + this);
@@ -79,10 +119,52 @@
setContentView(R.layout.incall_screen);
initializeInCall();
+
+ internalResolveIntent(getIntent());
+
+ mCurrentOrientation = getResources().getConfiguration().orientation;
+ mIsLandscape = getResources().getConfiguration().orientation
+ == Configuration.ORIENTATION_LANDSCAPE;
+
+ final boolean isRtl = TextUtils.getLayoutDirectionFromLocale(Locale.getDefault()) ==
+ View.LAYOUT_DIRECTION_RTL;
+
+ if (mIsLandscape) {
+ mSlideIn = AnimationUtils.loadAnimation(this,
+ isRtl ? R.anim.dialpad_slide_in_left : R.anim.dialpad_slide_in_right);
+ mSlideOut = AnimationUtils.loadAnimation(this,
+ isRtl ? R.anim.dialpad_slide_out_left : R.anim.dialpad_slide_out_right);
+ } else {
+ mSlideIn = AnimationUtils.loadAnimation(this, R.anim.dialpad_slide_in_bottom);
+ mSlideOut = AnimationUtils.loadAnimation(this, R.anim.dialpad_slide_out_bottom);
+ }
+
+ mSlideIn.setInterpolator(AnimUtils.EASE_IN);
+ mSlideOut.setInterpolator(AnimUtils.EASE_OUT);
+
+ mSlideOut.setAnimationListener(mSlideOutListener);
+
+ if (icicle != null) {
+ // If the dialpad was shown before, set variables indicating it should be shown and
+ // populated with the previous DTMF text. The dialpad is actually shown and populated
+ // in onResume() to ensure the hosting CallCardFragment has been inflated and is ready
+ // to receive it.
+ mShowDialpadRequested = icicle.getBoolean(SHOW_DIALPAD_EXTRA);
+ mAnimateDialpadOnShow = false;
+ mDtmfText = icicle.getString(DIALPAD_TEXT_EXTRA);
+ }
Log.d(this, "onCreate(): exit");
}
@Override
+ protected void onSaveInstanceState(Bundle out) {
+ out.putBoolean(SHOW_DIALPAD_EXTRA, mCallButtonFragment.isDialpadVisible());
+ if (mDialpadFragment != null) {
+ out.putString(DIALPAD_TEXT_EXTRA, mDialpadFragment.getDtmfText());
+ }
+ }
+
+ @Override
protected void onStart() {
Log.d(this, "onStart()...");
super.onStart();
@@ -100,8 +182,19 @@
InCallPresenter.getInstance().onUiShowing(true);
if (mShowDialpadRequested) {
- mCallButtonFragment.displayDialpad(true);
+ mCallButtonFragment.displayDialpad(true /* show */,
+ mAnimateDialpadOnShow /* animate */);
mShowDialpadRequested = false;
+ mAnimateDialpadOnShow = false;
+
+ if (mDialpadFragment != null) {
+ mDialpadFragment.setDtmfText(mDtmfText);
+ mDtmfText = null;
+ }
+ }
+
+ if (mShowPostCharWaitDialogOnResume) {
+ showPostCharWaitDialog(mShowPostCharWaitDialogCallId, mShowPostCharWaitDialogChars);
}
}
@@ -114,7 +207,9 @@
mIsForegroundActivity = false;
- mDialpadFragment.onDialerKeyUp(null);
+ if (mDialpadFragment != null ) {
+ mDialpadFragment.onDialerKeyUp(null);
+ }
InCallPresenter.getInstance().onUiShowing(false);
}
@@ -144,6 +239,7 @@
private boolean hasPendingErrorDialog() {
return mDialog != null;
}
+
/**
* Dismisses the in-call screen.
*
@@ -197,8 +293,12 @@
// BACK is also used to exit out of any "special modes" of the
// in-call UI:
- if (mDialpadFragment.isVisible()) {
- mCallButtonFragment.displayDialpad(false); // do the "closing" animation
+ if (!mCallCardFragment.isVisible()) {
+ return;
+ }
+
+ if (mDialpadFragment != null && mDialpadFragment.isVisible()) {
+ mCallButtonFragment.displayDialpad(false /* show */, true /* animate */);
return;
} else if (mConferenceManagerFragment.isVisible()) {
mConferenceManagerFragment.setVisible(false);
@@ -208,7 +308,7 @@
// Always disable the Back key while an incoming call is ringing
final Call call = CallList.getInstance().getIncomingCall();
if (call != null) {
- Log.d(this, "Consume Back press for an inconing call");
+ Log.d(this, "Consume Back press for an incoming call");
return;
}
@@ -219,7 +319,8 @@
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
// push input to the dialer.
- if ((mDialpadFragment.isVisible()) && (mDialpadFragment.onDialerKeyUp(event))){
+ if (mDialpadFragment != null && (mDialpadFragment.isVisible()) &&
+ (mDialpadFragment.onDialerKeyUp(event))){
return true;
} else if (keyCode == KeyEvent.KEYCODE_CALL) {
// Always consume CALL to be sure the PhoneWindow won't do anything with it
@@ -259,7 +360,7 @@
case KeyEvent.KEYCODE_MUTE:
// toggle mute
- CallCommandClient.getInstance().mute(!AudioModeProvider.getInstance().getMute());
+ TelecommAdapter.getInstance().mute(!AudioModeProvider.getInstance().getMute());
return true;
// Various testing/debugging features, enabled ONLY when VERBOSE == true.
@@ -269,7 +370,7 @@
// Dump starting from the top-level view of the entire activity:
Window w = this.getWindow();
View decorView = w.getDecorView();
- decorView.debug();
+ Log.d(this, "View dump:" + decorView);
return true;
}
break;
@@ -291,7 +392,7 @@
// As soon as the user starts typing valid dialable keys on the
// keyboard (presumably to type DTMF tones) we start passing the
// key events to the DTMFDialer's onDialerKeyDown.
- if (mDialpadFragment.isVisible()) {
+ if (mDialpadFragment != null && mDialpadFragment.isVisible()) {
return mDialpadFragment.onDialerKeyDown(event);
// TODO: If the dialpad isn't currently visible, maybe
@@ -308,12 +409,27 @@
@Override
public void onConfigurationChanged(Configuration config) {
InCallPresenter.getInstance().getProximitySensor().onConfigurationChanged(config);
+ Log.d(this, "onConfigurationChanged "+config.orientation);
+
+ // Check to see if the orientation changed to prevent triggering orientation change events
+ // for other configuration changes.
+ if (config.orientation != mCurrentOrientation) {
+ mCurrentOrientation = config.orientation;
+ InCallPresenter.getInstance().onDeviceRotationChange(
+ getWindowManager().getDefaultDisplay().getRotation());
+ InCallPresenter.getInstance().onDeviceOrientationChange(mCurrentOrientation);
+ }
+ super.onConfigurationChanged(config);
}
public CallButtonFragment getCallButtonFragment() {
return mCallButtonFragment;
}
+ public CallCardFragment getCallCardFragment() {
+ return mCallCardFragment;
+ }
+
private void internalResolveIntent(Intent intent) {
final String action = intent.getAction();
@@ -334,44 +450,70 @@
relaunchedFromDialer(showDialpad);
}
+ if (intent.getBooleanExtra(NEW_OUTGOING_CALL, false)) {
+ intent.removeExtra(NEW_OUTGOING_CALL);
+
+ Point touchPoint = null;
+ if (TouchPointManager.getInstance().hasValidPoint()) {
+ // Use the most immediate touch point in the InCallUi if available
+ touchPoint = TouchPointManager.getInstance().getPoint();
+ } else {
+ // Otherwise retrieve the touch point from the call intent
+ Call call = CallList.getInstance().getOutgoingCall();
+ if (call == null) {
+ call = CallList.getInstance().getPendingOutgoingCall();
+ }
+ if (call != null) {
+ Bundle extras = call.getTelecommCall().getDetails().getExtras();
+ touchPoint = (Point) (extras == null ?
+ null : extras.getParcelable(TouchPointManager.TOUCH_POINT));
+ }
+ }
+ mCallCardFragment.animateForNewOutgoingCall(touchPoint);
+ }
+
+ if (CallList.getInstance().getWaitingForAccountCall() != null) {
+ mCallCardFragment.setVisible(false);
+ SelectPhoneAccountDialogFragment.show(getFragmentManager());
+ } else {
+ mCallCardFragment.setVisible(true);
+ }
+
return;
}
}
private void relaunchedFromDialer(boolean showDialpad) {
mShowDialpadRequested = showDialpad;
+ mAnimateDialpadOnShow = true;
if (mShowDialpadRequested) {
// If there's only one line in use, AND it's on hold, then we're sure the user
// wants to use the dialpad toward the exact line, so un-hold the holding line.
final Call call = CallList.getInstance().getActiveOrBackgroundCall();
if (call != null && call.getState() == State.ONHOLD) {
- CallCommandClient.getInstance().hold(call.getCallId(), false);
+ TelecommAdapter.getInstance().unholdCall(call.getId());
}
}
}
private void initializeInCall() {
- if (mCallButtonFragment == null) {
- mCallButtonFragment = (CallButtonFragment) getFragmentManager()
- .findFragmentById(R.id.callButtonFragment);
- mCallButtonFragment.getView().setVisibility(View.INVISIBLE);
- }
-
if (mCallCardFragment == null) {
mCallCardFragment = (CallCardFragment) getFragmentManager()
.findFragmentById(R.id.callCardFragment);
}
- if (mAnswerFragment == null) {
- mAnswerFragment = (AnswerFragment) getFragmentManager()
- .findFragmentById(R.id.answerFragment);
+ mChildFragmentManager = mCallCardFragment.getChildFragmentManager();
+
+ if (mCallButtonFragment == null) {
+ mCallButtonFragment = (CallButtonFragment) mChildFragmentManager
+ .findFragmentById(R.id.callButtonFragment);
+ mCallButtonFragment.getView().setVisibility(View.INVISIBLE);
}
- if (mDialpadFragment == null) {
- mDialpadFragment = (DialpadFragment) getFragmentManager()
- .findFragmentById(R.id.dialpadFragment);
- getFragmentManager().beginTransaction().hide(mDialpadFragment).commit();
+ if (mAnswerFragment == null) {
+ mAnswerFragment = (AnswerFragment) mChildFragmentManager
+ .findFragmentById(R.id.answerFragment);
}
if (mConferenceManagerFragment == null) {
@@ -381,18 +523,12 @@
}
}
- private void toast(String text) {
- final Toast toast = Toast.makeText(this, text, Toast.LENGTH_SHORT);
-
- toast.show();
- }
-
/**
* Simulates a user click to hide the dialpad. This will update the UI to show the call card,
* update the checked state of the dialpad button, and update the proximity sensor state.
*/
public void hideDialpadForDisconnect() {
- mCallButtonFragment.displayDialpad(false);
+ mCallButtonFragment.displayDialpad(false /* show */, true /* animate */);
}
public void dismissKeyguard(boolean dismiss) {
@@ -403,35 +539,72 @@
}
}
- public void displayDialpad(boolean showDialpad) {
- final FragmentTransaction ft = getFragmentManager().beginTransaction();
+ private void showDialpad(boolean showDialpad) {
+ // If the dialpad is being shown and it has not already been loaded, replace the dialpad
+ // placeholder with the actual fragment before continuing.
+ if (mDialpadFragment == null && showDialpad) {
+ final FragmentTransaction loadTransaction = mChildFragmentManager.beginTransaction();
+ View fragmentContainer = findViewById(R.id.dialpadFragmentContainer);
+ mDialpadFragment = new DialpadFragment();
+ loadTransaction.replace(fragmentContainer.getId(), mDialpadFragment,
+ DialpadFragment.class.getName());
+ loadTransaction.commitAllowingStateLoss();
+ mChildFragmentManager.executePendingTransactions();
+ }
+
+ final FragmentTransaction ft = mChildFragmentManager.beginTransaction();
if (showDialpad) {
- ft.setCustomAnimations(R.anim.incall_dialpad_slide_in, 0);
ft.show(mDialpadFragment);
} else {
- ft.setCustomAnimations(0, R.anim.incall_dialpad_slide_out);
ft.hide(mDialpadFragment);
}
ft.commitAllowingStateLoss();
+ }
+
+ public void displayDialpad(boolean showDialpad, boolean animate) {
+ // If the dialpad is already visible, don't animate in. If it's gone, don't animate out.
+ if ((showDialpad && isDialpadVisible()) || (!showDialpad && !isDialpadVisible())) {
+ return;
+ }
+ // We don't do a FragmentTransaction on the hide case because it will be dealt with when
+ // the listener is fired after an animation finishes.
+ if (!animate) {
+ showDialpad(showDialpad);
+ } else {
+ if (showDialpad) {
+ showDialpad(true);
+ mDialpadFragment.animateShowDialpad();
+ }
+ mCallCardFragment.onDialpadVisiblityChange(showDialpad);
+ mDialpadFragment.getView().startAnimation(showDialpad ? mSlideIn : mSlideOut);
+ }
InCallPresenter.getInstance().getProximitySensor().onDialpadVisible(showDialpad);
}
public boolean isDialpadVisible() {
- return mDialpadFragment.isVisible();
+ return mDialpadFragment != null && mDialpadFragment.isVisible();
}
- public void displayManageConferencePanel(boolean showPanel) {
- if (showPanel) {
- mConferenceManagerFragment.setVisible(true);
+ public void showConferenceCallManager() {
+ mConferenceManagerFragment.setVisible(true);
+ }
+
+ public void showPostCharWaitDialog(String callId, String chars) {
+ if (isForegroundActivity()) {
+ final PostCharDialogFragment fragment = new PostCharDialogFragment(callId, chars);
+ fragment.show(getFragmentManager(), "postCharWait");
+
+ mShowPostCharWaitDialogOnResume = false;
+ mShowPostCharWaitDialogCallId = null;
+ mShowPostCharWaitDialogChars = null;
+ } else {
+ mShowPostCharWaitDialogOnResume = true;
+ mShowPostCharWaitDialogCallId = callId;
+ mShowPostCharWaitDialogChars = chars;
}
}
- public void showPostCharWaitDialog(int callId, String chars) {
- final PostCharDialogFragment fragment = new PostCharDialogFragment(callId, chars);
- fragment.show(getFragmentManager(), "postCharWait");
- }
-
@Override
public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
if (mCallCardFragment != null) {
@@ -472,39 +645,79 @@
dismissPendingDialogs();
mDialog = new AlertDialog.Builder(this)
- .setMessage(msg)
- .setPositiveButton(R.string.ok, new OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- onDialogDismissed();
- }})
- .setOnCancelListener(new OnCancelListener() {
- @Override
- public void onCancel(DialogInterface dialog) {
- onDialogDismissed();
- }})
- .create();
+ .setMessage(msg)
+ .setPositiveButton(R.string.ok, new OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ onDialogDismissed();
+ }})
+ .setOnCancelListener(new OnCancelListener() {
+ @Override
+ public void onCancel(DialogInterface dialog) {
+ onDialogDismissed();
+ }})
+ .create();
mDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
mDialog.show();
}
private int getResIdForDisconnectCause(int cause) {
- int resId = INVALID_RES_ID;
-
- if (cause == DisconnectCause.CALL_BARRED) {
- resId = R.string.callFailed_cb_enabled;
- } else if (cause == DisconnectCause.FDN_BLOCKED) {
- resId = R.string.callFailed_fdn_only;
- } else if (cause == DisconnectCause.CS_RESTRICTED) {
- resId = R.string.callFailed_dsac_restricted;
- } else if (cause == DisconnectCause.CS_RESTRICTED_EMERGENCY) {
- resId = R.string.callFailed_dsac_restricted_emergency;
- } else if (cause == DisconnectCause.CS_RESTRICTED_NORMAL) {
- resId = R.string.callFailed_dsac_restricted_normal;
+ switch (cause) {
+ case DisconnectCause.CALL_BARRED:
+ return R.string.callFailed_cb_enabled;
+ case DisconnectCause.FDN_BLOCKED:
+ return R.string.callFailed_fdn_only;
+ case DisconnectCause.CS_RESTRICTED:
+ return R.string.callFailed_dsac_restricted;
+ case DisconnectCause.CS_RESTRICTED_EMERGENCY:
+ return R.string.callFailed_dsac_restricted_emergency;
+ case DisconnectCause.CS_RESTRICTED_NORMAL:
+ return R.string.callFailed_dsac_restricted_normal;
+ case DisconnectCause.OUTGOING_FAILURE:
+ // We couldn't successfully place the call; there was some
+ // failure in the telephony layer.
+ // TODO: Need UI spec for this failure case; for now just
+ // show a generic error.
+ return R.string.incall_error_call_failed;
+ case DisconnectCause.OUTGOING_CANCELED:
+ // We don't want to show any dialog for the canceled case since the call was
+ // either canceled by the user explicitly (end-call button pushed immediately)
+ // or some other app canceled the call and immediately issued a new CALL to
+ // replace it.
+ return INVALID_RES_ID;
+ case DisconnectCause.POWER_OFF:
+ // Radio is explictly powered off, presumably because the
+ // device is in airplane mode.
+ //
+ // TODO: For now this UI is ultra-simple: we simply display
+ // a message telling the user to turn off airplane mode.
+ // But it might be nicer for the dialog to offer the option
+ // to turn the radio on right there (and automatically retry
+ // the call once network registration is complete.)
+ return R.string.incall_error_power_off;
+ case DisconnectCause.EMERGENCY_ONLY:
+ // Only emergency numbers are allowed, but we tried to dial
+ // a non-emergency number.
+ return R.string.incall_error_emergency_only;
+ case DisconnectCause.OUT_OF_SERVICE:
+ // No network connection.
+ return R.string.incall_error_out_of_service;
+ case DisconnectCause.NO_PHONE_NUMBER_SUPPLIED:
+ // The supplied Intent didn't contain a valid phone number.
+ // (This is rare and should only ever happen with broken
+ // 3rd-party apps.) For now just show a generic error.
+ return R.string.incall_error_no_phone_number_supplied;
+ case DisconnectCause.VOICEMAIL_NUMBER_MISSING:
+ // TODO: Need to bring up the "Missing Voicemail Number" dialog, which
+ // will ultimately take us to the Call Settings.
+ return R.string.incall_error_missing_voicemail_number;
+ case DisconnectCause.DIALED_MMI:
+ // TODO: Implement MMI; see MMIDialogActivity in packages/services/Telephony
+ return INVALID_RES_ID;
+ default:
+ return INVALID_RES_ID;
}
-
- return resId;
}
private void onDialogDismissed() {
diff --git a/InCallUI/src/com/android/incallui/AnimationUtils.java b/InCallUI/src/com/android/incallui/InCallAnimationUtils.java
similarity index 60%
rename from InCallUI/src/com/android/incallui/AnimationUtils.java
rename to InCallUI/src/com/android/incallui/InCallAnimationUtils.java
index d214c85..44bb369 100644
--- a/InCallUI/src/com/android/incallui/AnimationUtils.java
+++ b/InCallUI/src/com/android/incallui/InCallAnimationUtils.java
@@ -23,15 +23,14 @@
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
-import android.view.View;
import android.view.ViewPropertyAnimator;
import android.widget.ImageView;
/**
* Utilities for Animation.
*/
-public class AnimationUtils {
- private static final String LOG_TAG = AnimationUtils.class.getSimpleName();
+public class InCallAnimationUtils {
+ private static final String LOG_TAG = InCallAnimationUtils.class.getSimpleName();
/**
* Turn on when you're interested in fading animation. Intentionally untied from other debug
* settings.
@@ -44,106 +43,7 @@
*/
public static final int ANIMATION_DURATION = 250;
- private AnimationUtils() {
- }
-
- /**
- * Simple Utility class that runs fading animations on specified views.
- */
- public static class Fade {
-
- // View tag that's set during the fade-out animation; see hide() and
- // isFadingOut().
- private static final int FADE_STATE_KEY = R.id.fadeState;
- private static final String FADING_OUT = "fading_out";
-
- /**
- * Sets the visibility of the specified view to View.VISIBLE and then
- * fades it in. If the view is already visible (and not in the middle
- * of a fade-out animation), this method will return without doing
- * anything.
- *
- * @param view The view to be faded in
- */
- public static void show(final View view) {
- if (FADE_DBG) log("Fade: SHOW view " + view + "...");
- if (FADE_DBG) log("Fade: - visibility = " + view.getVisibility());
- if ((view.getVisibility() != View.VISIBLE) || isFadingOut(view)) {
- view.animate().cancel();
- // ...and clear the FADE_STATE_KEY tag in case we just
- // canceled an in-progress fade-out animation.
- view.setTag(FADE_STATE_KEY, null);
-
- view.setAlpha(0);
- view.setVisibility(View.VISIBLE);
- view.animate().setDuration(ANIMATION_DURATION);
- view.animate().alpha(1);
- if (FADE_DBG) log("Fade: ==> SHOW " + view
- + " DONE. Set visibility = " + View.VISIBLE);
- } else {
- if (FADE_DBG) log("Fade: ==> Ignoring, already visible AND not fading out.");
- }
- }
-
- /**
- * Fades out the specified view and then sets its visibility to the
- * specified value (either View.INVISIBLE or View.GONE). If the view
- * is not currently visibile, the method will return without doing
- * anything.
- *
- * Note that *during* the fade-out the view itself will still have
- * visibility View.VISIBLE, although the isFadingOut() method will
- * return true (in case the UI code needs to detect this state.)
- *
- * @param view The view to be hidden
- * @param visibility The value to which the view's visibility will be
- * set after it fades out.
- * Must be either View.INVISIBLE or View.GONE.
- */
- public static void hide(final View view, final int visibility) {
- if (FADE_DBG) log("Fade: HIDE view " + view + "...");
- if (view.getVisibility() == View.VISIBLE &&
- (visibility == View.INVISIBLE || visibility == View.GONE)) {
-
- // Use a view tag to mark this view as being in the middle
- // of a fade-out animation.
- view.setTag(FADE_STATE_KEY, FADING_OUT);
-
- view.animate().cancel();
- view.animate().setDuration(ANIMATION_DURATION);
- view.animate().alpha(0f).setListener(new AnimatorListenerAdapter() {
- @Override
- public void onAnimationEnd(Animator animation) {
- view.setAlpha(1);
- view.setVisibility(visibility);
- view.animate().setListener(null);
- // ...and we're done with the fade-out, so clear the view tag.
- view.setTag(FADE_STATE_KEY, null);
- if (FADE_DBG) log("Fade: HIDE " + view
- + " DONE. Set visibility = " + visibility);
- }
- });
- }
- }
-
- /**
- * @return true if the specified view is currently in the middle
- * of a fade-out animation. (During the fade-out, the view's
- * visibility is still VISIBLE, although in many cases the UI
- * should behave as if it's already invisible or gone. This
- * method allows the UI code to detect that state.)
- *
- * @see #hide(View, int)
- */
- public static boolean isFadingOut(final View view) {
- if (FADE_DBG) {
- log("Fade: isFadingOut view " + view + "...");
- log("Fade: - getTag() returns: " + view.getTag(FADE_STATE_KEY));
- log("Fade: - returning: " + (view.getTag(FADE_STATE_KEY) == FADING_OUT));
- }
- return (view.getTag(FADE_STATE_KEY) == FADING_OUT);
- }
-
+ private InCallAnimationUtils() {
}
/**
diff --git a/InCallUI/src/com/android/incallui/InCallApp.java b/InCallUI/src/com/android/incallui/InCallApp.java
index 7d276bc..d645ca1 100644
--- a/InCallUI/src/com/android/incallui/InCallApp.java
+++ b/InCallUI/src/com/android/incallui/InCallApp.java
@@ -21,6 +21,7 @@
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
+import android.telecomm.VideoProfile;
/**
* Top-level Application class for the InCall app.
@@ -30,10 +31,20 @@
/**
* Intent Action used for hanging up the current call from Notification bar. This will
* choose first ringing call, first active call, or first background call (typically in
- * HOLDING state).
+ * STATE_HOLDING state).
*/
+ public static final String ACTION_DECLINE_INCOMING_CALL =
+ "com.android.incallui.ACTION_DECLINE_INCOMING_CALL";
public static final String ACTION_HANG_UP_ONGOING_CALL =
"com.android.incallui.ACTION_HANG_UP_ONGOING_CALL";
+ public static final String ACTION_ANSWER_VIDEO_INCOMING_CALL =
+ "com.android.incallui.ACTION_ANSWER_VIDEO_INCOMING_CALL";
+ public static final String ACTION_ANSWER_VOICE_INCOMING_CALL =
+ "com.android.incallui.ACTION_ANSWER_VOICE_INCOMING_CALL";
+ public static final String ACTION_ACCEPT_VIDEO_UPGRADE_REQUEST =
+ "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 InCallApp() {
}
@@ -48,10 +59,9 @@
}
/**
- * Accepts broadcast Intents which will be prepared by {@link StatusBarNotifier} and thus
+ * Accepts broadcatst Intents which will be prepared by {@link StatusBarNotifier} and thus
* sent from framework's notification mechanism (which is outside Phone context).
* This should be visible from outside, but shouldn't be in "exported" state.
- *
*/
public static class NotificationBroadcastReceiver extends BroadcastReceiver {
@Override
@@ -59,11 +69,21 @@
final String action = intent.getAction();
Log.i(this, "Broadcast from Notification: " + action);
- if (action.equals(ACTION_HANG_UP_ONGOING_CALL)) {
- // TODO: Commands of this nature should exist in the CallList or a
- // CallController class that has access to CallCommandClient and
- // CallList.
+ // TODO: Commands of this nature should exist in the CallList.
+ if (action.equals(ACTION_ANSWER_VIDEO_INCOMING_CALL)) {
+ InCallPresenter.getInstance().answerIncomingCall(
+ context, VideoProfile.VideoState.BIDIRECTIONAL);
+ } else if (action.equals(ACTION_ANSWER_VOICE_INCOMING_CALL)) {
+ InCallPresenter.getInstance().answerIncomingCall(
+ context, VideoProfile.VideoState.AUDIO_ONLY);
+ } else if (action.equals(ACTION_DECLINE_INCOMING_CALL)) {
+ InCallPresenter.getInstance().declineIncomingCall(context);
+ } else if (action.equals(ACTION_HANG_UP_ONGOING_CALL)) {
InCallPresenter.getInstance().hangUpOngoingCall(context);
+ } else if (action.equals(ACTION_ACCEPT_VIDEO_UPGRADE_REQUEST)) {
+ InCallPresenter.getInstance().acceptUpgradeRequest(context);
+ } else if (action.equals(ACTION_DECLINE_VIDEO_UPGRADE_REQUEST)) {
+ InCallPresenter.getInstance().declineUpgradeRequest(context);
}
}
}
diff --git a/InCallUI/src/com/android/incallui/InCallCameraManager.java b/InCallUI/src/com/android/incallui/InCallCameraManager.java
new file mode 100644
index 0000000..084a98f
--- /dev/null
+++ b/InCallUI/src/com/android/incallui/InCallCameraManager.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.incallui;
+
+import android.content.Context;
+import android.graphics.SurfaceTexture;
+import android.hardware.camera2.CameraAccessException;
+import android.hardware.camera2.CameraCharacteristics;
+import android.hardware.camera2.CameraManager;
+import android.hardware.camera2.params.StreamConfigurationMap;
+import android.util.Size;
+
+import java.lang.String;
+
+/**
+ * Used to track which camera is used for outgoing video.
+ */
+public class InCallCameraManager {
+
+ /**
+ * The camera ID for the front facing camera.
+ */
+ private String mFrontFacingCameraId;
+
+ /**
+ * The camera ID for the rear facing camera.
+ */
+ private String mRearFacingCameraId;
+
+ /**
+ * The currently active camera.
+ */
+ private boolean mUseFrontFacingCamera;
+
+ /**
+ * Aspect ratio of the front facing camera.
+ */
+ private float mFrontFacingCameraAspectRatio;
+
+ /**
+ * Aspect ratio of the rear facing camera.
+ */
+ private float mRearFacingCameraAspectRatio;
+
+ /**
+ * Initializes the InCall CameraManager.
+ *
+ * @param context The current context.
+ */
+ public InCallCameraManager(Context context) {
+ mUseFrontFacingCamera = true;
+ initializeCameraList(context);
+ }
+
+ /**
+ * Sets whether the front facing camera should be used or not.
+ *
+ * @param useFrontFacingCamera {@code True} if the front facing camera is to be used.
+ */
+ public void setUseFrontFacingCamera(boolean useFrontFacingCamera) {
+ mUseFrontFacingCamera = useFrontFacingCamera;
+ }
+
+ /**
+ * Determines whether the front facing camera is currently in use.
+ *
+ * @return {@code True} if the front facing camera is in use.
+ */
+ public boolean isUsingFrontFacingCamera() {
+ return mUseFrontFacingCamera;
+ }
+
+ /**
+ * Determines the active camera ID.
+ *
+ * @return The active camera ID.
+ */
+ public String getActiveCameraId() {
+ if (mUseFrontFacingCamera) {
+ return mFrontFacingCameraId;
+ } else {
+ return mRearFacingCameraId;
+ }
+ }
+
+ /**
+ * Get the camera ID and aspect ratio for the front and rear cameras.
+ *
+ * @param context The context.
+ */
+ private void initializeCameraList(Context context) {
+ CameraManager cameraManager = (CameraManager) context.getSystemService(
+ Context.CAMERA_SERVICE);
+
+ String[] cameraIds = {};
+ try {
+ cameraIds = cameraManager.getCameraIdList();
+ } catch (CameraAccessException e) {
+ Log.d(this, "Could not access camera: "+e);
+ // Camera disabled by device policy.
+ return;
+ }
+
+ for (int i = 0; i < cameraIds.length; i++) {
+ CameraCharacteristics c = null;
+ try {
+ c = cameraManager.getCameraCharacteristics(cameraIds[i]);
+ } catch (IllegalArgumentException e) {
+ // Device Id is unknown.
+ } catch (CameraAccessException e) {
+ // Camera disabled by device policy.
+ }
+ if (c != null) {
+ int facingCharacteristic = c.get(CameraCharacteristics.LENS_FACING);
+ if (facingCharacteristic == CameraCharacteristics.LENS_FACING_FRONT) {
+ mFrontFacingCameraId = cameraIds[i];
+ } else if (facingCharacteristic == CameraCharacteristics.LENS_FACING_BACK) {
+ mRearFacingCameraId = cameraIds[i];
+ }
+ }
+ }
+ }
+}
diff --git a/InCallUI/src/com/android/incallui/InCallPhoneListener.java b/InCallUI/src/com/android/incallui/InCallPhoneListener.java
new file mode 100644
index 0000000..c2be3e6
--- /dev/null
+++ b/InCallUI/src/com/android/incallui/InCallPhoneListener.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.incallui;
+
+import android.telecomm.Phone;
+
+/**
+ * Interface implemented by In-Call components that maintain a reference to the Telecomm API
+ * {@code Phone} object. Clarifies the expectations associated with the relevant method calls.
+ */
+public interface InCallPhoneListener {
+
+ /**
+ * Called once at {@code InCallService} startup time with a valid {@code Phone}. At
+ * that time, there will be no existing {@code Call}s.
+ *
+ * @param phone The {@code Phone} object.
+ */
+ void setPhone(Phone phone);
+
+ /**
+ * Called once at {@code InCallService} shutdown time. At that time, any {@code Call}s
+ * will have transitioned through the disconnected state and will no longer exist.
+ */
+ void clearPhone();
+}
diff --git a/InCallUI/src/com/android/incallui/InCallPresenter.java b/InCallUI/src/com/android/incallui/InCallPresenter.java
index 1402621..77ef49d 100644
--- a/InCallUI/src/com/android/incallui/InCallPresenter.java
+++ b/InCallUI/src/com/android/incallui/InCallPresenter.java
@@ -16,19 +16,26 @@
package com.android.incallui;
-import com.android.incallui.service.PhoneNumberService;
-import com.google.android.collect.Sets;
-import com.google.common.base.Preconditions;
-
+import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.telecomm.PhoneCapabilities;
+import android.telecomm.Phone;
+import android.telecomm.PhoneAccountHandle;
+import android.telecomm.VideoProfile;
+import android.text.TextUtils;
+import android.view.Surface;
+import android.view.View;
-import com.android.services.telephony.common.Call;
-import com.android.services.telephony.common.Call.Capabilities;
-import com.google.common.collect.Lists;
+import com.google.common.base.Preconditions;
-import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Locale;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.CopyOnWriteArrayList;
/**
* Takes updates from the CallList and notifies the InCallActivity (UI)
@@ -39,12 +46,24 @@
* that want to listen in on the in-call state changes.
* TODO: This class has become more of a state machine at this point. Consider renaming.
*/
-public class InCallPresenter implements CallList.Listener {
+public class InCallPresenter implements CallList.Listener, InCallPhoneListener {
private static InCallPresenter sInCallPresenter;
- private final Set<InCallStateListener> mListeners = Sets.newHashSet();
- private final ArrayList<IncomingCallListener> mIncomingCallListeners = Lists.newArrayList();
+ /**
+ * ConcurrentHashMap constructor params: 8 is initial table size, 0.9f is
+ * load factor before resizing, 1 means we only expect a single thread to
+ * access the map so make only a single shard
+ */
+ private final Set<InCallStateListener> mListeners = Collections.newSetFromMap(
+ new ConcurrentHashMap<InCallStateListener, Boolean>(8, 0.9f, 1));
+ private final List<IncomingCallListener> mIncomingCallListeners = new CopyOnWriteArrayList<>();
+ private final Set<InCallDetailsListener> mDetailsListeners = Collections.newSetFromMap(
+ new ConcurrentHashMap<InCallDetailsListener, Boolean>(8, 0.9f, 1));
+ private final Set<InCallOrientationListener> mOrientationListeners = Collections.newSetFromMap(
+ new ConcurrentHashMap<InCallOrientationListener, Boolean>(8, 0.9f, 1));
+ private final Set<InCallEventListener> mInCallEventListeners = Collections.newSetFromMap(
+ new ConcurrentHashMap<InCallEventListener, Boolean>(8, 0.9f, 1));
private AudioModeProvider mAudioModeProvider;
private StatusBarNotifier mStatusBarNotifier;
@@ -55,6 +74,63 @@
private InCallState mInCallState = InCallState.NO_CALLS;
private ProximitySensor mProximitySensor;
private boolean mServiceConnected = false;
+ private boolean mAccountSelectionCancelled = false;
+ private InCallCameraManager mInCallCameraManager = null;
+
+ private final Phone.Listener mPhoneListener = new Phone.Listener() {
+ @Override
+ public void onBringToForeground(Phone phone, boolean showDialpad) {
+ Log.i(this, "Bringing UI to foreground.");
+ bringToForeground(showDialpad);
+ }
+ @Override
+ public void onCallAdded(Phone phone, android.telecomm.Call call) {
+ call.addListener(mCallListener);
+ }
+ @Override
+ public void onCallRemoved(Phone phone, android.telecomm.Call call) {
+ call.removeListener(mCallListener);
+ }
+ };
+
+ private final android.telecomm.Call.Listener mCallListener =
+ new android.telecomm.Call.Listener() {
+ @Override
+ public void onPostDialWait(android.telecomm.Call call, String remainingPostDialSequence) {
+ onPostDialCharWait(
+ CallList.getInstance().getCallByTelecommCall(call).getId(),
+ remainingPostDialSequence);
+ }
+
+ @Override
+ public void onDetailsChanged(android.telecomm.Call call,
+ android.telecomm.Call.Details details) {
+ for (InCallDetailsListener listener : mDetailsListeners) {
+ listener.onDetailsChanged(CallList.getInstance().getCallByTelecommCall(call),
+ details);
+ }
+ }
+
+ @Override
+ public void onStartActivity(android.telecomm.Call call, PendingIntent intent) {
+ Log.i(this, "onStartActivity, intent: " + intent);
+ try {
+ intent.send();
+ } catch (PendingIntent.CanceledException e) {
+ Log.e(this, "onStartActivity, exception", e);
+ }
+ }
+
+ @Override
+ public void onConferenceableCallsChanged(
+ android.telecomm.Call call, List<android.telecomm.Call> conferenceableCalls) {
+ Log.i(this, "onConferenceableCallsChanged: " + call);
+ for (InCallDetailsListener listener : mDetailsListeners) {
+ listener.onDetailsChanged(CallList.getInstance().getCallByTelecommCall(call),
+ call.getDetails());
+ }
+ }
+ };
/**
* Is true when the activity has been previously started. Some code needs to know not just if
@@ -64,6 +140,8 @@
*/
private boolean mIsActivityPreviouslyStarted = false;
+ private Phone mPhone;
+
public static synchronized InCallPresenter getInstance() {
if (sInCallPresenter == null) {
sInCallPresenter = new InCallPresenter();
@@ -71,6 +149,18 @@
return sInCallPresenter;
}
+ @Override
+ public void setPhone(Phone phone) {
+ mPhone = phone;
+ mPhone.addListener(mPhoneListener);
+ }
+
+ @Override
+ public void clearPhone() {
+ mPhone.removeListener(mPhoneListener);
+ mPhone = null;
+ }
+
public InCallState getInCallState() {
return mInCallState;
}
@@ -134,6 +224,12 @@
if (doFinish) {
mInCallActivity.finish();
+
+ if (mAccountSelectionCancelled) {
+ // This finish is a result of account selection cancellation
+ // do not include activity ending transition
+ mInCallActivity.overridePendingTransition(0, 0);
+ }
}
}
@@ -224,22 +320,17 @@
return;
}
InCallState newState = getPotentialStateFromCallList(callList);
+ InCallState oldState = mInCallState;
newState = startOrFinishUi(newState);
- // Renable notification shade and soft navigation buttons, if we are no longer in the
- // incoming call screen
- if (!newState.isIncoming()) {
- CallCommandClient.getInstance().setSystemBarNavigationEnabled(true);
- }
-
// Set the new state before announcing it to the world
- Log.i(this, "Phone switching state: " + mInCallState + " -> " + newState);
+ Log.i(this, "Phone switching state: " + oldState + " -> " + newState);
mInCallState = newState;
// notify listeners of new state
for (InCallStateListener listener : mListeners) {
Log.d(this, "Notify " + listener + " of state " + mInCallState.toString());
- listener.onStateChange(mInCallState, callList);
+ listener.onStateChange(oldState, mInCallState, callList);
}
if (isActivityStarted()) {
@@ -257,17 +348,13 @@
@Override
public void onIncomingCall(Call call) {
InCallState newState = startOrFinishUi(InCallState.INCOMING);
+ InCallState oldState = mInCallState;
- Log.i(this, "Phone switching state: " + mInCallState + " -> " + newState);
+ Log.i(this, "Phone switching state: " + oldState + " -> " + newState);
mInCallState = newState;
- // Disable notification shade and soft navigation buttons
- if (newState.isIncoming()) {
- CallCommandClient.getInstance().setSystemBarNavigationEnabled(false);
- }
-
for (IncomingCallListener listener : mIncomingCallListeners) {
- listener.onIncomingCall(mInCallState, call);
+ listener.onIncomingCall(oldState, mInCallState, call);
}
}
@@ -300,6 +387,10 @@
}
if (callList.getIncomingCall() != null) {
newState = InCallState.INCOMING;
+ } else if (callList.getWaitingForAccountCall() != null) {
+ newState = InCallState.WAITING_FOR_ACCOUNT;
+ } else if (callList.getPendingOutgoingCall() != null) {
+ newState = InCallState.PENDING_OUTGOING;
} else if (callList.getOutgoingCall() != null) {
newState = InCallState.OUTGOING;
} else if (callList.getActiveCall() != null ||
@@ -318,8 +409,9 @@
}
public void removeIncomingCallListener(IncomingCallListener listener) {
- Preconditions.checkNotNull(listener);
- mIncomingCallListeners.remove(listener);
+ if (listener != null) {
+ mIncomingCallListeners.remove(listener);
+ }
}
public void addListener(InCallStateListener listener) {
@@ -328,22 +420,65 @@
}
public void removeListener(InCallStateListener listener) {
+ if (listener != null) {
+ mListeners.remove(listener);
+ }
+ }
+
+ public void addDetailsListener(InCallDetailsListener listener) {
Preconditions.checkNotNull(listener);
- mListeners.remove(listener);
+ mDetailsListeners.add(listener);
}
- public AudioModeProvider getAudioModeProvider() {
- return mAudioModeProvider;
+ public void removeDetailsListener(InCallDetailsListener listener) {
+ if (listener != null) {
+ mDetailsListeners.remove(listener);
+ }
}
- public ContactInfoCache getContactInfoCache() {
- return mContactInfoCache;
+ public void addOrientationListener(InCallOrientationListener listener) {
+ Preconditions.checkNotNull(listener);
+ mOrientationListeners.add(listener);
+ }
+
+ public void removeOrientationListener(InCallOrientationListener listener) {
+ if (listener != null) {
+ mOrientationListeners.remove(listener);
+ }
+ }
+
+ public void addInCallEventListener(InCallEventListener listener) {
+ Preconditions.checkNotNull(listener);
+ mInCallEventListeners.add(listener);
+ }
+
+ public void removeInCallEventListener(InCallEventListener listener) {
+ if (listener != null) {
+ mInCallEventListeners.remove(listener);
+ }
}
public ProximitySensor getProximitySensor() {
return mProximitySensor;
}
+ public void handleAccountSelection(PhoneAccountHandle accountHandle) {
+ Call call = mCallList.getWaitingForAccountCall();
+ if (call != null) {
+ String callId = call.getId();
+ TelecommAdapter.getInstance().phoneAccountSelected(callId, accountHandle);
+ }
+ }
+
+ public void cancelAccountSelection() {
+ mAccountSelectionCancelled = true;
+ Call call = mCallList.getWaitingForAccountCall();
+ if (call != null) {
+ String callId = call.getId();
+ TelecommAdapter.getInstance().disconnectCall(callId);
+ }
+ }
+
/**
* Hangs up any active or outgoing calls.
*/
@@ -365,7 +500,74 @@
}
if (call != null) {
- CallCommandClient.getInstance().disconnectCall(call.getCallId());
+ TelecommAdapter.getInstance().disconnectCall(call.getId());
+ }
+ }
+
+ /**
+ * Answers any incoming call.
+ */
+ public void answerIncomingCall(Context context, int videoState) {
+ // By the time we receive this intent, we could be shut down and call list
+ // could be null. Bail in those cases.
+ if (mCallList == null) {
+ StatusBarNotifier.clearInCallNotification(context);
+ return;
+ }
+
+ Call call = mCallList.getIncomingCall();
+ if (call != null) {
+ TelecommAdapter.getInstance().answerCall(call.getId(), videoState);
+ showInCall(false, false/* newOutgoingCall */);
+ }
+ }
+
+ /**
+ * Declines any incoming call.
+ */
+ public void declineIncomingCall(Context context) {
+ // By the time we receive this intent, we could be shut down and call list
+ // could be null. Bail in those cases.
+ if (mCallList == null) {
+ StatusBarNotifier.clearInCallNotification(context);
+ return;
+ }
+
+ Call call = mCallList.getIncomingCall();
+ if (call != null) {
+ TelecommAdapter.getInstance().rejectCall(call.getId(), false, null);
+ }
+ }
+
+ public void acceptUpgradeRequest(Context context) {
+ // Bail if we have been shut down and the call list is null.
+ if (mCallList == null) {
+ StatusBarNotifier.clearInCallNotification(context);
+ return;
+ }
+
+ Call call = mCallList.getVideoUpgradeRequestCall();
+ if (call != null) {
+ VideoProfile videoProfile =
+ new VideoProfile(VideoProfile.VideoState.BIDIRECTIONAL);
+ call.getVideoCall().sendSessionModifyResponse(videoProfile);
+ call.setSessionModificationState(Call.SessionModificationState.NO_REQUEST);
+ }
+ }
+
+ public void declineUpgradeRequest(Context context) {
+ // Bail if we have been shut down and the call list is null.
+ if (mCallList == null) {
+ StatusBarNotifier.clearInCallNotification(context);
+ return;
+ }
+
+ Call call = mCallList.getVideoUpgradeRequestCall();
+ if (call != null) {
+ VideoProfile videoProfile =
+ new VideoProfile(VideoProfile.VideoState.AUDIO_ONLY);
+ call.getVideoCall().sendSessionModifyResponse(videoProfile);
+ call.setSessionModificationState(Call.SessionModificationState.NO_REQUEST);
}
}
@@ -377,7 +579,7 @@
}
/**
- * Returns true of the activity has been created and is running.
+ * Returns true if the activity has been created and is running.
* Returns true as long as activity is not destroyed or finishing. This ensures that we return
* true even if the activity is paused (not in foreground).
*/
@@ -420,11 +622,11 @@
// 3. We are in a state where we want to show the incall ui
if (mIsActivityPreviouslyStarted && !isShowingInCallUi() &&
mInCallState != InCallState.NO_CALLS) {
- showInCall(showDialpad);
+ showInCall(showDialpad, false /* newOutgoingCall */);
}
}
- public void onPostDialCharWait(int callId, String chars) {
+ public void onPostDialCharWait(String callId, String chars) {
if (isActivityStarted()) {
mInCallActivity.showPostCharWaitDialog(callId, chars);
}
@@ -450,20 +652,21 @@
// (1) Attempt to answer a call
if (incomingCall != null) {
- CallCommandClient.getInstance().answerCall(incomingCall.getCallId());
+ TelecommAdapter.getInstance().answerCall(
+ incomingCall.getId(), VideoProfile.VideoState.AUDIO_ONLY);
return true;
}
/**
- * ACTIVE CALL
+ * STATE_ACTIVE CALL
*/
final Call activeCall = calls.getActiveCall();
if (activeCall != null) {
// TODO: This logic is repeated from CallButtonPresenter.java. We should
// consolidate this logic.
- final boolean isGeneric = activeCall.can(Capabilities.GENERIC_CONFERENCE);
- final boolean canMerge = activeCall.can(Capabilities.MERGE_CALLS);
- final boolean canSwap = activeCall.can(Capabilities.SWAP_CALLS);
+ final boolean isGeneric = activeCall.can(PhoneCapabilities.GENERIC_CONFERENCE);
+ final boolean canMerge = activeCall.can(PhoneCapabilities.MERGE_CALLS);
+ final boolean canSwap = activeCall.can(PhoneCapabilities.SWAP_CALLS);
Log.v(this, "activeCall: " + activeCall + ", isGeneric: " + isGeneric + ", canMerge: " +
canMerge + ", canSwap: " + canSwap);
@@ -471,17 +674,17 @@
// (2) Attempt actions on Generic conference calls
if (activeCall.isConferenceCall() && isGeneric) {
if (canMerge) {
- CallCommandClient.getInstance().merge();
+ TelecommAdapter.getInstance().merge(activeCall.getId());
return true;
} else if (canSwap) {
- CallCommandClient.getInstance().swap();
+ TelecommAdapter.getInstance().swap(activeCall.getId());
return true;
}
}
// (3) Swap calls
if (canSwap) {
- CallCommandClient.getInstance().swap();
+ TelecommAdapter.getInstance().swap(activeCall.getId());
return true;
}
}
@@ -493,13 +696,13 @@
if (heldCall != null) {
// We have a hold call so presumeable it will always support HOLD...but
// there is no harm in double checking.
- final boolean canHold = heldCall.can(Capabilities.HOLD);
+ final boolean canHold = heldCall.can(PhoneCapabilities.HOLD);
Log.v(this, "heldCall: " + heldCall + ", canHold: " + canHold);
// (4) unhold call
if (heldCall.getState() == Call.State.ONHOLD && canHold) {
- CallCommandClient.getInstance().hold(heldCall.getCallId(), false);
+ TelecommAdapter.getInstance().unholdCall(heldCall.getId());
return true;
}
}
@@ -522,6 +725,17 @@
}
/**
+ * Called by the {@link VideoCallPresenter} to inform of a change in full screen video status.
+ *
+ * @param isFullScreenVideo {@code True} if entering full screen video mode.
+ */
+ public void setFullScreenVideoState(boolean isFullScreenVideo) {
+ for (InCallEventListener listener : mInCallEventListeners) {
+ listener.onFullScreenVideoStateChanged(isFullScreenVideo);
+ }
+ }
+
+ /**
* For some disconnected causes, we show a dialog. This calls into the activity to show
* the dialog if appropriate for the call.
*/
@@ -550,15 +764,18 @@
// TODO: Consider a proper state machine implementation
- // If the state isn't changing, we have already done any starting/stopping of
- // activities in a previous pass...so lets cut out early
- if (newState == mInCallState) {
+ // If the state isn't changing or if we're transitioning from pending outgoing to actual
+ // outgoing, we have already done any starting/stopping of activities in a previous pass
+ // ...so lets cut out early
+ boolean alreadyOutgoing = mInCallState == InCallState.PENDING_OUTGOING &&
+ newState == InCallState.OUTGOING;
+ if (newState == mInCallState || alreadyOutgoing) {
return newState;
}
// A new Incoming call means that the user needs to be notified of the the call (since
// it wasn't them who initiated it). We do this through full screen notifications and
- // happens indirectly through {@link StatusBarListener}.
+ // happens indirectly through {@link StatusBarNotifier}.
//
// The process for incoming calls is as follows:
//
@@ -582,12 +799,23 @@
// we get an incoming call.
final boolean startStartupSequence = (InCallState.INCOMING == newState);
+ // A dialog to show on top of the InCallUI to select a PhoneAccount
+ final boolean showAccountPicker = (InCallState.WAITING_FOR_ACCOUNT == newState);
+
// A new outgoing call indicates that the user just now dialed a number and when that
- // happens we need to display the screen immediateley.
+ // happens we need to display the screen immediately or show an account picker dialog if
+ // no default is set. However, if the main InCallUI is already visible, we do not want to
+ // re-initiate the start-up animation, so we do not need to do anything here.
+ //
+ // It is also possible to go into an intermediate state where the call has been initiated
+ // but Telecomm has not yet returned with the details of the call (handle, gateway, etc.).
+ // This pending outgoing state can also launch the call screen.
//
// This is different from the incoming call sequence because we do not need to shock the
// user with a top-level notification. Just show the call UI normally.
- final boolean showCallUi = (InCallState.OUTGOING == newState);
+ final boolean mainUiNotVisible = !isShowingInCallUi() || !getCallCardFragmentVisible();
+ final boolean showCallUi = ((InCallState.PENDING_OUTGOING == newState ||
+ InCallState.OUTGOING == newState) && mainUiNotVisible);
// TODO: Can we be suddenly in a call without it having been in the outgoing or incoming
// state? I havent seen that but if it can happen, the code below should be enabled.
@@ -603,9 +831,9 @@
return mInCallState;
}
- if (showCallUi) {
+ if (showCallUi || showAccountPicker) {
Log.i(this, "Start in call UI");
- showInCall(false);
+ showInCall(false /* showDialpad */, !showAccountPicker /* newOutgoingCall */);
} else if (startStartupSequence) {
Log.i(this, "Start Full Screen in call UI");
@@ -642,7 +870,7 @@
mInCallActivity = null;
}
- mStatusBarNotifier.updateNotificationAndLaunchIncomingCallUi(inCallState, mCallList);
+ mStatusBarNotifier.updateNotification(inCallState, mCallList);
}
/**
@@ -692,11 +920,11 @@
}
}
- private void showInCall(boolean showDialpad) {
- mContext.startActivity(getInCallIntent(showDialpad));
+ private void showInCall(boolean showDialpad, boolean newOutgoingCall) {
+ mContext.startActivity(getInCallIntent(showDialpad, newOutgoingCall));
}
- public Intent getInCallIntent(boolean showDialpad) {
+ public Intent getInCallIntent(boolean showDialpad, boolean newOutgoingCall) {
final Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
@@ -706,10 +934,108 @@
intent.putExtra(InCallActivity.SHOW_DIALPAD_EXTRA, true);
}
+ intent.putExtra(InCallActivity.NEW_OUTGOING_CALL, newOutgoingCall);
return intent;
}
/**
+ * Retrieves the current in-call camera manager instance, creating if necessary.
+ *
+ * @return The {@link InCallCameraManager}.
+ */
+ public InCallCameraManager getInCallCameraManager() {
+ synchronized(this) {
+ if (mInCallCameraManager == null) {
+ mInCallCameraManager = new InCallCameraManager(mContext);
+ }
+
+ return mInCallCameraManager;
+ }
+ }
+
+ /**
+ * Handles changes to the device rotation.
+ *
+ * @param rotation The device rotation.
+ */
+ public void onDeviceRotationChange(int rotation) {
+ // First translate to rotation in degrees.
+ int rotationAngle;
+ switch (rotation) {
+ case Surface.ROTATION_0:
+ rotationAngle = 0;
+ break;
+ case Surface.ROTATION_90:
+ rotationAngle = 90;
+ break;
+ case Surface.ROTATION_180:
+ rotationAngle = 180;
+ break;
+ case Surface.ROTATION_270:
+ rotationAngle = 270;
+ break;
+ default:
+ rotationAngle = 0;
+ }
+
+ mCallList.notifyCallsOfDeviceRotation(rotationAngle);
+ }
+
+ /**
+ * Notifies listeners of changes in orientation (e.g. portrait/landscape).
+ *
+ * @param orientation The orientation of the device.
+ */
+ public void onDeviceOrientationChange(int orientation) {
+ for (InCallOrientationListener listener : mOrientationListeners) {
+ listener.onDeviceOrientationChanged(orientation);
+ }
+ }
+
+ /**
+ * Configures the in-call UI activity so it can change orientations or not.
+ *
+ * @param allowOrientationChange {@code True} if the in-call UI can change between portrait
+ * and landscape. {@Code False} if the in-call UI should be locked in portrait.
+ */
+ public void setInCallAllowsOrientationChange(boolean allowOrientationChange) {
+ if (!allowOrientationChange) {
+ mInCallActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
+ } else {
+ mInCallActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
+ }
+ }
+
+ /**
+ * Returns the space available beside the call card.
+ *
+ * @return The space beside the call card.
+ */
+ public float getSpaceBesideCallCard() {
+ return mInCallActivity.getCallCardFragment().getSpaceBesideCallCard();
+ }
+
+ /**
+ * Returns whether the call card fragment is currently visible.
+ *
+ * @return True if the call card fragment is visible.
+ */
+ public boolean getCallCardFragmentVisible() {
+ if (mInCallActivity != null) {
+ return mInCallActivity.getCallCardFragment().isVisible();
+ }
+ return false;
+ }
+
+ /**
+ * @return True if the application is currently running in a right-to-left locale.
+ */
+ public static boolean isRtl() {
+ return TextUtils.getLayoutDirectionFromLocale(Locale.getDefault()) ==
+ View.LAYOUT_DIRECTION_RTL;
+ }
+
+ /**
* Private constructor. Must use getInstance() to get this singleton.
*/
private InCallPresenter() {
@@ -728,6 +1054,13 @@
// In-call experience is showing
INCALL,
+ // Waiting for user input before placing outgoing call
+ WAITING_FOR_ACCOUNT,
+
+ // UI is starting up but no call has been initiated yet.
+ // The UI is waiting for Telecomm to respond.
+ PENDING_OUTGOING,
+
// User is dialing out
OUTGOING;
@@ -747,10 +1080,26 @@
*/
public interface InCallStateListener {
// TODO: Enhance state to contain the call objects instead of passing CallList
- public void onStateChange(InCallState state, CallList callList);
+ public void onStateChange(InCallState oldState, InCallState newState, CallList callList);
}
public interface IncomingCallListener {
- public void onIncomingCall(InCallState state, Call call);
+ public void onIncomingCall(InCallState oldState, InCallState newState, Call call);
+ }
+
+ public interface InCallDetailsListener {
+ public void onDetailsChanged(Call call, android.telecomm.Call.Details details);
+ }
+
+ public interface InCallOrientationListener {
+ public void onDeviceOrientationChanged(int orientation);
+ }
+
+ /**
+ * Interface implemented by classes that need to know about events which occur within the
+ * In-Call UI. Used as a means of communicating between fragments that make up the UI.
+ */
+ public interface InCallEventListener {
+ public void onFullScreenVideoStateChanged(boolean isFullScreenVideo);
}
}
diff --git a/InCallUI/src/com/android/incallui/InCallServiceImpl.java b/InCallUI/src/com/android/incallui/InCallServiceImpl.java
new file mode 100644
index 0000000..f192201
--- /dev/null
+++ b/InCallUI/src/com/android/incallui/InCallServiceImpl.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.incallui;
+
+import android.app.Service;
+import android.content.Intent;
+import android.os.IBinder;
+import android.telecomm.InCallService;
+import android.telecomm.Phone;
+
+/**
+ * Used to receive updates about calls from the Telecomm component. This service is bound to
+ * Telecomm while there exist calls which potentially require UI. This includes ringing (incoming),
+ * dialing (outgoing), and active calls. When the last call is disconnected, Telecomm will unbind to
+ * the service triggering InCallActivity (via CallList) to finish soon after.
+ */
+public class InCallServiceImpl extends InCallService {
+
+ @Override
+ public void onPhoneCreated(Phone phone) {
+ Log.v(this, "onPhoneCreated");
+ CallList.getInstance().setPhone(phone);
+ AudioModeProvider.getInstance().setPhone(phone);
+ TelecommAdapter.getInstance().setPhone(phone);
+ InCallPresenter.getInstance().setPhone(phone);
+ InCallPresenter.getInstance().setUp(
+ getApplicationContext(),
+ CallList.getInstance(),
+ AudioModeProvider.getInstance());
+ TelecommAdapter.getInstance().setContext(InCallServiceImpl.this);
+ }
+
+ @Override
+ public void onPhoneDestroyed(Phone phone) {
+ Log.v(this, "onPhoneDestroyed");
+ // Tear down the InCall system
+ CallList.getInstance().clearPhone();
+ AudioModeProvider.getInstance().clearPhone();
+ TelecommAdapter.getInstance().clearPhone();
+ TelecommAdapter.getInstance().setContext(null);
+ CallList.getInstance().clearOnDisconnect();
+ InCallPresenter.getInstance().tearDown();
+ }
+}
diff --git a/InCallUI/src/com/android/incallui/InCallVideoCallListener.java b/InCallUI/src/com/android/incallui/InCallVideoCallListener.java
new file mode 100644
index 0000000..62817d2
--- /dev/null
+++ b/InCallUI/src/com/android/incallui/InCallVideoCallListener.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.incallui;
+
+import android.telecomm.CameraCapabilities;
+import android.telecomm.Connection;
+import android.telecomm.InCallService.VideoCall;
+import android.telecomm.VideoProfile;
+
+/**
+ * Implements the InCallUI Video Call Listener.
+ */
+public class InCallVideoCallListener extends VideoCall.Listener {
+
+ /**
+ * The call associated with this {@link InCallVideoClient}.
+ */
+ private Call mCall;
+
+ /**
+ * Creates an instance of the call video client, specifying the call it is related to.
+ *
+ * @param call The call.
+ */
+ public InCallVideoCallListener(Call call) {
+ mCall = call;
+ }
+
+ /**
+ * Handles an incoming session modification request.
+ *
+ * @param videoProfile The requested video call profile.
+ */
+ @Override
+ public void onSessionModifyRequestReceived(VideoProfile videoProfile) {
+ int previousVideoState = mCall.getVideoState();
+ int newVideoState = videoProfile.getVideoState();
+
+ boolean wasVideoCall = VideoProfile.VideoState.isBidirectional(previousVideoState);
+ boolean isVideoCall = VideoProfile.VideoState.isBidirectional(newVideoState);
+
+ boolean wasPaused = VideoProfile.VideoState.isPaused(previousVideoState);
+ boolean isPaused = VideoProfile.VideoState.isPaused(newVideoState);
+
+ // Check for upgrades to video and downgrades to audio.
+ if (!wasVideoCall && isVideoCall) {
+ InCallVideoCallListenerNotifier.getInstance().upgradeToVideoRequest(mCall);
+ } else if (wasVideoCall && !isVideoCall) {
+ InCallVideoCallListenerNotifier.getInstance().downgradeToAudio(mCall);
+ }
+
+ boolean pause = !wasPaused && isPaused;
+ InCallVideoCallListenerNotifier.getInstance().peerPausedStateChanged(mCall, pause);
+ }
+
+ /**
+ * Handles a session modification response.
+ *
+ * @param status Status of the session modify request. Valid values are
+ * {@link Connection.VideoProvider#SESSION_MODIFY_REQUEST_SUCCESS},
+ * {@link Connection.VideoProvider#SESSION_MODIFY_REQUEST_FAIL},
+ * {@link Connection.VideoProvider#SESSION_MODIFY_REQUEST_INVALID}
+ * @param requestedProfile
+ * @param responseProfile The actual profile changes made by the peer device.
+ */
+ @Override
+ public void onSessionModifyResponseReceived(
+ int status, VideoProfile requestedProfile, VideoProfile responseProfile) {
+ boolean modifySucceeded =
+ requestedProfile.getVideoState() == responseProfile.getVideoState();
+ boolean isVideoCall =
+ VideoProfile.VideoState.isBidirectional(responseProfile.getVideoState());
+
+ if (modifySucceeded && isVideoCall) {
+ InCallVideoCallListenerNotifier.getInstance().upgradeToVideoSuccess(mCall);
+ } else if (!modifySucceeded || status != Connection.VideoProvider.SESSION_MODIFY_REQUEST_SUCCESS) {
+ InCallVideoCallListenerNotifier.getInstance().upgradeToVideoFail(mCall);
+ }
+ }
+
+ /**
+ * Handles a call session event.
+ *
+ * @param event The event.
+ */
+ @Override
+ public void onCallSessionEvent(int event) {
+ }
+
+ /**
+ * Handles a change to the peer video dimensions.
+ *
+ * @param width The updated peer video width.
+ * @param height The updated peer video height.
+ */
+ @Override
+ public void onPeerDimensionsChanged(int width, int height) {
+ InCallVideoCallListenerNotifier.getInstance().peerDimensionsChanged(mCall, width, height);
+ }
+
+ /**
+ * Handles a change to the call data usage. No implementation as the in-call UI does not
+ * display data usage.
+ *
+ * @param dataUsage The updated data usage.
+ */
+ @Override
+ public void onCallDataUsageChanged(int dataUsage) {
+ }
+
+ /**
+ * Handles changes to the camera capabilities. No implementation as the in-call UI does not
+ * make use of camera capabilities.
+ *
+ * @param cameraCapabilities The changed camera capabilities.
+ */
+ @Override
+ public void onCameraCapabilitiesChanged(CameraCapabilities cameraCapabilities) {
+ InCallVideoCallListenerNotifier.getInstance().cameraDimensionsChanged(
+ mCall, cameraCapabilities.getWidth(), cameraCapabilities.getHeight());
+ }
+}
diff --git a/InCallUI/src/com/android/incallui/InCallVideoCallListenerNotifier.java b/InCallUI/src/com/android/incallui/InCallVideoCallListenerNotifier.java
new file mode 100644
index 0000000..9f3f062
--- /dev/null
+++ b/InCallUI/src/com/android/incallui/InCallVideoCallListenerNotifier.java
@@ -0,0 +1,282 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.incallui;
+
+import com.google.common.base.Preconditions;
+
+import java.util.Collections;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * Class used by {@link InCallService.VideoCallListener} to notify interested parties of incoming
+ * events.
+ */
+public class InCallVideoCallListenerNotifier {
+ /**
+ * Singleton instance of this class.
+ */
+ private static InCallVideoCallListenerNotifier sInstance = new InCallVideoCallListenerNotifier();
+
+ /**
+ * ConcurrentHashMap constructor params: 8 is initial table size, 0.9f is
+ * load factor before resizing, 1 means we only expect a single thread to
+ * access the map so make only a single shard
+ */
+ private final Set<SessionModificationListener> mSessionModificationListeners =
+ Collections.newSetFromMap(new ConcurrentHashMap<SessionModificationListener, Boolean>
+ (8, 0.9f, 1));
+ private final Set<VideoEventListener> mVideoEventListeners = Collections.newSetFromMap(
+ new ConcurrentHashMap<VideoEventListener, Boolean>(8, 0.9f, 1));
+ private final Set<SurfaceChangeListener> mSurfaceChangeListeners = Collections.newSetFromMap(
+ new ConcurrentHashMap<SurfaceChangeListener, Boolean>(8, 0.9f, 1));
+
+ /**
+ * Static singleton accessor method.
+ */
+ public static InCallVideoCallListenerNotifier getInstance() {
+ return sInstance;
+ }
+
+ /**
+ * Private constructor. Instance should only be acquired through getInstance().
+ */
+ private InCallVideoCallListenerNotifier() {
+ }
+
+ /**
+ * Adds a new {@link SessionModificationListener}.
+ *
+ * @param listener The listener.
+ */
+ public void addSessionModificationListener(SessionModificationListener listener) {
+ Preconditions.checkNotNull(listener);
+ mSessionModificationListeners.add(listener);
+ }
+
+ /**
+ * Remove a {@link SessionModificationListener}.
+ *
+ * @param listener The listener.
+ */
+ public void removeSessionModificationListener(SessionModificationListener listener) {
+ if (listener != null) {
+ mSessionModificationListeners.remove(listener);
+ }
+ }
+
+ /**
+ * Adds a new {@link VideoEventListener}.
+ *
+ * @param listener The listener.
+ */
+ public void addVideoEventListener(VideoEventListener listener) {
+ Preconditions.checkNotNull(listener);
+ mVideoEventListeners.add(listener);
+ }
+
+ /**
+ * Remove a {@link VideoEventListener}.
+ *
+ * @param listener The listener.
+ */
+ public void removeVideoEventListener(VideoEventListener listener) {
+ if (listener != null) {
+ mVideoEventListeners.remove(listener);
+ }
+ }
+
+ /**
+ * Adds a new {@link SurfaceChangeListener}.
+ *
+ * @param listener The listener.
+ */
+ public void addSurfaceChangeListener(SurfaceChangeListener listener) {
+ Preconditions.checkNotNull(listener);
+ mSurfaceChangeListeners.add(listener);
+ }
+
+ /**
+ * Remove a {@link SurfaceChangeListener}.
+ *
+ * @param listener The listener.
+ */
+ public void removeSurfaceChangeListener(SurfaceChangeListener listener) {
+ if (listener != null) {
+ mSurfaceChangeListeners.remove(listener);
+ }
+ }
+
+ /**
+ * Inform listeners of an upgrade to video request for a call.
+ *
+ * @param call The call.
+ */
+ public void upgradeToVideoRequest(Call call) {
+ for (SessionModificationListener listener : mSessionModificationListeners) {
+ listener.onUpgradeToVideoRequest(call);
+ }
+ }
+
+ /**
+ * Inform listeners of a successful response to a video request for a call.
+ *
+ * @param call The call.
+ */
+ public void upgradeToVideoSuccess(Call call) {
+ for (SessionModificationListener listener : mSessionModificationListeners) {
+ listener.onUpgradeToVideoSuccess(call);
+ }
+ }
+
+ /**
+ * Inform listeners of an unsuccessful response to a video request for a call.
+ *
+ * @param call The call.
+ */
+ public void upgradeToVideoFail(Call call) {
+ for (SessionModificationListener listener : mSessionModificationListeners) {
+ listener.onUpgradeToVideoFail(call);
+ }
+ }
+
+ /**
+ * Inform listeners of a downgrade to audio.
+ *
+ * @param call The call.
+ */
+ public void downgradeToAudio(Call call) {
+ for (SessionModificationListener listener : mSessionModificationListeners) {
+ listener.onDowngradeToAudio(call);
+ }
+ }
+
+ /**
+ * Inform listeners of a downgrade to audio.
+ *
+ * @param call The call.
+ * @param paused The paused state.
+ */
+ public void peerPausedStateChanged(Call call, boolean paused) {
+ for (VideoEventListener listener : mVideoEventListeners) {
+ listener.onPeerPauseStateChanged(call, paused);
+ }
+ }
+
+ /**
+ * Inform listeners of a change to peer dimensions.
+ *
+ * @param call The call.
+ * @param width New peer width.
+ * @param height New peer height.
+ */
+ public void peerDimensionsChanged(Call call, int width, int height) {
+ for (SurfaceChangeListener listener : mSurfaceChangeListeners) {
+ listener.onUpdatePeerDimensions(call, width, height);
+ }
+ }
+
+ /**
+ * Inform listeners of a change to camera dimensions.
+ *
+ * @param call The call.
+ * @param width The new camera video width.
+ * @param height The new camera video height.
+ */
+ public void cameraDimensionsChanged(Call call, int width, int height) {
+ for (SurfaceChangeListener listener : mSurfaceChangeListeners) {
+ listener.onCameraDimensionsChange(call, width, height);
+ }
+ }
+
+ /**
+ * Listener interface for any class that wants to be notified of upgrade to video and downgrade
+ * to audio session modification requests.
+ */
+ public interface SessionModificationListener {
+ /**
+ * Called when a peer request is received to upgrade an audio-only call to a video call.
+ *
+ * @param call The call the request was received for.
+ */
+ public void onUpgradeToVideoRequest(Call call);
+
+ /**
+ * Called when a request to a peer to upgrade an audio-only call to a video call is
+ * successful.
+ *
+ * @param call The call the request was successful for.
+ */
+ public void onUpgradeToVideoSuccess(Call call);
+
+ /**
+ * Called when a request to a peer to upgrade an audio-only call to a video call is
+ * NOT successful. This can be if the peer chooses rejects the the video call, or if the
+ * peer does not support video calling, or if there is some error in sending the request.
+ *
+ * @param call The call the request was successful for.
+ */
+ public void onUpgradeToVideoFail(Call call);
+
+ /**
+ * Called when a call has been downgraded to audio-only.
+ *
+ * @param call The call which was downgraded to audio-only.
+ */
+ public void onDowngradeToAudio(Call call);
+ }
+
+ /**
+ * Listener interface for any class that wants to be notified of video events, including pause
+ * and un-pause of peer video.
+ */
+ public interface VideoEventListener {
+ /**
+ * Called when the peer pauses or un-pauses video transmission.
+ *
+ * @param call The call which paused or un-paused video transmission.
+ * @param paused {@code True} when the video transmission is paused, {@code false}
+ * otherwise.
+ */
+ public void onPeerPauseStateChanged(Call call, boolean paused);
+ }
+
+ /**
+ * Listener interface for any class that wants to be notified of changes to the video surfaces.
+ */
+ public interface SurfaceChangeListener {
+ /**
+ * Called when the peer video feed changes dimensions. This can occur when the peer rotates
+ * their device, changing the aspect ratio of the video signal.
+ *
+ * @param call The call which experienced a peer video
+ * @param width
+ * @param height
+ */
+ public void onUpdatePeerDimensions(Call call, int width, int height);
+
+ /**
+ * Called when the local camera changes dimensions. This occurs when a change in camera
+ * occurs.
+ *
+ * @param call The call which experienced the camera dimension change.
+ * @param width The new camera video width.
+ * @param height The new camera video height.
+ */
+ public void onCameraDimensionsChange(Call call, int width, int height);
+ }
+}
diff --git a/InCallUI/src/com/android/incallui/Log.java b/InCallUI/src/com/android/incallui/Log.java
index c859e5c..6bf993a 100644
--- a/InCallUI/src/com/android/incallui/Log.java
+++ b/InCallUI/src/com/android/incallui/Log.java
@@ -22,7 +22,7 @@
public class Log {
// Generic tag for all In Call logging
- private static final String TAG = "InCall";
+ public static final String TAG = "InCall";
public static final boolean DEBUG = android.util.Log.isLoggable(TAG, android.util.Log.DEBUG);
public static final boolean VERBOSE = android.util.Log.isLoggable(TAG,
diff --git a/InCallUI/src/com/android/incallui/PostCharDialogFragment.java b/InCallUI/src/com/android/incallui/PostCharDialogFragment.java
index 41940ff..5925ace 100644
--- a/InCallUI/src/com/android/incallui/PostCharDialogFragment.java
+++ b/InCallUI/src/com/android/incallui/PostCharDialogFragment.java
@@ -30,10 +30,10 @@
*/
public class PostCharDialogFragment extends DialogFragment {
- private int mCallId;
+ private String mCallId;
private String mPostDialStr;
- public PostCharDialogFragment(int callId, String postDialStr) {
+ public PostCharDialogFragment(String callId, String postDialStr) {
mCallId = callId;
mPostDialStr = postDialStr;
}
@@ -52,7 +52,7 @@
builder.setPositiveButton(R.string.pause_prompt_yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
- CallCommandClient.getInstance().postDialWaitContinue(mCallId);
+ TelecommAdapter.getInstance().postDialContinue(mCallId, true);
}
});
builder.setNegativeButton(R.string.pause_prompt_no, new DialogInterface.OnClickListener() {
@@ -71,6 +71,6 @@
public void onCancel(DialogInterface dialog) {
super.onCancel(dialog);
- CallCommandClient.getInstance().postDialCancel(mCallId);
+ TelecommAdapter.getInstance().postDialContinue(mCallId, false);
}
}
diff --git a/InCallUI/src/com/android/incallui/ProximitySensor.java b/InCallUI/src/com/android/incallui/ProximitySensor.java
index 607a54f..02de4fd 100644
--- a/InCallUI/src/com/android/incallui/ProximitySensor.java
+++ b/InCallUI/src/com/android/incallui/ProximitySensor.java
@@ -19,11 +19,11 @@
import android.content.Context;
import android.content.res.Configuration;
import android.os.PowerManager;
+import android.telecomm.AudioState;
import com.android.incallui.AudioModeProvider.AudioModeListener;
import com.android.incallui.InCallPresenter.InCallState;
import com.android.incallui.InCallPresenter.InCallStateListener;
-import com.android.services.telephony.common.AudioMode;
import com.google.common.base.Objects;
/**
@@ -40,7 +40,6 @@
private static final String TAG = ProximitySensor.class.getSimpleName();
private final PowerManager mPowerManager;
- private final PowerManager.WakeLock mProximityWakeLock;
private final AudioModeProvider mAudioModeProvider;
private final AccelerometerListener mAccelerometerListener;
private int mOrientation = AccelerometerListener.ORIENTATION_UNKNOWN;
@@ -54,15 +53,6 @@
public ProximitySensor(Context context, AudioModeProvider audioModeProvider) {
mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
-
- if (mPowerManager.isWakeLockLevelSupported(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK)) {
- mProximityWakeLock = mPowerManager.newWakeLock(
- PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK, TAG);
- } else {
- mProximityWakeLock = null;
- }
- Log.d(this, "onCreate: mProximityWakeLock: ", mProximityWakeLock);
-
mAccelerometerListener = new AccelerometerListener(context, this);
mAudioModeProvider = audioModeProvider;
mAudioModeProvider.addListener(this);
@@ -73,9 +63,7 @@
mAccelerometerListener.enable(false);
- if (mProximityWakeLock != null && mProximityWakeLock.isHeld()) {
- mProximityWakeLock.release();
- }
+ TelecommAdapter.getInstance().turnOffProximitySensor(true);
}
/**
@@ -91,11 +79,11 @@
* Called to keep track of the overall UI state.
*/
@Override
- public void onStateChange(InCallState state, CallList callList) {
+ public void onStateChange(InCallState oldState, InCallState newState, CallList callList) {
// We ignore incoming state because we do not want to enable proximity
// sensor during incoming call screen
- boolean isOffhook = (InCallState.INCALL == state
- || InCallState.OUTGOING == state);
+ boolean isOffhook = (InCallState.INCALL == newState
+ || InCallState.OUTGOING == newState);
if (isOffhook != mIsPhoneOffhook) {
mIsPhoneOffhook = isOffhook;
@@ -163,16 +151,6 @@
}
/**
- * @return true if this device supports the "proximity sensor
- * auto-lock" feature while in-call (see updateProximitySensorMode()).
- */
- private boolean proximitySensorModeEnabled() {
- // TODO: Do we disable notification's expanded view when app is in foreground and
- // proximity sensor is on? Is it even possible to do this any more?
- return (mProximityWakeLock != null);
- }
-
- /**
* Updates the wake lock used to control proximity sensor behavior,
* based on the current state of the phone.
*
@@ -192,71 +170,51 @@
* 3) if the speaker is ON
* 4) If the slider is open(i.e. the hardkeyboard is *not* hidden)
*/
- private void updateProximitySensorMode() {
- if (proximitySensorModeEnabled()) {
- synchronized (mProximityWakeLock) {
+ private synchronized void updateProximitySensorMode() {
+ final int audioMode = mAudioModeProvider.getAudioMode();
- final int audioMode = mAudioModeProvider.getAudioMode();
+ // turn proximity sensor off and turn screen on immediately if
+ // we are using a headset, the keyboard is open, or the device
+ // is being held in a horizontal position.
+ boolean screenOnImmediately = (AudioState.ROUTE_WIRED_HEADSET == audioMode
+ || AudioState.ROUTE_SPEAKER == audioMode
+ || AudioState.ROUTE_BLUETOOTH == audioMode
+ || mIsHardKeyboardOpen);
- // turn proximity sensor off and turn screen on immediately if
- // we are using a headset, the keyboard is open, or the device
- // is being held in a horizontal position.
- boolean screenOnImmediately = (AudioMode.WIRED_HEADSET == audioMode
- || AudioMode.SPEAKER == audioMode
- || AudioMode.BLUETOOTH == audioMode
- || mIsHardKeyboardOpen);
+ // We do not keep the screen off when the user is outside in-call screen and we are
+ // horizontal, but we do not force it on when we become horizontal until the
+ // proximity sensor goes negative.
+ final boolean horizontal =
+ (mOrientation == AccelerometerListener.ORIENTATION_HORIZONTAL);
+ screenOnImmediately |= !mUiShowing && horizontal;
- // We do not keep the screen off when the user is outside in-call screen and we are
- // horizontal, but we do not force it on when we become horizontal until the
- // proximity sensor goes negative.
- final boolean horizontal =
- (mOrientation == AccelerometerListener.ORIENTATION_HORIZONTAL);
- screenOnImmediately |= !mUiShowing && horizontal;
+ // We do not keep the screen off when dialpad is visible, we are horizontal, and
+ // the in-call screen is being shown.
+ // At that moment we're pretty sure users want to use it, instead of letting the
+ // proximity sensor turn off the screen by their hands.
+ screenOnImmediately |= mDialpadVisible && horizontal;
- // We do not keep the screen off when dialpad is visible, we are horizontal, and
- // the in-call screen is being shown.
- // At that moment we're pretty sure users want to use it, instead of letting the
- // proximity sensor turn off the screen by their hands.
- screenOnImmediately |= mDialpadVisible && horizontal;
+ Log.v(this, "screenonImmediately: ", screenOnImmediately);
- Log.v(this, "screenonImmediately: ", screenOnImmediately);
+ Log.i(this, Objects.toStringHelper(this)
+ .add("keybrd", mIsHardKeyboardOpen ? 1 : 0)
+ .add("dpad", mDialpadVisible ? 1 : 0)
+ .add("offhook", mIsPhoneOffhook ? 1 : 0)
+ .add("hor", horizontal ? 1 : 0)
+ .add("ui", mUiShowing ? 1 : 0)
+ .add("aud", AudioState.audioRouteToString(audioMode))
+ .toString());
- Log.i(this, Objects.toStringHelper(this)
- .add("keybrd", mIsHardKeyboardOpen ? 1 : 0)
- .add("dpad", mDialpadVisible ? 1 : 0)
- .add("offhook", mIsPhoneOffhook ? 1 : 0)
- .add("hor", horizontal ? 1 : 0)
- .add("ui", mUiShowing ? 1 : 0)
- .add("aud", AudioMode.toString(audioMode)).toString());
-
- if (mIsPhoneOffhook && !screenOnImmediately) {
- final String logStr = "turning on proximity sensor: ";
- // Phone is in use! Arrange for the screen to turn off
- // automatically when the sensor detects a close object.
- if (!mProximityWakeLock.isHeld()) {
- Log.i(this, logStr + "acquiring");
- mProximityWakeLock.acquire();
- } else {
- Log.i(this, logStr + "already acquired");
- }
- } else {
- final String logStr = "turning off proximity sensor: ";
- // Phone is either idle, or ringing. We don't want any
- // special proximity sensor behavior in either case.
- if (mProximityWakeLock.isHeld()) {
- Log.i(this, logStr + "releasing");
- // Wait until user has moved the phone away from his head if we are
- // releasing due to the phone call ending.
- // Qtherwise, turn screen on immediately
- int flags =
- (screenOnImmediately ? 0 : PowerManager.WAIT_FOR_PROXIMITY_NEGATIVE);
- mProximityWakeLock.release(flags);
- } else {
- Log.i(this, logStr + "already released");
- }
- }
+ if (mIsPhoneOffhook && !screenOnImmediately) {
+ Log.d(this, "Turning on proximity sensor");
+ // Phone is in use! Arrange for the screen to turn off
+ // automatically when the sensor detects a close object.
+ TelecommAdapter.getInstance().turnOnProximitySensor();
+ } else {
+ Log.d(this, "Turning off proximity sensor");
+ // Phone is either idle, or ringing. We don't want any special proximity sensor
+ // behavior in either case.
+ TelecommAdapter.getInstance().turnOffProximitySensor(screenOnImmediately);
}
}
- }
-
}
diff --git a/InCallUI/src/com/android/incallui/SelectPhoneAccountDialogFragment.java b/InCallUI/src/com/android/incallui/SelectPhoneAccountDialogFragment.java
new file mode 100644
index 0000000..0bc97ed
--- /dev/null
+++ b/InCallUI/src/com/android/incallui/SelectPhoneAccountDialogFragment.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.incallui;
+
+import android.telecomm.PhoneAccount;
+import android.telecomm.PhoneAccountHandle;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.app.FragmentManager;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.telecomm.TelecommManager;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.ImageView;
+import android.widget.ListAdapter;
+import android.widget.TextView;
+
+import com.android.contacts.common.R;
+
+import java.util.List;
+
+/**
+ * Dialog that allows the user to switch between default SIM cards
+ */
+public class SelectPhoneAccountDialogFragment extends DialogFragment {
+ private List<PhoneAccountHandle> mAccountHandles;
+ private boolean mIsSelected;
+ private TelecommManager mTelecommManager;
+
+ /* Preferred way to show this dialog */
+ public static void show(FragmentManager fragmentManager) {
+ SelectPhoneAccountDialogFragment fragment = new SelectPhoneAccountDialogFragment();
+ fragment.show(fragmentManager, "selectAccount");
+ }
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ mIsSelected = false;
+ mTelecommManager =
+ (TelecommManager) getActivity().getSystemService(Context.TELECOMM_SERVICE);
+ mAccountHandles = mTelecommManager.getEnabledPhoneAccounts();
+
+ final DialogInterface.OnClickListener selectionListener =
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ mIsSelected = true;
+ PhoneAccountHandle selectedAccountHandle = mAccountHandles.get(which);
+ InCallPresenter.getInstance().handleAccountSelection(selectedAccountHandle);
+ }
+ };
+
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+
+ ListAdapter selectAccountListAdapter = new SelectAccountListAdapter(
+ builder.getContext(),
+ R.layout.select_account_list_item,
+ mAccountHandles);
+
+ return builder.setTitle(R.string.select_account_dialog_title)
+ .setAdapter(selectAccountListAdapter, selectionListener)
+ .create();
+ }
+
+ private class SelectAccountListAdapter extends ArrayAdapter<PhoneAccountHandle> {
+ private Context mContext;
+ private int mResId;
+
+ public SelectAccountListAdapter(
+ Context context, int resource, List<PhoneAccountHandle> accountHandles) {
+ super(context, resource, accountHandles);
+ mContext = context;
+ mResId = resource;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ LayoutInflater inflater = (LayoutInflater)
+ mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+
+ View rowView;
+ final ViewHolder holder;
+
+ if (convertView == null) {
+ // Cache views for faster scrolling
+ rowView = inflater.inflate(mResId, null);
+ holder = new ViewHolder();
+ holder.textView = (TextView) rowView.findViewById(R.id.text);
+ holder.imageView = (ImageView) rowView.findViewById(R.id.icon);
+ rowView.setTag(holder);
+ }
+ else {
+ rowView = convertView;
+ holder = (ViewHolder) rowView.getTag();
+ }
+
+ PhoneAccountHandle accountHandle = getItem(position);
+ PhoneAccount account = mTelecommManager.getPhoneAccount(accountHandle);
+ holder.textView.setText(account.getLabel());
+ holder.imageView.setImageDrawable(account.getIcon(mContext));
+ return rowView;
+ }
+
+ private class ViewHolder {
+ TextView textView;
+ ImageView imageView;
+ }
+ }
+
+ @Override
+ public void onPause() {
+ if (!mIsSelected) {
+ InCallPresenter.getInstance().cancelAccountSelection();
+ }
+ super.onPause();
+ }
+}
\ No newline at end of file
diff --git a/InCallUI/src/com/android/incallui/StatusBarNotifier.java b/InCallUI/src/com/android/incallui/StatusBarNotifier.java
index 2de1b2d..637ac16 100644
--- a/InCallUI/src/com/android/incallui/StatusBarNotifier.java
+++ b/InCallUI/src/com/android/incallui/StatusBarNotifier.java
@@ -16,6 +16,7 @@
package com.android.incallui;
+import android.net.Uri;
import com.google.common.base.Preconditions;
import android.app.Notification;
@@ -34,7 +35,6 @@
import com.android.incallui.ContactInfoCache.ContactInfoCacheCallback;
import com.android.incallui.InCallApp.NotificationBroadcastReceiver;
import com.android.incallui.InCallPresenter.InCallState;
-import com.android.services.telephony.common.Call;
/**
* This class adds Notifications to the status bar for the in-call experience.
@@ -109,67 +109,40 @@
* Creates notifications according to the state we receive from {@link InCallPresenter}.
*/
@Override
- public void onStateChange(InCallState state, CallList callList) {
+ public void onStateChange(InCallState oldState, InCallState newState, CallList callList) {
Log.d(this, "onStateChange");
- updateNotification(state, callList);
- }
-
- /**
- * Updates the phone app's status bar notification based on the
- * current telephony state, or cancels the notification if the phone
- * is totally idle.
- *
- * This method will never actually launch the incoming-call UI.
- * (Use updateNotificationAndLaunchIncomingCallUi() for that.)
- */
- public void updateNotification(InCallState state, CallList callList) {
- Log.d(this, "updateNotification");
- // allowFullScreenIntent=false means *don't* allow the incoming
- // call UI to be launched.
- updateInCallNotification(false, state, callList);
+ updateNotification(newState, callList);
}
/**
* Updates the phone app's status bar notification *and* launches the
* incoming call UI in response to a new incoming call.
*
- * This is just like updateInCallNotification(), with one exception:
* If an incoming call is ringing (or call-waiting), the notification
* will also include a "fullScreenIntent" that will cause the
- * InCallScreen to be launched immediately, unless the current
- * foreground activity is marked as "immersive".
+ * InCallScreen to be launched, unless the current foreground activity
+ * is marked as "immersive".
*
* (This is the mechanism that actually brings up the incoming call UI
* when we receive a "new ringing connection" event from the telephony
* layer.)
*
- * Watch out: this method should ONLY be called directly from the code
- * path in CallNotifier that handles the "new ringing connection"
- * event from the telephony layer. All other places that update the
- * in-call notification (like for phone state changes) should call
- * updateInCallNotification() instead. (This ensures that we don't
- * end up launching the InCallScreen multiple times for a single
- * incoming call, which could cause slow responsiveness and/or visible
- * glitches.)
- *
* Also note that this method is safe to call even if the phone isn't
* actually ringing (or, more likely, if an incoming call *was*
* ringing briefly but then disconnected). In that case, we'll simply
* update or cancel the in-call notification based on the current
* phone state.
*
- * @see #updateInCallNotification(boolean,InCallState,CallList)
+ * @see #updateInCallNotification(InCallState,CallList)
*/
- public void updateNotificationAndLaunchIncomingCallUi(InCallState state, CallList callList) {
- // Set allowFullScreenIntent=true to indicate that we *should*
- // launch the incoming call UI if necessary.
- updateInCallNotification(true, state, callList);
+ public void updateNotification(InCallState state, CallList callList) {
+ updateInCallNotification(state, callList);
}
/**
* Take down the in-call notification.
- * @see #updateInCallNotification(boolean,InCallState,CallList)
+ * @see #updateInCallNotification(InCallState,CallList)
*/
private void cancelInCall() {
Log.d(this, "cancelInCall()...");
@@ -188,21 +161,12 @@
/**
* Helper method for updateInCallNotification() and
- * updateNotificationAndLaunchIncomingCallUi(): Update the phone app's
+ * updateNotification(): Update the phone app's
* status bar notification based on the current telephony state, or
* cancels the notification if the phone is totally idle.
- *
- * @param allowFullScreenIntent If true, *and* an incoming call is
- * ringing, the notification will include a "fullScreenIntent"
- * pointing at the InCallActivity (which will cause the InCallActivity
- * to be launched.)
- * Watch out: This should be set to true *only* when directly
- * handling a new incoming call for the first time.
*/
- private void updateInCallNotification(final boolean allowFullScreenIntent,
- final InCallState state, CallList callList) {
- Log.d(this, "updateInCallNotification(allowFullScreenIntent = "
- + allowFullScreenIntent + ")...");
+ private void updateInCallNotification(final InCallState state, CallList callList) {
+ Log.d(this, "updateInCallNotification...");
Call call = getCallToShow(callList);
@@ -236,7 +200,7 @@
mNotificationTimer.getState() == NotificationTimer.State.FIRED);
if (showNotificationNow) {
- showNotification(call, allowFullScreenIntent);
+ showNotification(call);
} else {
cancelInCall();
if (isOutgoingWithoutIncallUi &&
@@ -251,7 +215,7 @@
}
}
- private void showNotification(final Call call, final boolean allowFullScreenIntent) {
+ private void showNotification(final Call call) {
final boolean isIncoming = (call.getState() == Call.State.INCOMING ||
call.getState() == Call.State.CALL_WAITING);
@@ -260,55 +224,50 @@
// 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.
- mContactInfoCache.findInfo(call.getIdentification(), isIncoming,
- new ContactInfoCacheCallback() {
- private boolean mAllowFullScreenIntent = allowFullScreenIntent;
+ mContactInfoCache.findInfo(call, isIncoming, new ContactInfoCacheCallback() {
+ @Override
+ public void onContactInfoComplete(String callId, ContactCacheEntry entry) {
+ Call call = CallList.getInstance().getCallById(callId);
+ if (call != null) {
+ buildAndSendNotification(call, entry);
+ }
+ }
- @Override
- public void onContactInfoComplete(int callId, ContactCacheEntry entry) {
- Call call = CallList.getInstance().getCall(callId);
- if (call != null) {
- buildAndSendNotification(call, entry, mAllowFullScreenIntent);
- }
-
- // Full screen intents are what bring up the in call screen. We only want
- // to do this the first time we are called back.
- mAllowFullScreenIntent = false;
- }
-
- @Override
- public void onImageLoadComplete(int callId, ContactCacheEntry entry) {
- Call call = CallList.getInstance().getCall(callId);
- if (call != null) {
- buildAndSendNotification(call, entry, mAllowFullScreenIntent);
- }
- } });
+ @Override
+ public void onImageLoadComplete(String callId, ContactCacheEntry entry) {
+ Call call = CallList.getInstance().getCallById(callId);
+ if (call != null) {
+ buildAndSendNotification(call, entry);
+ }
+ }
+ });
}
/**
* Sets up the main Ui for the notification
*/
- private void buildAndSendNotification(Call originalCall, ContactCacheEntry contactInfo,
- boolean allowFullScreenIntent) {
+ private void buildAndSendNotification(Call originalCall, ContactCacheEntry contactInfo) {
// This can get called to update an existing notification after contact information has come
// back. However, it can happen much later. Before we continue, we need to make sure that
// the call being passed in is still the one we want to show in the notification.
final Call call = getCallToShow(CallList.getInstance());
- if (call == null || call.getCallId() != originalCall.getCallId()) {
+ if (call == null || !call.getId().equals(originalCall.getId())) {
return;
}
final int state = call.getState();
final boolean isConference = call.isConferenceCall();
+ final boolean isVideoUpgradeRequest = call.getSessionModificationState()
+ == Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST;
+
+ // Check if data has changed; if nothing is different, don't issue another notification.
final int iconResId = getIconToDisplay(call);
final Bitmap largeIcon = getLargeIconToDisplay(contactInfo, isConference);
final int contentResId = getContentString(call);
final String contentTitle = getContentTitle(contactInfo, isConference);
- // If we checked and found that nothing is different, dont issue another notification.
- if (!checkForChangeAndSaveData(iconResId, contentResId, largeIcon, contentTitle, state,
- allowFullScreenIntent)) {
+ if (!checkForChangeAndSaveData(iconResId, contentResId, largeIcon, contentTitle, state)) {
return;
}
@@ -321,30 +280,28 @@
final PendingIntent inCallPendingIntent = createLaunchPendingIntent();
builder.setContentIntent(inCallPendingIntent);
- // Set the intent as a full screen intent as well if requested
- if (allowFullScreenIntent) {
+ // Set the intent as a full screen intent as well if a call is incoming
+ if ((state == Call.State.INCOMING || state == Call.State.CALL_WAITING) &&
+ !InCallPresenter.getInstance().isShowingInCallUi()) {
configureFullScreenIntent(builder, inCallPendingIntent, call);
}
- // set the content
+ // Set the content
builder.setContentText(mContext.getString(contentResId));
builder.setSmallIcon(iconResId);
builder.setContentTitle(contentTitle);
builder.setLargeIcon(largeIcon);
+ builder.setColor(mContext.getResources().getColor(R.color.dialer_theme_color));
- if (state == Call.State.ACTIVE) {
- builder.setUsesChronometer(true);
- builder.setWhen(call.getConnectTime());
- } else {
+ if (isVideoUpgradeRequest) {
builder.setUsesChronometer(false);
+ addDismissUpgradeRequestAction(builder);
+ addAcceptUpgradeRequestAction(builder);
+ } else {
+ createIncomingCallNotification(call, state, builder);
}
- // Add hang up option for any active calls (active | onhold), outgoing calls (dialing).
- if (state == Call.State.ACTIVE ||
- state == Call.State.ONHOLD ||
- Call.State.isDialing(state)) {
- addHangupAction(builder);
- }
+ addPersonReference(builder, contactInfo, call);
/*
* Fire off the notification
@@ -355,13 +312,38 @@
mIsShowingNotification = true;
}
+ private void createIncomingCallNotification(
+ Call call, int state, Notification.Builder builder) {
+ if (state == Call.State.ACTIVE) {
+ builder.setUsesChronometer(true);
+ builder.setWhen(call.getConnectTimeMillis());
+ } else {
+ builder.setUsesChronometer(false);
+ }
+
+ // Add hang up option for any active calls (active | onhold), outgoing calls (dialing).
+ if (state == Call.State.ACTIVE ||
+ state == Call.State.ONHOLD ||
+ Call.State.isDialing(state)) {
+ addHangupAction(builder);
+ } else if (state == Call.State.INCOMING || state == Call.State.CALL_WAITING) {
+ addDismissAction(builder);
+ if (call.isVideoCall(mContext)) {
+ addVoiceAction(builder);
+ addVideoCallAction(builder);
+ } else {
+ addAnswerAction(builder);
+ }
+ }
+ }
+
/**
* Checks the new notification data and compares it against any notification that we
* are already displaying. If the data is exactly the same, we return false so that
* we do not issue a new notification for the exact same data.
*/
private boolean checkForChangeAndSaveData(int icon, int content, Bitmap largeIcon,
- String contentTitle, int state, boolean showFullScreenIntent) {
+ String contentTitle, int state) {
// The two are different:
// if new title is not null, it should be different from saved version OR
@@ -375,13 +357,6 @@
(mCallState != state) || (mSavedLargeIcon != largeIcon) ||
contentTitleChanged;
- // A full screen intent means that we have been asked to interrupt an activity,
- // so we definitely want to show it.
- if (showFullScreenIntent) {
- Log.d(this, "Forcing full screen intent");
- retval = true;
- }
-
// If we aren't showing a notification right now, definitely start showing one.
if (!mIsShowingNotification) {
Log.d(this, "Showing notification for first time.");
@@ -415,6 +390,15 @@
return contactInfo.name;
}
+ private void addPersonReference(Notification.Builder builder, ContactCacheEntry contactInfo,
+ Call call) {
+ if (contactInfo.lookupUri != null) {
+ builder.addPerson(contactInfo.lookupUri.toString());
+ } else if (!TextUtils.isEmpty(call.getNumber())) {
+ builder.addPerson(Uri.fromParts("tel", call.getNumber(), null).toString());
+ }
+ }
+
/**
* Gets a large icon from the contact info object to display in the notification.
*/
@@ -452,9 +436,12 @@
// from the foreground call. And if there's a ringing call,
// display that regardless of the state of the other calls.
if (call.getState() == Call.State.ONHOLD) {
- return R.drawable.stat_sys_phone_call_on_hold;
+ return R.drawable.ic_phone_paused_white_24dp;
+ } else if (call.getSessionModificationState()
+ == Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
+ return R.drawable.ic_videocam;
}
- return R.drawable.stat_sys_phone_call;
+ return R.drawable.ic_call_white_24dp;
}
/**
@@ -465,12 +452,13 @@
if (call.getState() == Call.State.INCOMING || call.getState() == Call.State.CALL_WAITING) {
resId = R.string.notification_incoming_call;
-
} else if (call.getState() == Call.State.ONHOLD) {
resId = R.string.notification_on_hold;
-
} else if (Call.State.isDialing(call.getState())) {
resId = R.string.notification_dialing;
+ } else if (call.getSessionModificationState()
+ == Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
+ resId = R.string.notification_requesting_video_call;
}
return resId;
@@ -488,18 +476,80 @@
call = callList.getOutgoingCall();
}
if (call == null) {
+ call = callList.getVideoUpgradeRequestCall();
+ }
+ if (call == null) {
call = callList.getActiveOrBackgroundCall();
}
return call;
}
+ private void addAnswerAction(Notification.Builder builder) {
+ Log.i(this, "Will show \"answer\" action in the incoming call Notification");
+
+ PendingIntent answerVoicePendingIntent = createNotificationPendingIntent(
+ mContext, InCallApp.ACTION_ANSWER_VOICE_INCOMING_CALL);
+ builder.addAction(R.drawable.fab_ic_call,
+ mContext.getText(R.string.description_target_answer),
+ answerVoicePendingIntent);
+ }
+
+ private void addDismissAction(Notification.Builder builder) {
+ Log.i(this, "Will show \"dismiss\" action in the incoming call Notification");
+
+ PendingIntent declinePendingIntent =
+ createNotificationPendingIntent(mContext, InCallApp.ACTION_DECLINE_INCOMING_CALL);
+ builder.addAction(R.drawable.ic_close_dk,
+ mContext.getText(R.string.notification_action_dismiss),
+ declinePendingIntent);
+ }
+
private void addHangupAction(Notification.Builder builder) {
Log.i(this, "Will show \"hang-up\" action in the ongoing active call Notification");
- // TODO: use better asset.
- builder.addAction(R.drawable.stat_sys_phone_call_end,
+ PendingIntent hangupPendingIntent =
+ createNotificationPendingIntent(mContext, InCallApp.ACTION_HANG_UP_ONGOING_CALL);
+ builder.addAction(R.drawable.fab_ic_end_call,
mContext.getText(R.string.notification_action_end_call),
- createHangUpOngoingCallPendingIntent(mContext));
+ hangupPendingIntent);
+ }
+
+ private void addVideoCallAction(Notification.Builder builder) {
+ Log.i(this, "Will show \"video\" action in the incoming call Notification");
+
+ PendingIntent answerVideoPendingIntent = createNotificationPendingIntent(
+ mContext, InCallApp.ACTION_ANSWER_VIDEO_INCOMING_CALL);
+ builder.addAction(R.drawable.ic_videocam,
+ mContext.getText(R.string.notification_action_answer_video),
+ answerVideoPendingIntent);
+ }
+
+ private void addVoiceAction(Notification.Builder builder) {
+ Log.i(this, "Will show \"voice\" action in the incoming call Notification");
+
+ PendingIntent answerVoicePendingIntent = createNotificationPendingIntent(
+ mContext, InCallApp.ACTION_ANSWER_VOICE_INCOMING_CALL);
+ builder.addAction(R.drawable.fab_ic_call,
+ mContext.getText(R.string.notification_action_answer_voice),
+ answerVoicePendingIntent);
+ }
+
+ private void addAcceptUpgradeRequestAction(Notification.Builder builder) {
+ Log.i(this, "Will show \"accept\" action in the incoming call Notification");
+
+ PendingIntent acceptVideoPendingIntent = createNotificationPendingIntent(
+ mContext, InCallApp.ACTION_ANSWER_VOICE_INCOMING_CALL);
+ builder.addAction(0, mContext.getText(R.string.notification_action_accept),
+ acceptVideoPendingIntent);
+ }
+
+ private void addDismissUpgradeRequestAction(Notification.Builder builder) {
+ Log.i(this, "Will show \"dismiss\" action in the incoming call Notification");
+
+ PendingIntent declineVideoPendingIntent = createNotificationPendingIntent(
+ mContext, InCallApp.ACTION_ANSWER_VOICE_INCOMING_CALL);
+ builder.addAction(0, mContext.getText(R.string.notification_action_dismiss),
+ declineVideoPendingIntent);
}
/**
@@ -561,9 +611,11 @@
return builder;
}
+
private PendingIntent createLaunchPendingIntent() {
- final Intent intent = InCallPresenter.getInstance().getInCallIntent(/*showdialpad=*/false);
+ final Intent intent = InCallPresenter.getInstance().getInCallIntent(
+ false /* showDialpad */, false /* newOutgoingCall */);
// PendingIntent that can be used to launch the InCallActivity. The
// system fires off this intent if the user pulls down the windowshade
@@ -576,12 +628,13 @@
}
/**
- * Returns PendingIntent for hanging up ongoing phone call. This will typically be used from
+ * Returns PendingIntent for answering a phone call. This will typically be used from
* Notification context.
*/
- private static PendingIntent createHangUpOngoingCallPendingIntent(Context context) {
- final Intent intent = new Intent(InCallApp.ACTION_HANG_UP_ONGOING_CALL, null,
+ private static PendingIntent createNotificationPendingIntent(Context context, String action) {
+ final Intent intent = new Intent(action, null,
context, NotificationBroadcastReceiver.class);
return PendingIntent.getBroadcast(context, 0, intent, 0);
}
+
}
diff --git a/InCallUI/src/com/android/incallui/TelecommAdapter.java b/InCallUI/src/com/android/incallui/TelecommAdapter.java
new file mode 100644
index 0000000..1f5c9c5
--- /dev/null
+++ b/InCallUI/src/com/android/incallui/TelecommAdapter.java
@@ -0,0 +1,228 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.incallui;
+
+import android.content.ActivityNotFoundException;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Looper;
+import android.telecomm.InCallAdapter;
+import android.telecomm.Phone;
+import android.telecomm.PhoneAccountHandle;
+
+import com.google.common.base.Preconditions;
+
+import java.util.List;
+
+/** Wrapper around {@link InCallAdapter} that only forwards calls to the adapter when it's valid. */
+final class TelecommAdapter implements InCallPhoneListener {
+ private static final String ADD_CALL_MODE_KEY = "add_call_mode";
+
+ private static TelecommAdapter sInstance;
+ private Context mContext;
+ private Phone mPhone;
+
+ static TelecommAdapter getInstance() {
+ Preconditions.checkState(Looper.getMainLooper().getThread() == Thread.currentThread());
+ if (sInstance == null) {
+ sInstance = new TelecommAdapter();
+ }
+ return sInstance;
+ }
+
+ private TelecommAdapter() {
+ }
+
+ void setContext(Context context) {
+ mContext = context;
+ }
+
+ @Override
+ public void setPhone(Phone phone) {
+ mPhone = phone;
+ }
+
+ @Override
+ public void clearPhone() {
+ mPhone = null;
+ }
+
+ private android.telecomm.Call getTelecommCallById(String callId) {
+ return CallList.getInstance().getCallById(callId).getTelecommCall();
+ }
+
+ void answerCall(String callId, int videoState) {
+ if (mPhone != null) {
+ getTelecommCallById(callId).answer(videoState);
+ } else {
+ Log.e(this, "error answerCall, mPhone is null");
+ }
+ }
+
+ void rejectCall(String callId, boolean rejectWithMessage, String message) {
+ if (mPhone != null) {
+ getTelecommCallById(callId).reject(rejectWithMessage, message);
+ } else {
+ Log.e(this, "error rejectCall, mPhone is null");
+ }
+ }
+
+ void disconnectCall(String callId) {
+ if (mPhone != null) {
+ getTelecommCallById(callId).disconnect();
+ } else {
+ Log.e(this, "error disconnectCall, mPhone is null");
+ }
+ }
+
+ void holdCall(String callId) {
+ if (mPhone != null) {
+ getTelecommCallById(callId).hold();
+ } else {
+ Log.e(this, "error holdCall, mPhone is null");
+ }
+ }
+
+ void unholdCall(String callId) {
+ if (mPhone != null) {
+ getTelecommCallById(callId).unhold();
+ } else {
+ Log.e(this, "error unholdCall, mPhone is null");
+ }
+ }
+
+ void mute(boolean shouldMute) {
+ if (mPhone != null) {
+ mPhone.setMuted(shouldMute);
+ } else {
+ Log.e(this, "error mute, mPhone is null");
+ }
+ }
+
+ void setAudioRoute(int route) {
+ if (mPhone != null) {
+ mPhone.setAudioRoute(route);
+ } else {
+ Log.e(this, "error setAudioRoute, mPhone is null");
+ }
+ }
+
+ void turnOnProximitySensor() {
+ if (mPhone != null) {
+ mPhone.setProximitySensorOn();
+ } else {
+ Log.e(this, "error setProximitySensorOn, mPhone is null");
+ }
+ }
+
+ void turnOffProximitySensor(boolean screenOnImmediately) {
+ if (mPhone != null) {
+ mPhone.setProximitySensorOff(screenOnImmediately);
+ } else {
+ Log.e(this, "error setProximitySensorOff, mPhone is null");
+ }
+ }
+
+ void separateCall(String callId) {
+ if (mPhone != null) {
+ getTelecommCallById(callId).splitFromConference();
+ } else {
+ Log.e(this, "error separateCall, mPhone is null.");
+ }
+ }
+
+ void merge(String callId) {
+ if (mPhone != null) {
+ android.telecomm.Call call = getTelecommCallById(callId);
+ List<android.telecomm.Call> conferenceable = call.getConferenceableCalls();
+ if (!conferenceable.isEmpty()) {
+ call.conference(conferenceable.get(0));
+ }
+ } else {
+ Log.e(this, "error merge, mPhone is null.");
+ }
+ }
+
+ void swap(String callId) {
+ // TODO: Remove (obsolete)
+ }
+
+ void addCall() {
+ if (mContext != null) {
+ Intent intent = new Intent(Intent.ACTION_DIAL);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+
+ // when we request the dialer come up, we also want to inform
+ // it that we're going through the "add call" option from the
+ // InCallScreen / PhoneUtils.
+ intent.putExtra(ADD_CALL_MODE_KEY, true);
+ try {
+ Log.d(this, "Sending the add Call intent");
+ mContext.startActivity(intent);
+ } catch (ActivityNotFoundException e) {
+ // This is rather rare but possible.
+ // Note: this method is used even when the phone is encrypted. At that moment
+ // the system may not find any Activity which can accept this Intent.
+ Log.e(this, "Activity for adding calls isn't found.", e);
+ }
+ }
+ }
+
+ void playDtmfTone(String callId, char digit) {
+ if (mPhone != null) {
+ getTelecommCallById(callId).playDtmfTone(digit);
+ } else {
+ Log.e(this, "error playDtmfTone, mPhone is null");
+ }
+ }
+
+ void stopDtmfTone(String callId) {
+ if (mPhone != null) {
+ getTelecommCallById(callId).stopDtmfTone();
+ } else {
+ Log.e(this, "error stopDtmfTone, mPhone is null");
+ }
+ }
+
+ void postDialContinue(String callId, boolean proceed) {
+ if (mPhone != null) {
+ getTelecommCallById(callId).postDialContinue(proceed);
+ } else {
+ Log.e(this, "error postDialContinue, mPhone is null");
+ }
+ }
+
+ void phoneAccountClicked(String callId) {
+ if (mPhone != null) {
+ getTelecommCallById(callId).phoneAccountClicked();
+ } else {
+ Log.e(this, "error phoneAccountClicked, mPhone is null");
+ }
+ }
+
+ void phoneAccountSelected(String callId, PhoneAccountHandle accountHandle) {
+ if (mPhone != null) {
+ getTelecommCallById(callId).phoneAccountSelected(accountHandle);
+ } else {
+ Log.e(this, "error phoneAccountSelected, mAdapter is null");
+ }
+
+ if (accountHandle == null) {
+ Log.e(this, "error phoneAccountSelected, accountHandle is null");
+ }
+ }
+}
diff --git a/InCallUI/src/com/android/incallui/VideoCallFragment.java b/InCallUI/src/com/android/incallui/VideoCallFragment.java
new file mode 100644
index 0000000..8e0b3a3
--- /dev/null
+++ b/InCallUI/src/com/android/incallui/VideoCallFragment.java
@@ -0,0 +1,525 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.incallui;
+
+import android.content.res.Configuration;
+import android.graphics.Point;
+import android.graphics.SurfaceTexture;
+import android.os.Bundle;
+import android.view.Display;
+import android.view.LayoutInflater;
+import android.view.Surface;
+import android.view.TextureView;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.ViewStub;
+import android.view.ViewTreeObserver;
+
+/**
+ * Fragment containing video calling surfaces.
+ */
+public class VideoCallFragment extends BaseFragment<VideoCallPresenter,
+ VideoCallPresenter.VideoCallUi> implements VideoCallPresenter.VideoCallUi {
+
+ /**
+ * Surface ID for the display surface.
+ */
+ public static final int SURFACE_DISPLAY = 1;
+
+ /**
+ * Surface ID for the preview surface.
+ */
+ public static final int SURFACE_PREVIEW = 2;
+
+ // Static storage used to retain the video surfaces across Activity restart.
+ // TextureViews are not parcelable, so it is not possible to store them in the saved state.
+ private static boolean sVideoSurfacesInUse = false;
+ private static VideoCallSurface sPreviewSurface = null;
+ private static VideoCallSurface sDisplaySurface = null;
+
+ /**
+ * {@link ViewStub} holding the video call surfaces. This is the parent for the
+ * {@link VideoCallFragment}. Used to ensure that the video surfaces are only inflated when
+ * required.
+ */
+ private ViewStub mVideoViewsStub;
+
+ /**
+ * Inflated view containing the video call surfaces represented by the {@link ViewStub}.
+ */
+ private View mVideoViews;
+
+ /**
+ * {@code True} when the entering the activity again after a restart due to orientation change.
+ */
+ private boolean mIsActivityRestart;
+
+ /**
+ * {@code True} when the layout of the activity has been completed.
+ */
+ private boolean mIsLayoutComplete = false;
+
+ /**
+ * {@code True} if in landscape mode.
+ */
+ private boolean mIsLandscape;
+
+ /**
+ * Inner-class representing a {@link TextureView} and its associated {@link SurfaceTexture} and
+ * {@link Surface}. Used to manage the lifecycle of these objects across device orientation
+ * changes.
+ */
+ private class VideoCallSurface implements TextureView.SurfaceTextureListener,
+ View.OnClickListener {
+ private int mSurfaceId;
+ private TextureView mTextureView;
+ private SurfaceTexture mSavedSurfaceTexture;
+ private Surface mSavedSurface;
+
+ /**
+ * Creates an instance of a {@link VideoCallSurface}.
+ *
+ * @param surfaceId The surface ID of the surface.
+ * @param textureView The {@link TextureView} for the surface.
+ */
+ public VideoCallSurface(int surfaceId, TextureView textureView) {
+ mSurfaceId = surfaceId;
+ recreateView(textureView);
+ }
+
+ /**
+ * Recreates a {@link VideoCallSurface} after a device orientation change. Re-applies the
+ * saved {@link SurfaceTexture} to the
+ *
+ * @param view The {@link TextureView}.
+ */
+ public void recreateView(TextureView view) {
+ mTextureView = view;
+ mTextureView.setSurfaceTextureListener(this);
+ mTextureView.setOnClickListener(this);
+
+ if (mSavedSurfaceTexture != null) {
+ mTextureView.setSurfaceTexture(mSavedSurfaceTexture);
+ }
+ }
+
+ /**
+ * Handles {@link SurfaceTexture} callback to indicate that a {@link SurfaceTexture} has
+ * been successfully created.
+ *
+ * @param surfaceTexture The {@link SurfaceTexture} which has been created.
+ * @param width The width of the {@link SurfaceTexture}.
+ * @param height The height of the {@link SurfaceTexture}.
+ */
+ @Override
+ public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int width,
+ int height) {
+ // Where there is no saved {@link SurfaceTexture} available, use the newly created one.
+ // If a saved {@link SurfaceTexture} is available, we are re-creating after an
+ // orientation change.
+ if (mSavedSurfaceTexture == null) {
+ mSavedSurfaceTexture = surfaceTexture;
+ mSavedSurface = new Surface(mSavedSurfaceTexture);
+ }
+
+ // Inform presenter that the surface is available.
+ getPresenter().onSurfaceCreated(mSurfaceId);
+ }
+
+ /**
+ * Handles a change in the {@link SurfaceTexture}'s size.
+ *
+ * @param surfaceTexture The {@link SurfaceTexture}.
+ * @param width The new width.
+ * @param height The new height.
+ */
+ @Override
+ public void onSurfaceTextureSizeChanged(SurfaceTexture surfaceTexture, int width,
+ int height) {
+ // Not handled
+ }
+
+ /**
+ * Handles {@link SurfaceTexture} destruct callback, indicating that it has been destroyed.
+ *
+ * @param surfaceTexture The {@link SurfaceTexture}.
+ * @return {@code True} if the {@link TextureView} can release the {@link SurfaceTexture}.
+ */
+ @Override
+ public boolean onSurfaceTextureDestroyed(SurfaceTexture surfaceTexture) {
+ /**
+ * Destroying the surface texture; inform the presenter so it can null the surfaces.
+ */
+ if (mSavedSurfaceTexture == null) {
+ getPresenter().onSurfaceDestroyed(mSurfaceId);
+ if (mSavedSurface != null) {
+ mSavedSurface.release();
+ mSavedSurface = null;
+ }
+ }
+
+ // The saved SurfaceTexture will be null if we're shutting down, so we want to
+ // return "true" in that case (indicating that TextureView can release the ST).
+ return (mSavedSurfaceTexture == null);
+ }
+
+ /**
+ * Handles {@link SurfaceTexture} update callback.
+ * @param surface
+ */
+ @Override
+ public void onSurfaceTextureUpdated(SurfaceTexture surface) {
+ // Not Handled
+ }
+
+ /**
+ * Retrieves the current {@link TextureView}.
+ *
+ * @return The {@link TextureView}.
+ */
+ public TextureView getTextureView() {
+ return mTextureView;
+ }
+
+ /**
+ * Called by the user presenter to indicate that the surface is no longer required due to a
+ * change in video state. Releases and clears out the saved surface and surface textures.
+ */
+ public void setDoneWithSurface() {
+ if (mSavedSurface != null) {
+ mSavedSurface.release();
+ mSavedSurface = null;
+ }
+ if (mSavedSurfaceTexture != null) {
+ mSavedSurfaceTexture.release();
+ mSavedSurfaceTexture = null;
+ }
+ }
+
+ /**
+ * Retrieves the saved surface instance.
+ *
+ * @return The surface.
+ */
+ public Surface getSurface() {
+ return mSavedSurface;
+ }
+
+ /**
+ * Handles a user clicking the surface, which is the trigger to toggle the full screen
+ * Video UI.
+ *
+ * @param view The view receiving the click.
+ */
+ @Override
+ public void onClick(View view) {
+ getPresenter().onSurfaceClick(mSurfaceId);
+ }
+ };
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ mIsActivityRestart = sVideoSurfacesInUse;
+ }
+
+ /**
+ * Handles creation of the activity and initialization of the presenter.
+ *
+ * @param savedInstanceState The saved instance state.
+ */
+ @Override
+ public void onActivityCreated(Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+
+ mIsLandscape = getResources().getConfiguration().orientation
+ == Configuration.ORIENTATION_LANDSCAPE;
+
+ getPresenter().init(getActivity());
+ }
+
+ /**
+ * Handles creation of the fragment view.
+ *
+ * @param inflater The inflater.
+ * @param container The view group containing the fragment.
+ * @param savedInstanceState The saved instance state.
+ * @return
+ */
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+
+ super.onCreateView(inflater, container, savedInstanceState);
+
+ final View view = inflater.inflate(R.layout.video_call_fragment, container, false);
+
+ // Attempt to center the incoming video view, if it is in the layout.
+ final ViewTreeObserver observer = view.getViewTreeObserver();
+ observer.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
+ @Override
+ public void onGlobalLayout() {
+ // Check if the layout includes the incoming video surface -- this will only be the
+ // case for a video call.
+ View displayVideo = view.findViewById(R.id.incomingVideo);
+ if (displayVideo != null) {
+ centerDisplayView(displayVideo);
+ }
+
+ mIsLayoutComplete = true;
+
+ // Remove the listener so we don't continually re-layout.
+ ViewTreeObserver observer = view.getViewTreeObserver();
+ if (observer.isAlive()) {
+ observer.removeOnGlobalLayoutListener(this);
+ }
+ }
+ });
+
+ return view;
+ }
+
+ /**
+ * Centers the display view vertically for portrait orientation, and horizontally for
+ * lanscape orientations. The view is centered within the available space not occupied by
+ * the call card.
+ *
+ * @param displayVideo The video view to center.
+ */
+ private void centerDisplayView(View displayVideo) {
+ // In a lansdcape layout we need to ensure we horizontally center the view based on whether
+ // the layout is left-to-right or right-to-left.
+ // In a left-to-right locale, the space for the video view is to the right of the call card
+ // so we need to translate it in the +X direction.
+ // In a right-to-left locale, the space for the video view is to the left of the call card
+ // so we need to translate it in the -X direction.
+ final boolean isLayoutRtl = InCallPresenter.isRtl();
+
+ float spaceBesideCallCard = InCallPresenter.getInstance().getSpaceBesideCallCard();
+ if (mIsLandscape) {
+ float videoViewTranslation = displayVideo.getWidth() / 2
+ - spaceBesideCallCard / 2;
+ if (isLayoutRtl) {
+ displayVideo.setTranslationX(-videoViewTranslation);
+ } else {
+ displayVideo.setTranslationX(videoViewTranslation);
+ }
+ } else {
+ float videoViewTranslation = displayVideo.getHeight() / 2
+ - spaceBesideCallCard / 2;
+ displayVideo.setTranslationY(videoViewTranslation);
+ }
+ }
+
+ /**
+ * After creation of the fragment view, retrieves the required views.
+ *
+ * @param view The fragment view.
+ * @param savedInstanceState The saved instance state.
+ */
+ @Override
+ public void onViewCreated(View view, Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+
+ mVideoViewsStub = (ViewStub) view.findViewById(R.id.videoCallViewsStub);
+
+ // If the surfaces are already in use, we have just changed orientation or otherwise
+ // re-created the fragment. In this case we need to inflate the video call views and
+ // restore the surfaces.
+ if (sVideoSurfacesInUse) {
+ inflateVideoCallViews();
+ }
+ }
+
+ /**
+ * Creates the presenter for the {@link VideoCallFragment}.
+ * @return The presenter instance.
+ */
+ @Override
+ public VideoCallPresenter createPresenter() {
+ return new VideoCallPresenter();
+ }
+
+ /**
+ * @return The user interface for the presenter, which is this fragment.
+ */
+ @Override
+ VideoCallPresenter.VideoCallUi getUi() {
+ return this;
+ }
+
+ /**
+ * Toggles visibility of the video UI.
+ *
+ * @param show {@code True} if the video surfaces should be shown.
+ */
+ @Override
+ public void showVideoUi(boolean show) {
+ int visibility = show ? View.VISIBLE : View.GONE;
+ getView().setVisibility(visibility);
+
+ if (show) {
+ inflateVideoCallViews();
+ } else {
+ cleanupSurfaces();
+ }
+
+ if (mVideoViews != null ) {
+ mVideoViews.setVisibility(visibility);
+ }
+ }
+
+ /**
+ * Cleans up the video telephony surfaces. Used when the presenter indicates a change to an
+ * audio-only state. Since the surfaces are static, it is important to ensure they are cleaned
+ * up promptly.
+ */
+ @Override
+ public void cleanupSurfaces() {
+ if (sDisplaySurface != null) {
+ sDisplaySurface.setDoneWithSurface();
+ sDisplaySurface = null;
+ }
+ if (sPreviewSurface != null) {
+ sPreviewSurface.setDoneWithSurface();
+ sPreviewSurface = null;
+ }
+ sVideoSurfacesInUse = false;
+ }
+
+ @Override
+ public boolean isActivityRestart() {
+ return mIsActivityRestart;
+ }
+
+ /**
+ * @return {@code True} if the display video surface has been created.
+ */
+ @Override
+ public boolean isDisplayVideoSurfaceCreated() {
+ return sDisplaySurface != null && sDisplaySurface.getSurface() != null;
+ }
+
+ /**
+ * @return {@code True} if the preview video surface has been created.
+ */
+ @Override
+ public boolean isPreviewVideoSurfaceCreated() {
+ return sPreviewSurface != null && sPreviewSurface.getSurface() != null;
+ }
+
+ /**
+ * {@link android.view.Surface} on which incoming video for a video call is displayed.
+ * {@code Null} until the video views {@link android.view.ViewStub} is inflated.
+ */
+ @Override
+ public Surface getDisplayVideoSurface() {
+ return sDisplaySurface == null ? null : sDisplaySurface.getSurface();
+ }
+
+ /**
+ * {@link android.view.Surface} on which a preview of the outgoing video for a video call is
+ * displayed. {@code Null} until the video views {@link android.view.ViewStub} is inflated.
+ */
+ @Override
+ public Surface getPreviewVideoSurface() {
+ return sPreviewSurface == null ? null : sPreviewSurface.getSurface();
+ }
+
+ /**
+ * Changes the dimensions of the preview surface. Called when the dimensions change due to a
+ * device orientation change.
+ *
+ * @param width The new width.
+ * @param height The new height.
+ */
+ @Override
+ public void setPreviewSize(int width, int height) {
+ if (sPreviewSurface != null) {
+ TextureView preview = sPreviewSurface.getTextureView();
+
+ if (preview == null ) {
+ return;
+ }
+
+ ViewGroup.LayoutParams params = preview.getLayoutParams();
+ params.width = width;
+ params.height = height;
+ preview.setLayoutParams(params);
+ }
+ }
+
+ /**
+ * Inflates the {@link ViewStub} containing the incoming and outgoing surfaces, if necessary,
+ * and creates {@link VideoCallSurface} instances to track the surfaces.
+ */
+ private void inflateVideoCallViews() {
+ if (mVideoViews == null ) {
+ mVideoViews = mVideoViewsStub.inflate();
+ }
+
+ if (mVideoViews != null) {
+ TextureView displaySurface = (TextureView) mVideoViews.findViewById(R.id.incomingVideo);
+ setSurfaceSizeAndTranslation(displaySurface);
+
+ if (!sVideoSurfacesInUse) {
+ // Where the video surfaces are not already in use (first time creating them),
+ // setup new VideoCallSurface instances to track them.
+ sDisplaySurface = new VideoCallSurface(SURFACE_DISPLAY,
+ (TextureView) mVideoViews.findViewById(R.id.incomingVideo));
+ sPreviewSurface = new VideoCallSurface(SURFACE_PREVIEW,
+ (TextureView) mVideoViews.findViewById(R.id.previewVideo));
+ sVideoSurfacesInUse = true;
+ } else {
+ // In this case, the video surfaces are already in use (we are recreating the
+ // Fragment after a destroy/create cycle resulting from a rotation.
+ sDisplaySurface.recreateView((TextureView) mVideoViews.findViewById(
+ R.id.incomingVideo));
+ sPreviewSurface.recreateView((TextureView) mVideoViews.findViewById(
+ R.id.previewVideo));
+ }
+ }
+ }
+
+ /**
+ * Resizes a surface so that it has the same size as the full screen and so that it is
+ * centered vertically below the call card.
+ *
+ * @param textureView The {@link TextureView} to resize and position.
+ */
+ private void setSurfaceSizeAndTranslation(TextureView textureView) {
+ // Get current screen size.
+ Display display = getActivity().getWindowManager().getDefaultDisplay();
+ Point size = new Point();
+ display.getSize(size);
+
+ // Set the surface to have that size.
+ ViewGroup.LayoutParams params = textureView.getLayoutParams();
+ params.width = size.x;
+ params.height = size.y;
+ textureView.setLayoutParams(params);
+
+ // It is only possible to center the display view if layout of the views has completed.
+ // It is only after layout is complete that the dimensions of the Call Card has been
+ // established, which is a prerequisite to centering the view.
+ // Incoming video calls will center the view
+ if (mIsLayoutComplete && ((mIsLandscape && textureView.getTranslationX() == 0) || (
+ !mIsLandscape && textureView.getTranslationY() == 0))) {
+ centerDisplayView(textureView);
+ }
+ }
+}
diff --git a/InCallUI/src/com/android/incallui/VideoCallPresenter.java b/InCallUI/src/com/android/incallui/VideoCallPresenter.java
new file mode 100644
index 0000000..f218de2
--- /dev/null
+++ b/InCallUI/src/com/android/incallui/VideoCallPresenter.java
@@ -0,0 +1,611 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.incallui;
+
+import android.content.Context;
+import android.content.res.Configuration;
+import android.os.Handler;
+import android.telecomm.AudioState;
+import android.telecomm.CameraCapabilities;
+import android.telecomm.InCallService.VideoCall;
+import android.view.Surface;
+
+import com.android.contacts.common.CallUtil;
+import com.android.incallui.InCallPresenter.InCallDetailsListener;
+import com.android.incallui.InCallPresenter.InCallOrientationListener;
+import com.android.incallui.InCallPresenter.InCallStateListener;
+import com.android.incallui.InCallPresenter.IncomingCallListener;
+import com.android.incallui.InCallVideoCallListenerNotifier.SurfaceChangeListener;
+import com.android.incallui.InCallVideoCallListenerNotifier.VideoEventListener;
+import com.google.common.base.Preconditions;
+
+import java.util.Objects;
+
+/**
+ * Logic related to the {@link VideoCallFragment} and for managing changes to the video calling
+ * surfaces based on other user interface events and incoming events from the
+ * {@class VideoCallListener}.
+ * <p>
+ * When a call's video state changes to bi-directional video, the
+ * {@link com.android.incallui.VideoCallPresenter} performs the following negotiation with the
+ * telephony layer:
+ * <ul>
+ * <li>{@code VideoCallPresenter} creates and informs telephony of the display surface.</li>
+ * <li>{@code VideoCallPresenter} creates the preview surface.</li>
+ * <li>{@code VideoCallPresenter} informs telephony of the currently selected camera.</li>
+ * <li>Telephony layer sends {@link CameraCapabilities}, including the
+ * dimensions of the video for the current camera.</li>
+ * <li>{@code VideoCallPresenter} adjusts size of the preview surface to match the aspect
+ * ratio of the camera.</li>
+ * <li>{@code VideoCallPresenter} informs telephony of the new preview surface.</li>
+ * </ul>
+ * <p>
+ * When downgrading to an audio-only video state, the {@code VideoCallPresenter} nulls both
+ * surfaces.
+ */
+public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi> implements
+ IncomingCallListener, InCallOrientationListener, InCallStateListener,
+ InCallDetailsListener, SurfaceChangeListener, VideoEventListener,
+ InCallVideoCallListenerNotifier.SessionModificationListener {
+
+ /**
+ * Determines the device orientation (portrait/lanscape).
+ */
+ public int getDeviceOrientation() {
+ return mDeviceOrientation;
+ }
+
+ /**
+ * Defines the state of the preview surface negotiation with the telephony layer.
+ */
+ private class PreviewSurfaceState {
+ /**
+ * The camera has not yet been set on the {@link VideoCall}; negotiation has not yet
+ * started.
+ */
+ private static final int NONE = 0;
+
+ /**
+ * The camera has been set on the {@link VideoCall}, but camera capabilities have not yet
+ * been received.
+ */
+ private static final int CAMERA_SET = 1;
+
+ /**
+ * The camera capabilties have been received from telephony, but the surface has not yet
+ * been set on the {@link VideoCall}.
+ */
+ private static final int CAPABILITIES_RECEIVED = 2;
+
+ /**
+ * The surface has been set on the {@link VideoCall}.
+ */
+ private static final int SURFACE_SET = 3;
+ }
+
+ /**
+ * The minimum width or height of the preview surface. Used when re-sizing the preview surface
+ * to match the aspect ratio of the currently selected camera.
+ */
+ private float mMinimumVideoDimension;
+
+ /**
+ * The current context.
+ */
+ private Context mContext;
+
+ /**
+ * The call the video surfaces are currently related to
+ */
+ private Call mPrimaryCall;
+
+ /**
+ * The {@link VideoCall} used to inform the video telephony layer of changes to the video
+ * surfaces.
+ */
+ private VideoCall mVideoCall;
+
+ /**
+ * Determines if the current UI state represents a video call.
+ */
+ private boolean mIsVideoCall;
+
+ /**
+ * Determines the active camera for transmitted video.
+ */
+ private InCallCameraManager mInCallCameraManager;
+
+ /**
+ * Determines the device orientation (portrait/lanscape).
+ */
+ private int mDeviceOrientation;
+
+ /**
+ * Tracks the state of the preview surface negotiation with the telephony layer.
+ */
+ private int mPreviewSurfaceState = PreviewSurfaceState.NONE;
+
+ /**
+ * Determines whether the video surface is in full-screen mode.
+ */
+ private boolean mIsFullScreen = false;
+
+ /**
+ * Saves the audio mode which was selected prior to going into a video call.
+ */
+ private int mPreVideoAudioMode = AudioModeProvider.AUDIO_MODE_INVALID;
+
+ /** Handler which resets request state to NO_REQUEST after an interval. */
+ private Handler mSessionModificationResetHandler;
+ private static final long SESSION_MODIFICATION_RESET_DELAY_MS = 3000;
+
+ /**
+ * Initializes the presenter.
+ *
+ * @param context The current context.
+ */
+ public void init(Context context) {
+ mContext = Preconditions.checkNotNull(context);
+ mMinimumVideoDimension = mContext.getResources().getDimension(
+ R.dimen.video_preview_small_dimension);
+ mSessionModificationResetHandler = new Handler();
+ }
+
+ /**
+ * Called when the user interface is ready to be used.
+ *
+ * @param ui The Ui implementation that is now ready to be used.
+ */
+ @Override
+ public void onUiReady(VideoCallUi ui) {
+ super.onUiReady(ui);
+
+ // Register for call state changes last
+ InCallPresenter.getInstance().addListener(this);
+ InCallPresenter.getInstance().addIncomingCallListener(this);
+ InCallPresenter.getInstance().addOrientationListener(this);
+
+ // Register for surface and video events from {@link InCallVideoCallListener}s.
+ InCallVideoCallListenerNotifier.getInstance().addSurfaceChangeListener(this);
+ InCallVideoCallListenerNotifier.getInstance().addVideoEventListener(this);
+ InCallVideoCallListenerNotifier.getInstance().addSessionModificationListener(this);
+
+ mInCallCameraManager = InCallPresenter.getInstance().getInCallCameraManager();
+ mIsVideoCall = false;
+ }
+
+ /**
+ * Called when the user interface is no longer ready to be used.
+ *
+ * @param ui The Ui implementation that is no longer ready to be used.
+ */
+ @Override
+ public void onUiUnready(VideoCallUi ui) {
+ super.onUiUnready(ui);
+
+ InCallPresenter.getInstance().removeListener(this);
+ InCallPresenter.getInstance().removeIncomingCallListener(this);
+ InCallPresenter.getInstance().removeOrientationListener(this);
+ InCallVideoCallListenerNotifier.getInstance().removeSurfaceChangeListener(this);
+ InCallVideoCallListenerNotifier.getInstance().removeVideoEventListener(this);
+ InCallVideoCallListenerNotifier.getInstance().removeSessionModificationListener(this);
+
+ mInCallCameraManager = null;
+ }
+
+ /**
+ * @return The {@link VideoCall}.
+ */
+ private VideoCall getVideoCall() {
+ return mVideoCall;
+ }
+
+ /**
+ * Handles the creation of a surface in the {@link VideoCallFragment}.
+ *
+ * @param surface The surface which was created.
+ */
+ public void onSurfaceCreated(int surface) {
+ final VideoCallUi ui = getUi();
+
+ if (ui == null || mVideoCall == null) {
+ return;
+ }
+
+ // If the preview surface has just been created and we have already received camera
+ // capabilities, but not yet set the surface, we will set the surface now.
+ if (surface == VideoCallFragment.SURFACE_PREVIEW &&
+ mPreviewSurfaceState == PreviewSurfaceState.CAPABILITIES_RECEIVED) {
+
+ mPreviewSurfaceState = PreviewSurfaceState.SURFACE_SET;
+ mVideoCall.setPreviewSurface(ui.getPreviewVideoSurface());
+ } else if (surface == VideoCallFragment.SURFACE_DISPLAY) {
+ mVideoCall.setDisplaySurface(ui.getDisplayVideoSurface());
+ }
+ }
+
+ /**
+ * Handles structural changes (format or size) to a surface.
+ *
+ * @param surface The surface which changed.
+ * @param format The new PixelFormat of the surface.
+ * @param width The new width of the surface.
+ * @param height The new height of the surface.
+ */
+ public void onSurfaceChanged(int surface, int format, int width, int height) {
+ //Do stuff
+ }
+
+ /**
+ * Handles the destruction of a surface in the {@link VideoCallFragment}.
+ *
+ * @param surface The surface which was destroyed.
+ */
+ public void onSurfaceDestroyed(int surface) {
+ final VideoCallUi ui = getUi();
+ if (ui == null || mVideoCall == null) {
+ return;
+ }
+
+ if (surface == VideoCallFragment.SURFACE_DISPLAY) {
+ mVideoCall.setDisplaySurface(null);
+ } else if (surface == VideoCallFragment.SURFACE_PREVIEW) {
+ mVideoCall.setPreviewSurface(null);
+ }
+ }
+
+ /**
+ * Handles clicks on the video surfaces by toggling full screen state.
+ * Informs the {@link InCallPresenter} of the change so that it can inform the
+ * {@link CallCardPresenter} of the change.
+ *
+ * @param surfaceId The video surface receiving the click.
+ */
+ public void onSurfaceClick(int surfaceId) {
+ mIsFullScreen = !mIsFullScreen;
+ InCallPresenter.getInstance().setFullScreenVideoState(mIsFullScreen);
+ }
+
+
+ /**
+ * Handles incoming calls.
+ *
+ * @param state The in call state.
+ * @param call The call.
+ */
+ @Override
+ public void onIncomingCall(InCallPresenter.InCallState oldState,
+ InCallPresenter.InCallState newState, Call call) {
+ // same logic should happen as with onStateChange()
+ onStateChange(oldState, newState, CallList.getInstance());
+ }
+
+ /**
+ * Handles state changes (including incoming calls)
+ *
+ * @param newState The in call state.
+ * @param callList The call list.
+ */
+ @Override
+ public void onStateChange(InCallPresenter.InCallState oldState,
+ InCallPresenter.InCallState newState, CallList callList) {
+ // Bail if video calling is disabled for the device.
+ if (!CallUtil.isVideoEnabled(mContext)) {
+ return;
+ }
+
+ if (newState == InCallPresenter.InCallState.NO_CALLS) {
+ exitVideoMode();
+ }
+
+ // Determine the primary active call).
+ Call primary = null;
+ if (newState == InCallPresenter.InCallState.INCOMING) {
+ primary = callList.getIncomingCall();
+ } else if (newState == InCallPresenter.InCallState.OUTGOING) {
+ primary = callList.getOutgoingCall();
+ } else if (newState == InCallPresenter.InCallState.INCALL) {
+ primary = callList.getActiveCall();
+ }
+
+ final boolean primaryChanged = !Objects.equals(mPrimaryCall, primary);
+ if (primaryChanged) {
+ mPrimaryCall = primary;
+
+ if (primary != null) {
+ checkForVideoCallChange();
+ mIsVideoCall = mPrimaryCall.isVideoCall(mContext);
+ if (mIsVideoCall) {
+ enterVideoMode();
+ } else {
+ exitVideoMode();
+ }
+ } else if (primary == null) {
+ // If no primary call, ensure we exit video state and clean up the video surfaces.
+ exitVideoMode();
+ }
+ }
+ }
+
+ /**
+ * Handles changes to the details of the call. The {@link VideoCallPresenter} is interested in
+ * changes to the video state.
+ *
+ * @param call The call for which the details changed.
+ * @param details The new call details.
+ */
+ @Override
+ public void onDetailsChanged(Call call, android.telecomm.Call.Details details) {
+ // If the details change is not for the currently active call no update is required.
+ if (!call.equals(mPrimaryCall)) {
+ return;
+ }
+
+ checkForVideoStateChange();
+ }
+
+ /**
+ * Checks for a change to the video call and changes it if required.
+ */
+ private void checkForVideoCallChange() {
+ VideoCall videoCall = mPrimaryCall.getTelecommCall().getVideoCall();
+ if (!Objects.equals(videoCall, mVideoCall)) {
+ changeVideoCall(videoCall);
+ }
+ }
+
+ /**
+ * Checks to see if the current video state has changed and updates the UI if required.
+ */
+ private void checkForVideoStateChange() {
+ boolean newVideoState = mPrimaryCall.isVideoCall(mContext);
+
+ // Check if video state changed
+ if (mIsVideoCall != newVideoState) {
+ mIsVideoCall = newVideoState;
+
+ if (mIsVideoCall) {
+ enterVideoMode();
+ } else {
+ exitVideoMode();
+ }
+ }
+ }
+
+ /**
+ * 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.
+ */
+ private void changeVideoCall(VideoCall videoCall) {
+ // Null out the surfaces on the previous video call.
+ if (mVideoCall != null) {
+ mVideoCall.setDisplaySurface(null);
+ mVideoCall.setPreviewSurface(null);
+ }
+
+ mVideoCall = videoCall;
+ }
+
+ /**
+ * Enters video mode by showing the video surfaces and making other adjustments (eg. audio).
+ * TODO(vt): Need to adjust size and orientation of preview surface here.
+ */
+ private void enterVideoMode() {
+ VideoCallUi ui = getUi();
+ if (ui == null) {
+ return;
+ }
+
+ ui.showVideoUi(true);
+ InCallPresenter.getInstance().setInCallAllowsOrientationChange(true);
+
+ // Communicate the current camera to telephony and make a request for the camera
+ // capabilities.
+ if (mVideoCall != null) {
+ // Do not reset the surfaces if we just restarted the activity due to an orientation
+ // change.
+ if (ui.isActivityRestart()) {
+ return;
+ }
+
+ mPreviewSurfaceState = PreviewSurfaceState.CAMERA_SET;
+ mVideoCall.setCamera(mInCallCameraManager.getActiveCameraId());
+ mVideoCall.requestCameraCapabilities();
+
+ if (ui.isDisplayVideoSurfaceCreated()) {
+ mVideoCall.setDisplaySurface(ui.getDisplayVideoSurface());
+ }
+ }
+
+ mPreVideoAudioMode = AudioModeProvider.getInstance().getAudioMode();
+ TelecommAdapter.getInstance().setAudioRoute(AudioState.ROUTE_SPEAKER);
+ }
+
+ /**
+ * Exits video mode by hiding the video surfaces and making other adjustments (eg. audio).
+ */
+ private void exitVideoMode() {
+ VideoCallUi ui = getUi();
+ if (ui == null) {
+ return;
+ }
+ InCallPresenter.getInstance().setInCallAllowsOrientationChange(false);
+ ui.showVideoUi(false);
+
+ if (mPreVideoAudioMode != AudioModeProvider.AUDIO_MODE_INVALID) {
+ TelecommAdapter.getInstance().setAudioRoute(mPreVideoAudioMode);
+ mPreVideoAudioMode = AudioModeProvider.AUDIO_MODE_INVALID;
+ }
+ }
+
+ /**
+ * Handles peer video pause state changes.
+ *
+ * @param call The call which paused or un-pausedvideo transmission.
+ * @param paused {@code True} when the video transmission is paused, {@code false} when video
+ * transmission resumes.
+ */
+ @Override
+ public void onPeerPauseStateChanged(Call call, boolean paused) {
+ if (!call.equals(mPrimaryCall)) {
+ return;
+ }
+
+ // TODO(vt): Show/hide the peer contact photo.
+ }
+
+ /**
+ * Handles peer video dimension changes.
+ *
+ * @param call The call which experienced a peer video dimension change.
+ * @param width The new peer video width .
+ * @param height The new peer video height.
+ */
+ @Override
+ public void onUpdatePeerDimensions(Call call, int width, int height) {
+ if (!call.equals(mPrimaryCall)) {
+ return;
+ }
+
+ // TODO(vt): Change display surface aspect ratio.
+ }
+
+ /**
+ * Handles a change to the dimensions of the local camera. Receiving the camera capabilities
+ * triggers the creation of the video
+ *
+ * @param call The call which experienced the camera dimension change.
+ * @param width The new camera video width.
+ * @param height The new camera video height.
+ */
+ @Override
+ public void onCameraDimensionsChange(Call call, int width, int height) {
+ VideoCallUi ui = getUi();
+ if (ui == null) {
+ return;
+ }
+
+ if (!call.equals(mPrimaryCall)) {
+ return;
+ }
+
+ mPreviewSurfaceState = PreviewSurfaceState.CAPABILITIES_RECEIVED;
+
+ // Configure the preview surface to the correct aspect ratio.
+ float aspectRatio = 1.0f;
+ if (width > 0 && height > 0) {
+ aspectRatio = (float) width / (float) height;
+ }
+ setPreviewSize(mDeviceOrientation, aspectRatio);
+
+ // Check if the preview surface is ready yet; if it is, set it on the {@code VideoCall}.
+ // If it not yet ready, it will be set when when creation completes.
+ if (ui.isPreviewVideoSurfaceCreated()) {
+ mPreviewSurfaceState = PreviewSurfaceState.SURFACE_SET;
+ mVideoCall.setPreviewSurface(ui.getPreviewVideoSurface());
+ }
+ }
+
+ /**
+ * Handles hanges to the device orientation.
+ * See: {@link Configuration.ORIENTATION_LANDSCAPE}, {@link Configuration.ORIENTATION_PORTRAIT}
+ * @param orientation The device orientation.
+ */
+ @Override
+ public void onDeviceOrientationChanged(int orientation) {
+ mDeviceOrientation = orientation;
+ }
+
+ @Override
+ public void onUpgradeToVideoRequest(Call call) {
+ mPrimaryCall.setSessionModificationState(
+ Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST);
+ }
+
+ @Override
+ public void onUpgradeToVideoSuccess(Call call) {
+ if (mPrimaryCall == null || !Call.areSame(mPrimaryCall, call)) {
+ return;
+ }
+
+ mPrimaryCall.setSessionModificationState(Call.SessionModificationState.NO_REQUEST);
+ }
+
+ @Override
+ public void onUpgradeToVideoFail(Call call) {
+ if (mPrimaryCall == null || !Call.areSame(mPrimaryCall, call)) {
+ return;
+ }
+
+ call.setSessionModificationState(Call.SessionModificationState.REQUEST_FAILED);
+
+ // Start handler to change state from REQUEST_FAILED to NO_REQUEST after an interval.
+ mSessionModificationResetHandler.postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ mPrimaryCall.setSessionModificationState(Call.SessionModificationState.NO_REQUEST);
+ }
+ }, SESSION_MODIFICATION_RESET_DELAY_MS);
+ }
+
+ @Override
+ public void onDowngradeToAudio(Call call) {
+ // Implementing to satsify interface.
+ }
+
+ /**
+ * Sets the preview surface size based on the current device orientation.
+ * See: {@link Configuration.ORIENTATION_LANDSCAPE}, {@link Configuration.ORIENTATION_PORTRAIT}
+ *
+ * @param orientation The device orientation.
+ * @param aspectRatio The aspect ratio of the camera (width / height).
+ */
+ private void setPreviewSize(int orientation, float aspectRatio) {
+ VideoCallUi ui = getUi();
+ if (ui == null) {
+ return;
+ }
+
+ int height;
+ int width;
+
+ if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
+ width = (int) (mMinimumVideoDimension * aspectRatio);
+ height = (int) mMinimumVideoDimension;
+ } else {
+ width = (int) mMinimumVideoDimension;
+ height = (int) (mMinimumVideoDimension * aspectRatio);
+ }
+ ui.setPreviewSize(width, height);
+ }
+
+ /**
+ * Defines the VideoCallUI interactions.
+ */
+ public interface VideoCallUi extends Ui {
+ void showVideoUi(boolean show);
+ boolean isDisplayVideoSurfaceCreated();
+ boolean isPreviewVideoSurfaceCreated();
+ Surface getDisplayVideoSurface();
+ Surface getPreviewVideoSurface();
+ void setPreviewSize(int width, int height);
+ void cleanupSurfaces();
+ boolean isActivityRestart();
+ }
+}
diff --git a/InCallUI/src/com/android/incallui/widget/multiwaveview/GlowPadView.java b/InCallUI/src/com/android/incallui/widget/multiwaveview/GlowPadView.java
index a346ba5..a5733de 100644
--- a/InCallUI/src/com/android/incallui/widget/multiwaveview/GlowPadView.java
+++ b/InCallUI/src/com/android/incallui/widget/multiwaveview/GlowPadView.java
@@ -223,8 +223,7 @@
mFeedbackCount);
mAllowScaling = a.getBoolean(R.styleable.GlowPadView_allowScaling, false);
TypedValue handle = a.peekValue(R.styleable.GlowPadView_handleDrawable);
- mHandleDrawable = new TargetDrawable(res, handle != null ? handle.resourceId : 0, 2);
- mHandleDrawable.setState(TargetDrawable.STATE_INACTIVE);
+ setHandleDrawable(handle != null ? handle.resourceId : R.drawable.ic_incall_audio_handle);
mOuterRing = new TargetDrawable(res,
getResourceId(a, R.styleable.GlowPadView_outerRingDrawable), 1);
@@ -262,8 +261,6 @@
setDirectionDescriptionsResourceId(resourceId);
}
- a.recycle();
-
// Use gravity attribute from LinearLayout
//a = context.obtainStyledAttributes(attrs, R.styleable.LinearLayout);
mGravity = a.getInt(R.styleable.GlowPadView_android_gravity, Gravity.TOP);
@@ -622,7 +619,6 @@
updatePointCloudPosition(mWaveCenterX, mWaveCenterY);
}
}
-
/**
* Loads an array of drawables from the given resourceId.
*
@@ -642,6 +638,15 @@
}
/**
+ * Sets teh handle drawable to the drawable specified by the resource ID.
+ * @param resourceId
+ */
+ public void setHandleDrawable(int resourceId) {
+ mHandleDrawable = new TargetDrawable(getResources(), resourceId, 2);
+ mHandleDrawable.setState(TargetDrawable.STATE_INACTIVE);
+ }
+
+ /**
* Sets the resource id specifying the target descriptions for accessibility.
*
* @param resourceId The resource id.