am 781261b0: am 3b23cf55: Merge "Delete use of list_item_divider."
* commit '781261b015baadd5894a77d4e7376cda115bd680':
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index e36c834..6879f3a 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -68,7 +68,7 @@
dialpad screen. -->
<activity android:name=".DialtactsActivity"
android:label="@string/launcherDialer"
- android:theme="@style/DialtactsTheme"
+ android:theme="@style/DialtactsActivityTheme"
android:launchMode="singleTask"
android:clearTaskOnLaunch="true"
android:icon="@mipmap/ic_launcher_phone"
@@ -122,11 +122,6 @@
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.TAB" />
</intent-filter>
- <intent-filter>
- <action android:name="android.intent.action.SEARCH" />
- </intent-filter>
- <meta-data android:name="android.app.searchable"
- android:resource="@xml/searchable"/>
</activity>
<activity android:name="com.android.dialer.calllog.CallLogActivity"
diff --git a/res/anim/slide_in.xml b/res/anim/slide_in.xml
index 31502a9..b2ebf7d 100644
--- a/res/anim/slide_in.xml
+++ b/res/anim/slide_in.xml
@@ -13,11 +13,10 @@
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"
+<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
+ android:interpolator="@android:interpolator/fast_out_slow_in"
android:valueFrom="0.67"
android:valueTo="0"
android:valueType="floatType"
android:propertyName="yFraction"
- android:duration="200" />
\ No newline at end of file
+ android:duration="666" />
\ No newline at end of file
diff --git a/res/anim/slide_out.xml b/res/anim/slide_out.xml
index e037009..d3b92e3 100644
--- a/res/anim/slide_out.xml
+++ b/res/anim/slide_out.xml
@@ -13,11 +13,10 @@
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"
+<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
+ android:interpolator="@android:interpolator/fast_out_slow_in"
android:valueFrom="0"
- android:valueTo="0.67"
+ android:valueTo="0.8"
android:valueType="floatType"
android:propertyName="yFraction"
- android:duration="200" />
\ No newline at end of file
+ android:duration="429" />
\ No newline at end of file
diff --git a/res/color/tab_text_color.xml b/res/color/tab_text_color.xml
index 629341e..5ef1fe3 100644
--- a/res/color/tab_text_color.xml
+++ b/res/color/tab_text_color.xml
@@ -16,6 +16,6 @@
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="#fff" android:state_selected="true"/>
- <item android:color="#a3e7f0" />
+ <item android:color="@color/actionbar_text_color" android:state_selected="true"/>
+ <item android:color="@color/actionbar_unselected_text_color" />
</selector>
\ No newline at end of file
diff --git a/res/drawable-hdpi/fab_ic_call.png b/res/drawable-hdpi/fab_ic_call.png
new file mode 100644
index 0000000..548a391
--- /dev/null
+++ b/res/drawable-hdpi/fab_ic_call.png
Binary files differ
diff --git a/res/drawable-hdpi/fab_ic_dial.png b/res/drawable-hdpi/fab_ic_dial.png
new file mode 100644
index 0000000..a856632
--- /dev/null
+++ b/res/drawable-hdpi/fab_ic_dial.png
Binary files differ
diff --git a/res/drawable-hdpi/fab_teal_background.png b/res/drawable-hdpi/fab_teal_background.png
new file mode 100644
index 0000000..88e8495
--- /dev/null
+++ b/res/drawable-hdpi/fab_teal_background.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_call_arrow.png b/res/drawable-hdpi/ic_call_arrow.png
new file mode 100644
index 0000000..14a33e3
--- /dev/null
+++ b/res/drawable-hdpi/ic_call_arrow.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_call_incoming_holo_dark.png b/res/drawable-hdpi/ic_call_incoming_holo_dark.png
deleted file mode 100644
index 8351f48..0000000
--- a/res/drawable-hdpi/ic_call_incoming_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_call_missed_holo_dark.png b/res/drawable-hdpi/ic_call_missed_holo_dark.png
deleted file mode 100644
index 7c17c30..0000000
--- a/res/drawable-hdpi/ic_call_missed_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_call_outgoing_holo_dark.png b/res/drawable-hdpi/ic_call_outgoing_holo_dark.png
deleted file mode 100644
index 3b9e0f8..0000000
--- a/res/drawable-hdpi/ic_call_outgoing_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_dial_action_call.png b/res/drawable-hdpi/ic_dial_action_call.png
deleted file mode 100644
index ed08eb8..0000000
--- a/res/drawable-hdpi/ic_dial_action_call.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_dial_action_delete.png b/res/drawable-hdpi/ic_dial_action_delete.png
deleted file mode 100644
index ebf692a..0000000
--- a/res/drawable-hdpi/ic_dial_action_delete.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_dial_action_vm.png b/res/drawable-hdpi/ic_dial_action_vm.png
deleted file mode 100644
index f424304..0000000
--- a/res/drawable-hdpi/ic_dial_action_vm.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_dialpad_dk.png b/res/drawable-hdpi/ic_menu_dialpad_dk.png
deleted file mode 100644
index 55f5477..0000000
--- a/res/drawable-hdpi/ic_menu_dialpad_dk.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_dialpad_lt.png b/res/drawable-hdpi/ic_menu_dialpad_lt.png
deleted file mode 100644
index bd0fe5d..0000000
--- a/res/drawable-hdpi/ic_menu_dialpad_lt.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_overflow_menu.png b/res/drawable-hdpi/ic_overflow_menu.png
new file mode 100644
index 0000000..0170057
--- /dev/null
+++ b/res/drawable-hdpi/ic_overflow_menu.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_star.png b/res/drawable-hdpi/ic_star.png
new file mode 100644
index 0000000..62e1f8a
--- /dev/null
+++ b/res/drawable-hdpi/ic_star.png
Binary files differ
diff --git a/res/drawable-hdpi/star_thumbnail.png b/res/drawable-hdpi/star_thumbnail.png
deleted file mode 100644
index 1d4d5e1..0000000
--- a/res/drawable-hdpi/star_thumbnail.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_dial_action_call.png b/res/drawable-ldrtl-hdpi/ic_dial_action_call.png
deleted file mode 100644
index 34c78ff..0000000
--- a/res/drawable-ldrtl-hdpi/ic_dial_action_call.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_dial_action_call.png b/res/drawable-ldrtl-mdpi/ic_dial_action_call.png
deleted file mode 100644
index d1f00f1..0000000
--- a/res/drawable-ldrtl-mdpi/ic_dial_action_call.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_dial_action_call.png b/res/drawable-ldrtl-xhdpi/ic_dial_action_call.png
deleted file mode 100644
index e0d2688..0000000
--- a/res/drawable-ldrtl-xhdpi/ic_dial_action_call.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/fab_ic_call.png b/res/drawable-mdpi/fab_ic_call.png
new file mode 100644
index 0000000..ff7b345
--- /dev/null
+++ b/res/drawable-mdpi/fab_ic_call.png
Binary files differ
diff --git a/res/drawable-mdpi/fab_ic_dial.png b/res/drawable-mdpi/fab_ic_dial.png
new file mode 100644
index 0000000..3a23245
--- /dev/null
+++ b/res/drawable-mdpi/fab_ic_dial.png
Binary files differ
diff --git a/res/drawable-mdpi/fab_teal_background.png b/res/drawable-mdpi/fab_teal_background.png
new file mode 100644
index 0000000..3a37b27
--- /dev/null
+++ b/res/drawable-mdpi/fab_teal_background.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_call_arrow.png b/res/drawable-mdpi/ic_call_arrow.png
new file mode 100644
index 0000000..169cf29
--- /dev/null
+++ b/res/drawable-mdpi/ic_call_arrow.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_call_incoming_holo_dark.png b/res/drawable-mdpi/ic_call_incoming_holo_dark.png
deleted file mode 100644
index 8dcb350..0000000
--- a/res/drawable-mdpi/ic_call_incoming_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_call_missed_holo_dark.png b/res/drawable-mdpi/ic_call_missed_holo_dark.png
deleted file mode 100644
index af030cf..0000000
--- a/res/drawable-mdpi/ic_call_missed_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_call_outgoing_holo_dark.png b/res/drawable-mdpi/ic_call_outgoing_holo_dark.png
deleted file mode 100644
index 38a01b7..0000000
--- a/res/drawable-mdpi/ic_call_outgoing_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_dial_action_call.png b/res/drawable-mdpi/ic_dial_action_call.png
deleted file mode 100644
index 59a68f2..0000000
--- a/res/drawable-mdpi/ic_dial_action_call.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_dial_action_delete.png b/res/drawable-mdpi/ic_dial_action_delete.png
deleted file mode 100644
index e1394c5..0000000
--- a/res/drawable-mdpi/ic_dial_action_delete.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_dial_action_vm.png b/res/drawable-mdpi/ic_dial_action_vm.png
deleted file mode 100644
index fbcf378..0000000
--- a/res/drawable-mdpi/ic_dial_action_vm.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_overflow_menu.png b/res/drawable-mdpi/ic_overflow_menu.png
new file mode 100644
index 0000000..0170057
--- /dev/null
+++ b/res/drawable-mdpi/ic_overflow_menu.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_star.png b/res/drawable-mdpi/ic_star.png
new file mode 100644
index 0000000..d2af0ba
--- /dev/null
+++ b/res/drawable-mdpi/ic_star.png
Binary files differ
diff --git a/res/drawable-mdpi/star_thumbnail.png b/res/drawable-mdpi/star_thumbnail.png
deleted file mode 100644
index 7b96272..0000000
--- a/res/drawable-mdpi/star_thumbnail.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/fab_ic_call.png b/res/drawable-xhdpi/fab_ic_call.png
new file mode 100644
index 0000000..2bff65e
--- /dev/null
+++ b/res/drawable-xhdpi/fab_ic_call.png
Binary files differ
diff --git a/res/drawable-xhdpi/fab_ic_dial.png b/res/drawable-xhdpi/fab_ic_dial.png
new file mode 100644
index 0000000..3694017
--- /dev/null
+++ b/res/drawable-xhdpi/fab_ic_dial.png
Binary files differ
diff --git a/res/drawable-xhdpi/fab_teal_background.png b/res/drawable-xhdpi/fab_teal_background.png
new file mode 100644
index 0000000..b2ed8cd
--- /dev/null
+++ b/res/drawable-xhdpi/fab_teal_background.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_call_arrow.png b/res/drawable-xhdpi/ic_call_arrow.png
new file mode 100644
index 0000000..6f13660
--- /dev/null
+++ b/res/drawable-xhdpi/ic_call_arrow.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_call_incoming_holo_dark.png b/res/drawable-xhdpi/ic_call_incoming_holo_dark.png
deleted file mode 100644
index 8eb5f3d..0000000
--- a/res/drawable-xhdpi/ic_call_incoming_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_call_missed_holo_dark.png b/res/drawable-xhdpi/ic_call_missed_holo_dark.png
deleted file mode 100644
index 6d09a4e..0000000
--- a/res/drawable-xhdpi/ic_call_missed_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_call_outgoing_holo_dark.png b/res/drawable-xhdpi/ic_call_outgoing_holo_dark.png
deleted file mode 100644
index 6360504..0000000
--- a/res/drawable-xhdpi/ic_call_outgoing_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_dial_action_call.png b/res/drawable-xhdpi/ic_dial_action_call.png
deleted file mode 100644
index 0bd9803..0000000
--- a/res/drawable-xhdpi/ic_dial_action_call.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_dial_action_delete.png b/res/drawable-xhdpi/ic_dial_action_delete.png
deleted file mode 100644
index 6788669..0000000
--- a/res/drawable-xhdpi/ic_dial_action_delete.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_dial_action_vm.png b/res/drawable-xhdpi/ic_dial_action_vm.png
deleted file mode 100644
index 2919bbd..0000000
--- a/res/drawable-xhdpi/ic_dial_action_vm.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_overflow_menu.png b/res/drawable-xhdpi/ic_overflow_menu.png
new file mode 100644
index 0000000..7773841
--- /dev/null
+++ b/res/drawable-xhdpi/ic_overflow_menu.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_star.png b/res/drawable-xhdpi/ic_star.png
new file mode 100644
index 0000000..2071f42
--- /dev/null
+++ b/res/drawable-xhdpi/ic_star.png
Binary files differ
diff --git a/res/drawable-xhdpi/star_thumbnail.png b/res/drawable-xhdpi/star_thumbnail.png
deleted file mode 100644
index a71262f..0000000
--- a/res/drawable-xhdpi/star_thumbnail.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/fab_ic_call.png b/res/drawable-xxhdpi/fab_ic_call.png
new file mode 100644
index 0000000..a756b95
--- /dev/null
+++ b/res/drawable-xxhdpi/fab_ic_call.png
Binary files differ
diff --git a/res/drawable-xxhdpi/fab_ic_dial.png b/res/drawable-xxhdpi/fab_ic_dial.png
new file mode 100644
index 0000000..8f1f21e
--- /dev/null
+++ b/res/drawable-xxhdpi/fab_ic_dial.png
Binary files differ
diff --git a/res/drawable-xxhdpi/fab_teal_background.png b/res/drawable-xxhdpi/fab_teal_background.png
new file mode 100644
index 0000000..6bb4d20
--- /dev/null
+++ b/res/drawable-xxhdpi/fab_teal_background.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_call_arrow.png b/res/drawable-xxhdpi/ic_call_arrow.png
new file mode 100644
index 0000000..0364ee0
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_call_arrow.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_call_incoming_holo_dark.png b/res/drawable-xxhdpi/ic_call_incoming_holo_dark.png
deleted file mode 100644
index 1276917..0000000
--- a/res/drawable-xxhdpi/ic_call_incoming_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_call_missed_holo_dark.png b/res/drawable-xxhdpi/ic_call_missed_holo_dark.png
deleted file mode 100644
index 8919fd3..0000000
--- a/res/drawable-xxhdpi/ic_call_missed_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_call_outgoing_holo_dark.png b/res/drawable-xxhdpi/ic_call_outgoing_holo_dark.png
deleted file mode 100644
index 192bbf6..0000000
--- a/res/drawable-xxhdpi/ic_call_outgoing_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_dial_action_call.png b/res/drawable-xxhdpi/ic_dial_action_call.png
deleted file mode 100644
index 12a5c07..0000000
--- a/res/drawable-xxhdpi/ic_dial_action_call.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_dial_action_delete.png b/res/drawable-xxhdpi/ic_dial_action_delete.png
deleted file mode 100644
index ca91a72..0000000
--- a/res/drawable-xxhdpi/ic_dial_action_delete.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_dial_action_vm.png b/res/drawable-xxhdpi/ic_dial_action_vm.png
deleted file mode 100644
index acac8d8..0000000
--- a/res/drawable-xxhdpi/ic_dial_action_vm.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_overflow_menu.png b/res/drawable-xxhdpi/ic_overflow_menu.png
new file mode 100644
index 0000000..7773841
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_overflow_menu.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_star.png b/res/drawable-xxhdpi/ic_star.png
new file mode 100644
index 0000000..f3c8304
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_star.png
Binary files differ
diff --git a/res/drawable-xxhdpi/star_thumbnail.png b/res/drawable-xxhdpi/star_thumbnail.png
deleted file mode 100644
index 5f13fec..0000000
--- a/res/drawable-xxhdpi/star_thumbnail.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/action_bar_tab.xml b/res/drawable/action_bar_tab.xml
index fe961f7..8a3ea7a 100644
--- a/res/drawable/action_bar_tab.xml
+++ b/res/drawable/action_bar_tab.xml
@@ -14,24 +14,25 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:drawable="@drawable/tab_selected"
- android:state_focused="false"
- android:state_pressed="false"
- android:state_selected="true" />
- <item android:drawable="@drawable/tab_selected_focused"
- android:state_focused="true"
- android:state_pressed="false"
- android:state_selected="true" />
- <item android:drawable="@drawable/tab_unselected_focused"
- android:state_focused="true"
- android:state_pressed="false"
- android:state_selected="false" />
- <item android:drawable="@color/tab_pressed_color"
- android:state_pressed="true" />
- <item android:drawable="@drawable/tab_selected"
- android:state_selected="true" />
- <item android:drawable="@color/tab_default_color"
- android:state_selected="false" />
-</selector>
\ No newline at end of file
+<touch-feedback xmlns:android="http://schemas.android.com/apk/res/android"
+ android:tint="@color/tab_pressed_color">
+ <item>
+ <selector>
+ <item android:drawable="@drawable/tab_selected"
+ android:state_focused="false"
+ android:state_pressed="false"
+ android:state_selected="true" />
+ <item android:drawable="@drawable/tab_selected_focused"
+ android:state_focused="true"
+ android:state_pressed="false"
+ android:state_selected="true" />
+ <item android:drawable="@drawable/tab_unselected_focused"
+ android:state_focused="true"
+ android:state_pressed="false"
+ android:state_selected="false" />
+ <item android:drawable="@drawable/tab_selected"
+ android:state_selected="true" />
+ <item android:drawable="@color/tab_default_color" />
+ </selector>
+ </item>
+</touch-feedback>
\ No newline at end of file
diff --git a/res/drawable/action_button_background.xml b/res/drawable/action_button_background.xml
new file mode 100644
index 0000000..895bda1
--- /dev/null
+++ b/res/drawable/action_button_background.xml
@@ -0,0 +1,27 @@
+<?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-feedback xmlns:android="http://schemas.android.com/apk/res/android"
+ android:tint="?android:attr/colorButtonPressed"
+ android:pinned="true">
+ <!-- Transparent background constrains the touch feedback ripple to the button, but also allows
+ touch feedback ripples in the parent to show under the button. -->
+ <item>
+ <shape android:shape="rectangle" >
+ <solid android:color="@android:color/transparent" />
+ </shape>
+ </item>
+</touch-feedback>
diff --git a/res/drawable/btn_call.xml b/res/drawable/btn_call.xml
deleted file mode 100644
index ae2f6c0..0000000
--- a/res/drawable/btn_call.xml
+++ /dev/null
@@ -1,29 +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 call button in the various dialpads.
- Almost a copy from framework's item_background_holo_dark.xml, but has different pressed effect
- -->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
- <item android:state_window_focused="false" android:drawable="@android:color/transparent" />
-
- <!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
- <item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/list_selector_disabled_holo_dark" />
- <item android:state_focused="true" android:state_enabled="false" android:drawable="@drawable/list_selector_disabled_holo_dark" />
- <item android:state_focused="true" android:drawable="@drawable/list_focused_holo" />
- <item android:drawable="@android:color/transparent" />
-</selector>
diff --git a/res/drawable/dialpad_key_colors.xml b/res/drawable/call_log_background.xml
similarity index 66%
copy from res/drawable/dialpad_key_colors.xml
copy to res/drawable/call_log_background.xml
index 27b4d4f..92299f0 100644
--- a/res/drawable/dialpad_key_colors.xml
+++ b/res/drawable/call_log_background.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
+<!--
+ 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.
@@ -13,10 +14,6 @@
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>
+<touch-feedback xmlns:android="http://schemas.android.com/apk/res/android"
+ android:tint="?android:attr/colorButtonPressed"
+ android:pinned="false" />
diff --git a/res/drawable/dialpad_key_colors.xml b/res/drawable/floating_action_button.xml
similarity index 66%
rename from res/drawable/dialpad_key_colors.xml
rename to res/drawable/floating_action_button.xml
index 27b4d4f..ea95490 100644
--- a/res/drawable/dialpad_key_colors.xml
+++ b/res/drawable/floating_action_button.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
+<!--
+ 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.
@@ -14,9 +15,8 @@
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>
+<touch-feedback xmlns:android="http://schemas.android.com/apk/res/android"
+ android:tint="@color/dialer_accent_color"
+ android:pinned="true">
+ <item android:drawable="@drawable/fab_teal_background" />
+</touch-feedback>
diff --git a/res/drawable/ic_phone_plus_wifi.png b/res/drawable/ic_phone_plus_wifi.png
deleted file mode 100644
index 5cd75ab..0000000
--- a/res/drawable/ic_phone_plus_wifi.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/ic_wifi_call.png b/res/drawable/ic_wifi_call.png
deleted file mode 100644
index 4fd5f33..0000000
--- a/res/drawable/ic_wifi_call.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/shadow_fade_up.xml b/res/drawable/shadow_fade_up.xml
index e2d9934..e961c86 100644
--- a/res/drawable/shadow_fade_up.xml
+++ b/res/drawable/shadow_fade_up.xml
@@ -18,7 +18,7 @@
android:shape="rectangle" >
<gradient
android:type="linear"
- android:startColor="#66999999"
- android:endColor="#00ffffff"
+ android:startColor="#1a000000"
+ android:endColor="@null"
android:angle="90"/>
</shape>
\ No newline at end of file
diff --git a/res/drawable/tab_selected.xml b/res/drawable/tab_selected.xml
deleted file mode 100644
index 78f1eda..0000000
--- a/res/drawable/tab_selected.xml
+++ /dev/null
@@ -1,23 +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.
--->
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
- <!-- Tab selected underline -->
- <item android:drawable="@color/tab_selected_color" />
- <!-- Tab background -->
- <item android:drawable="@color/tab_default_color"
- android:bottom="@dimen/tab_selected_underline_height" />
-</layer-list>
\ No newline at end of file
diff --git a/res/drawable/tab_selected_focused.xml b/res/drawable/tab_selected_focused.xml
deleted file mode 100644
index 591045d..0000000
--- a/res/drawable/tab_selected_focused.xml
+++ /dev/null
@@ -1,30 +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.
--->
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
- <!-- Tab selected underline -->
- <item android:drawable="@color/tab_selected_color" />
- <!-- Tab background -->
- <item android:drawable="@color/tab_default_color"
- android:bottom="@dimen/tab_selected_underline_height" />
- <item>
- <shape android:shape="rectangle" >
- <stroke
- android:width="4dp"
- android:color="#44ff0000" />
- </shape>
- </item>
-</layer-list>
\ No newline at end of file
diff --git a/res/drawable/tab_unselected_focused.xml b/res/drawable/tab_unselected_focused.xml
deleted file mode 100644
index c32e2c5..0000000
--- a/res/drawable/tab_unselected_focused.xml
+++ /dev/null
@@ -1,27 +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.
--->
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
- <!-- Tab background -->
- <item android:drawable="@color/tab_default_color" />
- <item>
- <shape android:shape="rectangle" >
- <stroke
- android:width="4dp"
- android:color="#44ff0000" />
- </shape>
- </item>
-</layer-list>
\ No newline at end of file
diff --git a/res/layout/call_log_activity.xml b/res/layout/call_log_activity.xml
index 6934fee..dfdf210 100644
--- a/res/layout/call_log_activity.xml
+++ b/res/layout/call_log_activity.xml
@@ -22,7 +22,7 @@
<com.android.dialer.list.ViewPagerTabs
android:id="@+id/viewpager_header"
android:layout_width="match_parent"
- android:layout_height="?android:attr/actionBarSize"
+ android:layout_height="@dimen/tab_height"
android:textAllCaps="true"
android:orientation="horizontal"
android:layout_gravity="top"
diff --git a/res/layout/call_log_fragment.xml b/res/layout/call_log_fragment.xml
index aa8a185..b4714a3 100644
--- a/res/layout/call_log_fragment.xml
+++ b/res/layout/call_log_fragment.xml
@@ -66,9 +66,8 @@
android:layout_height="match_parent"
android:fadingEdge="none"
android:scrollbarStyle="outsideOverlay"
- android:divider="@color/favorite_contacts_separator_color"
- android:dividerHeight="1dp"
- />
+ android:divider="@null"
+ android:nestedScrollingEnabled="true" />
<TextView android:id="@android:id/empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
diff --git a/res/layout/call_log_list_item.xml b/res/layout/call_log_list_item.xml
index 953efc4..6068bd8 100644
--- a/res/layout/call_log_list_item.xml
+++ b/res/layout/call_log_list_item.xml
@@ -39,22 +39,21 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:baselineAligned="false"
- android:orientation="horizontal"
+ android:orientation="vertical"
android:gravity="center_vertical"
>
<!-- Primary area containing the contact badge and caller information -->
<LinearLayout
android:id="@+id/primary_action_view"
- android:layout_width="0dp"
- android:layout_weight="1"
+ android:background="@drawable/call_log_background"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/call_log_outer_margin"
android:orientation="horizontal"
android:gravity="center_vertical"
- android:background="?android:attr/selectableItemBackground"
android:focusable="true"
- android:nextFocusRight="@+id/secondary_action_icon"
+ android:nextFocusRight="@+id/call_back_action"
android:nextFocusLeft="@+id/quick_contact_photo"
>
<QuickContactBadge
@@ -79,25 +78,20 @@
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/call_log_icon_margin"
android:textColor="?attr/call_log_primary_text_color"
- android:textSize="16sp"
+ android:textSize="@dimen/call_log_primary_text_size"
android:singleLine="true"
/>
- <LinearLayout
+ <TextView
+ android:id="@+id/voicemail_transcription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <TextView
- android:id="@+id/label"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginEnd="@dimen/call_log_icon_margin"
- android:textColor="?attr/call_log_secondary_text_color"
- android:textSize="12sp"
- android:singleLine="true"
- android:ellipsize="marquee"
- />
- </LinearLayout>
+ android:layout_marginEnd="@dimen/call_log_icon_margin"
+ android:textColor="?attr/call_log_secondary_text_color"
+ android:textSize="@dimen/call_log_secondary_text_size"
+ android:singleLine="true"
+ android:ellipsize="marquee"
+ android:visibility="gone"
+ />
<LinearLayout
android:id="@+id/call_type"
android:layout_width="wrap_content"
@@ -113,46 +107,25 @@
android:layout_gravity="center_vertical"
/>
<TextView
- android:id="@+id/call_count_and_date"
+ android:id="@+id/call_location_and_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/call_log_icon_margin"
android:layout_gravity="center_vertical"
android:textColor="?attr/call_log_secondary_text_color"
- android:textSize="12sp"
+ android:textSize="@dimen/call_log_secondary_text_size"
android:singleLine="true"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
- <!-- Linear layout to house a vertical separator line and the secondary action button.
- Used as a convenience to hide both the separator and action button at the same
- time. -->
- <LinearLayout
- android:id="@+id/secondary_action_view"
- android:layout_width="@dimen/call_log_call_action_width"
- android:layout_height="match_parent"
- android:orientation="horizontal"
- android:gravity="center_vertical"
- >
- <!-- Thin vertical divider to visually separate the secondary action button -->
- <View
- android:id="@+id/vertical_divider"
- android:layout_width="@dimen/call_log_list_item_vertical_divider_width"
- android:layout_height="match_parent"
- android:layout_marginTop="@dimen/call_log_list_item_vertical_divider_margin"
- android:layout_marginBottom="@dimen/call_log_list_item_vertical_divider_margin"
- android:background="?android:attr/dividerVertical"/>
- <!-- The secondary action button; either play voicemail or call details. -->
- <ImageButton
- android:id="@+id/secondary_action_icon"
- android:layout_width="fill_parent"
- android:layout_height="match_parent"
- android:scaleType="center"
- android:background="?android:attr/selectableItemBackground"
- android:nextFocusLeft="@id/primary_action_view"
- />
- </LinearLayout>
+
+ <!-- Viewstub with additional expandable actions for a call log entry -->
+ <ViewStub android:id="@+id/call_log_entry_actions_stub"
+ android:inflatedId="@+id/call_log_entry_actions"
+ android:layout="@layout/call_log_list_item_actions"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
</LinearLayout>
<TextView
android:id="@+id/call_log_header"
diff --git a/res/layout/call_log_list_item_actions.xml b/res/layout/call_log_list_item_actions.xml
new file mode 100644
index 0000000..eb4aea2
--- /dev/null
+++ b/res/layout/call_log_list_item_actions.xml
@@ -0,0 +1,77 @@
+<?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="wrap_content"
+ android:id="@+id/call_log_action_container">
+ <LinearLayout
+ android:id="@+id/call_log_entry_actions_ll"
+ android:gravity="center_vertical"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/call_log_action_height"
+ android:orientation="horizontal"
+ android:paddingLeft="@dimen/call_log_actions_left_padding"
+ android:visibility="visible"
+ android:importantForAccessibility="1"
+ >
+ <TextView
+ android:id="@+id/call_back_action"
+ android:background="@drawable/action_button_background"
+ android:fontFamily="sans-serif-medium"
+ android:gravity="center"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:paddingLeft="@dimen/call_log_action_horizontal_padding"
+ android:paddingRight="@dimen/call_log_action_horizontal_padding"
+ android:text="@string/call_log_action_call_back"
+ android:textColor="@color/call_log_action_text"
+ android:textSize="@dimen/call_log_secondary_text_size"
+ android:nextFocusLeft="@+id/primary_action_view"
+ android:nextFocusRight="@+id/voicemail_action"
+ android:focusable="true"/>
+ <TextView
+ android:id="@+id/voicemail_action"
+ android:background="@drawable/action_button_background"
+ android:fontFamily="sans-serif-medium"
+ android:gravity="center"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:paddingLeft="@dimen/call_log_action_horizontal_padding"
+ android:paddingRight="@dimen/call_log_action_horizontal_padding"
+ android:text="@string/call_log_action_voicemail"
+ android:textColor="@color/call_log_action_text"
+ android:textSize="@dimen/call_log_secondary_text_size"
+ android:nextFocusLeft="@+id/call_back_action"
+ android:nextFocusRight="@+id/delete_action"
+ android:focusable="true"/>
+ <TextView
+ android:id="@+id/delete_action"
+ android:background="@drawable/action_button_background"
+ android:fontFamily="sans-serif-medium"
+ android:gravity="center"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:paddingLeft="@dimen/call_log_action_horizontal_padding"
+ android:paddingRight="@dimen/call_log_action_horizontal_padding"
+ android:text="@string/call_log_action_delete"
+ android:textColor="@color/call_log_action_delete_text"
+ android:textSize="@dimen/call_log_secondary_text_size"
+ android:nextFocusLeft="@+id/voicemail_action"
+ android:nextFocusRight="@+id/primary_action_view"
+ android:focusable="true"/>
+ </LinearLayout>
+</FrameLayout>
diff --git a/res/layout/dialpad.xml b/res/layout/dialpad.xml
deleted file mode 100644
index c13f525..0000000
--- a/res/layout/dialpad.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2006 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<!-- Dialpad in the Phone app. -->
-<TableLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/dialpad"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingLeft="5dp"
- android:paddingRight="5dp"
- android:stretchColumns="*"
- android:layoutDirection="ltr" >
-
- <TableRow>
- <com.android.dialer.dialpad.DialpadKeyButton
- android:id="@+id/one"
- style="@style/DialpadKeyButtonStyle">
- <LinearLayout
- style="@style/DialpadKeyInternalLayoutStyle">
- <TextView
- android:id="@+id/dialpad_key_number"
- style="@style/DialpadKeyNumberStyle"/>
- <ImageView
- android:id="@+id/dialpad_key_voicemail"
- style="@style/DialpadKeyLettersStyle"
- android:src="@drawable/ic_dial_action_vm"
- android:scaleType="fitStart"
- android:baselineAlignBottom="true" />
- </LinearLayout>
- </com.android.dialer.dialpad.DialpadKeyButton>
- <include layout="@layout/dialpad_key" android:id="@+id/two"/>
- <include layout="@layout/dialpad_key" android:id="@+id/three"/>
- </TableRow>
-
- <TableRow>
- <include layout="@layout/dialpad_key" android:id="@+id/four"/>
- <include layout="@layout/dialpad_key" android:id="@+id/five"/>
- <include layout="@layout/dialpad_key" android:id="@+id/six"/>
- </TableRow>
-
- <TableRow>
- <include layout="@layout/dialpad_key" android:id="@+id/seven"/>
- <include layout="@layout/dialpad_key" android:id="@+id/eight"/>
- <include layout="@layout/dialpad_key" android:id="@+id/nine"/>
- </TableRow>
-
- <TableRow>
- <com.android.dialer.dialpad.DialpadKeyButton
- android:id="@+id/star"
- style="@style/DialpadKeyButtonStyle">
- <LinearLayout
- style="@style/DialpadKeyInternalLayoutStyle">
- <TextView
- android:id="@id/dialpad_key_number"
- style="@style/DialpadKeyStarPoundStyle" />
- <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" android:id="@+id/zero"/>
- <com.android.dialer.dialpad.DialpadKeyButton
- android:id="@+id/pound"
- style="@style/DialpadKeyButtonStyle">
- <LinearLayout
- style="@style/DialpadKeyInternalLayoutStyle">
- <TextView
- android:id="@id/dialpad_key_number"
- style="@style/DialpadKeyStarPoundStyle" />
- <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/res/layout/dialpad_digits.xml b/res/layout/dialpad_digits.xml
deleted file mode 100644
index 21638f0..0000000
--- a/res/layout/dialpad_digits.xml
+++ /dev/null
@@ -1,58 +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.
--->
-
-<!-- Text field and possibly soft menu button above the keypad where
- the digits are displayed. -->
-
-<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/digits_container"
- android:layout_width="match_parent"
- android:layout_height="@dimen/dialpad_digits_height"
- android:orientation="horizontal">
-
- <view class="com.android.dialer.dialpad.DigitsEditText"
- android:id="@+id/digits"
- android:layout_width="0dp"
- android:layout_height="match_parent"
- android:paddingLeft="@dimen/dialpad_digits_padding"
- android:scrollHorizontally="true"
- android:singleLine="true"
- android:layout_weight="1"
- android:gravity="center"
- android:background="@android:color/transparent"
- android:maxLines="1"
- android:textSize="@dimen/dialpad_digits_text_size"
- android:freezesText="true"
- android:focusableInTouchMode="true"
- android:editable="true"
- android:cursorVisible="false"
- android:textColor="@color/dialpad_digits_text_color"
- android:textCursorDrawable="@null"
- android:fontFamily="sans-serif-light"
- android:textStyle="normal" />
-
- <ImageButton
- android:id="@+id/deleteButton"
- android:paddingLeft="@dimen/dialpad_digits_padding"
- android:paddingRight="@dimen/dialpad_digits_padding"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:state_enabled="false"
- android:background="@drawable/dialpad_key_colors"
- android:contentDescription="@string/description_delete_button"
- android:src="@drawable/ic_dial_action_delete" />
-</LinearLayout>
diff --git a/res/layout/dialpad_fragment.xml b/res/layout/dialpad_fragment.xml
index d285cc3..b2312ad 100644
--- a/res/layout/dialpad_fragment.xml
+++ b/res/layout/dialpad_fragment.xml
@@ -28,49 +28,16 @@
<!-- Dialpad shadow -->
<View
android:layout_width="match_parent"
- android:layout_height="3dp"
+ android:layout_height="10dp"
android:background="@drawable/shadow_fade_up" />
- <view class="com.android.dialer.dialpad.DialpadFragment$HoverIgnoringLinearLayout"
- android:id="@+id/top"
- android:animateLayoutChanges="true"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:layout_gravity="bottom"
- android:orientation="vertical"
- android:layoutDirection="ltr"
- android:background="@color/background_dialpad">
-
- <Space
- android:layout_width="match_parent"
- android:layout_height="2dp"
- android:background="@color/dialpad_separator_line_color" />
-
- <Space
- android:layout_width="match_parent"
- android:layout_height="10dp" />
-
- <include layout="@layout/dialpad_digits" />
-
- <Space
- android:layout_width="match_parent"
- android:layout_height="8dp" />
-
- <include layout="@layout/dialpad" />
-
- <Space
- android:layout_width="match_parent"
- android:layout_height="2dp"
- android:background="@color/dialpad_separator_line_color" />
-
- <!-- "Dialpad chooser" UI, shown only when the user brings up the
+ <include layout="@layout/dialpad_view" />
+ <!-- "Dialpad chooser" UI, shown only when the user brings up the
Dialer while a call is already in progress.
When this UI is visible, the other Dialer elements
(the textfield/button and the dialpad) are hidden. -->
- <ListView android:id="@+id/dialpadChooser"
+ <ListView android:id="@+id/dialpadChooser"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_weight="1"
+ android:background="@color/background_dialer_light"
android:visibility="gone" />
-
- </view>
</view>
diff --git a/res/layout/dialpad_key.xml b/res/layout/dialpad_key.xml
deleted file mode 100644
index 5bf858c..0000000
--- a/res/layout/dialpad_key.xml
+++ /dev/null
@@ -1,35 +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.
--->
-
-<!-- A layout representing a single key in the dialpad -->
-<com.android.dialer.dialpad.DialpadKeyButton
- xmlns:android="http://schemas.android.com/apk/res/android"
- style="@style/DialpadKeyButtonStyle">
-
- <LinearLayout style="@style/DialpadKeyInternalLayoutStyle">
-
- <!-- 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/DialpadKeyNumberStyle" />
-
- <TextView
- android:id="@+id/dialpad_key_letters"
- style="@style/DialpadKeyLettersStyle" />
- </LinearLayout>
-</com.android.dialer.dialpad.DialpadKeyButton>
\ No newline at end of file
diff --git a/res/layout/dialtacts_activity.xml b/res/layout/dialtacts_activity.xml
index 2513216..e0049b5 100644
--- a/res/layout/dialtacts_activity.xml
+++ b/res/layout/dialtacts_activity.xml
@@ -13,7 +13,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<LinearLayout
+<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dialtacts_mainlayout"
android:layout_width="match_parent"
@@ -22,13 +22,13 @@
android:focusable="true"
android:focusableInTouchMode="true"
android:clipChildren="false"
+ android:animateLayoutChanges="true"
android:background="@color/background_dialer_light"
>
<RelativeLayout
android:id="@+id/dialtacts_container"
android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="1"
+ android:layout_height="match_parent"
android:clipChildren="false">
<!-- The main contacts grid -->
<FrameLayout
@@ -46,116 +46,65 @@
android:id="@+id/search_and_remove_view_container"
android:visibility="gone"
>
- <!-- TODO: This is set to visibility:gone for now, should be removed entirely -->
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="@dimen/search_box_height"
- android:id="@+id/search_view_container"
- android:orientation="horizontal"
- android:layout_marginTop="@dimen/search_top_margin"
- android:layout_marginBottom="@dimen/search_bottom_margin"
- android:layout_marginLeft="@dimen/search_margin_horizontal"
- android:layout_marginRight="@dimen/search_margin_horizontal"
- android:paddingLeft="@dimen/search_box_left_padding"
- android:paddingRight="@dimen/search_box_right_padding"
- android:background="@drawable/search_bg"
- android:gravity="center_vertical"
- android:visibility="gone"
- >
- <EditText
- android:id="@+id/search_view"
- android:layout_width="match_parent"
- android:layout_height="@dimen/search_box_icon_size"
- android:layout_weight="1"
- android:layout_marginLeft="@dimen/search_box_text_left_margin"
- android:textSize="@dimen/search_text_size"
- android:fontFamily="@string/search_font_family"
- android:textColor="@color/searchbox_text_color"
- android:textColorHint="@color/searchbox_hint_text_color"
- android:inputType="textFilter"/>
- <ImageView
- android:id="@+id/search_close_button"
- android:layout_height="@dimen/search_box_icon_size"
- android:layout_width="@dimen/search_box_icon_size"
- android:padding="6dp"
- android:src="@drawable/ic_close_dk"
- android:clickable="true"
- android:background="?android:attr/selectableItemBackground"
- android:contentDescription="@string/description_clear_search"
- android:visibility="gone" />
- <ImageView
- android:id="@+id/voice_search_button"
- android:layout_height="@dimen/search_box_icon_size"
- android:layout_width="@dimen/search_box_icon_size"
- android:padding="@dimen/search_box_icon_padding"
- android:src="@drawable/ic_voice_search"
- android:clickable="true"
- android:contentDescription="@string/description_start_voice_search"
- android:background="?android:attr/selectableItemBackground" />
- </LinearLayout>
- <com.android.dialer.list.RemoveView
- android:layout_width="match_parent"
- android:layout_height="56dp"
- android:id="@+id/remove_view_container"
- android:orientation="horizontal"
- android:gravity="center">
- <ImageView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/remove_view_icon"
- android:src="@drawable/ic_remove"
- android:contentDescription="@string/remove_contact"
- />
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/remove_view_text"
- android:textSize="@dimen/remove_text_size"
- android:textColor="@color/remove_text_color"
- android:text="@string/remove_contact"
- />
- </com.android.dialer.list.RemoveView>
</FrameLayout>
</RelativeLayout>
- <!-- TODO: To be removed entirely and replaced with a floating action button -->
- <FrameLayout
- android:layout_height="@dimen/fake_action_bar_height"
+ <com.android.dialer.list.RemoveView
android:layout_width="match_parent"
- android:id="@+id/fake_action_bar"
- android:background="@color/actionbar_background_color">
- <ImageButton
- android:id="@+id/call_history_button"
- android:layout_width="@dimen/fake_menu_button_min_width"
+ android:layout_height="56dp"
+ android:id="@+id/remove_view"
+ android:layout_alignParentTop="true"
+ >
+ <LinearLayout
+ android:id="@+id/remove_view_container"
android:layout_height="match_parent"
- android:layout_gravity="bottom|start"
- android:background="?android:attr/selectableItemBackground"
- android:contentDescription="@string/action_menu_call_history_description"
- android:src="@drawable/ic_menu_history_lt"/>
+ android:layout_width="match_parent"
+ android:gravity="center"
+ android:orientation="horizontal"
+ android:visibility="gone" >
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:id="@+id/remove_view_icon"
+ android:src="@drawable/ic_remove"
+ android:contentDescription="@string/remove_contact"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:id="@+id/remove_view_text"
+ android:textSize="@dimen/remove_text_size"
+ android:textColor="@color/remove_text_color"
+ android:text="@string/remove_contact"
+ />
+ </LinearLayout>
+ </com.android.dialer.list.RemoveView >
+ <FrameLayout
+ android:id="@+id/floating_action_button_container"
+ android:layout_width="@dimen/floating_action_button_width"
+ android:layout_height="@dimen/floating_action_button_height"
+ android:layout_marginRight="@dimen/floating_action_button_margin_right"
+ android:layout_marginBottom="@dimen/floating_action_button_margin_bottom"
+ android:layout_centerHorizontal="true"
+ android:layout_alignParentBottom="true">
+
<ImageButton
- android:id="@+id/dialpad_button"
- android:layout_width="@dimen/fake_menu_button_min_width"
+ android:id="@+id/floating_action_button"
+ android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_gravity="bottom|center"
- android:background="?android:attr/selectableItemBackground"
+ android:background="@drawable/floating_action_button"
android:contentDescription="@string/action_menu_dialpad_button"
- android:src="@drawable/ic_menu_dialpad_lt"/>
- <ImageButton
- android:id="@+id/dial_button"
- android:layout_width="@dimen/fake_action_bar_height"
- android:layout_height="@dimen/fake_action_bar_height"
- android:layout_gravity="bottom|center"
- android:background="@drawable/btn_call"
- android:contentDescription="@string/description_dial_button"
- android:src="@drawable/ic_dial_action_call"
- android:visibility="gone" />
- <ImageButton
- android:id="@+id/overflow_menu_button"
- android:layout_width="@dimen/fake_menu_button_min_width"
- android:layout_height="match_parent"
- android:layout_gravity="bottom|end"
- android:visibility="gone"
- android:src="@drawable/ic_menu_overflow_lt"
- android:contentDescription="@string/action_menu_overflow_description"
- android:background="?android:attr/selectableItemBackground"/>
+ android:src="@drawable/fab_ic_dial"/>
+
</FrameLayout>
-</LinearLayout>
+ <!-- Host container for the contact tile drag shadow -->
+ <FrameLayout
+ android:layout_height="match_parent"
+ android:layout_width="match_parent">
+ <ImageView
+ android:id="@+id/contact_tile_drag_shadow_overlay"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ android:importantForAccessibility="no" />
+ </FrameLayout>
+</RelativeLayout>
diff --git a/res/layout/lists_fragment.xml b/res/layout/lists_fragment.xml
index 6ed0f85..d75095a 100644
--- a/res/layout/lists_fragment.xml
+++ b/res/layout/lists_fragment.xml
@@ -14,33 +14,38 @@
limitations under the License.
-->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<com.android.dialer.widget.OverlappingPaneLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:paddingTop="?android:attr/actionBarSize"
- android:orientation="vertical"
android:animateLayoutChanges="true"
android:id="@+id/lists_frame">
<ListView
android:id="@+id/shortcut_card_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:paddingTop="?android:attr/actionBarSize"
android:background="@color/actionbar_background_color"
android:clipToPadding="false"
android:fadingEdge="none"
android:divider="@null" />
- <com.android.dialer.list.ViewPagerTabs
- android:id="@+id/lists_pager_header"
+ <LinearLayout
android:layout_width="match_parent"
- android:layout_height="?android:attr/actionBarSize"
- android:textAllCaps="true"
- android:orientation="horizontal"
- android:layout_gravity="top"
- style="@style/DialtactsActionBarTabTextStyle" />
- <android.support.v4.view.ViewPager
- android:id="@+id/lists_pager"
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="1">
- </android.support.v4.view.ViewPager>
-</LinearLayout>
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+ <com.android.dialer.list.ViewPagerTabs
+ android:id="@+id/lists_pager_header"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/tab_height"
+ android:textAllCaps="true"
+ android:orientation="horizontal"
+ android:layout_gravity="top"
+ style="@style/DialtactsActionBarTabTextStyle" />
+ <android.support.v4.view.ViewPager
+ android:id="@+id/lists_pager"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1">
+ </android.support.v4.view.ViewPager>
+ </LinearLayout>
+</com.android.dialer.widget.OverlappingPaneLayout>
diff --git a/res/layout/phone_favorite_tile_view.xml b/res/layout/phone_favorite_tile_view.xml
index 0050cef..01d855b 100644
--- a/res/layout/phone_favorite_tile_view.xml
+++ b/res/layout/phone_favorite_tile_view.xml
@@ -51,12 +51,12 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:orientation="horizontal">
+ android:orientation="horizontal"
+ android:gravity="center_vertical">
<TextView
android:id="@+id/contact_tile_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:gravity="center_vertical"
android:textColor="@color/contact_tile_name_color"
android:fontFamily="sans-serif"
android:singleLine="true"
@@ -69,7 +69,8 @@
android:id="@+id/contact_star_icon"
android:layout_width="@dimen/favorites_star_icon_size"
android:layout_height="@dimen/favorites_star_icon_size"
- android:src="@drawable/star_thumbnail"
+ android:layout_marginStart="3dp"
+ android:src="@drawable/ic_star"
android:visibility="gone" />
</LinearLayout>
<TextView
diff --git a/res/layout/phone_favorites_fragment.xml b/res/layout/phone_favorites_fragment.xml
index 89a9f73..0b657df 100644
--- a/res/layout/phone_favorites_fragment.xml
+++ b/res/layout/phone_favorites_fragment.xml
@@ -39,14 +39,8 @@
android:numColumns="@integer/contact_tile_column_count_in_favorites"
android:clipToPadding="false"
android:fadingEdge="none"
- android:divider="@null" />
-
- <ImageView
- android:id="@+id/contact_tile_drag_shadow_overlay"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:visibility="gone"
- android:importantForAccessibility="no" />
+ android:divider="@null"
+ android:nestedScrollingEnabled="true" />
</FrameLayout>
<include
diff --git a/res/layout/search_edittext.xml b/res/layout/search_edittext.xml
new file mode 100644
index 0000000..236d2bf
--- /dev/null
+++ b/res/layout/search_edittext.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:id="@+id/search_view_container"
+ android:orientation="horizontal"
+ android:layout_marginTop="@dimen/search_top_margin"
+ android:layout_marginBottom="@dimen/search_bottom_margin"
+ android:layout_marginLeft="@dimen/search_margin_horizontal"
+ android:layout_marginRight="@dimen/search_margin_horizontal"
+ android:paddingLeft="@dimen/search_box_left_padding"
+ android:paddingRight="@dimen/search_box_right_padding"
+ android:background="@drawable/search_bg"
+ android:gravity="center_vertical"
+ >
+ <EditText
+ android:id="@+id/search_view"
+ android:layout_width="0dp"
+ android:layout_height="@dimen/search_box_icon_size"
+ android:layout_weight="1"
+ android:layout_marginLeft="@dimen/search_box_text_left_margin"
+ android:textSize="@dimen/search_text_size"
+ android:fontFamily="@string/search_font_family"
+ android:textColor="@color/searchbox_text_color"
+ android:textColorHint="@color/searchbox_hint_text_color"
+ android:hint="@string/dialer_hint_find_contact"
+ android:inputType="textFilter"/>
+ <ImageView
+ android:id="@+id/search_close_button"
+ android:layout_height="@dimen/search_box_icon_size"
+ android:layout_width="@dimen/search_box_icon_size"
+ android:padding="6dp"
+ android:src="@drawable/ic_close_dk"
+ android:clickable="true"
+ android:background="?android:attr/selectableItemBackground"
+ android:contentDescription="@string/description_clear_search"
+ android:visibility="gone" />
+ <ImageView
+ android:id="@+id/voice_search_button"
+ android:layout_height="@dimen/search_box_icon_size"
+ android:layout_width="@dimen/search_box_icon_size"
+ android:padding="@dimen/search_box_icon_padding"
+ android:src="@drawable/ic_voice_search"
+ android:clickable="true"
+ android:contentDescription="@string/description_start_voice_search"
+ android:background="?android:attr/selectableItemBackground" />
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/show_all_contacts_fragment.xml b/res/layout/show_all_contacts_fragment.xml
index ddc99e8..6b89847 100644
--- a/res/layout/show_all_contacts_fragment.xml
+++ b/res/layout/show_all_contacts_fragment.xml
@@ -43,7 +43,8 @@
android:layout_marginStart="?attr/contact_browser_list_padding_left"
android:layout_marginEnd="?attr/contact_browser_list_padding_right"
android:fastScrollEnabled="true"
- android:fadingEdge="none"/>
+ android:fadingEdge="none"
+ android:nestedScrollingEnabled="true" />
</FrameLayout>
</LinearLayout>
diff --git a/res/layout/wifi_call_enable_completion.xml b/res/layout/wifi_call_enable_completion.xml
deleted file mode 100644
index 1b6d861..0000000
--- a/res/layout/wifi_call_enable_completion.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<LinearLayout
- android:orientation="vertical"
- android:id="@+id/call_log_list_item"
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <ImageView
- android:layout_width="192dp"
- android:layout_height="128dp"
- android:paddingTop="32dp"
- android:paddingBottom="32dp"
- android:layout_gravity="center_horizontal"
- android:src="@drawable/ic_phone_plus_wifi"/>
-
- <TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingLeft="64dp"
- android:paddingRight="64dp"
- android:textSize="12dp"
- android:textColor="@color/dialtacts_secondary_text_color"
- android:text="@string/wifi_setup_completed"/>
-
- <LinearLayout
- android:orientation="horizontal"
- android:paddingTop="32dp"
- android:paddingBottom="32dp"
- android:layout_gravity="center_horizontal"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content">
-
- <TextView
- android:id="@+id/wifi_setup_ok"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingRight="16dp"
- android:textSize="12dp"
- android:textAllCaps="true"
- android:textColor="@color/dialtacts_primary_text_color"
- android:text="@string/wifi_setup_ok"/>
-
- <TextView
- android:id="@+id/wifi_setup_settings_shortcut"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingRight="16dp"
- android:textSize="12dp"
- android:textAllCaps="true"
- android:textColor="@color/dialtacts_primary_text_color"
- android:text="@string/wifi_setup_settings_shortcut"/>
-
- </LinearLayout>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/wifi_call_enable_settings.xml b/res/layout/wifi_call_enable_settings.xml
deleted file mode 100644
index 72aebe9..0000000
--- a/res/layout/wifi_call_enable_settings.xml
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<LinearLayout
- android:orientation="vertical"
- android:id="@+id/call_log_list_item"
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:padding="10dp"
- android:textSize="16dp"
- android:textColor="@color/foreground_wifi_highlight"
- android:background="@color/background_wifi_highlight"
- android:text="@string/wifi_when_connected_to_a_signal"/>
-
- <View
- android:layout_width="match_parent"
- android:layout_height="1dp"
- android:background="@color/wifi_dark_wifi_highlight"/>
-
- <LinearLayout
- android:padding="10dp"
- android:orientation="horizontal"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <!-- TODO(ihab): Do this layout without using layout_weight -->
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:textSize="16dp"
- android:textColor="@color/dialtacts_primary_text_color"
- android:text="@string/wifi_always_use_wifi"/>
-
- <RadioButton
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/wifi_always_use_wifi"/>
-
- </LinearLayout>
-
- <View
- android:layout_width="match_parent"
- android:layout_height="1dp"
- android:layout_marginLeft="10dp"
- android:layout_marginRight="10dp"
- android:background="@color/wifi_list_separator"/>
-
- <LinearLayout
- android:padding="10dp"
- android:orientation="horizontal"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <!-- TODO(ihab): Do this layout without using layout_weight -->
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:textSize="16dp"
- android:textColor="@color/dialtacts_primary_text_color"
- android:text="@string/wifi_ask_use_wifi"/>
-
- <RadioButton
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/wifi_ask_use_wifi"/>
-
- </LinearLayout>
-
- <View
- android:layout_width="match_parent"
- android:layout_height="1dp"
- android:layout_marginLeft="10dp"
- android:layout_marginRight="10dp"
- android:background="@color/wifi_list_separator"/>
-
- <LinearLayout
- android:padding="10dp"
- android:orientation="horizontal"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <!-- TODO(ihab): Do this layout without using layout_weight -->
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:textSize="16dp"
- android:textColor="@color/dialtacts_primary_text_color"
- android:text="@string/wifi_never_use_wifi"/>
-
- <RadioButton
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/wifi_never_use_wifi"/>
-
- </LinearLayout>
-
- <View
- android:layout_width="match_parent"
- android:layout_height="1dp"
- android:background="@color/wifi_list_separator"/>
-
- <LinearLayout
- android:padding="10dp"
- android:orientation="horizontal"
- android:gravity="end"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="16dp"
- android:textColor="@color/dialtacts_primary_text_color"
- android:text="@string/wifi_next_setup_screen"/>
-
- <ImageView
- android:layout_width="32dp"
- android:layout_height="32dp"
- android:paddingStart="8dp"
- android:id="@+id/wifi_next_setup_screen"
- android:src="@drawable/ic_wifi_call"/>
-
- </LinearLayout>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/wifi_call_enable_teaser.xml b/res/layout/wifi_call_enable_teaser.xml
deleted file mode 100644
index fd70619..0000000
--- a/res/layout/wifi_call_enable_teaser.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<LinearLayout
- android:orientation="horizontal"
- android:id="@+id/call_log_list_item"
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <ImageView
- android:layout_width="64dp"
- android:layout_height="64dp"
- android:padding="16dp"
- android:src="@drawable/ic_wifi_call"
- android:background="@color/background_wifi_highlight"/>
-
- <LinearLayout
- android:orientation="vertical"
- android:layout_width="0dp"
- android:layout_weight="1"
- android:gravity="center_vertical"
- android:padding="8dp"
- android:layout_height="match_parent">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="16dp"
- android:textColor="@color/dialtacts_primary_text_color"
- android:text="@string/wifi_no_signal_no_problem"/>
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="12dp"
- android:textColor="@color/dialtacts_secondary_text_color"
- android:text="@string/wifi_enable_google_wifi_calling"/>
-
- </LinearLayout>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/res/menu/dialpad_options.xml b/res/menu/dialpad_options.xml
index 0727dd5..c6b5dda 100644
--- a/res/menu/dialpad_options.xml
+++ b/res/menu/dialpad_options.xml
@@ -15,8 +15,8 @@
-->
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
- android:id="@+id/menu_add_contacts"
- android:title="@string/recentCalls_addToContact"
+ android:id="@+id/menu_add_contact"
+ android:title="@string/add_contact"
android:showAsAction="withText"
android:orderInCategory="1" />
<item
diff --git a/res/menu/dialtacts_options.xml b/res/menu/dialtacts_options.xml
index a332030..17f4d9f 100644
--- a/res/menu/dialtacts_options.xml
+++ b/res/menu/dialtacts_options.xml
@@ -14,16 +14,11 @@
limitations under the License.
-->
<menu xmlns:android="http://schemas.android.com/apk/res/android">
- <item
- android:id="@+id/menu_search"
- android:title="@string/description_search_button"
- android:showAsAction="always"
- android:actionViewClass="android.widget.SearchView"/>
+
<item
android:id="@+id/menu_history"
android:icon="@drawable/ic_menu_history_lt"
- android:title="@string/action_menu_call_history_description"
- android:showAsAction="ifRoom"/>
+ android:title="@string/action_menu_call_history_description" />
<item
android:id="@+id/menu_import_export"
android:title="@string/menu_import_export" />
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 927136d..8804035 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"ster"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"nul"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"huts"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"stemboodskap"</string>
<string name="description_search_button" msgid="3660807558587384889">"soek"</string>
<string name="description_dial_button" msgid="1274091017188142646">"bel"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"terugvee"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"nommer om te skakel"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Oproepgeskiedenis"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Meer opsies"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Wys slegs misgeloop"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Wys net stemboodskappe"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Wys alle oproepe"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Voeg kontak by"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Voeg 2-sek.-pouse by"</string>
<string name="add_wait" msgid="3360818652790319634">"Voeg wagtyd by"</string>
<string name="call_settings" msgid="7666474782093693667">"Instellings"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Uitgaande oproep"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Gemiste oproep"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Stemboodskap"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Voeg kontak by"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Bekyk kontak <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Bel <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Kontakbesonderhede van <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Oproepbesonderhede"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Nuwe stemboodskap."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> oproepe."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Stuur teksboodskap aan <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Ongeluisterde stemboodskap"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Vee soektog uit"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Begin stemsoektog"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Bel <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Onbekend"</string>
<string name="voicemail" msgid="3851469869202611441">"Stemboodskap"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Laai tans van SIM-kaart af…"</string>
<string name="simContacts_title" msgid="27341688347689769">"SIM-kaartkontakte"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Heraktiveer die Mense-program om hierdie kenmerk te gebruik."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Stemsoektog is nie beskikbaar nie."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Kan nie \'n foonoproep maak nie want die Foon-program is gedeaktiveer."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Geen geïnstalleerde aktiwiteit beskikbaar om gekose handeling te hanteer nie."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Voer \'n naam of foonnommer in"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Alles"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Gemis"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Geen onlangs gemiste oproepe nie."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Geen onlangse stemposse nie."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Wys alle kontakte"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Wys net gunstelinge"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Geskiedenis"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Alles"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Gemis"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Stemboodskap"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Spoedbel"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Onlangse kontakte"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Kontakte"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Alle kontakte"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Alle kontakte"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Verwyder uit gunstelinge"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Ontdoen"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Bel <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Voeg by kontakte"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Bekyk volledige oproepgeskiedenis"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> nuwe gemiste oproepe"</string>
<string name="no_favorites" msgid="5212485868783382971">"Gunstelinge en kontakte \nwat jy gereeld bel, sal hier wys.\nSo, begin bel."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Tik prent om alle getalle te sien of druk en hou om te herorganiseer"</string>
- <string name="description_dismiss" msgid="2146276780562549643">"Verwerp"</string>
+ <string name="description_dismiss" msgid="2146276780562549643">"Maak toe"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Verwyder"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Spoedbel"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"ALLE KONTAKTE"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"BEL TERUG"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"VEE UIT"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"LUISTER"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Het oproep vanaf <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g> gemis."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Het oproep vanaf <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g> geantwoord."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Oproep na <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Bel <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> terug"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Luister na stemboodskap vanaf <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Vee oproeprekord-inskrywing vir <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> uit"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Oproeprekord-inskrywing is uitgevee."</string>
</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 9b38a74..58fa24a 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -26,12 +26,12 @@
<string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"ከመደወል በፊት ቁጥር አርትዕ"</string>
<string name="recentCalls_addToContact" msgid="1429899535546487008">"ወደ ዕውቂያዎች አክል"</string>
<string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"ከጥሪ ማስታወሻ አስወግድ"</string>
- <string name="recentCalls_deleteAll" msgid="6352364392762163704">"የጥሪ ማስታወሻ አጥራ"</string>
+ <string name="recentCalls_deleteAll" msgid="6352364392762163704">"የጥሪ ማስታወሻ አጽዳ"</string>
<string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"የድምፅ መልዕክት ሰርዝ"</string>
<string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"የድምፅ መልዕክት አጋራ"</string>
<string name="recentCalls_empty" msgid="247053222448663107">"ምዝግብ ማስታወሻባዶ ነው..."</string>
- <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"የጥሪ ማስታወሻ አጥራ"</string>
- <string name="clearCallLogConfirmation" msgid="5043563133171583152">"ሁሉም የጥሪ ማህደሮችህ ይሰረዛሉ፡፡"</string>
+ <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"የጥሪ ማስታወሻ አጽዳ"</string>
+ <string name="clearCallLogConfirmation" msgid="5043563133171583152">"ሁሉም የጥሪ ማህደሮችዎ ይሰረዛሉ።"</string>
<string name="clearCallLogProgress_title" msgid="8365943000154295771">"የጥሪ ምዝግብ ማስታወሻ በማጥራት ላይ…"</string>
<plurals name="notification_voicemail_title">
<item quantity="one" msgid="1746619685488504230">"የድምፅ መልዕክት"</item>
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"ኮከብ"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"ዜሮ"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"ፓውንድ"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"የድምፅ መልዕክት"</string>
<string name="description_search_button" msgid="3660807558587384889">"ፍለጋ"</string>
<string name="description_dial_button" msgid="1274091017188142646">"ደውል"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"የኋሊት ደምሳሽ"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"ቁጥር ለመደወል"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"የስልክ ጥሪ ታሪክ"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"ተጨማሪ አማራጮች"</string>
@@ -89,8 +87,9 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"ያመለጡትን ብቻ አሳይ"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"የድምፅ መልዕክቶች ብቻ አሳይ"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"ሁሉንም ጥሪዎች አሳይ"</string>
+ <string name="add_contact" msgid="8875804371377471164">"እውቂያ አክል"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"2 ሴኮንድ ፋታ አክል"</string>
- <string name="add_wait" msgid="3360818652790319634">"ጠብቅአክል"</string>
+ <string name="add_wait" msgid="3360818652790319634">"መጠበቅ አክል"</string>
<string name="call_settings" msgid="7666474782093693667">"ቅንብሮች"</string>
<string name="menu_newContact" msgid="1209922412763274638">"አዲስ ዕውቅያ"</string>
<string name="menu_allContacts" msgid="6948308384034051670">"ሁሉም ዕውቂያዎች"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"ወጪ ጥሪ"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"ያመለጠ ጥሪ"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"የድምፅ መልዕክት"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"እውቅያዎች አክል"</string>
<string name="description_view_contact" msgid="5205669345700598415">"ዕውቂያ <xliff:g id="NAME">%1$s</xliff:g> ዕይ"</string>
<string name="description_call" msgid="3443678121983852666">"ጥሪ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"የ<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> እውቂያ ዝርዝሮች"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"የጥሪ ዝርዝሮች"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"አዲስ የድምጽ መልዕክት።"</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> ጥሪዎች።"</string>
<string name="description_send_text_message" msgid="7803126439934046891">"የፅሁፍ መልዕክት ወደ <xliff:g id="NAME">%1$s</xliff:g> ላክ"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"ያልተሰማ የድምፅመልዕክት"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"ፍለጋን አጽዳ"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"በድምፅ ፍለጋ ይጀምሩ"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"ደውል<xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"ያልታወቀ"</string>
<string name="voicemail" msgid="3851469869202611441">"የድምፅ መልዕክት"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"ከSIM ካርድ ላይ በመጫን ላይ..."</string>
<string name="simContacts_title" msgid="27341688347689769">"የSIM ካርድ ዕውቂያዎች"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"ይህንን ባህሪ ለመጠቀም የሰዎች መተግበሪያውን ዳግም ያንቁት።"</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"የድምጽ ፍለጋ አይገኝም።"</string>
+ <string name="call_not_available" msgid="8941576511946492225">"የስልክ መተግበሪያው ስለተሰናከለ የስልክ ጥሪ ማድረግ አይቻልም።"</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"የተመረጠውን ድርጊት ለማከናወን ምንም የተጫነ እንቅስቃሴ አይገኝም።"</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"ስም ወይም ስልክ ቁጥር ይተይቡ"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"ሁሉም"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"ያመለጡ"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"ምንም በቅርብ ጊዜ ያመለጡ ጥሪዎች የሉም።"</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"ምንም የቅርብ ጊዜ የድምጽ መልዕክቶች የሉልም።"</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"ሁሉንም ዕውቂያዎች አሳይ"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"ተወዳጆችን ብቻ አሳይ"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"ታሪክ"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"ሁሉም"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"ያመለጡ"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"የድምፅ መልዕክት"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"አቋራጭ መደወያ"</string>
+ <string name="tab_recents" msgid="929949073851377206">"የቅርብ ጊዜዎቹ"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"ዕውቂያዎች"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"ሁሉም እውቂያዎች"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"ሁሉም እውቂያዎች"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"ከተወዳጆች ውስጥ ተወግዷል።"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"ቀልብስ"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"ለ<xliff:g id="NUMBER">%s</xliff:g> ደውል"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"ወደ ዕውቂያዎች አክል"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"ሙሉ የጥሪ ታሪኮችን ይመልከቱ"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> አዲስ ያልተመለሱ ጥሪዎች"</string>
<string name="no_favorites" msgid="5212485868783382971">"ተወዳጆች እና አብዛኛውን ጊዜ\nየሚደውሉላቸው እውቂያዎች እዚህ ይታያሉ።\nስለዚህ መደወል ይጀምሩ።"</string>
<string name="contact_tooltip" msgid="7817483485692282287">"ሁሉንም ቁጥሮች ለማየት ምስሉን መታ ያድርጉ ወይም ቅደም ተከተላቸውን ለማስተካከል ተጭነው ይያዙ"</string>
<string name="description_dismiss" msgid="2146276780562549643">"አሰናብት"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"አስወግድ"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"አቋራጭ መደወያ"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"ሁሉም እውቂያዎች"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"መልሰህ ደውል"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"ሰርዝ"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"አዳምጥ"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"የ<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>፣ <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>፣ <xliff:g id="TIMEOFCALL">%3$s</xliff:g> ጥሪ አምልጠዎታል።"</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"የ<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>፣ <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>፣ <xliff:g id="TIMEOFCALL">%3$s</xliff:g> ጥሪ አንስተዋል።"</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"ለ<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>፣ <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>፣ <xliff:g id="TIMEOFCALL">%3$s</xliff:g> ይደውሉ።"</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"ለ<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> መልሰው ይደውሉ"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"የ<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>ን የድምጽ መልዕክት ያዳምጡ"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"የ<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> የጥሪ ምዝግብ ማስታወሻ ግቤት ይሰርዙ"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"የጥሪ ምዝግብ ማስታወሻ ግቤት ተሰርዟል።"</string>
</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 9998c6f..cbabb89 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"نجمة"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"صفر"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"رنين"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"البريد الصوتي"</string>
<string name="description_search_button" msgid="3660807558587384889">"بحث"</string>
<string name="description_dial_button" msgid="1274091017188142646">"طلب"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"الرقم الذي سيتم طلبه"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"سجل المكالمات"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"مزيد من الخيارات"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"عرض الفائت فقط"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"إظهار رسائل البريد الصوتي فقط"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"عرض جميع المكالمات"</string>
+ <string name="add_contact" msgid="8875804371377471164">"إضافة جهة اتصال"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"إضافة ثانيتين إيقاف مؤقت"</string>
<string name="add_wait" msgid="3360818652790319634">"إضافة انتظار"</string>
<string name="call_settings" msgid="7666474782093693667">"الإعدادات"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"مكالمة صادرة"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"مكالمة فائتة"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"البريد الصوتي"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"إضافة جهة اتصال"</string>
<string name="description_view_contact" msgid="5205669345700598415">"عرض جهة الاتصال <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"الاتصال بـ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"تفاصيل جهة الاتصال بـ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"تفاصيل المكالمة"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"بريد صوتي جديد"</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> من المكالمات."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"إرسال رسالة نصية إلى <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"البريد الصوتي غير المسموع"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"محو البحث"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"بدء البحث الصوتي"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"الاتصال بالرقم <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"غير معروف"</string>
<string name="voicemail" msgid="3851469869202611441">"البريد الصوتي"</string>
@@ -125,40 +127,50 @@
<string name="dialerDialpadHintText" msgid="5824490365898349041">"طلب لإضافة مكالمة"</string>
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"عدد الدقائق:<xliff:g id="MINUTES">%s</xliff:g>، عددالثواني: <xliff:g id="SECONDS">%s</xliff:g>"</string>
<string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"لم يتم إرسال المكالمة"</string>
- <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"لإعداد البريد الصوتي، انتقل إلى القائمة > الإعدادات."</string>
+ <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"لإعداد البريد الصوتي، انتقل إلى القائمة > الإعدادات."</string>
<string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"للاتصال بالبريد الصوتي، يجب أولاً إيقاف وضع الطائرة."</string>
<string name="contact_list_loading" msgid="5488620820563977329">"جارٍ التحميل..."</string>
<string name="imei" msgid="3045126336951684285">"IMEI"</string>
<string name="meid" msgid="6210568493746275750">"MEID"</string>
- <string name="simContacts_emptyLoading" msgid="6700035985448642408">"جارٍ التحميل من بطاقة SIM…"</string>
- <string name="simContacts_title" msgid="27341688347689769">"بطاقة SIM وجهات الاتصال"</string>
+ <string name="simContacts_emptyLoading" msgid="6700035985448642408">"جارٍ التحميل من بطاقة SIM…"</string>
+ <string name="simContacts_title" msgid="27341688347689769">"بطاقة SIM وجهات الاتصال"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"أعد تمكين تطبيق الأشخاص لاستخدام هذه الميزة."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"لا تتوفر إمكانية البحث الصوتي."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"يتعذر إجراء مكالمة هاتفية نظرًا لأنه تم تعطيل تطبيق الهاتف."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"لا يتوفر نشاط مثبَّت للتعامل مع الإجراء المحدد."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"أدخل اسمًا أو رقم هاتف"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"الكل"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"فائتة"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"لا توجد مكالمات فائتة حديثة."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"لا توجد رسائل بريد صوتي حديثة."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"عرض جميع جهات الاتصال"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"عرض المفضلة فقط"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"السجل"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"٠"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"١"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"٢"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"٣"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"٤"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"٥"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"٦"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"٧"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"٨"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"٩"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"الكل"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"فائتة"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"البريد الصوتي"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"الاتصال السريع"</string>
+ <string name="tab_recents" msgid="929949073851377206">"الحديثة"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"جهات الاتصال"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"جميع جهات الاتصال"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"جميع جهات الاتصال"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"تمت إزالة جهة الاتصال من المفضلة"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"تراجع"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"الاتصال بالرقم <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"إضافة إلى جهات الاتصال"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"عرض سجل المكالمات بالكامل"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> من المكالمات الجديدة الفائتة"</string>
<string name="no_favorites" msgid="5212485868783382971">"جهات الاتصال المفضلة وجهات الاتصال التي\nتتصل غالبًا بها ستظهر هنا.\nلذا عليك البدء في الاتصال."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"انقر على الصورة للاطلاع على كل الأرقام أو اضغط مع الاستمرار لإعادة الترتيب"</string>
<string name="description_dismiss" msgid="2146276780562549643">"تجاهل"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"إزالة"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"الاتصال السريع"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"جميع جهات الاتصال"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"معاودة الاتصال"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"حذف"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"استماع"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"مكالمة فائتة من <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>، <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>، <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"الرد على مكالمة من <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>، <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>، <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"اتصال بـ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>، <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>، <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"معاودة الاتصال بـ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"استماع إلى بريد صوتي من <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"حذف إدخال سجل المكالمات لـ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"تم حذف إدخال سجل المكالمات."</string>
</resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
deleted file mode 100644
index d659839..0000000
--- a/res/values-be/strings.xml
+++ /dev/null
@@ -1,197 +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
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="applicationLabel" msgid="8490255569343340580">"Тэлефон"</string>
- <string name="launcherDialer" msgid="8636288196618486553">"Тэлефон"</string>
- <string name="dialerIconLabel" msgid="6500826552823403796">"Тэлефон"</string>
- <string name="recentCallsIconLabel" msgid="1419116422359067949">"Спіс"</string>
- <string name="menu_sendTextMessage" msgid="6937343460284499306">"Адправiць тэкставае паведамленне"</string>
- <string name="recentCalls_callNumber" msgid="1756372533999226126">"Выклікаць карыстальнiка <xliff:g id="NAME">%s</xliff:g>"</string>
- <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Рэдагаваць нумар перад выклікам"</string>
- <string name="recentCalls_addToContact" msgid="1429899535546487008">"Дадаць у кантакты"</string>
- <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Выдаліць са спісу выклікаў"</string>
- <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Ачысціць спіс выклікаў"</string>
- <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Выдаліць галасавое паведамленне"</string>
- <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Адправiць галасавое паведамленне"</string>
- <string name="recentCalls_empty" msgid="247053222448663107">"Спіс выклікаў пусты."</string>
- <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Ачысціць спіс выклікаў?"</string>
- <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Усе вашы запісы выклікаў будуць выдалены."</string>
- <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Выдаленне гiсторыi выклiкаў..."</string>
- <plurals name="notification_voicemail_title">
- <item quantity="one" msgid="1746619685488504230">"Галас. пошта"</item>
- <item quantity="other" msgid="5513481419205061254">"Галасавых паведамленняў: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
- </plurals>
- <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Прайграць"</string>
- <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
- <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Новае паведамл. ад <xliff:g id="CALLER">%1$s</xliff:g>"</string>
- <string name="voicemail_playback_error" msgid="1811242131549854624">"Немагчыма прайгр. пав. галасавой пошты"</string>
- <string name="voicemail_buffering" msgid="738287747618697097">"Запiс у буфер..."</string>
- <string name="voicemail_fetching_content" msgid="877911315738258780">"Атрыманне галасавой пошты..."</string>
- <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Немагчыма атрымаць галасавую пошту."</string>
- <string name="call_log_voicemail_header" msgid="3945407886667089173">"Толькi выклiкі з галасавой поштай"</string>
- <string name="call_log_incoming_header" msgid="2787722299753674684">"Толькi ўваходныя выклiкi"</string>
- <string name="call_log_outgoing_header" msgid="761009180766735769">"Толькi выходныя выклiкi"</string>
- <string name="call_log_missed_header" msgid="8017148056610855956">"Толькі прапушчаныя выклiкi"</string>
- <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"Немагчыма падлучыцца да сервера галасавой пошты."</string>
- <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"Немагч. далучыцца да сервера гал. пошты. Нов. галас. павед. чак."</string>
- <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"Налада галасавой пошты."</string>
- <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Аўдыё недаступнае."</string>
- <string name="voicemail_status_action_configure" msgid="8671796489912239589">"Стварыць"</string>
- <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Выкл. гал. пошту"</string>
- <string name="voicemail_speed_slowest" msgid="1733460666177707312">"Самая нiзкая хуткасць"</string>
- <string name="voicemail_speed_slower" msgid="1508601287347216244">"Нiзкая хуткасць"</string>
- <string name="voicemail_speed_normal" msgid="9033988544627228892">"Звычайная хуткасць"</string>
- <string name="voicemail_speed_faster" msgid="2019965121475935488">"Высокая хуткасць"</string>
- <string name="voicemail_speed_fastest" msgid="5758712343491183292">"Максімальная хуткасць"</string>
- <string name="call_log_item_count_and_date" msgid="7641933305703520787">"( <xliff:g id="COUNT">%1$d</xliff:g> ) <xliff:g id="DATE">%2$s</xliff:g>"</string>
- <string name="sms_disambig_title" msgid="5846266399240630846">"Выбар нумару"</string>
- <string name="call_disambig_title" msgid="4392886850104795739">"Выбар нумару"</string>
- <string name="make_primary" msgid="5829291915305113983">"Запомніць гэты выбар"</string>
- <string name="description_image_button_one" msgid="1740638037139856139">"адзін"</string>
- <string name="description_image_button_two" msgid="5882638439003731308">"два"</string>
- <string name="description_image_button_three" msgid="8709731759376015180">"тры"</string>
- <string name="description_image_button_four" msgid="3530239685642246130">"чатыры"</string>
- <string name="description_image_button_five" msgid="1182465427501188413">"пяць"</string>
- <string name="description_image_button_six" msgid="2093656269261415475">"шэсць"</string>
- <string name="description_image_button_seven" msgid="2450357020447676481">"сем"</string>
- <string name="description_image_button_eight" msgid="6969435115163287801">"восем"</string>
- <string name="description_image_button_nine" msgid="7857248695662558323">"дзевяць"</string>
- <string name="description_image_button_star" msgid="3365919907520767866">"зорка"</string>
- <string name="description_image_button_zero" msgid="4133108949401820710">"нуль"</string>
- <string name="description_image_button_pound" msgid="3039765597595889230">"Фунт"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"галасавая пошта"</string>
- <string name="description_search_button" msgid="3660807558587384889">"пошук"</string>
- <string name="description_dial_button" msgid="1274091017188142646">"набор"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
- <string name="description_digits_edittext" msgid="8760207516497016437">"нумар для набору"</string>
- <!-- no translation found for action_menu_call_history_description (9018442816219748968) -->
- <skip />
- <string name="action_menu_overflow_description" msgid="2303272250613084574">"Дадатковыя параметры"</string>
- <!-- no translation found for action_menu_dialpad_button (1425910318049008136) -->
- <skip />
- <string name="menu_copy" msgid="6108677035381940698">"Капіраваць"</string>
- <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Паказаць толькі выходныя"</string>
- <string name="menu_show_incoming_only" msgid="7534206815238877417">"Паказаць толькі ўваходныя"</string>
- <string name="menu_show_missed_only" msgid="154473166059743996">"Паказаць толькі прапушчаныя"</string>
- <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Паказаць толькі галас. пошту"</string>
- <string name="menu_show_all_calls" msgid="7560347482073345885">"Паказаць усе выклікі"</string>
- <string name="add_2sec_pause" msgid="9214012315201040129">"Дадаць 2-секундную паўзу"</string>
- <string name="add_wait" msgid="3360818652790319634">"Дадаецца, чакайце"</string>
- <string name="call_settings" msgid="7666474782093693667">"Налады"</string>
- <string name="menu_newContact" msgid="1209922412763274638">"Новы кантакт"</string>
- <!-- no translation found for menu_allContacts (6948308384034051670) -->
- <skip />
- <string name="callDetailTitle" msgid="5340227785196217938">"Падрабязнасці выкліку"</string>
- <string name="toast_call_detail_error" msgid="7200975244804730096">"Не атрымалася прачытаць падрабязнасці запытанага выкліка."</string>
- <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Выкарыстанне тонавай клавіятуры"</string>
- <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Звярнуцца да бягучага выкліку"</string>
- <string name="dialer_addAnotherCall" msgid="4205688819890074468">"Дадаць выклік"</string>
- <string name="type_incoming" msgid="6502076603836088532">"Уваходны выклік"</string>
- <string name="type_outgoing" msgid="343108709599392641">"Выходны выклік"</string>
- <string name="type_missed" msgid="2720502601640509542">"Прапушчаны выклік"</string>
- <string name="type_voicemail" msgid="5153139450668549908">"Галасавая пошта"</string>
- <string name="actionIncomingCall" msgid="6028930669817038600">"Уваходныя выклікі"</string>
- <string name="description_call_log_play_button" msgid="651182125650429846">"Прайграць паведамленне галасавой пошты"</string>
- <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Уваходныя выклікі"</string>
- <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Выходны выклік"</string>
- <string name="description_call_log_missed_call" msgid="2242805209983708825">"Прапушчаныя выклікі"</string>
- <string name="description_call_log_voicemail" msgid="4600798771975158948">"Галасавая пошта"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Дадаць кантакт"</string>
- <string name="description_view_contact" msgid="5205669345700598415">"Прагледзець кантакт <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="description_call" msgid="3443678121983852666">"Выклік карыстальнiка <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="description_send_text_message" msgid="7803126439934046891">"Адправіць тэкставае паведамленне карыстальніку <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Непраслуханая галасавая пошта"</string>
- <!-- no translation found for description_start_voice_search (520539488194946012) -->
- <skip />
- <!-- no translation found for call_log_empty_gecode (2019639420045039861) -->
- <skip />
- <string name="menu_callNumber" msgid="997146291983360266">"Выклікаць <xliff:g id="NUMBER">%s</xliff:g>"</string>
- <string name="unknown" msgid="740067747858270469">"Невядомы"</string>
- <string name="voicemail" msgid="3851469869202611441">"Галасавая пошта"</string>
- <string name="private_num" msgid="6374339738119166953">"Прыватны нумар"</string>
- <string name="payphone" msgid="4864313342828942922">"Аплата тэлефона"</string>
- <string name="dialerKeyboardHintText" msgid="5401660096579787344">"Выкарыстаць клавіятуру для набору нумара"</string>
- <string name="dialerDialpadHintText" msgid="5824490365898349041">"НВыберыце, каб дадаць выклік"</string>
- <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> хв. <xliff:g id="SECONDS">%s</xliff:g> с."</string>
- <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"Выклік не зроблены"</string>
- <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"Каб наладзіць галасавую пошту, націсніце \"Меню\" i перайдзiце ў налады."</string>
- <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"Каб зрабiць выклік галасавой пошты, спачатку адключыце рэжым палёту."</string>
- <string name="contact_list_loading" msgid="5488620820563977329">"Загрузка..."</string>
- <string name="imei" msgid="3045126336951684285">"IMEI"</string>
- <string name="meid" msgid="6210568493746275750">"MEID"</string>
- <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Загрузка з SIM-карты..."</string>
- <string name="simContacts_title" msgid="27341688347689769">"Кантакты SIM-карты"</string>
- <string name="add_contact_not_available" msgid="1419207765446461366">"Каб выкарыстоўваць гэту функцыю, паўторна ўключыце прыкладанне \"Кантакты\"."</string>
- <!-- no translation found for dialer_hint_find_contact (8798845521253672403) -->
- <skip />
- <!-- no translation found for call_log_all_title (3566738938889333307) -->
- <skip />
- <!-- no translation found for call_log_missed_title (4541142293870638971) -->
- <skip />
- <!-- no translation found for recentMissed_empty (5427113551557296665) -->
- <skip />
- <!-- no translation found for recentVoicemails_empty (5163114119598014048) -->
- <skip />
- <!-- no translation found for show_all_contacts (1732256558071778056) -->
- <skip />
- <!-- no translation found for show_favorites_only (5520072531022614595) -->
- <skip />
- <!-- no translation found for call_log_activity_title (4612824396355272023) -->
- <skip />
- <!-- no translation found for dialpad_0_number (8859392433961251108) -->
- <skip />
- <!-- no translation found for dialpad_1_number (6536740525419909212) -->
- <skip />
- <!-- no translation found for dialpad_2_number (4941546415280852148) -->
- <skip />
- <!-- no translation found for dialpad_3_number (6539414865185536881) -->
- <skip />
- <!-- no translation found for dialpad_4_number (979988372051042362) -->
- <skip />
- <!-- no translation found for dialpad_5_number (5492272478939926734) -->
- <skip />
- <!-- no translation found for dialpad_6_number (8044579516869379093) -->
- <skip />
- <!-- no translation found for dialpad_7_number (4175113016564167123) -->
- <skip />
- <!-- no translation found for dialpad_8_number (7949849563865941621) -->
- <skip />
- <!-- no translation found for dialpad_9_number (4377059952097526576) -->
- <skip />
- <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
- <skip />
- <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
- <skip />
- <!-- no translation found for favorite_hidden (5011234945140912047) -->
- <skip />
- <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
- <skip />
- <!-- no translation found for search_shortcut_call_number (7277194656832895870) -->
- <skip />
- <!-- no translation found for search_shortcut_add_to_contacts (1853716708655789069) -->
- <skip />
- <!-- no translation found for num_missed_calls (8081736535604293886) -->
- <skip />
- <!-- no translation found for no_favorites (5212485868783382971) -->
- <skip />
- <!-- no translation found for contact_tooltip (7817483485692282287) -->
- <skip />
- <!-- no translation found for description_dismiss (2146276780562549643) -->
- <skip />
-</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 419a191..cff8c1d 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"звезда"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"нула"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"лира"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"гласова поща"</string>
<string name="description_search_button" msgid="3660807558587384889">"търсене"</string>
<string name="description_dial_button" msgid="1274091017188142646">"набиране"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"назад"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"номер за набиране"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"История на обажданията"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Още опции"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Показване само на пропуснатите"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Показване само на гл. поща"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Показване на всички обаждания"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Добавяне на контакт"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Добавяне на 2-сек пауза"</string>
<string name="add_wait" msgid="3360818652790319634">"Добавяне на изчакване"</string>
<string name="call_settings" msgid="7666474782093693667">"Настройки"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Изходящо обаждане"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Пропуснато обаждане"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Гласова поща"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Добавяне на контакт"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Преглед на контактa <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Обаждане до <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Подробности за контакта за <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Подробности за обаждането"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Нова гласова поща."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> обаждания."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Изпращане на SMS до <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Непрослушана гласова поща"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Изчистване на търсенето"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Стартиране на гласово търсене"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Обаждане на <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Неизвестен"</string>
<string name="voicemail" msgid="3851469869202611441">"Гласова поща"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Зарежда се от SIM карта..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Контакти от SIM карта"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Активирайте отново приложението Хора, за да използвате тази функция."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Гласовото търсене не е налице."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Не може да се осъществи телефонно обаждане, защото приложението Телефон е деактивирано."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Няма инсталирано приложение за обработване на избраното действие."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Въведете име или тел. номер"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Всички"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Пропуснати"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Няма скорошни пропуснати обаждания."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Няма скорошни гласови съобщения."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Показване на всички контакти"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Показване само на любимите"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"История"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Всички"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Пропуснати"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Гл. поща"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Бързо набиране"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Скорошни"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Контакти"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Всички контакти"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Всички контакти"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Премахнато от любимите"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Отмяна"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Обаждане на <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Добавяне в контактите"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Преглед на цялата история на обажданията"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> нови пропуснати обаждания"</string>
<string name="no_favorites" msgid="5212485868783382971">"Любимите и контактите, на\nкоито се обаждате често, ще се показват тук.\nЗапочнете да извършвате обаждания."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Докоснете изображението, за да видите всички номера, или натиснете и задръжте, за да пренаредите"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Отхвърляне"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Премахване"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Бързо набиране"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"ВСИЧКИ КОНТАКТИ"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"ОБРАТНО ОБАЖДАНЕ"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"ИЗТРИВАНЕ"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"ПРОСЛУШВАНЕ"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Пропуснато обаждане от <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Отговорено обаждане от <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Обаждане до <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Обратно обаждане до <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Прослушване на гласовата поща от <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Изтриване на записа за <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> от списъка с обажданията"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Записът е изтрит от списъка с обаждания."</string>
</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index bb658ad..82e1ccb 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"destaca"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"zero"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"coixinet"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"correu de veu"</string>
<string name="description_search_button" msgid="3660807558587384889">"cerca"</string>
<string name="description_dial_button" msgid="1274091017188142646">"marca"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"retrocés"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"número que es marcarà"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Historial de trucades"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Més opcions"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Mostra només trucades perdudes"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Mostra només missatges de veu"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Mostra totes les trucades"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Afegeix un contacte"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Afegeix una pausa de 2 segons"</string>
<string name="add_wait" msgid="3360818652790319634">"Afegeix espera"</string>
<string name="call_settings" msgid="7666474782093693667">"Configuració"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Trucada sortint"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Trucada perduda"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Missatge de veu"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Afegeix un contacte"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Visualitza el contacte <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Truca a <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Dades de contacte de: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Detalls de la trucada"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Correu de veu nou"</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> trucades"</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Envia un missatge de text a <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Missatge de veu no escoltat"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Esborra la cerca"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Inicia la cerca per veu"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Truca al <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Desconegut"</string>
<string name="voicemail" msgid="3851469869202611441">"Correu de veu"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"S\'està carregant des de la targeta SIM..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Contactes de la targeta SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Torna a activar l\'aplicació Persones per utilitzar aquesta funció."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"La cerca per veu no està disponible."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"No es pot fer una trucada telefònica perquè s\'ha desactivat l\'aplicació de telèfon."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"No hi ha cap aplicació instal·lada disponible per gestionar l\'acció seleccionada."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Escriu un nom o un número de telèfon"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Totes"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Perdudes"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"No hi ha cap trucada perduda recent."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"No hi ha cap missatge de veu recent."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Mostra tots els contactes"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Mostra només els preferits"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Historial"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Totes"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Perdudes"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Bústia veu"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Marcatge ràpid"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Recents"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Contactes"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Tots els contactes"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Tots els contactes"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Eliminat dels preferits"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Desfés"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Truca al <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Afegeix als contactes"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Consulta tot l\'historial de trucades"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> trucades perdudes noves"</string>
<string name="no_favorites" msgid="5212485868783382971">"Aquí es mostraran els preferits i els contactes\nals quals truques sovint.\nJa pots començar a trucar."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Toca la imatge per veure tots els números o bé mantén-la premuda per reorganitzar"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Omet"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Suprimeix"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Marcatge ràpid"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"TOTS ELS CONTACTES"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"TORNA LA TRUCADA"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"SUPRIMEIX"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"ESCOLTA"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Trucada perduda de: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Trucada resposta de: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Trucada a: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Torna a trucar a: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Escolta el missatge a la bústia de veu de: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Suprimeix l\'entrada del registre de trucades de: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"S\'ha suprimit l\'entrada del registre de trucades."</string>
</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index ee643da..42fa820 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"hvězdička"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"nula"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"libra"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"hlasová schránka"</string>
<string name="description_search_button" msgid="3660807558587384889">"vyhledat"</string>
<string name="description_dial_button" msgid="1274091017188142646">"vytáčení"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"číslo, které chcete vytočit"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Historie volání"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Více možností"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Zobrazit pouze zmeškané"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Zobrazit pouze hlas. schránku"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Zobrazit všechny hovory"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Přidat kontakt"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Přidat pauzu 2 s"</string>
<string name="add_wait" msgid="3360818652790319634">"Přidat čekání"</string>
<string name="call_settings" msgid="7666474782093693667">"Nastavení"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Odchozí hovor"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Zmeškaný hovor"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Hlasová schránka"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Přidat kontakt"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Zobrazit kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Volat kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Podrobnosti kontaktu pro <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Podrobnosti hovoru"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Nová hlasová zpráva"</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"Počet hovorů: <xliff:g id="NUMBEROFCALLS">%1$s</xliff:g>"</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Odeslat textovou zprávu kontaktu <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nevyslechnutá hlasová zpráva"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Vymazat vyhledávání"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Spustit hlasové vyhledávání"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Zavolat na číslo <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Neznámé"</string>
<string name="voicemail" msgid="3851469869202611441">"Hlasová schránka"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Načítání ze SIM karty..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Kontakty na SIM kartě"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Chcete-li použít tuto funkci, znovu povolte aplikaci Lidé."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Hlasové vyhledávání není k dispozici"</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Telefonický hovor nelze uskutečnit, protože aplikace Telefon byla zakázána."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Není k dispozici žádná nainstalovaná aktivita, pomocí které by bylo možné vybranou akci provést."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Zadejte jméno nebo tel. číslo"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Všechny"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Zmeškané"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Nemáte žádné nedávno zmeškané hovory."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Nemáte žádné nedávné hlasové zprávy."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Zobrazit všechny kontakty"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Zobrazit pouze oblíbené"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Historie"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Všechny"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Zmeškané"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Schránka"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Rychlá volba"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Poslední"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Kontakty"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Všechny kontakty"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Všechny kontakty"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Odebráno z oblíbených"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Vrátit zpět"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Zavolat na číslo <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Přidat do kontaktů"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Zobrazení celé historie volání"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"Nové zmeškané hovory: <xliff:g id="NUMBER">%s</xliff:g>"</string>
- <string name="no_favorites" msgid="5212485868783382971">"Zde se bude zobrazovat oblíbený obsah\na kontakty, kterým často voláte.\nStačí jen začít volat."</string>
+ <string name="no_favorites" msgid="5212485868783382971">"Zde se bude zobrazovat vaše oblíbené a často používané kontakty.\nStačí jen začít volat.\n"</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Klepnutím na fotku zobrazíte všechna čísla a přidržením je můžete seřadit"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Zavřít"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Odstranit"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Rychlá volba"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"VŠECHNY KONTAKTY"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"VOLAT ZPĚT"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"SMAZAT"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"POSLOUCHAT"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Zmeškaný hovor od <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Přijatý hovor od <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Hovor s <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Zpětné volání <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Poslech hlasové schránky od <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Smazat ze seznamu hovorů záznam <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Záznam v seznamu hovorů byl smazán."</string>
</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 6bd3f72..1bcdf11 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"stjernemarker"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"nul"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"pund"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"telefonsvarer"</string>
<string name="description_search_button" msgid="3660807558587384889">"søg"</string>
<string name="description_dial_button" msgid="1274091017188142646">"ring op"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"nummer at ringe op"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Opkaldshistorik"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Flere valgmuligheder"</string>
@@ -89,8 +87,9 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Vis kun ubesvarede"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Vis kun telefonsvarerbeskeder"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Vis alle opkald"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Tilføj kontaktperson"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Tilføj pause på 2 sek."</string>
- <string name="add_wait" msgid="3360818652790319634">"Tilføj Vent"</string>
+ <string name="add_wait" msgid="3360818652790319634">"Tilføj ventetid"</string>
<string name="call_settings" msgid="7666474782093693667">"Indstillinger"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Ny kontaktperson"</string>
<string name="menu_allContacts" msgid="6948308384034051670">"Alle kontaktpersoner"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Udgående opkald"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Ubesvaret opkald"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Telefonsvarer"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Tilføj kontaktperson"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Vis kontaktpersonen <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Ring til <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Kontaktoplysninger for <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Opkaldsdetaljer"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Ny talebesked."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> opkald."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Send sms til <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Uaflyttet besked på telefonsvareren"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Ryd søgning"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Start stemmesøgning"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Ring til <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Ukendte"</string>
<string name="voicemail" msgid="3851469869202611441">"Telefonsvarer"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Indlæser fra SIM-kort ..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Kontakter på SIM-kort"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Genaktiver applikationen Personer for at bruge denne funktion."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Stemmesøgning er ikke tilgængeligt."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Det er ikke muligt at foretage et telefonopkald, fordi applikationen Telefon er deaktiveret."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Der er ingen installerede apps til at håndtere den valgte handling."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Skriv navn eller telefonnummer"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Alle"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Ubesvarede"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Ingen ubesvarede opkald."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Ingen nye talebeskeder."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Vis alle kontaktpersoner"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Vis kun foretrukne"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Historik"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Alle"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Ubesvarede"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Talebesked"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Hurtigopkald"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Seneste"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Kontaktpersoner"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Alle kontaktpersoner"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Alle kontaktpersoner"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Fjernet fra favoritter"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Fortryd"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Ring til <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Føj til kontaktpersoner"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Se komplet opkaldshistorik"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> nye ubesvarede opkald"</string>
- <string name="no_favorites" msgid="5212485868783382971">"Dine foretrukne og de kontaktpersoner, du\noftest ringer til, vises her.\nSå gå du bare i gang med at ringe."</string>
+ <string name="no_favorites" msgid="5212485868783382971">"Dine foretrukne og de kontaktpersoner,\ndu oftest ringer til, vises her.\nSå gå du bare i gang med at ringe."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Tryk på billedet for at se alle telefonnumre, eller tryk på billedet, og hold det nede, for at omarrangere"</string>
- <string name="description_dismiss" msgid="2146276780562549643">"Annullerer"</string>
+ <string name="description_dismiss" msgid="2146276780562549643">"Annuller"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Fjern"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Hurtigopkald"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"ALLE KONTAKTPERSONER"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"RING TILBAGE"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"SLET"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"LYT"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Ubesvaret opkald fra <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Opkald besvaret fra <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Opkald til <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Ring tilbage til <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Lyt til indtalt besked fra <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Slet <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> fra opkaldslisten"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Navn eller nummer blev slettet fra opkaldslisten."</string>
</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index a50055b..2419010 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"Markierung"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"null"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"Pfund"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"Mailbox"</string>
<string name="description_search_button" msgid="3660807558587384889">"Suchen"</string>
<string name="description_dial_button" msgid="1274091017188142646">"wählen"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"Rücktaste"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"Zu wählende Nummer"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Anrufliste"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Mehr Optionen"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Nur entgangene Anrufe anzeigen"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Nur Mailbox-Nachr. anzeigen"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Alle Anrufe anzeigen"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Kontakt hinzufügen"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"2 Sekunden Pause hinzufügen"</string>
<string name="add_wait" msgid="3360818652790319634">"Warten hinzufügen"</string>
<string name="call_settings" msgid="7666474782093693667">"Einstellungen"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Ausgehender Anruf"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Entgangener Anruf"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Mailbox-Nachricht"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Kontakt hinzufügen"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Kontakt <xliff:g id="NAME">%1$s</xliff:g> anzeigen"</string>
<string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g> anrufen"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Kontaktdetails für <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Anrufdetails"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Neue Mailbox-Nachricht"</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> Anrufe"</string>
<string name="description_send_text_message" msgid="7803126439934046891">"SMS an <xliff:g id="NAME">%1$s</xliff:g> senden"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nicht abgehörte Mailbox-Nachricht"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Suche zurücksetzen"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Sprachsuche starten"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g> wählen"</string>
<string name="unknown" msgid="740067747858270469">"Unbekannt"</string>
<string name="voicemail" msgid="3851469869202611441">"Mailbox"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Ladevorgang von SIM-Karte läuft..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Kontakte auf SIM-Karte"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Kontakte-App zur Verwendung dieser Funktion wieder aktivieren"</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Die Sprachsuche ist nicht verfügbar."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Es kann kein Anruf getätigt werden, da die App \"Telefon\" deaktiviert wurde."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Zur Verarbeitung der ausgewählten Aktion ist keine installierte Aktivität verfügbar."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Namen/Telefonnummer eingeben"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Alle"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Entgangen"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Keine entgangenen Anrufe"</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Keine Mailbox-Nachrichten"</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Alle Kontakte anzeigen"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Nur Favoriten anzeigen"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Verlauf"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Alle"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Entgangen"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Mailbox-Nachrichten"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Kurzwahl"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Neueste"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Kontakte"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Alle Kontakte"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Alle Kontakte"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Aus Favoriten entfernt"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Rückgängig machen"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"<xliff:g id="NUMBER">%s</xliff:g> wählen"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Zu Kontakten hinzufügen"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Gesamte Anrufliste ansehen"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> neue verpasste Anrufe"</string>
- <string name="no_favorites" msgid="5212485868783382971">"Sobald Sie Anrufe getätigt haben,\nwerden hier Favoriten und Kontakte angezeigt,\ndie Sie häufig anrufen."</string>
+ <string name="no_favorites" msgid="5212485868783382971">"Sobald Sie Anrufe getätigt haben,\nsehen Sie hier Favoriten und Kontakte,\ndie Sie häufig anrufen."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Auf Bild tippen, um alle Nummern zu sehen, oder berühren und halten, um Anordnung zu ändern"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Ablehnen"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Entfernen"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Kurzwahl"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"Alle Kontakte"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"Zurückrufen"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"Löschen"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"Anhören"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Verpasster Anruf von <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>"</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Anruf von <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g> angenommen"</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Ausgehender Anruf an <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>"</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> zurückrufen"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Mailboxnachricht von <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> anhören"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Anruflisteneintrag für <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> löschen"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Anruflisteneintrag gelöscht"</string>
</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 061612b..a6a1036 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -28,7 +28,7 @@
<string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Κατάργηση από το αρχείο καταγραφής κλήσεων"</string>
<string name="recentCalls_deleteAll" msgid="6352364392762163704">"Εκκαθάριση αρχείου καταγραφής κλήσεων"</string>
<string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Διαγραφή αυτόματου τηλεφωνητή"</string>
- <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Κοινή χρήση αυτόμ. τηλεφωνητή"</string>
+ <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Κοινοποίηση αυτόμ. τηλεφωνητή"</string>
<string name="recentCalls_empty" msgid="247053222448663107">"Το αρχείο καταγραφής κλήσεων είναι κενό."</string>
<string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Εκκαθάριση αρχείου;"</string>
<string name="clearCallLogConfirmation" msgid="5043563133171583152">"Όλα τα αρχεία κλήσεων θα διαγραφούν."</string>
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"αστέρι"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"μηδέν"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"σύμβολο δίεσης"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"αυτόματος τηλεφωνητής"</string>
<string name="description_search_button" msgid="3660807558587384889">"αναζήτηση"</string>
<string name="description_dial_button" msgid="1274091017188142646">"κλήση"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"αριθμός για κλήση"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Ιστορικό κλήσεων"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Περισσότερες επιλογές"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Εμφάνιση μόνο αναπάντητων"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Εμφ. μόνο μην. αυτόμ. τηλεφων."</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Εμφάνιση όλων"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Προσθήκη επαφής"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Προσθήκη παύσης 2 δευτερολέπτων"</string>
<string name="add_wait" msgid="3360818652790319634">"Προσθήκη αναμονής"</string>
<string name="call_settings" msgid="7666474782093693667">"Ρυθμίσεις"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Εξερχόμενη κλήση"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Αναπάντητη κλήση"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Αυτόματος τηλεφωνητής"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Προσθήκη επαφής"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Προβολή επαφής <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Κλήση του χρήστη <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Στοιχεία επικοινωνίας του <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Λεπτομέρειες κλήσης"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Νέο μήνυμα στον αυτόματο τηλεφωνητή."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> κλήσεις."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Αποστολή μηνύματος κειμένου στον χρήστη <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Μηνύματα αυτόματου τηλεφωνητή που δεν έχετε ακούσει"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Διαγραφή αναζητήσεων"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Έναρξη φωνητικής αναζήτησης"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Κλήση του αριθμού <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Άγνωστος"</string>
<string name="voicemail" msgid="3851469869202611441">"Αυτόματος τηλεφωνητής"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Φόρτωση από κάρτα SIM…"</string>
<string name="simContacts_title" msgid="27341688347689769">"Επαφές στην κάρτα SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Ενεργοποιήστε ξανά την εφαρμογή People για να χρησιμοποιήσετε αυτήν τη λειτουργία."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Η φωνητική αναζήτηση δεν είναι διαθέσιμη."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Δεν είναι δυνατή η πραγματοποίηση τηλεφωνικής κλήσης επειδή η εφαρμογή \"Τηλέφωνο\" έχει απενεργοποιηθεί."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Δεν υπάρχει διαθέσιμη εγκατεστημένη δραστηριότητα για το χειρισμό της επιλεγμένης ενέργειας."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Εισαγάγετε όνομα ή τηλέφωνο"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Όλα"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Αναπάντητη"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Δεν υπάρχουν πρόσφατες αναπάντητες κλήσεις."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Δεν υπάρχουν πρόσφατα φωνητικά μηνύματα."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Εμφάνιση όλων των επαφών"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Εμφάνιση μόνο των αγαπημένων"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Ιστορικό"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Όλα"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Αναπάντητη"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Φωνητικό μήνυμα"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Ταχεία κλήση"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Πρόσφατα"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Επαφές"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Όλες οι επαφές"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Όλες οι επαφές"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Καταργήθηκε από τα αγαπημένα"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Αναίρεση"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Κλήση του αριθμού <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Προσθήκη στις επαφές"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Προβολή πλήρους ιστορικού κλήσεων"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> νέες αναπάντητες κλήσεις"</string>
<string name="no_favorites" msgid="5212485868783382971">"Οι αγαπημένες και οι επαφές που\nκαλείτε συχνά θα εμφανίζονται εδώ.\nΞεκινήστε τις κλήσεις."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Πατήστε την εικόνα για να δείτε όλους τους αριθμούς ή πατήστε παρατεταμένα για αναδιάταξη"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Παράβλεψη"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Κατάργηση"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Ταχεία κλήση"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"ΟΛΕΣ ΟΙ ΕΠΑΦΕΣ"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"ΕΠΑΝΑΚΛΗΣΗ"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"ΔΙΑΓΡΑΦΗ"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"ΑΚΡΟΑΣΗ"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Αναπάντητη κλήση από <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Ληφθείσα κλήση από <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Κλήση στον αριθμό <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Επανάκληση <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Ακρόαση μηνύματος αυτόματου τηλεφωνητή από το χρήστη <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Διαγραφή καταχώρισης αρχείου καταγραφής κλήσεων για τον αριθμό <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Το αρχείο καταγραφής κλήσεων διαγράφηκε."</string>
</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index b8d7c81..803ad8e 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"Star"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"zero"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"pound"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"voicemail"</string>
<string name="description_search_button" msgid="3660807558587384889">"search"</string>
<string name="description_dial_button" msgid="1274091017188142646">"dial"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"number to dial"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Call History"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"More options"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Show missed only"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Show voicemails only"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Show all calls"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Add contact"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Add 2-sec pause"</string>
<string name="add_wait" msgid="3360818652790319634">"Add wait"</string>
<string name="call_settings" msgid="7666474782093693667">"Settings"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Outgoing call"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Missed call"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Voicemail"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Add contact"</string>
<string name="description_view_contact" msgid="5205669345700598415">"View contact <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Call <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Contact details for <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Call details"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"New voicemail."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> calls."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Send text message to <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Unheard voicemail"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Clear search"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Start voice search"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Call <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Unknown"</string>
<string name="voicemail" msgid="3851469869202611441">"Voicemail"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Loading from SIM card…"</string>
<string name="simContacts_title" msgid="27341688347689769">"SIM card contacts"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Re-enable the People application to use this feature."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Voice search is not available."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Cannot make a phone call because the Phone application has been disabled."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"No installed activity available to handle selected action."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Type a name or phone number"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"All"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Missed"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"No recent missed calls."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"No recent voicemails."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Show all contacts"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Show favourites only"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"History"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"All"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Missed"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Voicemail"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Speed Dial"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Recents"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Contacts"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"All contacts"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"All contacts"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Removed from favourites"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Undo"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Call <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Add to contacts"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"View full call history"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> new missed calls"</string>
<string name="no_favorites" msgid="5212485868783382971">"Favourites & contacts that you\ncall often will show here.\nSo, start calling."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Tap image to see all numbers or press and hold to reorder"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Dismiss"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Remove"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Speed Dial"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"ALL CONTACTS"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"CALL BACK"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"DELETE"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"LISTEN"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Missed call from <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Answered call from <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Call to <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Call back <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Listen to voicemail from <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Delete call log entry for <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Call log entry deleted."</string>
</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index b8d7c81..803ad8e 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"Star"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"zero"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"pound"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"voicemail"</string>
<string name="description_search_button" msgid="3660807558587384889">"search"</string>
<string name="description_dial_button" msgid="1274091017188142646">"dial"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"number to dial"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Call History"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"More options"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Show missed only"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Show voicemails only"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Show all calls"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Add contact"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Add 2-sec pause"</string>
<string name="add_wait" msgid="3360818652790319634">"Add wait"</string>
<string name="call_settings" msgid="7666474782093693667">"Settings"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Outgoing call"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Missed call"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Voicemail"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Add contact"</string>
<string name="description_view_contact" msgid="5205669345700598415">"View contact <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Call <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Contact details for <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Call details"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"New voicemail."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> calls."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Send text message to <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Unheard voicemail"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Clear search"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Start voice search"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Call <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Unknown"</string>
<string name="voicemail" msgid="3851469869202611441">"Voicemail"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Loading from SIM card…"</string>
<string name="simContacts_title" msgid="27341688347689769">"SIM card contacts"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Re-enable the People application to use this feature."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Voice search is not available."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Cannot make a phone call because the Phone application has been disabled."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"No installed activity available to handle selected action."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Type a name or phone number"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"All"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Missed"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"No recent missed calls."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"No recent voicemails."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Show all contacts"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Show favourites only"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"History"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"All"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Missed"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Voicemail"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Speed Dial"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Recents"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Contacts"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"All contacts"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"All contacts"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Removed from favourites"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Undo"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Call <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Add to contacts"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"View full call history"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> new missed calls"</string>
<string name="no_favorites" msgid="5212485868783382971">"Favourites & contacts that you\ncall often will show here.\nSo, start calling."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Tap image to see all numbers or press and hold to reorder"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Dismiss"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Remove"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Speed Dial"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"ALL CONTACTS"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"CALL BACK"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"DELETE"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"LISTEN"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Missed call from <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Answered call from <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Call to <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Call back <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Listen to voicemail from <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Delete call log entry for <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Call log entry deleted."</string>
</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index cc5620b..9fa4ee0 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"estrella"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"cero"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"libra"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"buzón de voz"</string>
<string name="description_search_button" msgid="3660807558587384889">"búsqueda"</string>
<string name="description_dial_button" msgid="1274091017188142646">"marcar"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"retroceso"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"número para marcar"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Historial de llamadas"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Más opciones"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Mostrar solo perdidas"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Mostrar solo mensajes de voz"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Mostrar todas las llamadas"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Agregar contacto"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Agregar pausa de 2 segundos"</string>
<string name="add_wait" msgid="3360818652790319634">"Agregar espera"</string>
<string name="call_settings" msgid="7666474782093693667">"Configuración"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Llamada saliente"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Llamada perdida"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Mensaje de voz"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Agregar contacto"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Ver contacto <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Llamar a <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Datos de contacto de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Detalles de la llamada"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Buzón de voz nuevo"</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> llamadas"</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Enviar mensaje de texto a <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Buzón de voz no escuchado"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Borrar la búsqueda"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Iniciar búsqueda por voz"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Llamar al <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Desconocido"</string>
<string name="voicemail" msgid="3851469869202611441">"Correo de voz"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Cargando desde tarjeta SIM..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Contactos de tarjeta SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Vuelve a activar la aplicación Contactos para usar esta función."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"No está disponible la búsqueda por voz."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"No se pueden realizar llamadas porque se inhabilitó la aplicación Teléfono."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"No hay ninguna actividad instalada para procesar la acción seleccionada."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Ingresa un nombre o teléfono."</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Todo"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Perdidas"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"No hay llamadas perdidas recientes."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"No hay mensajes del buzón de voz recientes."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Mostrar todos los contactos"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Mostrar solo favoritos"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Historial"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Todo"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Perdidas"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Buzón voz"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Marcado rápido"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Recientes"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Contactos"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Todos los contactos"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Todos los contactos"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Eliminado de favoritos"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Deshacer"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Llamar al <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Agregar a contactos"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Ver historial de llamadas completo"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> llamadas perdidas nuevas"</string>
<string name="no_favorites" msgid="5212485868783382971">"Aquí se mostrarán los favoritos y los contactos\na los que llamas con frecuencia.\nYa puedes empezar a llamar."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Presiona la imagen para ver todos los números o mantenla presionada para cambiar el orden."</string>
<string name="description_dismiss" msgid="2146276780562549643">"Descartar"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Eliminar"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Marcado rápido"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"TODOS LOS CONTACTOS"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"DEVOLVER LLAMADA"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"ELIMINAR"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"ESCUCHAR"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Llamada perdida de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> <xliff:g id="TYPEORLOCATION">%2$s</xliff:g> <xliff:g id="TIMEOFCALL">%3$s</xliff:g>"</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Llamada respondida de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> <xliff:g id="TYPEORLOCATION">%2$s</xliff:g> <xliff:g id="TIMEOFCALL">%3$s</xliff:g>"</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Llamar a <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> <xliff:g id="TYPEORLOCATION">%2$s</xliff:g> <xliff:g id="TIMEOFCALL">%3$s</xliff:g>"</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Devolver llamada a <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Escuchar buzón de voz de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Eliminar entrada de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> del registro de llamadas"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Entrada del registro de llamada eliminada"</string>
</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index b2adb2f..acf13d1 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"estrella"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"cero"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"libra"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"buzón de voz"</string>
<string name="description_search_button" msgid="3660807558587384889">"buscar"</string>
<string name="description_dial_button" msgid="1274091017188142646">"marcar"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"retroceder un espacio"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"número que se va a marcar"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Historial de llamadas"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Más opciones"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Mostrar solo llamadas perdidas"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Solo mensajes de voz"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Mostrar todas las llamadas"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Añadir contacto"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Añadir pausa de 2 segundos"</string>
<string name="add_wait" msgid="3360818652790319634">"Añadir espera"</string>
<string name="call_settings" msgid="7666474782093693667">"Ajustes"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Llamada saliente"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Llamada perdida"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Buzón de voz"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Añadir contacto"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Ver contacto <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Llamar a <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Información de contacto de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Detalles de la llamada"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Nuevo mensaje de voz."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> llamadas."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Enviar mensaje de texto a <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Mensaje de voz sin oír"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Borrar la búsqueda"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Iniciar búsqueda por voz"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Llamar a <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Desconocidos"</string>
<string name="voicemail" msgid="3851469869202611441">"Buzón de voz"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Cargando desde tarjeta SIM…"</string>
<string name="simContacts_title" msgid="27341688347689769">"Contactos de tarjeta SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Vuelve a habilitar la aplicación Contactos para usar esta función."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"La búsqueda por voz no está disponible."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"No se puede hacer llamadas porque se ha inhabilitado la aplicación Teléfono."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Ninguna actividad instalada puede procesar la acción seleccionada."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Escribe un nombre o teléfono"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Todo"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Perdidas"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"No hay llamadas perdidas recientes."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"No hay mensajes de voz recientes."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Mostrar todos los contactos"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Mostrar solo favoritos"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Historial"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Todo"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Perdidas"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Mensaje de voz"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Marcación rápida"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Recientes"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Contactos"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Todos los contactos"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Todos los contactos"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Eliminado de favoritos"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Deshacer"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Llamar a <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Añadir a contactos"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Ver historial de llamadas completo"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> llamadas perdidas nuevas"</string>
- <string name="no_favorites" msgid="5212485868783382971">"Los favoritos y contactos a los que\nllamas con frecuencia se mostrarán aquí.\nYa puedes llamar."</string>
+ <string name="no_favorites" msgid="5212485868783382971">"Los favoritos y contactos a los que\nllamas con frecuencia se mostrarán aquí.\n"</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Toca la imagen para ver todos los números o mantenla pulsada para cambiar el orden"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Ignorar"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Eliminar"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Marcación rápida"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"TODOS LOS CONTACTOS"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"DEVOLVER LLAMADA"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"ELIMINAR"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"ESCUCHAR"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Llamada perdida de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Llamada respondida de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Llamar a <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Devolver llamada a <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Escuchar el buzón de voz de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Eliminar entrada del registro de llamadas de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Entrada del registro de llamada eliminada."</string>
</resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index 8a37626..7d36838 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"tärn"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"null"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"nael"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"kõnepost"</string>
<string name="description_search_button" msgid="3660807558587384889">"otsing"</string>
<string name="description_dial_button" msgid="1274091017188142646">"Helista"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"tagasilüke"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"number valimiseks"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Kõneajalugu"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Rohkem valikuid"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Kuva ainult vastamata"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Kuva ainult kõnepostisõnumeid"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Kuva kõik kõned"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Lisa kontakt"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Lisa 2-sekundiline paus"</string>
<string name="add_wait" msgid="3360818652790319634">"Lisa ootama"</string>
<string name="call_settings" msgid="7666474782093693667">"Seaded"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Väljuv kõne"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Vastamata kõne"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Kõnepost"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Lisa kontakt"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Kuva kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Helista: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Kontakti <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> üksikasjad"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Kõne üksikasjad"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Uus kõnepost."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> kõnet."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Saada tekstsõnum kontaktile <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Kuulamata kõnepostisõnum"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Otsingu kustutamine"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Häälotsingu alustamine"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Helistage: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Tundmatu"</string>
<string name="voicemail" msgid="3851469869202611441">"Kõnepost"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Laadimine SIM-kaardilt ..."</string>
<string name="simContacts_title" msgid="27341688347689769">"SIM-kaardi kontaktid"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Funktsiooni kasutamiseks lubage uuesti rakendus Inimesed."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Häälotsing pole saadaval"</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Helistada ei saa, sest telefonirakendus on keelatud."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Pole installitud ühtegi rakendust, mis suudaks käsitleda valitud tegevust."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Sisestage nimi/telefoninumber"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Kõik"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Vastamata"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Pole ühtegi hiljutist vastamata kõnet."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Pole ühtegi hiljutist kõnepostiteadet."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Kuva kõik kontaktid"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Kuva ainult lemmikud"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Ajalugu"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Kõik"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Vastamata"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Kõnepost"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Kiirvalimine"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Hiljutised"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Kontaktid"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Kõik kontaktid"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Kõik kontaktid"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Eemaldatud lemmikute hulgast"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Võta tagasi"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Helista <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Lisa kontaktidesse"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Kogu kõneajaloo vaatamine"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> uus/uut vastamata kõne(t)"</string>
<string name="no_favorites" msgid="5212485868783382971">"Siin kuvatakse lemmikud ja kontaktid,\nkellele sageli helistate.\nVõite hakata helistama."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Puudutage kujutist, et näha kõiki numbreid, või vajutage ja hoidke all ümberkorraldamiseks"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Loobu"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Eemalda"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Kiirvalimine"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"KÕIK KONTAKTID"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"HELISTA TAGASI"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"KUSTUTA"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"KUULA"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Vastamata kõne: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Vastatud kõne: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Helistamine: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Tagasi helistamine: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Kontakti <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> kõneposti kuulamine"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Kontakti <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> kõnelogi kande kustutamine"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Kõnelogi kanne on kustutatud."</string>
</resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
deleted file mode 100644
index 60c967b..0000000
--- a/res/values-et/strings.xml
+++ /dev/null
@@ -1,157 +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
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="applicationLabel" msgid="8490255569343340580">"Dialer"</string>
- <string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
- <string name="dialerIconLabel" msgid="6500826552823403796">"Telefon"</string>
- <string name="recentCallsIconLabel" msgid="1419116422359067949">"Kõnelogi"</string>
- <string name="menu_sendTextMessage" msgid="6937343460284499306">"Tekstsõnumi saatmine"</string>
- <string name="recentCalls_callNumber" msgid="1756372533999226126">"Helista kasutajale <xliff:g id="NAME">%s</xliff:g>"</string>
- <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Muuda enne helistamist numbrit"</string>
- <string name="recentCalls_addToContact" msgid="1429899535546487008">"Lisa kontaktidesse"</string>
- <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Eemalda kõnelogist"</string>
- <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Kustuta kõnelogi"</string>
- <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Kustuta kõnepost"</string>
- <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Jaga kõneposti"</string>
- <string name="recentCalls_empty" msgid="247053222448663107">"Kõnelogi on tühi."</string>
- <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Kustutada kõnelogi?"</string>
- <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Kõik teie kõnesalvestised kustutatakse."</string>
- <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Kõnelogi kustutamine ..."</string>
- <plurals name="notification_voicemail_title">
- <item quantity="one" msgid="1746619685488504230">"Kõnepost"</item>
- <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> kõnepostisõnumit"</item>
- </plurals>
- <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Esitamine"</string>
- <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
- <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Uus kõnepostisõnum kasutajalt <xliff:g id="CALLER">%1$s</xliff:g>"</string>
- <string name="voicemail_playback_error" msgid="1811242131549854624">"Kõnepostisõnumi esitamine ebaõnnestus."</string>
- <string name="voicemail_buffering" msgid="738287747618697097">"Puhverdamine ..."</string>
- <string name="voicemail_fetching_content" msgid="877911315738258780">"Kõneposti toomine ..."</string>
- <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Kõneposti toomine ebaõnnestus."</string>
- <string name="call_log_voicemail_header" msgid="3945407886667089173">"Ainult kõnepostiga kõned"</string>
- <string name="call_log_incoming_header" msgid="2787722299753674684">"Ainult sissetulevad kõned"</string>
- <string name="call_log_outgoing_header" msgid="761009180766735769">"Ainult väljuvad kõned"</string>
- <string name="call_log_missed_header" msgid="8017148056610855956">"Ainult vastamata kõned"</string>
- <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"Kõnepostiserveriga ei saa ühendust."</string>
- <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"Kõnepostiserveriga ei saa ühendust. Uued kõnepostisõnumid ootel."</string>
- <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"Seadistage oma kõnepost."</string>
- <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Heli pole saadaval."</string>
- <string name="voicemail_status_action_configure" msgid="8671796489912239589">"Seadistamine"</string>
- <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Helista kõneposti"</string>
- <string name="voicemail_speed_slowest" msgid="1733460666177707312">"Aeglaseim kiirus"</string>
- <string name="voicemail_speed_slower" msgid="1508601287347216244">"Aeglane kiirus"</string>
- <string name="voicemail_speed_normal" msgid="9033988544627228892">"Tavaline kiirus"</string>
- <string name="voicemail_speed_faster" msgid="2019965121475935488">"Kiire kiirus"</string>
- <string name="voicemail_speed_fastest" msgid="5758712343491183292">"Kiireim kiirus"</string>
- <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
- <string name="sms_disambig_title" msgid="5846266399240630846">"Valige number"</string>
- <string name="call_disambig_title" msgid="4392886850104795739">"Valige number"</string>
- <string name="make_primary" msgid="5829291915305113983">"Pea see valik meeles"</string>
- <string name="description_image_button_one" msgid="1740638037139856139">"üks"</string>
- <string name="description_image_button_two" msgid="5882638439003731308">"kaks"</string>
- <string name="description_image_button_three" msgid="8709731759376015180">"kolm"</string>
- <string name="description_image_button_four" msgid="3530239685642246130">"neli"</string>
- <string name="description_image_button_five" msgid="1182465427501188413">"viis"</string>
- <string name="description_image_button_six" msgid="2093656269261415475">"kuus"</string>
- <string name="description_image_button_seven" msgid="2450357020447676481">"seitse"</string>
- <string name="description_image_button_eight" msgid="6969435115163287801">"kaheksa"</string>
- <string name="description_image_button_nine" msgid="7857248695662558323">"üheksa"</string>
- <string name="description_image_button_star" msgid="3365919907520767866">"tärn"</string>
- <string name="description_image_button_zero" msgid="4133108949401820710">"null"</string>
- <string name="description_image_button_pound" msgid="3039765597595889230">"nael"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"kõnepost"</string>
- <string name="description_search_button" msgid="3660807558587384889">"otsing"</string>
- <string name="description_dial_button" msgid="1274091017188142646">"Helista"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"tagasilüke"</string>
- <string name="description_digits_edittext" msgid="8760207516497016437">"number valimiseks"</string>
- <string name="action_menu_call_history_description" msgid="9018442816219748968">"Kõneajalugu"</string>
- <string name="action_menu_overflow_description" msgid="2303272250613084574">"Rohkem valikuid"</string>
- <string name="action_menu_dialpad_button" msgid="1425910318049008136">"valimisklahvistik"</string>
- <string name="menu_copy" msgid="6108677035381940698">"Kopeeri"</string>
- <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Kuva ainult väljuvad"</string>
- <string name="menu_show_incoming_only" msgid="7534206815238877417">"Kuva ainult sissetulevad"</string>
- <string name="menu_show_missed_only" msgid="154473166059743996">"Kuva ainult vastamata"</string>
- <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Kuva ainult kõnepostisõnumeid"</string>
- <string name="menu_show_all_calls" msgid="7560347482073345885">"Kuva kõik kõned"</string>
- <string name="add_2sec_pause" msgid="9214012315201040129">"Lisa 2-sekundiline paus"</string>
- <string name="add_wait" msgid="3360818652790319634">"Lisa ootama"</string>
- <string name="call_settings" msgid="7666474782093693667">"Seaded"</string>
- <string name="menu_newContact" msgid="1209922412763274638">"Uus kontakt"</string>
- <string name="callDetailTitle" msgid="5340227785196217938">"Kõne üksikasjad"</string>
- <string name="toast_call_detail_error" msgid="7200975244804730096">"Taotletud kõne üksikasju ei saa lugeda."</string>
- <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Kasuta puutetooniga klahvistikku"</string>
- <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Tagasi käimasolevale kõnele"</string>
- <string name="dialer_addAnotherCall" msgid="4205688819890074468">"Lisa kõne"</string>
- <string name="type_incoming" msgid="6502076603836088532">"Sissetulev kõne"</string>
- <string name="type_outgoing" msgid="343108709599392641">"Väljuv kõne"</string>
- <string name="type_missed" msgid="2720502601640509542">"Vastamata kõne"</string>
- <string name="type_voicemail" msgid="5153139450668549908">"Kõnepost"</string>
- <string name="actionIncomingCall" msgid="6028930669817038600">"Sissetulevad kõned"</string>
- <string name="description_call_log_play_button" msgid="651182125650429846">"Esita kõnepostisõnum"</string>
- <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Sissetulev kõne"</string>
- <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Väljuv kõne"</string>
- <string name="description_call_log_missed_call" msgid="2242805209983708825">"Vastamata kõne"</string>
- <string name="description_call_log_voicemail" msgid="4600798771975158948">"Kõnepost"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Lisa kontakt"</string>
- <string name="description_view_contact" msgid="5205669345700598415">"Kuva kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="description_call" msgid="3443678121983852666">"Helista: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="description_send_text_message" msgid="7803126439934046891">"Saada tekstsõnum kontaktile <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Kuulamata kõnepostisõnum"</string>
- <string name="description_start_voice_search" msgid="520539488194946012">"Häälotsingu alustamine"</string>
- <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
- <string name="menu_callNumber" msgid="997146291983360266">"Helistage: <xliff:g id="NUMBER">%s</xliff:g>"</string>
- <string name="unknown" msgid="740067747858270469">"Tundmatu"</string>
- <string name="voicemail" msgid="3851469869202611441">"Kõnepost"</string>
- <string name="private_num" msgid="6374339738119166953">"Varjatud number"</string>
- <string name="payphone" msgid="4864313342828942922">"Telefoniautomaat"</string>
- <string name="dialerKeyboardHintText" msgid="5401660096579787344">"Kasutage valimiseks klaviatuuri"</string>
- <string name="dialerDialpadHintText" msgid="5824490365898349041">"Valige kõne lisamiseks"</string>
- <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"Kõnet ei tehtud"</string>
- <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"Kõneposti seadistamiseks minge valikusse Menüü > Seaded."</string>
- <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"Kõneposti kuulamiseks lülitage lennurežiim välja."</string>
- <string name="contact_list_loading" msgid="5488620820563977329">"Laadimine ..."</string>
- <string name="imei" msgid="3045126336951684285">"IMEI"</string>
- <string name="meid" msgid="6210568493746275750">"MEID"</string>
- <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Laadimine SIM-kaardilt ..."</string>
- <string name="simContacts_title" msgid="27341688347689769">"SIM-kaardi kontaktid"</string>
- <string name="add_contact_not_available" msgid="1419207765446461366">"Funktsiooni kasutamiseks lubage uuesti rakendus Inimesed."</string>
- <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Sisestage nimi või telefoninumber"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Kõik"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Vastamata"</string>
- <string name="recentMissed_empty" msgid="5427113551557296665">"Pole ühtegi hiljutist vastamata kõnet."</string>
- <string name="recentVoicemails_empty" msgid="5163114119598014048">"Pole ühtegi hiljutist kõnepostiteadet."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Kuva kõik kontaktid"</string>
- <string name="show_favorites_only" msgid="5520072531022614595">"Kuva ainult lemmikud"</string>
- <string name="call_log_activity_title" msgid="4612824396355272023">"Ajalugu"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
- <string name="show_all_contacts_title" msgid="8395378484578221791">"Kõik kontaktid"</string>
- <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Kõik kontaktid"</string>
- <string name="favorite_hidden" msgid="4837366417440391323">"Lemmikute hulgast eemaldatud"</string>
- <string name="favorite_hidden_undo" msgid="2508998611039406474">"Võta tagasi"</string>
-</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index d7df7f6..e3659db 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"ستاره"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"صفر"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"پوند"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"پست صوتی"</string>
<string name="description_search_button" msgid="3660807558587384889">"جستجو"</string>
<string name="description_dial_button" msgid="1274091017188142646">"شماره گیری"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"Backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"شماره برای شماره گیری"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"سابقه تماس"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"گزینههای بیشتر"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"فقط نمایش بیپاسخ"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"فقط نمایش پستهای صوتی"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"نمایش همه مکالمات"</string>
+ <string name="add_contact" msgid="8875804371377471164">"افزودن مخاطب"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"افزودن یک مکث ۲ ثانیهای"</string>
<string name="add_wait" msgid="3360818652790319634">"افزودن انتظار"</string>
<string name="call_settings" msgid="7666474782093693667">"تنظیمات"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"تماس خروجی"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"تماس بیپاسخ"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"پست صوتی"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"افزودن مخاطب"</string>
<string name="description_view_contact" msgid="5205669345700598415">"مشاهده مخاطب <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"تماس با <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"جزئیات تماس برای <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"جزئیات تماس"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"پست صوتی جدید."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> تماس."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"ارسال پیام متنی به <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"پست صوتی شنیده نشده"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"پاک کردن جستجو"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"شروع جستجوی صوتی"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"تماس با <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"ناشناس"</string>
<string name="voicemail" msgid="3851469869202611441">"پست صوتی"</string>
@@ -125,7 +127,7 @@
<string name="dialerDialpadHintText" msgid="5824490365898349041">"شماره گیری برای افزودن یک تماس"</string>
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> دقیقه و <xliff:g id="SECONDS">%s</xliff:g> ثانیه"</string>
<string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"تماس ارسال نشد"</string>
- <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"برای راهاندازی پست صوتی به منو > تنظیمات بروید."</string>
+ <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"برای راهاندازی پست صوتی به منو > تنظیمات بروید."</string>
<string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"برای تماس با پست صوتی، ابتدا حالت هواپیما را غیرفعال کنید."</string>
<string name="contact_list_loading" msgid="5488620820563977329">"در حال بارگیری..."</string>
<string name="imei" msgid="3045126336951684285">"IMEI"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"در حال بارگیری سیم کارت..."</string>
<string name="simContacts_title" msgid="27341688347689769">"مخاطبین سیم کارت"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"برای استفاده از این ویژگی، برنامه «افراد» را دوباره فعال کنید."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"جستجوی صدا در دسترس نیست."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"برقراری تماس تلفنی ممکن نیست، زیرا برنامه تلفن غیرفعال شده است."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"هیچ فعالیت نصب شدهای برای انجام اقدام انتخاب شده در دسترس نیست."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"نام یا شماره تلفن را تایپ کنید"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"همه موارد"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"بیپاسخ"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"اخیراً هیچ تماس بیپاسخی نداشتهاید."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"اخیراً هیچ پست صوتی نداشتهاید."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"نمایش همه مخاطبین"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"فقط نمایش موارد دلخواه"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"سابقه"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"۰"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"۱"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"۲"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"۳"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"۴"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"۵"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"۶"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"۷"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"۸"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"۹"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"همه موارد"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"بیپاسخ"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"پست صوتی"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"شمارهگیری سریع"</string>
+ <string name="tab_recents" msgid="929949073851377206">"موارد اخیر"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"مخاطبین"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"همه مخاطبین"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"همه مخاطبین"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"از موارد دلخواه حذف شد"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"لغو"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"تماس با <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"افزودن به مخاطبین"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"مشاهده سابقه تماس به صورت کامل"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> تماس بیپاسخ جدید"</string>
<string name="no_favorites" msgid="5212485868783382971">"موارد دلخواه و مخاطبینی که اغلب با\nآنها تماس میگیرید اینجا نشان داده میشوند.\nبنابراین شروع به تماس گرفتن کنید."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"برای مشاهده همه شمارهها روی تصویر ضربه بزنید یا برای مرتبسازی مجدد فشار دهید و نگهدارید"</string>
<string name="description_dismiss" msgid="2146276780562549643">"رد کردن"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"حذف"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"شمارهگیری سریع"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"همه مخاطبین"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"تماس"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"حذف"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"گوش دادن"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"تماس بیپاسخ از <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>، <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>، <xliff:g id="TIMEOFCALL">%3$s</xliff:g>"</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"تماس پاسخداده شده از <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>، <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>، <xliff:g id="TIMEOFCALL">%3$s</xliff:g>"</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"تماس به <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>، <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>، <xliff:g id="TIMEOFCALL">%3$s</xliff:g>"</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"تماس با <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"گوش دادن به پست صوتی از <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"حذف ورودی گزارش تماس مربوط به <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"ورودی گزارش تماس حذف شد."</string>
</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 5454be6..1d4e2b6 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"tähti"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"nolla"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"punta"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"vastaaja"</string>
<string name="description_search_button" msgid="3660807558587384889">"haku"</string>
<string name="description_dial_button" msgid="1274091017188142646">"soita"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"askelpalautin"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"numero johon soitetaan"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Soittohistoria"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Lisää vaihtoehtoja"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Näytä vain vastaamattomat"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Näytä vain vastaajaviestit"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Näytä kaikki puhelut"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Lisää kontakti"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Lisää 2 sekunnin tauko"</string>
<string name="add_wait" msgid="3360818652790319634">"Lisää tauko"</string>
<string name="call_settings" msgid="7666474782093693667">"Asetukset"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Lähtevä puhelu"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Vastaamaton puhelu"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Vastaaja"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Lisää yhteystieto"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Näytä yhteystieto <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Soita: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Yhteystiedot: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Puhelun tiedot"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Uusi ääniviesti."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> puhelua."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Lähetä tekstiviesti: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Kuuntelematon vastaajaviesti"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Tyhjennä haku"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Aloita puhehaku"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Soita <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Tuntematon"</string>
<string name="voicemail" msgid="3851469869202611441">"Vastaaja"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Ladataan SIM-kortilta…"</string>
<string name="simContacts_title" msgid="27341688347689769">"SIM-kortin yhteystiedot"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Ota Ihmiset-sovellus uudelleen käyttöön käyttääksesi tätä ominaisuutta."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Puhehaku ei ole käytettävissä."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Puhelua ei voi soittaa, koska Puhelin-sovellus on poistettu käytöstä."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Valitun toimen suoritusta varten ei ole asennettua toimintoa."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Kirjoita nimi tai puh.numero"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Kaikki"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Vastaamattomat"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Ei uusia vastaamattomia puheluita."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Ei uusia viestejä vastaajassa."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Näytä kaikki yhteystiedot"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Näytä vain suosikit"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Historia"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Kaikki"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Vastaamattomat"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Vastaaja"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Pikavalinta"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Viimeisimmät"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Yhteystiedot"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Kaikki yhteystiedot"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Kaikki yhteystiedot"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Poistettu suosikeista"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Kumoa"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Soita <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Lisää yhteystietoihin"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Näytä koko soittohistoria"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> uutta vastaamatonta puhelua"</string>
<string name="no_favorites" msgid="5212485868783382971">"Suosikit ja yhteyshenkilöt, joille\nsoitat usein, näkyvät tässä.\nAla siis soitella."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Napauta kuvaa nähdäksesi kaikki numerot tai järjestä uudelleen painamalla pitkään"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Ohita"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Poista"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Pikavalinta"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"KAIKKI YHTEYSTIEDOT"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"SOITA TAKAISIN"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"POISTA"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"KUUNTELE"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Vastaamaton puhelu: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Vastattu puhelu: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Puhelu: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Soita takaisin: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Kuuntele vastaajaviesti: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Poista puhelulokimerkintä: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Puhelulokimerkintä poistettiin."</string>
</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index ae100e7..b797056 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"étoile"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"zéro"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"dièse"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"message vocal"</string>
<string name="description_search_button" msgid="3660807558587384889">"rechercher"</string>
<string name="description_dial_button" msgid="1274091017188142646">"composer"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"retour arrière"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"numéro à composer"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Historique des appels"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Plus d\'options"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Afficher appels manqués uniq."</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Messages vocaux uniquement"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Afficher tous les appels"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Ajouter un contact"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Ajouter une pause de 2 s"</string>
<string name="add_wait" msgid="3360818652790319634">"Ajouter Attendre"</string>
<string name="call_settings" msgid="7666474782093693667">"Paramètres"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Appel sortant"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Appel manqué"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Messagerie vocale"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Ajouter un contact"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Afficher le contact <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Appeler <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Coordonnées de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Détails de l\'appel"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Nouveau message vocal."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> appels."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Envoyer un SMS à <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nouveau message vocal"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Effacer les termes de recherche"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Démarrer la recherche vocale"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Appeler le <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Inconnu"</string>
<string name="voicemail" msgid="3851469869202611441">"Messagerie vocale"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Chargement depuis la carte SIM..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Contacts de carte SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Réactivez l\'application Contacts pour utiliser cette fonctionnalité."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"La recherche vocale n\'est pas accessible."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Impossible d\'effectuer un appel téléphonique, car l\'application Téléphone a été désactivée."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Aucune des applications installées ne peut effectuer l\'action sélectionnée."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Entrez un nom/no de téléphone"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Tous"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Manqués"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Aucun appel manqué récent"</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Aucun message vocal récent"</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Afficher tous les contacts"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Afficher les contacts favoris uniquement"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Historique"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Tous"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Manqués"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Mess. voc."</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Composition rapide"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Récents"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Contacts"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Tous les contacts"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Tous les contacts"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Supprimé des favoris"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Annuler"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Appeler le <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Ajouter aux contacts"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Afficher tout l\'historique des appels"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> nouveaux appels manqués"</string>
<string name="no_favorites" msgid="5212485868783382971">"Vos favoris et les contacts\nque vous appelez souvent sont\naffichés ici. Pourquoi ne pas les appeler?"</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Touchez l\'image pour afficher tous les numéros, ou maintenez votre doigt sur l\'une d\'elles pour les réorganiser"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Fermer"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Supprimer"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Composition rapide"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"TOUS LES CONTACTS"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"RAPPELER"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"SUPPRIMER"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"ÉCOUTER"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Appel manqué de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g> à <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Appel reçu de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g> à <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Appel à <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g> à <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Rappeler <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Écouter le message vocal de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Supprimer l\'entrée de journal d\'appel pour <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Entrée du journal d\'appels supprimée."</string>
</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index bd54267..84814cd 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"étoile"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"zéro"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"dièse"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"messagerie vocale"</string>
<string name="description_search_button" msgid="3660807558587384889">"rechercher"</string>
<string name="description_dial_button" msgid="1274091017188142646">"composer"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"retour arrière"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"numéro à composer"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Historique des appels"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Plus d\'options"</string>
@@ -89,8 +87,9 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Afficher appels manqués uniq."</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Messages vocaux uniquement"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Afficher tous les appels"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Ajouter un contact"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Ajouter une pause de 2 s"</string>
- <string name="add_wait" msgid="3360818652790319634">"Ajouter Attente"</string>
+ <string name="add_wait" msgid="3360818652790319634">"Ajouter une attente"</string>
<string name="call_settings" msgid="7666474782093693667">"Paramètres"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Nouveau contact"</string>
<string name="menu_allContacts" msgid="6948308384034051670">"Tous les contacts"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Appel sortant"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Appel manqué"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Message vocal"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Ajouter un contact"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Afficher le contact <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Appeler <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Coordonnées associées à <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Détails de l\'appel"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Nouveau message vocal"</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> appels"</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Envoyer un SMS à <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nouveau message vocal"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Effacer la recherche"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Démarrer la recherche vocale"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Appeler le <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Inconnu"</string>
<string name="voicemail" msgid="3851469869202611441">"Messagerie vocale"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Chargement depuis la carte SIM..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Contacts de carte SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Réactivez l\'application Contacts pour utiliser cette fonctionnalité."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"La recherche vocale n\'est pas disponible."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Impossible d\'effectuer un appel téléphonique, car l\'application Téléphone a été désactivée."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Aucune application installée n\'est disponible pour effectuer l\'action sélectionnée."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Saisissez nom/numéro de tél."</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Tous"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Manqués"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Aucun appel manqué récent"</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Aucun message vocal récent"</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Afficher tous les contacts"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Afficher les contacts ajoutés aux favoris uniquement"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Historique"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Tous"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Manqués"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Mess. vocale"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Numérotation abrégée"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Récents"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Contacts"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Tous les contacts"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Tous les contacts"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Supprimé des favoris."</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Annuler"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Appeler le <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Ajouter aux contacts"</string>
- <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> nouveaux appels manqués"</string>
- <string name="no_favorites" msgid="5212485868783382971">"Les favoris et les contacts que\nvous appelez souvent s\'affichent ici.\nCommencez donc par passer des appels !"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Afficher tout l\'historique des appels"</string>
+ <string name="num_missed_calls" msgid="8081736535604293886">"Nouveaux appels manqués : <xliff:g id="NUMBER">%s</xliff:g>"</string>
+ <string name="no_favorites" msgid="5212485868783382971">"Retrouvez ici vos favoris et\nles contacts que vous appelez souvent.\n"</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Appuyer sur l\'image pour afficher tous les numéros ou appuyer de manière prolongée pour les réorganiser"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Ignorer"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Supprimer"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Numérotation abrégée"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"TOUS LES CONTACTS"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"RAPPELER"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"SUPPRIMER"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"ÉCOUTER"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Appel manqué <xliff:g id="TIMEOFCALL">%3$s</xliff:g> (appelant : <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>)"</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Appel reçu <xliff:g id="TIMEOFCALL">%3$s</xliff:g> (appelant :<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>)"</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Appel émis <xliff:g id="TIMEOFCALL">%3$s</xliff:g> (destinataire : <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>)"</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Rappeler le numéro ou le contact \"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>\""</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Écouter le message vocal laissé par le numéro ou le contact \"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>\""</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Supprimer l\'entrée du journal d\'appels pour <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"L\'entrée du journal d\'appels a bien été supprimée."</string>
</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index f6d2a3d..4b0cd1f 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"तारा"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"शून्य"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"पाउंड"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"ध्वनि मेल"</string>
<string name="description_search_button" msgid="3660807558587384889">"खोजें"</string>
<string name="description_dial_button" msgid="1274091017188142646">"डायल करें"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"हटाएं"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"डायल करने के लिए नंबर"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"कॉल इतिहास"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"अधिक विकल्प"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"केवल छूटे हुए ही दिखाएं"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"केवल ध्वनिमेल दिखाएं"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"सभी कॉल दिखाएं"</string>
+ <string name="add_contact" msgid="8875804371377471164">"संपर्क जोड़ें"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"2-सेकंड का विराम जोड़ें"</string>
<string name="add_wait" msgid="3360818652790319634">"प्रतीक्षा का समय बढ़ाएं"</string>
<string name="call_settings" msgid="7666474782093693667">"सेटिंग"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"आउटगोइंग कॉल"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"छूटी कॉल"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"ध्वनिमेल"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"संपर्क जोड़ें"</string>
<string name="description_view_contact" msgid="5205669345700598415">"<xliff:g id="NAME">%1$s</xliff:g> संपर्क देखें"</string>
<string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g> को कॉल करें"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> का संपर्क विवरण"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"कॉल विवरण"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"नया ध्वनि मेल."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> कॉल."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"<xliff:g id="NAME">%1$s</xliff:g> को पाठ संदेश भेजें"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"नहीं सुना गया ध्वनिमेल"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"खोज साफ़ करें"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"बोलकर खोजें शुरु करें"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g> पर कॉल करें"</string>
<string name="unknown" msgid="740067747858270469">"अज्ञात"</string>
<string name="voicemail" msgid="3851469869202611441">"ध्वनिमेल"</string>
@@ -132,33 +134,43 @@
<string name="meid" msgid="6210568493746275750">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"सिम कार्ड से लोड हो रहा है…"</string>
<string name="simContacts_title" msgid="27341688347689769">"सिम कार्ड के संपर्क"</string>
- <string name="add_contact_not_available" msgid="1419207765446461366">"इस सुविधा का उपयोग करने के लिए लोग एप्स को पुन: सक्षम करें."</string>
+ <string name="add_contact_not_available" msgid="1419207765446461366">"इस सुविधा का उपयोग करने के लिए लोग ऐप्स को पुन: सक्षम करें."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"बोलकर खोजना उपलब्ध नहीं है."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"फ़ोन कॉल नहीं किया जा सकता क्योंकि फ़ोन एप्लिकेशन अक्षम कर दिया गया है."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"चयनित कार्यवाही का प्रबंधन करने के लिए इंस्टॉल की गई कोई भी गतिविधि उपलब्ध नहीं है."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"नाम या फ़ोन नंबर लिखें"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"सभी"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"छूटे हुए"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"हाल ही का कोई भी छूटा हुआ कॉल नहीं."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"हाल ही का कोई भी ध्वनिमेल नहीं."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"सभी संपर्क दिखाएं"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"केवल पसंदीदा दिखाएं"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"इतिहास"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"सभी"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"छूटे हुए"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"ध्वनिमेल"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"स्पीड डायल"</string>
+ <string name="tab_recents" msgid="929949073851377206">"हाल ही के"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"संपर्क"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"सभी संपर्क"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"सभी संपर्क"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"पसंदीदा से निकाल दिया गया"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"पूर्ववत करें"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"<xliff:g id="NUMBER">%s</xliff:g> पर कॉल करें"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"संपर्कों में जोड़ें"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"पूर्ण काल इतिहास देखें"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> छूटे हुए नए कॉल"</string>
<string name="no_favorites" msgid="5212485868783382971">"पसंदीदा & आपके द्वारा अक्सर कॉल किए जाने वाले पसंदीदा और संपर्क\nयहां दिखाए जाएंगे.\nतो, कॉल करना प्रारंभ करें."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"सभी नंबर देखने के लिए चित्र को टैप करें या पुनः क्रमित करने के लिए दबाए रखें"</string>
<string name="description_dismiss" msgid="2146276780562549643">"ख़ारिज करें"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"निकालें"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"स्पीड डायल"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"सभी संपर्क"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"वापस कॉल करें"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"हटाएं"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"सुनें"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"छूटे कॉल का विवरण: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"उत्तर दिए गए कॉल का विवरण: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"किए जाने वाले कॉल का विवरण: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"वापस कॉल करें: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> की ध्वनिमेल सुनें"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> की कॉल लॉग प्रविष्टि हटाएं"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"कॉल लॉग प्रविष्टि हटा दी गई."</string>
</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 0215959..96158c3 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"zvjezdica"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"nula"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"funta"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"govorna pošta"</string>
<string name="description_search_button" msgid="3660807558587384889">"pretraži"</string>
<string name="description_dial_button" msgid="1274091017188142646">"biraj"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"broj za pozivanje"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Povijest poziva"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Više opcija"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Prikaži samo propuštene"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Prikaži samo govorne pošte"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Prikaz svih poziva"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Dodaj kontakt"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Dodaj pauzu od 2 sek."</string>
<string name="add_wait" msgid="3360818652790319634">"Dodaj čekanje"</string>
<string name="call_settings" msgid="7666474782093693667">"Postavke"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Odlazni poziv"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Propušteni poziv"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Govorna pošta"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Dodaj kontakt"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Prikaz kontakta <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Pozovi: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Pojedinosti o kontaktu <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Pojedinosti poziva"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Nova govorna pošta."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"Broj poziva: <xliff:g id="NUMBEROFCALLS">%1$s</xliff:g>."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Slanje tekstualne poruke: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nepreslušana govorna pošta"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Brisanje pretraživanja"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Pokretanje glasovnog pretraživanja"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Nazovite <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Nepoznato"</string>
<string name="voicemail" msgid="3851469869202611441">"Govorna pošta"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Učitavanje sa SIM kartice..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Kontakti SIM kartice"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Ponovo omogućite aplikaciju Osobe da biste upotrebljavali tu značajku."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Glasovno pretraživanje nije dostupno."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Telefoniranje nije moguće jer je aplikacija Telefon onemogućena."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Nema instaliranih aplikacija za rukovanje odabranom radnjom."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Upišite ime ili tel. broj"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Sve"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Propušteni"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Nema nedavnih propuštenih poziva"</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Nema nedavne govorne pošte"</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Prikaži sve kontakte"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Prikaži samo favorite"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Povijest"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Sve"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Propušteni"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Gov. pošta"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Brzo biranje"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Najnoviji"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Kontakti"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Svi kontakti"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Svi kontakti"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Uklonjeno iz favorita"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Poništi"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Nazovi <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Dodaj u kontakte"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Prikaz cijele povijesti poziva"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"Broj novih propuštenih poziva: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="no_favorites" msgid="5212485868783382971">"Ovdje će se prikazivati favoriti\ni kontakti koje često zovete.\nZato počnite zvati."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Dodirnite sliku da biste vidjeli sve brojeve ili pritisnite i zadržite da biste promijenili poredak"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Odbaci"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Ukloni"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Brzo biranje"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"SVI KONTAKTI"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"POVRATNI POZIV"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"IZBRIŠI"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"POSLUŠAJTE"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Propušteni poziv kontakta <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Prihvaćeni poziv kontakta <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Upućeni poziv kontaktu <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Uzvraćanje poziva kontaktu <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Slušanje govorne pošte kontakta <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Brisanje unosa u zapisniku poziva za kontakt <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Unos zapisnika poziva izbrisan je."</string>
</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index d67cd4e..1a7bccb 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"csillag"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"nulla"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"kettős kereszt"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"hangposta"</string>
<string name="description_search_button" msgid="3660807558587384889">"keresés"</string>
<string name="description_dial_button" msgid="1274091017188142646">"tárcsázás"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"Backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"a tárcsázandó szám"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Hívási előzmények"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"További beállítások"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Csak a nem fogadottak"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Csak a hangüzenetek"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Összes hívás megjelenítése"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Névjegy hozzáadása"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"2 mp-es szünet hozzáadása"</string>
<string name="add_wait" msgid="3360818652790319634">"Várakozás hozzáadása"</string>
<string name="call_settings" msgid="7666474782093693667">"Beállítások"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Kimenő hívás"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Nem fogadott hívás"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Hangüzenet"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Névjegy hozzáadása"</string>
<string name="description_view_contact" msgid="5205669345700598415">"<xliff:g id="NAME">%1$s</xliff:g> névjegyének megtekintése"</string>
<string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g> hívása"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> részletes adatai."</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Hívás adatai"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Új hangpostaüzenet."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> hívás"</string>
<string name="description_send_text_message" msgid="7803126439934046891">"SMS küldése neki: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nem lejátszott hangüzenet"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Keresés törlése"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Hangalapú keresés indítása"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Hívás: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Ismeretlen"</string>
<string name="voicemail" msgid="3851469869202611441">"Hangposta"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Betöltés a SIM-kártyáról..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Névjegyek a SIM-kártyán"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"A funkció használatához aktiválja újra a Személyek alkalmazást."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"A hangalapú keresés nem érhető el."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Nem lehet telefonhívást kezdeményezni, mert a Telefon alkalmazást letiltották."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"A kijelölt művelet kezelésére nincs telepített alkalmazás."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Név vagy telefonszám megadása"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Összes"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Nem fogadott"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Nincsenek újabb elmulasztott hívások."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Nincsenek újabb hangpostaüzenetek."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Az összes névjegy megjelenítése"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Csak kedvencek megjelenítése"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Előzmények"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Összes"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Nem fogadott"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Hangposta"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Gyorshívó"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Legutóbbiak"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Címtár"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Összes névjegy"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Összes névjegy"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Eltávolítva a kedvencek közül"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Visszavonás"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Hívás: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Hozzáadás a névjegyekhez"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Teljes híváslista megtekintése"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> új nem fogadott hívás"</string>
<string name="no_favorites" msgid="5212485868783382971">"Itt a kedvencek és a gyakran hívott\nismerősök fognak megjelenni.\nEhhez előbb hívásokat kell indítania."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Koppintson a képre az összes szám megtekintéséhez, vagy tartsa lenyomva az átrendezéshez"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Elvetés"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Eltávolítás"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Gyorshívó"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"ÖSSZES NÉVJEGY"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"VISSZAHÍVÁS"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"TÖRLÉS"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"MEGHALLGATÁS"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Nem fogadott hívás a következőtől: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Fogadott hívás a következőtől: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Kimenő hívás: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> visszahívása"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> hangpostaüzenetének meghallgatása"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> hívásnapló-bejegyzésének törlése"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Hívásnapló-bejegyzés törölve."</string>
</resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index 7385039..c9c8e45 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"աստղանշել"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"զրո"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"ֆունտ"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"ձայնային փոստ"</string>
<string name="description_search_button" msgid="3660807558587384889">"որոնել"</string>
<string name="description_dial_button" msgid="1274091017188142646">"համարարկել"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"հետշարժ"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"համարհավաքման հեռախոսահամարը"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Զանգերի պատմությունը"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Այլ ընտրանքներ"</string>
@@ -89,6 +87,8 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Ցույց տալ միայն բաց թողնվածները"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Ցուցադրել միայն ձայնային փոստերը"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Ցուցադրել բոլոր զանգերը"</string>
+ <!-- no translation found for add_contact (8875804371377471164) -->
+ <skip />
<string name="add_2sec_pause" msgid="9214012315201040129">"Ավելացնել 2 վայրկյան դադար"</string>
<string name="add_wait" msgid="3360818652790319634">"Ավելացնել սպասում"</string>
<string name="call_settings" msgid="7666474782093693667">"Կարգավորումներ"</string>
@@ -109,13 +109,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Ելքային զանգ"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Բաց թողնված զանգ"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Ձայնային փոստ"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Ավելացնել կոտակտ"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Դիտել <xliff:g id="NAME">%1$s</xliff:g> կոնտակտը"</string>
<string name="description_call" msgid="3443678121983852666">"Զանգել <xliff:g id="NAME">%1$s</xliff:g>-ին"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-ի կոնտակտային տվյալները"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Զանգի մանրամասները"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Նոր ձայնային հաղորդագրություն:"</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> զանգ:"</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Ուղարկել տեքստային հաղորդագրություն <xliff:g id="NAME">%1$s</xliff:g>-ին"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Չլսված ձայնային փոստ"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Մաքրել որոնման դաշտը"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Սկսկեք ձայնային որոնումը"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Զանգել <xliff:g id="NUMBER">%s</xliff:g>-ին"</string>
<string name="unknown" msgid="740067747858270469">"Անհայտ"</string>
<string name="voicemail" msgid="3851469869202611441">"Ձայնային փոստ"</string>
@@ -133,32 +136,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM քարտը բեռնվում է..."</string>
<string name="simContacts_title" msgid="27341688347689769">"SIM քարտի կոնտակտները"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Կրկին միացրեք Մարդիկ ծրագիրը` այս հատկությունn օգտագործելու համար:"</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Ձայնային որոնումն անհասանելի է:"</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Հնարավոր չէ զանգահարել, քանի որ Հեռախոս հավելվածն անջատված է:"</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Ընտրված գործողությունը կարգավորելու համար ոչ մի տեղադրված գործունեություն հասանելի չէ:"</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Մուտքագրեք անունը կամ հեռախոսահամարը"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Բոլորը"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Բաց թողնված"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Նոր բաց թողնված զանգեր չկան:"</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Նոր ձայնային հաղորդագրություններ չկան:"</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Ցույց տալ բոլոր կոնտակտները"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Ցույց տալ միայն ընտրյալները"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Պատմություն"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Բոլորը"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Բաց թողնված"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Ձայնափոստ"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Արագ համարհավաքում"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Վերջինները"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Կոնտակտներ"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Բոլոր կոնտակտները"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Բոլոր կոնտակտները"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Հեռացված է ընտրյալներից"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Հետարկել"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Զանգել <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Ավելացնել կոնտակտներում"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Դիտել բոլոր զանգերի պատմությունը"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> նոր բաց թողնված զանգ"</string>
- <string name="no_favorites" msgid="5212485868783382971">"Հաճախ կանչվող ընտրյալներ & կոնտակտները\nկցուցադրվեն այստեղ:\nԿարող եք զանգել:"</string>
+ <string name="no_favorites" msgid="5212485868783382971">"Հաճախ կանչվող ընտրյալները և կոնտակտները\nկցուցադրվեն այստեղ:\nԿարող եք զանգել:"</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Հպեք նկարին՝ բոլոր համարները տեսնելու, կամ հպեք ու պահեք՝ վերադասավորելու համար:"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Անտեսել"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Հեռացնել"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Արագ համարահավաքում"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"ԲՈԼՈՐ ԿՈՆՏԱԿՏՆԵՐԸ"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"ՀԵՏ ԶԱՆԳԵԼ"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"ՋՆՋԵԼ"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"ԼՍԵԼ"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Բաց թողնված զանգ՝ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>:"</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Ընդունված զանգ՝ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>:"</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Կատարված զանգ՝ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>:"</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Հետ զանգել <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-ին"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Լսել ձայնային փոստը <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-ից"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Ջնջել <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-ը զանգերի մատյանի գրառումներից"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Զանգերի մատյանի գրառումը ջնջվեց:"</string>
</resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
deleted file mode 100644
index c52b96f..0000000
--- a/res/values-hy/strings.xml
+++ /dev/null
@@ -1,157 +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
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="applicationLabel" msgid="8490255569343340580">"Համարհավաքիչ"</string>
- <string name="launcherDialer" msgid="8636288196618486553">"Հեռախոս"</string>
- <string name="dialerIconLabel" msgid="6500826552823403796">"Հեռախոս"</string>
- <string name="recentCallsIconLabel" msgid="1419116422359067949">"Զանգերի գրանցամատյան"</string>
- <string name="menu_sendTextMessage" msgid="6937343460284499306">"Ուղարկել տեքստային հաղորդագրություն"</string>
- <string name="recentCalls_callNumber" msgid="1756372533999226126">"Զանգել <xliff:g id="NAME">%s</xliff:g>-ին"</string>
- <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Խմբագրել համարը զանգելուց առաջ"</string>
- <string name="recentCalls_addToContact" msgid="1429899535546487008">"Ավելացնել կոնտակտներում"</string>
- <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Հեռացնել զանգերի գրանցամատյանից"</string>
- <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Մաքրել զանգերի գրանցամատյանը"</string>
- <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Ջնջել ձայնային փոստը"</string>
- <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Տարածել ձայնային փոստը"</string>
- <string name="recentCalls_empty" msgid="247053222448663107">"Զանգերի մատյանը դատարկ է:"</string>
- <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Մաքրե՞լ զանգերի գրանցամատյանը"</string>
- <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Ձեր բոլոր զանգերի գրառումները կջնջվեն:"</string>
- <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Զանգերի գրանցամատյանը մաքրվում է..."</string>
- <plurals name="notification_voicemail_title">
- <item quantity="one" msgid="1746619685488504230">"Ձայնային փոստ"</item>
- <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ձայնային փոստ"</item>
- </plurals>
- <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Նվագարկել"</string>
- <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
- <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Նոր ձայնային փոստ <xliff:g id="CALLER">%1$s</xliff:g>-ից"</string>
- <string name="voicemail_playback_error" msgid="1811242131549854624">"Հնարավոր չէ նվագարկել ձայնային փոստը:"</string>
- <string name="voicemail_buffering" msgid="738287747618697097">"Պահնակավորում..."</string>
- <string name="voicemail_fetching_content" msgid="877911315738258780">"Ձայնային փոստի ստացում..."</string>
- <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Չհաջողվեց ստանալ ձայնային փոստը:"</string>
- <string name="call_log_voicemail_header" msgid="3945407886667089173">"Միայն ձայնային փոստով զանգերը"</string>
- <string name="call_log_incoming_header" msgid="2787722299753674684">"Միայն մուտքային զանգեր"</string>
- <string name="call_log_outgoing_header" msgid="761009180766735769">"Միայն ելքային զանգերը"</string>
- <string name="call_log_missed_header" msgid="8017148056610855956">"Միայն բաց թողնված զանգերը"</string>
- <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"Հնարավոր չէ կապ հաստատել ձայնային փոստի սերվերի հետ:"</string>
- <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"Հնարավոր չէ կապ հաստատել ձայնային փոստի սերվերի հետ: Նոր ձայնային փոստերը սպասում են:"</string>
- <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"Կարգավորեք ձեր ձայնային փոստը:"</string>
- <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Ձայնանյութը հասանելի չէ:"</string>
- <string name="voicemail_status_action_configure" msgid="8671796489912239589">"Կարգավորել"</string>
- <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Միանալ ձայնային փոստին"</string>
- <string name="voicemail_speed_slowest" msgid="1733460666177707312">"Ամենադանդաղ արագություն"</string>
- <string name="voicemail_speed_slower" msgid="1508601287347216244">"Դանդաղ արագություն"</string>
- <string name="voicemail_speed_normal" msgid="9033988544627228892">"Միջին արագություն"</string>
- <string name="voicemail_speed_faster" msgid="2019965121475935488">"Արագ"</string>
- <string name="voicemail_speed_fastest" msgid="5758712343491183292">"Շատ արագ"</string>
- <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
- <string name="sms_disambig_title" msgid="5846266399240630846">"Ընտրել համարը"</string>
- <string name="call_disambig_title" msgid="4392886850104795739">"Ընտրել համարը"</string>
- <string name="make_primary" msgid="5829291915305113983">"Հիշել այս ընտրությունը"</string>
- <string name="description_image_button_one" msgid="1740638037139856139">"մեկ"</string>
- <string name="description_image_button_two" msgid="5882638439003731308">"երկու"</string>
- <string name="description_image_button_three" msgid="8709731759376015180">"երեք"</string>
- <string name="description_image_button_four" msgid="3530239685642246130">"չորս"</string>
- <string name="description_image_button_five" msgid="1182465427501188413">"հինգ"</string>
- <string name="description_image_button_six" msgid="2093656269261415475">"վեց"</string>
- <string name="description_image_button_seven" msgid="2450357020447676481">"յոթ"</string>
- <string name="description_image_button_eight" msgid="6969435115163287801">"ութ"</string>
- <string name="description_image_button_nine" msgid="7857248695662558323">"ինը"</string>
- <string name="description_image_button_star" msgid="3365919907520767866">"աստղանշել"</string>
- <string name="description_image_button_zero" msgid="4133108949401820710">"զրո"</string>
- <string name="description_image_button_pound" msgid="3039765597595889230">"ֆունտ"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"ձայնային փոստ"</string>
- <string name="description_search_button" msgid="3660807558587384889">"որոնել"</string>
- <string name="description_dial_button" msgid="1274091017188142646">"համարարկել"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"հետշարժ"</string>
- <string name="description_digits_edittext" msgid="8760207516497016437">"համարհավաքման հեռախոսահամարը"</string>
- <string name="action_menu_call_history_description" msgid="9018442816219748968">"Զանգերի պատմությունը"</string>
- <string name="action_menu_overflow_description" msgid="2303272250613084574">"Այլ ընտրանքներ"</string>
- <string name="action_menu_dialpad_button" msgid="1425910318049008136">"թվաշար"</string>
- <string name="menu_copy" msgid="6108677035381940698">"Պատճենել"</string>
- <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Ցույց տալ միայն ելքայինները"</string>
- <string name="menu_show_incoming_only" msgid="7534206815238877417">"Ցույց տալ միայն մուտքայինները"</string>
- <string name="menu_show_missed_only" msgid="154473166059743996">"Ցույց տալ միայն բաց թողնվածները"</string>
- <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Ցուցադրել միայն ձայնային փոստերը"</string>
- <string name="menu_show_all_calls" msgid="7560347482073345885">"Ցուցադրել բոլոր զանգերը"</string>
- <string name="add_2sec_pause" msgid="9214012315201040129">"Ավելացնել 2 վայրկյան դադար"</string>
- <string name="add_wait" msgid="3360818652790319634">"Ավելացնել սպասում"</string>
- <string name="call_settings" msgid="7666474782093693667">"Կարգավորումներ"</string>
- <string name="menu_newContact" msgid="1209922412763274638">"Նոր կոնտակտ"</string>
- <string name="callDetailTitle" msgid="5340227785196217938">"Զանգի մանրամասները"</string>
- <string name="toast_call_detail_error" msgid="7200975244804730096">"Չհաջողվեց կարդալ հայցվող զանգի մանրամասները:"</string>
- <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Օգտագործել հնչերանգներով ստեղնաշարը"</string>
- <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Վերադառնալ ընթացիկ զանգին"</string>
- <string name="dialer_addAnotherCall" msgid="4205688819890074468">"Ավելացնել զանգ"</string>
- <string name="type_incoming" msgid="6502076603836088532">"Մուտքային զանգ"</string>
- <string name="type_outgoing" msgid="343108709599392641">"Ելքային զանգ"</string>
- <string name="type_missed" msgid="2720502601640509542">"Բաց թողնված զանգ"</string>
- <string name="type_voicemail" msgid="5153139450668549908">"Ձայնային փոստ"</string>
- <string name="actionIncomingCall" msgid="6028930669817038600">"Մուտքային զանգեր"</string>
- <string name="description_call_log_play_button" msgid="651182125650429846">"Նվագարկել ձայնային փոստը"</string>
- <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Մուտքային զանգ"</string>
- <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Ելքային զանգ"</string>
- <string name="description_call_log_missed_call" msgid="2242805209983708825">"Բաց թողնված զանգ"</string>
- <string name="description_call_log_voicemail" msgid="4600798771975158948">"Ձայնային փոստ"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Ավելացնել կոտակտ"</string>
- <string name="description_view_contact" msgid="5205669345700598415">"Դիտել <xliff:g id="NAME">%1$s</xliff:g> կոնտակտը"</string>
- <string name="description_call" msgid="3443678121983852666">"Զանգել <xliff:g id="NAME">%1$s</xliff:g>-ին"</string>
- <string name="description_send_text_message" msgid="7803126439934046891">"Ուղարկել տեքստային հաղորդագրություն <xliff:g id="NAME">%1$s</xliff:g>-ին"</string>
- <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Չլսված ձայնային փոստ"</string>
- <string name="description_start_voice_search" msgid="520539488194946012">"Սկսկեք ձայնային որոնումը"</string>
- <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
- <string name="menu_callNumber" msgid="997146291983360266">"Զանգել <xliff:g id="NUMBER">%s</xliff:g>-ին"</string>
- <string name="unknown" msgid="740067747858270469">"Անհայտ"</string>
- <string name="voicemail" msgid="3851469869202611441">"Ձայնային փոստ"</string>
- <string name="private_num" msgid="6374339738119166953">"Անձնական համարը"</string>
- <string name="payphone" msgid="4864313342828942922">"Վճարել հեռախոսը"</string>
- <string name="dialerKeyboardHintText" msgid="5401660096579787344">"Օգտագործել ստեղնաշարը` համարհավաքելու համար"</string>
- <string name="dialerDialpadHintText" msgid="5824490365898349041">"Համարհավաքել՝ զանգելու համար"</string>
- <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> րոպ <xliff:g id="SECONDS">%s</xliff:g> վրկ"</string>
- <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"Զանգը չի առաքվել"</string>
- <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"Ձայնային փոստը կարգավորելու համար գնացեք Ցանկ > Կարգավորումներ:"</string>
- <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"Ձայնային փոստին զանգելու համար նախ անջատեք թռիչքային ռեժիմը:"</string>
- <string name="contact_list_loading" msgid="5488620820563977329">"Բեռնում..."</string>
- <string name="imei" msgid="3045126336951684285">"IMEI"</string>
- <string name="meid" msgid="6210568493746275750">"MEID"</string>
- <string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM քարտը բեռնվում է..."</string>
- <string name="simContacts_title" msgid="27341688347689769">"SIM քարտի կոնտակտները"</string>
- <string name="add_contact_not_available" msgid="1419207765446461366">"Կրկին միացրեք Մարդիկ ծրագիրը` այս հատկությունn օգտագործելու համար:"</string>
- <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Գրեք անունը կամ հեռախոսը"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Բոլորը"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Բաց թողնված"</string>
- <string name="recentMissed_empty" msgid="5427113551557296665">"Նոր բաց թողնված զանգեր չկան:"</string>
- <string name="recentVoicemails_empty" msgid="5163114119598014048">"Նոր ձայնային հաղորդագրություններ չկան:"</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Ցույց տալ բոլոր կոնտակտները"</string>
- <string name="show_favorites_only" msgid="5520072531022614595">"Ցույց տալ միայն ընտրյալները"</string>
- <string name="call_log_activity_title" msgid="4612824396355272023">"Պատմություն"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
- <string name="show_all_contacts_title" msgid="8395378484578221791">"Բոլոր կոնտակտները"</string>
- <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Բոլոր կոնտակտները"</string>
- <string name="favorite_hidden" msgid="4837366417440391323">"Թաքցվեց ընտրյալներից"</string>
- <string name="favorite_hidden_undo" msgid="2508998611039406474">"Հետարկել"</string>
-</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 4012b78..be1316a 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"bintangi"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"nol"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"pound"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"kotak pesan"</string>
<string name="description_search_button" msgid="3660807558587384889">"telusuri"</string>
<string name="description_dial_button" msgid="1274091017188142646">"panggil"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"nomor untuk dipanggil"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Riwayat Panggilan"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Opsi lainnya"</string>
@@ -89,7 +87,8 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Tampilkan panggilan terlewat"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Tampilkan pesan suara saja"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Tampilkan semua panggilan"</string>
- <string name="add_2sec_pause" msgid="9214012315201040129">"Tambahkan jeda 2-det"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Tambahkan kontak"</string>
+ <string name="add_2sec_pause" msgid="9214012315201040129">"Tambahkan jeda 2 dtk"</string>
<string name="add_wait" msgid="3360818652790319634">"Tambahkan tunggu"</string>
<string name="call_settings" msgid="7666474782093693667">"Setelan"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Kontak baru"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Panggilan keluar"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Panggilan tak terjawab"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Pesan suara"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Tambahkan kontak"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Lihat kontak <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Panggil <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Detail kontak untuk <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Detail panggilan"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Pesan suara baru."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> panggilan."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Kirim SMS ke <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Pesan suara yang belum didengar"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Hapus penelusuran"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Memulai penelusuran suara"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Panggil <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Tidak diketahui"</string>
<string name="voicemail" msgid="3851469869202611441">"Kotak Pesan"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Memuat dari kartu SIM..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Kontak pada kartu SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Aktifkan kembali aplikasi Orang untuk menggunakan fitur ini."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Penelusuran suara tidak tersedia."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Tidak dapat melakukan panggilan telepon karena aplikasi Telepon telah dinonaktifkan."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Tidak ada aktivitas terpasang yang tersedia untuk menangani tindakan yang dipilih."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Ketikkan nama/nomor ponsel"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Semua"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"TakDijawab"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Tidak ada panggilan tak terjawab terbaru."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Tidak ada pesan suara terbaru."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Tampilkan semua kontak"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Hanya tampilkan favorit"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Riwayat"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Semua"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Tak Dijawab"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"PesanSuara"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Panggilan Cepat"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Terbaru"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Kontak"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Semua kontak"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Semua kontak"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Dihapus dari favorit"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Batalkan"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Telepon <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Tambahkan ke kontak"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Lihat riwayat panggilan telepon lengkap"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> panggilan tidak terjawab baru"</string>
<string name="no_favorites" msgid="5212485868783382971">"Favorit & kontak yang\nsering Anda hubungi akan muncul di sini.\nJadi, mulailah menelepon."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Ketuk gambar untuk melihat semua nomor atau tekan terus untuk mengatur ulang"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Tutup"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Hapus"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Panggilan Cepat"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"SEMUA KONTAK"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"HUBUNGI KEMBALI"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"HAPUS"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"DENGAR"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Panggilan telepon tak terjawab dari <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Panggilan telepon terjawab dari <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Panggilan telepon ke <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Panggil kembali <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Dengarkan kotak pesan dari <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Hapus entri log panggilan telepon untuk <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Entri log panggilan telepon dihapus."</string>
</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 7ec52eb..d9d9e50 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"stella"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"zero"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"sterlina"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"segreteria"</string>
<string name="description_search_button" msgid="3660807558587384889">"cerca"</string>
<string name="description_dial_button" msgid="1274091017188142646">"componi"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"numero da comporre"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Cronologia chiamate"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Altre opzioni"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Mostra solo senza risposta"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Mostra solo messaggi vocali"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Mostra tutte le chiamate"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Aggiungi contatto"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Aggiungi pausa 2 sec"</string>
<string name="add_wait" msgid="3360818652790319634">"Aggiungi attesa"</string>
<string name="call_settings" msgid="7666474782093693667">"Impostazioni"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Chiamata in uscita"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Chiamata senza risposta"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Messaggio vocale"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Aggiungi contatto"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Visualizza <xliff:g id="NAME">%1$s</xliff:g> contatto"</string>
<string name="description_call" msgid="3443678121983852666">"Chiama <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Dettagli contatto <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Dettagli chiamata"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Nuovo messaggio di segreteria."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> chiamate."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Invia messaggio di testo a <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Messaggio vocale non ascoltato"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Cancella ricerca"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Avvia la ricerca vocale"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Chiama <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Sconosciuto"</string>
<string name="voicemail" msgid="3851469869202611441">"Segreteria"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Caricamento da SIM..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Contatti SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Riattiva l\'app Persone per utilizzare questa funzione."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"La ricerca vocale non è disponibile."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Impossibile effettuare una telefonata perché l\'applicazione Telefono è stata disattivata."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Nessuna applicazione installata disponibile per gestire l\'azione selezionata."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Digita nome o numero telefono"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Tutti"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Perse"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Nessuna chiamata persa recente."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Nessun messaggio vocale recente."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Mostra tutti i contatti"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Mostra solo i preferiti"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Cronologia"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Tutti"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Perse"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Segreteria"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Chiamata rapida"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Recenti"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Contatti"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Tutti i contatti"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Tutti i contatti"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Rimosso dai preferiti"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Annulla"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Chiama <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Aggiungi ai contatti"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Visualizza cronologia completa delle chiamate"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> nuove chiamate senza risposta"</string>
<string name="no_favorites" msgid="5212485868783382971">"Preferiti e contatti che\nchiami spesso verranno mostrati qui.\nInizia a chiamarli."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Tocca l\'immagine per visualizzare tutti i numeri o tieni premuto per cambiare l\'ordine"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Ignora"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Rimuovi"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Chiamata rapida"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"TUTTI I CONTATTI"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"RICHIAMA"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"ELIMINA"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"ASCOLTA"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Chiamata senza risposta da <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Chiamata ricevuta da <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Chiamata a <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Richiama <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Ascolta il messaggio vocale di: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Elimina la voce del registro chiamate relativa a: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Voce del registro chiamate eliminata."</string>
</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 90c2ed6..8b8c5f2 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"סמן בכוכב"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"אפס"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"סולמית"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"דואר קולי"</string>
<string name="description_search_button" msgid="3660807558587384889">"חפש"</string>
<string name="description_dial_button" msgid="1274091017188142646">"חייג"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"Backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"מספר לחיוג"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"היסטוריית שיחות"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"אפשרויות נוספות"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"הצג רק שיחות שלא נענו"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"הצג הודעות דואר קולי בלבד"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"הצג את כל השיחות"</string>
+ <string name="add_contact" msgid="8875804371377471164">"הוסף איש קשר"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"הוסף השהיה של 2 שניות"</string>
<string name="add_wait" msgid="3360818652790319634">"הוסף המתנה"</string>
<string name="call_settings" msgid="7666474782093693667">"הגדרות"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"שיחה יוצאת"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"שיחה שלא נענתה"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"דואר קולי"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"הוסף איש קשר"</string>
<string name="description_view_contact" msgid="5205669345700598415">"הצג את איש הקשר <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"התקשר אל <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"פרטי יצירת קשר עבור <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"פרטי שיחה"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"דואר קולי חדש."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> שיחות."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"שלח הודעת טקסט אל <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"דואר קולי שעדיין לא נשמע"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"נקה חיפוש"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"התחל חיפוש קולי"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"התקשר אל <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"לא ידוע"</string>
<string name="voicemail" msgid="3851469869202611441">"דואר קולי"</string>
@@ -125,40 +127,50 @@
<string name="dialerDialpadHintText" msgid="5824490365898349041">"חייג כדי להוסיף שיחה"</string>
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> דקות <xliff:g id="SECONDS">%s</xliff:g> שניות"</string>
<string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"השיחה לא נשלחה."</string>
- <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"כדי להגדיר את הדואר הקולי, עבור אל \'תפריט\' > \'הגדרות\'."</string>
+ <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"כדי להגדיר את הדואר הקולי, עבור אל \'תפריט\' > \'הגדרות\'."</string>
<string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"כדי להתקשר לדואר קולי, ראשית כבה את מצב הטיסה."</string>
<string name="contact_list_loading" msgid="5488620820563977329">"טוען..."</string>
<string name="imei" msgid="3045126336951684285">"IMEI"</string>
<string name="meid" msgid="6210568493746275750">"MEID"</string>
- <string name="simContacts_emptyLoading" msgid="6700035985448642408">"טוען מכרטיס SIM…"</string>
- <string name="simContacts_title" msgid="27341688347689769">"אנשי קשר בכרטיס SIM"</string>
+ <string name="simContacts_emptyLoading" msgid="6700035985448642408">"טוען מכרטיס SIM…"</string>
+ <string name="simContacts_title" msgid="27341688347689769">"אנשי קשר בכרטיס SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"הפעל מחדש את אפליקציית אנשי הקשר כדי להשתמש בתכונה זו."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"חיפוש קולי אינו זמין."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"לא ניתן לבצע שיחת טלפון מפני שאפליקציית הטלפון הושבתה."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"אין פעילות מותקנת הזמינה לטיפול בפעולה הנבחרת."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"הקלד שם או מספר טלפון"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"הכול"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"שיחה שלא נענתה"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"אין שיחות אחרונות שלא נענו."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"אין הודעות דואר קולי אחרונות."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"הצג את כל אנשי הקשר"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"הצג מועדפים בלבד"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"היסטוריה"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"הכול"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"שיחה שלא נענתה"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"דואר קולי"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"חיוג מהיר"</string>
+ <string name="tab_recents" msgid="929949073851377206">"אחרונים"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"אנשי קשר"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"כל אנשי הקשר"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"כל אנשי הקשר"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"הוסר מהמועדפים"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"בטל"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"התקשר אל <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"הוסף לאנשי הקשר"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"הצג את היסטוריית השיחות המלאה"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> שיחות חדשות שלא נענו"</string>
<string name="no_favorites" msgid="5212485868783382971">"מועדפים ואנשי קשר שאתה\nיוצר איתם קשר בקביעות יופיעו כאן.\nאז תתחיל להתקשר."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"הקש על תמונה כדי לראות את כל המספרים, או לחץ והחזק כדי לשנות את הסדר"</string>
<string name="description_dismiss" msgid="2146276780562549643">"סגור"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"הסר"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"חיוג מהיר"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"כל אנשי הקשר"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"התקשר חזרה"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"מחק"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"האזן"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"שיחה שלא נענתה מאת <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"שיחה שנענתה מאת <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"התקשר אל <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"התקשר חזרה אל <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"האזן לדואר קולי מאת <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"מחק רשומה ביומן השיחות עבור <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"רשומת יומן שיחות נמחקה."</string>
</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index c6b0aca..f11fc21 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"スター"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"0"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"ポンド"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"ボイスメール"</string>
<string name="description_search_button" msgid="3660807558587384889">"検索"</string>
<string name="description_dial_button" msgid="1274091017188142646">"発信"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"Backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"発信番号"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"通話履歴"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"その他のオプション"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"不在着信のみを表示"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"ボイスメールのみ表示"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"すべての通話を表示"</string>
+ <string name="add_contact" msgid="8875804371377471164">"連絡先を追加"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"2秒間の停止を追加"</string>
<string name="add_wait" msgid="3360818652790319634">"待機を追加"</string>
<string name="call_settings" msgid="7666474782093693667">"設定"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"発信"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"不在着信"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"ボイスメール"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"連絡先を追加"</string>
<string name="description_view_contact" msgid="5205669345700598415">"<xliff:g id="NAME">%1$s</xliff:g>の連絡先を表示"</string>
<string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g>に発信"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>の連絡先の詳細"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"通話の詳細"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"新着のボイスメール。"</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"通話回数は<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g>回。"</string>
<string name="description_send_text_message" msgid="7803126439934046891">"<xliff:g id="NAME">%1$s</xliff:g>にテキストメッセージを送信"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"未再生のボイスメール"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"検索をクリア"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"音声検索を開始"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g>に発信"</string>
<string name="unknown" msgid="740067747858270469">"通知不可能"</string>
<string name="voicemail" msgid="3851469869202611441">"ボイスメール"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIMカードから読み取り中..."</string>
<string name="simContacts_title" msgid="27341688347689769">"SIMカードの連絡先"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"この機能を使用するには連絡帳アプリを再度有効にしてください。"</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"音声検索は利用できません。"</string>
+ <string name="call_not_available" msgid="8941576511946492225">"電話アプリが無効になっているため発信できません。"</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"選択した操作を処理できるアクティビティがインストールされていません。"</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"名前または電話番号を入力"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"すべて"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"不在着信"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"最近の不在着信はありません。"</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"最近のボイスメールはありません。"</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"すべての連絡先を表示"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"お気に入りのみを表示"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"履歴"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"すべて"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"不在着信"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"ボイスメール"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"クイックアクセス"</string>
+ <string name="tab_recents" msgid="929949073851377206">"最近"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"連絡先"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"すべての連絡先"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"すべての連絡先"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"お気に入りから削除されました"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"元に戻す"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"<xliff:g id="NUMBER">%s</xliff:g>に発信"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"連絡先に追加"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"通話履歴をすべて表示"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g>件の不在着信"</string>
<string name="no_favorites" msgid="5212485868783382971">"ここにはお気に入りや\n頻繁に通話する\n連絡先が表示されます。"</string>
<string name="contact_tooltip" msgid="7817483485692282287">"画像をタップするとすべての番号を表示でき、押し続けると並び替えることができます"</string>
<string name="description_dismiss" msgid="2146276780562549643">"閉じる"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"削除"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"クイックアクセス"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"すべての連絡先"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"コールバック"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"削除"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"再生"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"<xliff:g id="TIMEOFCALL">%3$s</xliff:g>の<xliff:g id="TYPEORLOCATION">%2$s</xliff:g><xliff:g id="NAMEORNUMBER">%1$s</xliff:g>からの不在着信。"</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"<xliff:g id="TIMEOFCALL">%3$s</xliff:g>の<xliff:g id="TYPEORLOCATION">%2$s</xliff:g><xliff:g id="NAMEORNUMBER">%1$s</xliff:g>からの着信。"</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"<xliff:g id="TIMEOFCALL">%3$s</xliff:g>の<xliff:g id="TYPEORLOCATION">%2$s</xliff:g><xliff:g id="NAMEORNUMBER">%1$s</xliff:g>への発信。"</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>にコールバック"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>からのボイスメールを再生"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>の通話履歴エントリを削除"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"通話履歴エントリを削除しました。"</string>
</resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index d42e470..5b5088a 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"ვარსკვლავი"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"ნული"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"გირვანქა"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"ხმოვანი ფოსტა"</string>
<string name="description_search_button" msgid="3660807558587384889">"ძიება"</string>
<string name="description_dial_button" msgid="1274091017188142646">"დარეკვა"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"უკუშლა"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"ასაკრეფი ნომერი"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"საუბრის ისტორია"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"სხვა პარამეტრები"</string>
@@ -89,6 +87,8 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"მხოლოდ გამოტოვებულის ჩვენება"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"მხოლოდ ხმოვანი ფოსტის ჩვენება"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"ყველა ზარის ჩვენება"</string>
+ <!-- no translation found for add_contact (8875804371377471164) -->
+ <skip />
<string name="add_2sec_pause" msgid="9214012315201040129">"ორწამიანი პაუზის დამატება"</string>
<string name="add_wait" msgid="3360818652790319634">"ლოდინის დამატება"</string>
<string name="call_settings" msgid="7666474782093693667">"პარამეტრები"</string>
@@ -109,13 +109,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"გამავალი ზარი"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"გამოტოვებული ზარი"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"ხმოვანი ფოსტა"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"კონტაქტის დამატება"</string>
<string name="description_view_contact" msgid="5205669345700598415">"კონტაქტის <xliff:g id="NAME">%1$s</xliff:g> ნახვა"</string>
<string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g>-თან დარეკვა"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-ის კონტაქტის დეტალები"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"ზარის მონაცემები"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"ახალი ხმოვანი ფოსტა."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> ზარი."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"ტესქტური შეტყობინების გაგზავნა <xliff:g id="NAME">%1$s</xliff:g>-ისთვის"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"მოსასმენი ხმოვანი ფოსტა"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"ძიების გასუფთავება"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"ხმოვანი ძიების დაწყება"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"დარეკვა <xliff:g id="NUMBER">%s</xliff:g>-ზე"</string>
<string name="unknown" msgid="740067747858270469">"უცნობი"</string>
<string name="voicemail" msgid="3851469869202611441">"ხმოვანი ფოსტა"</string>
@@ -133,32 +136,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"იტვირთება SIM ბარათიდან…"</string>
<string name="simContacts_title" msgid="27341688347689769">"SIM ბარათის კონტაქტები"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"ამ ფუნქციის გამოსაყენებლად ხელახლა გააქტიურეთ აპლიკაცია „ხალხი“."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"ხმოვანი ძიება მიუწვდომელია."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"სატელეფონო ზარის განხორციელება ვერ ხერხდება, ვინაიდან ტელეფონის აპლიკაცია გაუქმებულია."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"არჩეული ქმედებისათვის ინსტალირებული აქტივობა არ არის."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"შეიყვანეთ სახელი, ან ტელეფონის ნომერი"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"ყველა"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"გამოტოვებული"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"ბოლო დროის ზარები არ არის."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"ბოლო დროის ხმოვანი ფოსტა არ არის."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"ყველა კონტაქტის ჩვენება"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"მხოლოდ რჩეულების ჩვენება"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"ისტორია"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"ყველა"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"გამოტოვებული"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"ხმოვანი ფოსტა"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"სწრაფი აკრეფა"</string>
+ <string name="tab_recents" msgid="929949073851377206">"ბოლო"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"კონტაქტები"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"ყველა კონტაქტი"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"ყველა კონტაქტი"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"წაიშალა რჩეულებიდან"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"დაბრუნება"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"დარეკვა <xliff:g id="NUMBER">%s</xliff:g>-ზე"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"კონტაქტებში დამატება"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"ზარების სრული ისტორიის ნახვა"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> ახალი გაცდენილი ზარი"</string>
<string name="no_favorites" msgid="5212485868783382971">"რჩეულები და ხშირი კონაქტები\nაქ გამოჩნდება.\nასე რომ, დაიწყეთ რეკვა."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"შეეხეთ სურათს ყველა ნომრის სანახავად, ან შეეხეთ და დააყოვნეთ მიმდევრობის შესაცვლელად"</string>
<string name="description_dismiss" msgid="2146276780562549643">"დახურვა"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"ამოშლა"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"სწრაფი აკრეფა"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"ყველა კონტაქტი"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"გადარეკვა"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"წაშლა"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"მოსმენა"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"გამოტოვებული ზარი <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-ისგან, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"პასუხი <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-ის ზარზე, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"ზარი <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-თან, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-ზე გადარეკვა"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-ის ხმოვანი ფოსტის მოსმენა"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-ის ზარის ჩანაწერის წაშლა"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"ზარის აღრიცხვის ჩანაწერის წაშლა."</string>
</resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
deleted file mode 100644
index 4d6f74e..0000000
--- a/res/values-ka/strings.xml
+++ /dev/null
@@ -1,157 +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
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="applicationLabel" msgid="8490255569343340580">"დარეკვა"</string>
- <string name="launcherDialer" msgid="8636288196618486553">"ტელეფონი"</string>
- <string name="dialerIconLabel" msgid="6500826552823403796">"ტელეფონი"</string>
- <string name="recentCallsIconLabel" msgid="1419116422359067949">"ზარების ჟურნალი"</string>
- <string name="menu_sendTextMessage" msgid="6937343460284499306">"ტექსტური შეტყობინების გაგზავნა"</string>
- <string name="recentCalls_callNumber" msgid="1756372533999226126">"<xliff:g id="NAME">%s</xliff:g>-თან დარეკვა"</string>
- <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"ნომრის რედაქტირება დარეკვამდე"</string>
- <string name="recentCalls_addToContact" msgid="1429899535546487008">"კონტაქტებში დამატება"</string>
- <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"ზარების ჟურნალიდან ამოღება"</string>
- <string name="recentCalls_deleteAll" msgid="6352364392762163704">"ზარების ჟურნალის წაშლა"</string>
- <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"ხმოვანი ფოსტის წაშლა"</string>
- <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"ხმოვანი ფოსტის გაზიარება"</string>
- <string name="recentCalls_empty" msgid="247053222448663107">"ზარების ჟურნალი ცარიელია."</string>
- <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"გსურთ ზარების ჟურნალის წაშლა?"</string>
- <string name="clearCallLogConfirmation" msgid="5043563133171583152">"ყველა თქვენი ზარის ჩანაწერი წაიშლება."</string>
- <string name="clearCallLogProgress_title" msgid="8365943000154295771">"ზარების ჟურნალი იშლება…"</string>
- <plurals name="notification_voicemail_title">
- <item quantity="one" msgid="1746619685488504230">"ხმოვანი ფოსტა"</item>
- <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ხმოვანი ფოსტა"</item>
- </plurals>
- <string name="notification_action_voicemail_play" msgid="6113133136977996863">"დაკვრა"</string>
- <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
- <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"ახალი ხმოვანი ფოსტა <xliff:g id="CALLER">%1$s</xliff:g>-ისგან"</string>
- <string name="voicemail_playback_error" msgid="1811242131549854624">"ხმოვანი ფოსტის მოსმენა ვერ მოხერხდა."</string>
- <string name="voicemail_buffering" msgid="738287747618697097">"ბუფერიზაცია…"</string>
- <string name="voicemail_fetching_content" msgid="877911315738258780">"ხმოვანი ფოსტის მიღება…"</string>
- <string name="voicemail_fetching_timout" msgid="6691792377574905201">"ხმოვანი ფოსტის მიღება ვერ მოხერხდა."</string>
- <string name="call_log_voicemail_header" msgid="3945407886667089173">"მხოლოდ ზარები ხმოვანი ფოსტით"</string>
- <string name="call_log_incoming_header" msgid="2787722299753674684">"მხოლოდ შემომავალი ზარები"</string>
- <string name="call_log_outgoing_header" msgid="761009180766735769">"მხოლოდ გამავალი ზარები"</string>
- <string name="call_log_missed_header" msgid="8017148056610855956">"მხოლოდ გამოტოვებული ზარები"</string>
- <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"ხმოვანი ფოსტის სერვერთან დაკავშირება შეუძლებელია."</string>
- <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"ხმ. ფოსტის სერვერთან კავშირი არ არის. ახალი ხმ. ფოსტა იცდის."</string>
- <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"თქვენი ხმოვანი ფოსტის პარამეტრების დაყენება."</string>
- <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"აუდიო მიუწვდომელია."</string>
- <string name="voicemail_status_action_configure" msgid="8671796489912239589">"კონფიგურაცია"</string>
- <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"ხმოვან ფოსტასთან დაკავშირება"</string>
- <string name="voicemail_speed_slowest" msgid="1733460666177707312">"ყველაზე დაბალი სიჩქარე"</string>
- <string name="voicemail_speed_slower" msgid="1508601287347216244">"დაბალი სიჩქარე"</string>
- <string name="voicemail_speed_normal" msgid="9033988544627228892">"საშუალო სიჩქარე"</string>
- <string name="voicemail_speed_faster" msgid="2019965121475935488">"დიდი სიჩქარე"</string>
- <string name="voicemail_speed_fastest" msgid="5758712343491183292">"უდიდესი სიჩქარე"</string>
- <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>-ში"</string>
- <string name="sms_disambig_title" msgid="5846266399240630846">"ნომრის შერჩევა"</string>
- <string name="call_disambig_title" msgid="4392886850104795739">"ნომრის შერჩევა"</string>
- <string name="make_primary" msgid="5829291915305113983">"დაიმახსოვრე ეს არჩევანი"</string>
- <string name="description_image_button_one" msgid="1740638037139856139">"ერთი"</string>
- <string name="description_image_button_two" msgid="5882638439003731308">"ორი"</string>
- <string name="description_image_button_three" msgid="8709731759376015180">"სამი"</string>
- <string name="description_image_button_four" msgid="3530239685642246130">"ოთხი"</string>
- <string name="description_image_button_five" msgid="1182465427501188413">"ხუთი"</string>
- <string name="description_image_button_six" msgid="2093656269261415475">"ექვსი"</string>
- <string name="description_image_button_seven" msgid="2450357020447676481">"შვიდი"</string>
- <string name="description_image_button_eight" msgid="6969435115163287801">"რვა"</string>
- <string name="description_image_button_nine" msgid="7857248695662558323">"ცხრა"</string>
- <string name="description_image_button_star" msgid="3365919907520767866">"ვარსკვლავი"</string>
- <string name="description_image_button_zero" msgid="4133108949401820710">"ნული"</string>
- <string name="description_image_button_pound" msgid="3039765597595889230">"გირვანქა"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"ხმოვანი ფოსტა"</string>
- <string name="description_search_button" msgid="3660807558587384889">"ძიება"</string>
- <string name="description_dial_button" msgid="1274091017188142646">"დარეკვა"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"უკუშლა"</string>
- <string name="description_digits_edittext" msgid="8760207516497016437">"ასაკრეფი ნომერი"</string>
- <string name="action_menu_call_history_description" msgid="9018442816219748968">"საუბრის ისტორია"</string>
- <string name="action_menu_overflow_description" msgid="2303272250613084574">"სხვა პარამეტრები"</string>
- <string name="action_menu_dialpad_button" msgid="1425910318049008136">"ციფერბლატი"</string>
- <string name="menu_copy" msgid="6108677035381940698">"კოპირება"</string>
- <string name="menu_show_outgoing_only" msgid="1965570298133301970">"მხოლოდ გამავალის ჩვენება"</string>
- <string name="menu_show_incoming_only" msgid="7534206815238877417">"მხოლოდ შემომავალის ჩვენება"</string>
- <string name="menu_show_missed_only" msgid="154473166059743996">"მხოლოდ გამოტოვებულის ჩვენება"</string>
- <string name="menu_show_voicemails_only" msgid="1898421289561435703">"მხოლოდ ხმოვანი ფოსტის ჩვენება"</string>
- <string name="menu_show_all_calls" msgid="7560347482073345885">"ყველა ზარის ჩვენება"</string>
- <string name="add_2sec_pause" msgid="9214012315201040129">"ორწამიანი პაუზის დამატება"</string>
- <string name="add_wait" msgid="3360818652790319634">"ლოდინის დამატება"</string>
- <string name="call_settings" msgid="7666474782093693667">"პარამეტრები"</string>
- <string name="menu_newContact" msgid="1209922412763274638">"ახალი კონტაქტი"</string>
- <string name="callDetailTitle" msgid="5340227785196217938">"ზარის დეტალები"</string>
- <string name="toast_call_detail_error" msgid="7200975244804730096">"მოთხოვნილი ზარის დეტალების წაკითხვა ვერ მოხერხდა."</string>
- <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"ტონალური კლავიატურის გამოყენება"</string>
- <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"მიმდინარე ზარზე დაბრუნება"</string>
- <string name="dialer_addAnotherCall" msgid="4205688819890074468">"ზარის დამატება"</string>
- <string name="type_incoming" msgid="6502076603836088532">"შემომავალი ზარი"</string>
- <string name="type_outgoing" msgid="343108709599392641">"გამავალი ზარი"</string>
- <string name="type_missed" msgid="2720502601640509542">"გამოტოვებული ზარი"</string>
- <string name="type_voicemail" msgid="5153139450668549908">"ხმოვანი ფოსტა"</string>
- <string name="actionIncomingCall" msgid="6028930669817038600">"შემომავალი ზარები"</string>
- <string name="description_call_log_play_button" msgid="651182125650429846">"ხმოვანი ფოსტის ჩართვა"</string>
- <string name="description_call_log_incoming_call" msgid="4485427487637250143">"შემომავალი ზარი"</string>
- <string name="description_call_log_outgoing_call" msgid="604831756853471658">"გამავალი ზარი"</string>
- <string name="description_call_log_missed_call" msgid="2242805209983708825">"გამოტოვებული ზარი"</string>
- <string name="description_call_log_voicemail" msgid="4600798771975158948">"ხმოვანი ფოსტა"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"კონტაქტის დამატება"</string>
- <string name="description_view_contact" msgid="5205669345700598415">"კონტაქტის <xliff:g id="NAME">%1$s</xliff:g> ნახვა"</string>
- <string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g>-თან დარეკვა"</string>
- <string name="description_send_text_message" msgid="7803126439934046891">"ტესქტური შეტყობინების გაგზავნა <xliff:g id="NAME">%1$s</xliff:g>-ისთვის"</string>
- <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"მოსასმენი ხმოვანი ფოსტა"</string>
- <string name="description_start_voice_search" msgid="520539488194946012">"ხმოვანი ძიების დაწყება"</string>
- <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
- <string name="menu_callNumber" msgid="997146291983360266">"დარეკვა <xliff:g id="NUMBER">%s</xliff:g>-ზე"</string>
- <string name="unknown" msgid="740067747858270469">"უცნობი"</string>
- <string name="voicemail" msgid="3851469869202611441">"ხმოვანი ფოსტა"</string>
- <string name="private_num" msgid="6374339738119166953">"კერძო ნომერი"</string>
- <string name="payphone" msgid="4864313342828942922">"საზოგადოებრივი ტელეფონი"</string>
- <string name="dialerKeyboardHintText" msgid="5401660096579787344">"კლავიატურის გამოყენება დასარეკად"</string>
- <string name="dialerDialpadHintText" msgid="5824490365898349041">"დარეკეთ ზარის დასამატებლად"</string>
- <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> წთ <xliff:g id="SECONDS">%s</xliff:g> წმ"</string>
- <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"ზარი ვერ განხორციელდა"</string>
- <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"ხმოვანი ფოსტის დასაყენებლად გადადით მენიუს > პარამეტრებზე."</string>
- <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"ხმოვან ფოსტასთან დასაკავშირებლად პირველ რიგში გამორთეთ თვითმფრინავის რეჟიმი."</string>
- <string name="contact_list_loading" msgid="5488620820563977329">"იტვირთება…"</string>
- <string name="imei" msgid="3045126336951684285">"IMEI"</string>
- <string name="meid" msgid="6210568493746275750">"MEID"</string>
- <string name="simContacts_emptyLoading" msgid="6700035985448642408">"იტვირთება SIM ბარათიდან…"</string>
- <string name="simContacts_title" msgid="27341688347689769">"SIM ბარათის კონტაქტები"</string>
- <string name="add_contact_not_available" msgid="1419207765446461366">"ამ ფუნქციის გამოსაყენებლად ხელახლა გააქტიურეთ აპლიკაცია „ხალხი“."</string>
- <string name="dialer_hint_find_contact" msgid="9190419749917566623">"შეიყვანეთ სახელი, ან ტელეფონი"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"ყველა"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"გამოტოვებული"</string>
- <string name="recentMissed_empty" msgid="5427113551557296665">"ბოლო დროის ზარები არ არის."</string>
- <string name="recentVoicemails_empty" msgid="5163114119598014048">"ბოლო დროის ხმოვანი ფოსტა არ არის."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"ყველა კონტაქტის ჩვენება"</string>
- <string name="show_favorites_only" msgid="5520072531022614595">"მხოლოდ რჩეულების ჩვენება"</string>
- <string name="call_log_activity_title" msgid="4612824396355272023">"ისტორია"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
- <string name="show_all_contacts_title" msgid="8395378484578221791">"ყველა კონტაქტი"</string>
- <string name="show_all_contacts_button_text" msgid="8057452310403090131">"ყველა კონტაქტი"</string>
- <string name="favorite_hidden" msgid="4837366417440391323">"დამალულია რჩეულებიდან"</string>
- <string name="favorite_hidden_undo" msgid="2508998611039406474">"დაბრუნება"</string>
-</resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index e0f890f..9f78231 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"ផ្កាយ"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"សូន្យ"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"ផោន"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"សារជាសំឡេង"</string>
<string name="description_search_button" msgid="3660807558587384889">"ស្វែងរក"</string>
<string name="description_dial_button" msgid="1274091017188142646">"dial"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"លេខដែលត្រូវហៅ"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"ប្រវត្តិហៅ"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"ជម្រើសបន្ថែម"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"បង្ហាញតែការខកខានទទួល"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"បង្ហាញតែសារជាសំឡេង"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"បង្ហាញការហៅទាំងអស់"</string>
+ <string name="add_contact" msgid="8875804371377471164">"បន្ថែមទំនាក់ទំនង"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"បន្ថែមការផ្អាក ២វិ."</string>
<string name="add_wait" msgid="3360818652790319634">"បញ្ចូលការរង់ចាំ"</string>
<string name="call_settings" msgid="7666474782093693667">"ការកំណត់"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"ការហៅចេញ"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"ខកខានទទួល"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"សារជាសំឡេង"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"បន្ថែមទំនាក់ទំនង"</string>
<string name="description_view_contact" msgid="5205669345700598415">"មើលទំនាក់ទំនង <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"ហៅ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"ព័ត៌មានលម្អិតទំនាក់ទំនងសម្រាប់ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"ព័ត៌មានលម្អិតការហៅ"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"សារជាសំឡេងថ្មី។"</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"ការហៅ <xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> ។"</string>
<string name="description_send_text_message" msgid="7803126439934046891">"ផ្ញើរសារអត្ថបទទៅ <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"សារជាសំឡេងដែលមិនបានឮ"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"សម្អាតការស្វែងរក"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"ចាប់ផ្ដើមស្វែងរកជាសំឡេង"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"ហៅ <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"មិនស្គាល់"</string>
<string name="voicemail" msgid="3851469869202611441">"សារជាសំឡេង"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"កំពុងផ្ទុកពីស៊ីមកាត..."</string>
<string name="simContacts_title" msgid="27341688347689769">"ទំនាក់ទំនងនៅក្នុងស៊ីមកាត"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"បើកកម្មវិធីឡើងវិញដើម្បីប្រើលក្ខណៈនេះ។"</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"ការស្វែងរកជាសំឡេងមិនអាចប្រើបាន។"</string>
+ <string name="call_not_available" msgid="8941576511946492225">"មិនអាចហៅបានទេ ព្រោះកម្មវិធីទូរស័ព្ទត្រូវបានបិទ។"</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"គ្មានសកម្មភាពបានដំឡើង ដើម្បីគ្រប់គ្រងសកម្មភាពបានជ្រើស។"</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"សូមបញ្ចូលឈ្មោះ ឬលេខទូរស័ព្ទ"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"ទាំងអស់"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"ខកខានទទួល"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"មិនមានការខកខានទទួលថ្មីទេ។"</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"គ្មានសារជាសំឡេងថ្មីទេ។"</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"បង្ហាញទំនាក់ទំនងទាំងអស់"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"បង្ហាញតែនិយមប្រើប៉ុណ្ណោះ"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"ប្រវត្តិ"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"ទាំងអស់"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"ខកខានទទួល"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"សារជាសំឡេង"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"ការហៅរហ័ស"</string>
+ <string name="tab_recents" msgid="929949073851377206">"ថ្មីៗ"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"ទំនាក់ទំនង"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"ទំនាក់ទំនងទាំងអស់"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"ទំនាក់ទំនងទាំងអស់"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"បានលុបចេញពីទំនាក់ទំនងដែលនិយមប្រើ"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"មិនធ្វើវិញ"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"ហៅ <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"បន្ថែមទៅទំនាក់ទំនង"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"មើលប្រវត្តិហៅពេញលេញ"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"ខកខានទទួលថ្មី <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="no_favorites" msgid="5212485868783382971">"ការនិយមប្រើ & ទំនាក់ទំនងដែលអ្នក\nហៅញឹកញាប់នឹងបង្ហាញនៅទីនេះ។\nដូច្នេះ ចាប់ផ្ដើមហៅ។"</string>
<string name="contact_tooltip" msgid="7817483485692282287">"ប៉ះរូបភាព ដើម្បីមើលលេខទាំងអស់ ឬចុច និងសង្កត់ដើម្បីតម្រៀបឡើងវិញ"</string>
<string name="description_dismiss" msgid="2146276780562549643">"បដិសេធ"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"លុបចេញ"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"ការហៅរហ័ស"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"ទំនាក់ទំនងទាំងអស់"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"ហៅទៅវិញ"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"លុប"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"ស្ដាប់"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"ខកខានទទួលពី <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g> ។"</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"បានឆ្លើយតបការហៅពី <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g> ។"</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"ហៅទៅ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g> ។"</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"ហៅទៅ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> វិញ"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"ស្ដាប់សារជាសំឡេងពី <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"លុបធាតុកំណត់ហេតុហៅសម្រាប់ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"បានលុបធាតុកំណត់ហេតុហៅ។"</string>
</resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
deleted file mode 100644
index e5a9cd4..0000000
--- a/res/values-km/strings.xml
+++ /dev/null
@@ -1,157 +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
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="applicationLabel" msgid="8490255569343340580">"អ្នកហៅ"</string>
- <string name="launcherDialer" msgid="8636288196618486553">"ទូរស័ព្ទ"</string>
- <string name="dialerIconLabel" msgid="6500826552823403796">"ទូរស័ព្ទ"</string>
- <string name="recentCallsIconLabel" msgid="1419116422359067949">"បញ្ជីហៅ"</string>
- <string name="menu_sendTextMessage" msgid="6937343460284499306">"ផ្ញើសារអត្ថបទ"</string>
- <string name="recentCalls_callNumber" msgid="1756372533999226126">"ហៅ <xliff:g id="NAME">%s</xliff:g>"</string>
- <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"កែលេខមុនពេលហៅ"</string>
- <string name="recentCalls_addToContact" msgid="1429899535546487008">"បន្ថែមទៅទំនាក់ទំនង"</string>
- <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"លុបចេញពីបញ្ជីហៅ"</string>
- <string name="recentCalls_deleteAll" msgid="6352364392762163704">"សម្អាតបញ្ជីហៅ"</string>
- <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"លុបសារជាសំឡេង"</string>
- <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"ចែករំលែកសារជាសំឡេង"</string>
- <string name="recentCalls_empty" msgid="247053222448663107">"បញ្ជីហៅគឺទទេ។"</string>
- <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"សម្អាតបញ្ជីហៅ?"</string>
- <string name="clearCallLogConfirmation" msgid="5043563133171583152">"នឹងលុបកំណត់ត្រាហៅទាំងអស់របស់អ្នក។"</string>
- <string name="clearCallLogProgress_title" msgid="8365943000154295771">"កំពុងសម្អាតបញ្ជីហៅ..."</string>
- <plurals name="notification_voicemail_title">
- <item quantity="one" msgid="1746619685488504230">"សារជាសំឡេង"</item>
- <item quantity="other" msgid="5513481419205061254">"សារជាសំឡេង <xliff:g id="COUNT">%1$d</xliff:g>"</item>
- </plurals>
- <string name="notification_action_voicemail_play" msgid="6113133136977996863">"ចាក់"</string>
- <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
- <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"សារជាសំឡេងថ្មីពី <xliff:g id="CALLER">%1$s</xliff:g>"</string>
- <string name="voicemail_playback_error" msgid="1811242131549854624">"មិនអាចចាក់សារជាសំឡេង។"</string>
- <string name="voicemail_buffering" msgid="738287747618697097">"កំពុងគណនា..."</string>
- <string name="voicemail_fetching_content" msgid="877911315738258780">"កំពុងទៅយកសារជាសំឡេង..."</string>
- <string name="voicemail_fetching_timout" msgid="6691792377574905201">"មិនអាចទៅយកសារជាសំឡេង..."</string>
- <string name="call_log_voicemail_header" msgid="3945407886667089173">"តែការហៅជាសារសំឡេង"</string>
- <string name="call_log_incoming_header" msgid="2787722299753674684">"តែការហៅចូល"</string>
- <string name="call_log_outgoing_header" msgid="761009180766735769">"តែការហៅចេញប៉ុណ្ណោះ"</string>
- <string name="call_log_missed_header" msgid="8017148056610855956">"តែលេខខកខានទទួល"</string>
- <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"មិនអាចតភ្ជាប់ទៅម៉ាស៊ីនមេសារជាសំឡេង។"</string>
- <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"មិនអាចតភ្ជាប់ទៅម៉ាស៊ីនមេសារជាសំឡេង។ សារជាសំឡេងថ្មីកំពុងរង់ចាំ។"</string>
- <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"រៀបចំសារជាសំឡេងរបស់អ្នក។"</string>
- <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"មិនមានសំឡេង។"</string>
- <string name="voicemail_status_action_configure" msgid="8671796489912239589">"រៀបចំ"</string>
- <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"ហៅជាសារសំឡេង"</string>
- <string name="voicemail_speed_slowest" msgid="1733460666177707312">"ល្បឿនយឺតបំផុត"</string>
- <string name="voicemail_speed_slower" msgid="1508601287347216244">"ល្បឿនយឺត"</string>
- <string name="voicemail_speed_normal" msgid="9033988544627228892">"ល្បឿនធម្មតា"</string>
- <string name="voicemail_speed_faster" msgid="2019965121475935488">"ល្បឿនលឿន"</string>
- <string name="voicemail_speed_fastest" msgid="5758712343491183292">"ល្បឿនលឿនបំផុត"</string>
- <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
- <string name="sms_disambig_title" msgid="5846266399240630846">"ជ្រើសលេខ"</string>
- <string name="call_disambig_title" msgid="4392886850104795739">"ជ្រើសលេខ"</string>
- <string name="make_primary" msgid="5829291915305113983">"ចងចាំជម្រើសនេះ"</string>
- <string name="description_image_button_one" msgid="1740638037139856139">"មួយ"</string>
- <string name="description_image_button_two" msgid="5882638439003731308">"ពីរ"</string>
- <string name="description_image_button_three" msgid="8709731759376015180">"បី"</string>
- <string name="description_image_button_four" msgid="3530239685642246130">"បួន"</string>
- <string name="description_image_button_five" msgid="1182465427501188413">"ប្រាំ"</string>
- <string name="description_image_button_six" msgid="2093656269261415475">"ប្រាំមួយ"</string>
- <string name="description_image_button_seven" msgid="2450357020447676481">"ប្រាំពីរ"</string>
- <string name="description_image_button_eight" msgid="6969435115163287801">"ប្រាំបី"</string>
- <string name="description_image_button_nine" msgid="7857248695662558323">"ប្រាំបួន"</string>
- <string name="description_image_button_star" msgid="3365919907520767866">"ផ្កាយ"</string>
- <string name="description_image_button_zero" msgid="4133108949401820710">"សូន្យ"</string>
- <string name="description_image_button_pound" msgid="3039765597595889230">"ផោន"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"សារជាសំឡេង"</string>
- <string name="description_search_button" msgid="3660807558587384889">"ស្វែងរក"</string>
- <string name="description_dial_button" msgid="1274091017188142646">"dial"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
- <string name="description_digits_edittext" msgid="8760207516497016437">"លេខដែលត្រូវហៅ"</string>
- <string name="action_menu_call_history_description" msgid="9018442816219748968">"ប្រវត្តិហៅ"</string>
- <string name="action_menu_overflow_description" msgid="2303272250613084574">"ជម្រើសបន្ថែម"</string>
- <string name="action_menu_dialpad_button" msgid="1425910318049008136">"បន្ទះលេខ"</string>
- <string name="menu_copy" msgid="6108677035381940698">"ចម្លង"</string>
- <string name="menu_show_outgoing_only" msgid="1965570298133301970">"បង្ហាញតែការហៅចេញ"</string>
- <string name="menu_show_incoming_only" msgid="7534206815238877417">"បង្ហាញតែការហៅចូល"</string>
- <string name="menu_show_missed_only" msgid="154473166059743996">"បង្ហាញតែការខកខានទទួល"</string>
- <string name="menu_show_voicemails_only" msgid="1898421289561435703">"បង្ហាញតែសារជាសំឡេង"</string>
- <string name="menu_show_all_calls" msgid="7560347482073345885">"បង្ហាញការហៅទាំងអស់"</string>
- <string name="add_2sec_pause" msgid="9214012315201040129">"បន្ថែមការផ្អាក ២វិ."</string>
- <string name="add_wait" msgid="3360818652790319634">"បញ្ចូលការរង់ចាំ"</string>
- <string name="call_settings" msgid="7666474782093693667">"ការកំណត់"</string>
- <string name="menu_newContact" msgid="1209922412763274638">"ទំនាក់ទំនងថ្មី"</string>
- <string name="callDetailTitle" msgid="5340227785196217938">"ព័ត៌មានលម្អិតនៃការហៅ"</string>
- <string name="toast_call_detail_error" msgid="7200975244804730096">"មិនអាចអានព័ត៌មានលម្អិតសម្រាប់ការហៅបានស្នើ។"</string>
- <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"ប្រើសំឡេងប៉ះបន្ទះលេខ"</string>
- <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"កំពុងត្រឡប់ទៅកាន់ការហៅ"</string>
- <string name="dialer_addAnotherCall" msgid="4205688819890074468">"បន្ថែមការហៅ"</string>
- <string name="type_incoming" msgid="6502076603836088532">"ការហៅចូល"</string>
- <string name="type_outgoing" msgid="343108709599392641">"ការហៅចេញ"</string>
- <string name="type_missed" msgid="2720502601640509542">"ខកខានទទួល"</string>
- <string name="type_voicemail" msgid="5153139450668549908">"សារជាសំឡេង"</string>
- <string name="actionIncomingCall" msgid="6028930669817038600">"ការហៅចូល"</string>
- <string name="description_call_log_play_button" msgid="651182125650429846">"ចាក់សារជាសំឡេង"</string>
- <string name="description_call_log_incoming_call" msgid="4485427487637250143">"ការហៅចូល"</string>
- <string name="description_call_log_outgoing_call" msgid="604831756853471658">"ការហៅចេញ"</string>
- <string name="description_call_log_missed_call" msgid="2242805209983708825">"ខកខានទទួល"</string>
- <string name="description_call_log_voicemail" msgid="4600798771975158948">"សារជាសំឡេង"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"បន្ថែមទំនាក់ទំនង"</string>
- <string name="description_view_contact" msgid="5205669345700598415">"មើលទំនាក់ទំនង <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="description_call" msgid="3443678121983852666">"ហៅ <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="description_send_text_message" msgid="7803126439934046891">"ផ្ញើរសារអត្ថបទទៅ <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"សារជាសំឡេងដែលមិនបានឮ"</string>
- <string name="description_start_voice_search" msgid="520539488194946012">"ចាប់ផ្ដើមស្វែងរកជាសំឡេង"</string>
- <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
- <string name="menu_callNumber" msgid="997146291983360266">"ហៅ <xliff:g id="NUMBER">%s</xliff:g>"</string>
- <string name="unknown" msgid="740067747858270469">"មិនស្គាល់"</string>
- <string name="voicemail" msgid="3851469869202611441">"សារជាសំឡេង"</string>
- <string name="private_num" msgid="6374339738119166953">"លេខឯកជន"</string>
- <string name="payphone" msgid="4864313342828942922">"ទូរស័ព្ទប្រើកាក់"</string>
- <string name="dialerKeyboardHintText" msgid="5401660096579787344">"ប្រើក្ដារចុច ដើម្បីចុចលេខ"</string>
- <string name="dialerDialpadHintText" msgid="5824490365898349041">"ចុចដើម្បីបន្ថែមការហៅ"</string>
- <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> នាទី <xliff:g id="SECONDS">%s</xliff:g> វិនាទី"</string>
- <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"ការហៅមិនបានបញ្ជូន"</string>
- <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"ដើម្បីកំណត់សារជាសំឡេង ចូលម៉ឺនុយ > ការកំណត់។"</string>
- <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"ដើម្បីហៅសារជាសំឡេង ដំបូងត្រូវបិទរបៀបពេលជិះយន្តហោះ។"</string>
- <string name="contact_list_loading" msgid="5488620820563977329">"កំពុងផ្ទុក..."</string>
- <string name="imei" msgid="3045126336951684285">"IMEI"</string>
- <string name="meid" msgid="6210568493746275750">"MEID"</string>
- <string name="simContacts_emptyLoading" msgid="6700035985448642408">"កំពុងផ្ទុកពីស៊ីមកាត..."</string>
- <string name="simContacts_title" msgid="27341688347689769">"ទំនាក់ទំនងនៅក្នុងស៊ីមកាត"</string>
- <string name="add_contact_not_available" msgid="1419207765446461366">"បើកកម្មវិធីឡើងវិញដើម្បីប្រើលក្ខណៈនេះ។"</string>
- <string name="dialer_hint_find_contact" msgid="9190419749917566623">"សូមបញ្ចូលឈ្មោះ ឬទូរស័ព្ទ"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"ទាំងអស់"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"ខកខានទទួល"</string>
- <string name="recentMissed_empty" msgid="5427113551557296665">"មិនមានការខកខានទទួលថ្មីទេ។"</string>
- <string name="recentVoicemails_empty" msgid="5163114119598014048">"គ្មានសារជាសំឡេងថ្មីទេ។"</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"បង្ហាញទំនាក់ទំនងទាំងអស់"</string>
- <string name="show_favorites_only" msgid="5520072531022614595">"បង្ហាញតែនិយមប្រើប៉ុណ្ណោះ"</string>
- <string name="call_log_activity_title" msgid="4612824396355272023">"ប្រវត្តិ"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
- <string name="show_all_contacts_title" msgid="8395378484578221791">"ទំនាក់ទំនងទាំងអស់"</string>
- <string name="show_all_contacts_button_text" msgid="8057452310403090131">"ទំនាក់ទំនងទាំងអស់"</string>
- <string name="favorite_hidden" msgid="4837366417440391323">"បានលាក់ពីការនិយម"</string>
- <string name="favorite_hidden_undo" msgid="2508998611039406474">"មិនធ្វើវិញ"</string>
-</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index eed6a3b..d3c103e 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"별"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"0"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"#"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"음성사서함"</string>
<string name="description_search_button" msgid="3660807558587384889">"검색"</string>
<string name="description_dial_button" msgid="1274091017188142646">"전화걸기"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"백스페이스"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"전화를 걸 번호"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"통화 기록"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"옵션 더보기"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"부재중 전화만 표시"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"음성사서함만 표시"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"모든 통화 표시"</string>
+ <string name="add_contact" msgid="8875804371377471164">"연락처 추가"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"2초 간 일시 정지 추가"</string>
<string name="add_wait" msgid="3360818652790319634">"대기 시간 추가"</string>
<string name="call_settings" msgid="7666474782093693667">"설정"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"발신 전화"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"부재중 전화"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"음성사서함"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"연락처 추가"</string>
<string name="description_view_contact" msgid="5205669345700598415">"<xliff:g id="NAME">%1$s</xliff:g>님의 연락처 보기"</string>
<string name="description_call" msgid="3443678121983852666">"전화하기:<xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>의 연락처 세부정보"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"통화 세부정보"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"새로운 음성사서함이 있습니다."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"통화 횟수: <xliff:g id="NUMBEROFCALLS">%1$s</xliff:g>번"</string>
<string name="description_send_text_message" msgid="7803126439934046891">"<xliff:g id="NAME">%1$s</xliff:g>님에게 문자 메시지 보내기"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"듣지 않은 음성사서함"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"검색창 지우기"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"음성 검색 시작"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g>에 전화"</string>
<string name="unknown" msgid="740067747858270469">"알 수 없음"</string>
<string name="voicemail" msgid="3851469869202611441">"음성사서함"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM 카드에서 로딩 중..."</string>
<string name="simContacts_title" msgid="27341688347689769">"SIM 카드 주소록"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"이 기능을 사용하려면 주소록 애플리케이션을 사용하도록 다시 설정하세요."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"음성검색을 사용할 수 없습니다."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"전화 애플리케이션을 사용 중지했으므로 전화를 걸 수 없습니다."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"선택한 작업을 처리할 수 있는 애플리케이션이 설치되지 않았습니다."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"이름 또는 전화번호 입력"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"전체"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"부재중 전화"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"최근 부재중 전화가 없습니다."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"최근 음성사서함이 없습니다."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"모든 연락처 표시"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"즐겨찾는 연락처만 표시"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"기록"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"전체"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"부재중 전화"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"음성사서함"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"단축 다이얼"</string>
+ <string name="tab_recents" msgid="929949073851377206">"최근"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"주소록"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"전체 주소록"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"전체 주소록"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"즐겨찾기에서 삭제됨"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"실행취소"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"<xliff:g id="NUMBER">%s</xliff:g>에 전화"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"주소록에 추가"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"전체 통화 기록 조회"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"새로운 부재중 전화 <xliff:g id="NUMBER">%s</xliff:g>건"</string>
<string name="no_favorites" msgid="5212485868783382971">"자주 전화하는 연락처가\n여기에 표시됩니다.\n전화해 보세요."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"이미지를 탭하여 모든 번호를 확인하거나 길게 눌러 재정렬합니다."</string>
<string name="description_dismiss" msgid="2146276780562549643">"닫기"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"삭제"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"단축 다이얼"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"모든 연락처"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"전화 걸기"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"삭제"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"듣기"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"부재중 전화: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>"</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"수신 전화: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>"</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"발신 전화: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>"</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>에 전화 걸기"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> 음성사서함 듣기"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>의 통화 기록 항목 삭제"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"통화 기록 항목이 삭제되었습니다."</string>
</resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index 41e6525..07be5ba 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"ຕິດດາວ"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"ສູນ"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"ພາວ"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"ຂໍ້ຄວາມສຽງ"</string>
<string name="description_search_button" msgid="3660807558587384889">"ຊອກຫາ"</string>
<string name="description_dial_button" msgid="1274091017188142646">"ແປ້ນໂທ"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"ໝາຍເລກທີ່ຈະໂທ"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"ປະຫວັດການໂທ"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"ໂຕເລືອກເພີ່ມເຕີມ"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"ສະແດງສະເພາະສາຍບໍ່ໄດ້ຮັບ"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"ສະແດງສະເພາະຂໍ້ຄວາມສຽງ"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"ສະແດງການໂທທັງໝົດ"</string>
+ <string name="add_contact" msgid="8875804371377471164">"ເພີ່ມລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"ເພີ່ມການຂັ້ນເວລາ 2 ວິນາທີ"</string>
<string name="add_wait" msgid="3360818652790319634">"ເພີ່ມການລໍຖ້າ"</string>
<string name="call_settings" msgid="7666474782093693667">"ການຕັ້ງຄ່າ"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"ສາຍໂທອອກ"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"ສາຍທີ່ບໍ່ໄດ້ຮັບ"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"ຂໍ້ຄວາມສຽງ"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"ເພີ່ມລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
<string name="description_view_contact" msgid="5205669345700598415">"ເບິ່ງລາຍຊື່ຜູ່ຕິດຕໍ່ <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"ໂທຫາ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"ລາຍລະອຽດລາຍຊື່ຜູ່ຕິດຕໍ່ສຳລັບ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"ລາຍລະອຽດການໂທ"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"ຂໍ້ຄວາມສຽງໃໝ່."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> ການໂທ."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"ສົ່ງຂໍ້ຄວາມຫາ <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"ຂໍ້ຄວາມສຽງທີ່ຍັງບໍ່ໄດ້ຟັງ"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"ລຶບການຊອກຫາ"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"ເລີ່ມການຊອກຫາດ້ວຍສຽງ"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"ໂທຫາ <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"ບໍ່ຮູ້ຈັກ"</string>
<string name="voicemail" msgid="3851469869202611441">"ຂໍ້ຄວາມສຽງ"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"ກຳລັງໂຫລດຈາກ SIM card..."</string>
<string name="simContacts_title" msgid="27341688347689769">"ລາຍຊື່ຜູ່ຕິດຕໍ່ SIM card"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"ເປີດການນຳໃຊ້ແອັບພລິເຄຊັນ People ຄືນ ເພື່ອໃຊ້ຄຸນສົມບັດນີ້."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"ບໍ່ສາມາດນຳໃຊ້ການຊອກຫາດ້ວຍສຽງໄດ້."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"ບໍ່ສາມາດໂທໄດ້ເນື່ອງຈາກແອັບພລິເຄຊັນໂທລະສັບຖືກປິດການນຳໃຊ້ໄວ້."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"ບໍ່ມີຄຳສັ່ງທີ່ຕິດຕັ້ງໄວ້ທີ່ໃຊ້ຈັດການການເຮັດວຽກທີ່ເລືອກໄດ້."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"ພິມຊື່ ຫຼເບີໂທລະສັບ"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"ທັງໝົດ"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"ສາຍທີ່ບໍ່ໄດ້ຮັບ"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"ບໍ່ມີສາຍທີ່ບໍ່ໄດ້ຮັບຫຼ້າສຸດ."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"ບໍ່ມີຂໍ້ຄວາມສຽງຫຼ້າສຸດ."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"ສະແດງລາຍຊື່ທັງໝົດ"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"ສະແດງສະເພາະລາຍການທີ່ນິຍົມເທົ່ານັ້ນ"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"ປະຫວັດການໂທ"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"ທັງໝົດ"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"ສາຍທີ່ບໍ່ໄດ້ຮັບ"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"ຂໍ້ຄວາມສຽງ"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"ໂທດ່ວນ"</string>
+ <string name="tab_recents" msgid="929949073851377206">"ຫາກໍໃຊ້"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"ລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"ລາຍຊື່ຜູ່ຕິດຕໍ່ທັງໝົດ"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"ລາຍຊື່ຜູ່ຕິດຕໍ່ທັງໝົດ"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"ລຶບອອກຈາກລາຍການທີ່ມັກແລ້ວ"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"ຍົກເລີກ"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"ໂທຫາ <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"ເພີ່ມໃສ່ລາຍຊື່ຕິດຕໍ່"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"ເບິ່ງປະຫວັດການໂທແບບເຕັມ"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> ສາຍທີ່ບໍ່ໄດ້ຮັບໃໝ່"</string>
<string name="no_favorites" msgid="5212485868783382971">"ລາຍງານທີ່ມັກ & ລາຍຊື່ຜູ່ຕິດຕໍ່ທີ່ທ່ານ\nໂທຫາເລື້ອຍໆ ຈະປາກົດຢູ່ບ່ອນນີ້.\nສະນັ້ນ, ທ່ານສາມາດເລີ່ມໂທໄດ້."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"ແຕະຮູບພາບເພື່ອເບິ່ງຈໍານວນຮູບພາບທັງໝົດ ຫຼືແຕະຄ້າງໄວ້ເພື່ອຈັດຮຽງໃໝ່"</string>
<string name="description_dismiss" msgid="2146276780562549643">"ເຂົ້າໃຈແລ້ວ"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"ລຶບອອກ"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"ໂທດ່ວນ"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"ລາຍຊື່ຜູ່ຕິດຕໍ່ທັງໝົດ"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"ໂທກັບ"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"ລຶບ"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"ຟັງ"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"ສາຍທີ່ບໍ່ໄດ້ຮັບຈາກ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"ສາຍທີ່ໄດ້ຮັບຈາກ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"ໂທຫາ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"ໂທກັບຫາ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"ຟັງຂໍ້ຄວາມສຽງຈາກ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"ລຶບບັນທຶກການໂທຫາ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"ລຶບບັນທຶກການໂທແລ້ວ."</string>
</resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
deleted file mode 100644
index a9310f7..0000000
--- a/res/values-lo/strings.xml
+++ /dev/null
@@ -1,157 +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
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="applicationLabel" msgid="8490255569343340580">"ແປ້ນໂທລະສັບ"</string>
- <string name="launcherDialer" msgid="8636288196618486553">"ໂທລະສັບ"</string>
- <string name="dialerIconLabel" msgid="6500826552823403796">"ໂທລະສັບ"</string>
- <string name="recentCallsIconLabel" msgid="1419116422359067949">"ບັນທຶກການໂທ"</string>
- <string name="menu_sendTextMessage" msgid="6937343460284499306">"ສົ່ງຂໍ້ຄວາມ"</string>
- <string name="recentCalls_callNumber" msgid="1756372533999226126">"ໂທຫາ <xliff:g id="NAME">%s</xliff:g>"</string>
- <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"ແກ້ໄຂເບີກ່ອນໂທ"</string>
- <string name="recentCalls_addToContact" msgid="1429899535546487008">"ເພີ່ມໃສ່ລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
- <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"ລຶບອອກຈາກບັນທຶກການໂທ"</string>
- <string name="recentCalls_deleteAll" msgid="6352364392762163704">"ລຶບບັນທຶກການໂທ"</string>
- <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"ລຶບຂໍ້ຄວາມສຽງ"</string>
- <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"ແບ່ງປັນຂໍ້ຄວາມສຽງ"</string>
- <string name="recentCalls_empty" msgid="247053222448663107">"ບັນທຶກການໂທຫວ່າງເປົ່າ."</string>
- <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"ລຶບບັນທຶກການໂທ?"</string>
- <string name="clearCallLogConfirmation" msgid="5043563133171583152">"ບັນທຶກການໂທທັງໝົດຂອງທ່ານຈະຖືກລຶບອອກ."</string>
- <string name="clearCallLogProgress_title" msgid="8365943000154295771">"ກຳລັງລຶກບັນທຶກການໂທ..."</string>
- <plurals name="notification_voicemail_title">
- <item quantity="one" msgid="1746619685488504230">"ຂໍ້ຄວາມສຽງ"</item>
- <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ຂໍ້ຄວາມສຽງ"</item>
- </plurals>
- <string name="notification_action_voicemail_play" msgid="6113133136977996863">"ຫຼິ້ນ"</string>
- <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
- <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"ບໍ່ມີຂໍ້ຄວາມສຽງຈາກ <xliff:g id="CALLER">%1$s</xliff:g>"</string>
- <string name="voicemail_playback_error" msgid="1811242131549854624">"ບໍ່ສາມາດເປີດຂໍ້ຄວາມສຽງໄດ້."</string>
- <string name="voicemail_buffering" msgid="738287747618697097">"ກຳລັງດຶງຂໍ້ມູນມາກຽມ..."</string>
- <string name="voicemail_fetching_content" msgid="877911315738258780">"ກຳລັງດຶງຂໍ້ຄວາມສຽງ..."</string>
- <string name="voicemail_fetching_timout" msgid="6691792377574905201">"ບໍ່ສາມາດດຶງຂໍ້ຄວາມສຽງໄດ້."</string>
- <string name="call_log_voicemail_header" msgid="3945407886667089173">"ເບີໂທຂໍ້ຄວາມສຽງເທົ່ານັ້ນ"</string>
- <string name="call_log_incoming_header" msgid="2787722299753674684">"ສາຍໂທເຂົ້າເທົ່ານັ້ນ"</string>
- <string name="call_log_outgoing_header" msgid="761009180766735769">"ເບີໂທອອກເທົ່ານັ້ນ"</string>
- <string name="call_log_missed_header" msgid="8017148056610855956">"ສະເພາະສາຍທີ່ບໍ່ໄດ້ຮັບ"</string>
- <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"ບໍ່ສາມາດເຊື່ອມຕໍ່ຫາເຊີບເວີຂໍ້ຄວາມສຽງ."</string>
- <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"ບໍ່ສາມາດເຊື່ອມຕໍ່ຫາເຊີບເວີຂໍ້ຄວາມສຽງໄດ້. ມີຂໍ້ຄວາມສຽງໃໝ່ກຳລັງລໍຖ້າ."</string>
- <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"ຕັ້ງຄ່າຂໍ້ຄວາມສຽງຂອງທ່ານ"</string>
- <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"ບໍ່ມີສຽງ."</string>
- <string name="voicemail_status_action_configure" msgid="8671796489912239589">"ຕັ້ງຄ່າ"</string>
- <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"ໂທຫາເບີຂໍ້ຄວາມສຽງ"</string>
- <string name="voicemail_speed_slowest" msgid="1733460666177707312">"ຊ້າທີ່ສຸດ"</string>
- <string name="voicemail_speed_slower" msgid="1508601287347216244">"ຊ້າ"</string>
- <string name="voicemail_speed_normal" msgid="9033988544627228892">"ປົກກະຕິ"</string>
- <string name="voicemail_speed_faster" msgid="2019965121475935488">"ໄວ"</string>
- <string name="voicemail_speed_fastest" msgid="5758712343491183292">"ໄວທີ່ສຸດ"</string>
- <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
- <string name="sms_disambig_title" msgid="5846266399240630846">"ເລືອກເບີໂທ"</string>
- <string name="call_disambig_title" msgid="4392886850104795739">"ເລືອກເບີໂທ"</string>
- <string name="make_primary" msgid="5829291915305113983">"ຈື່ການເລືອກນີ້"</string>
- <string name="description_image_button_one" msgid="1740638037139856139">"ນຶ່ງ"</string>
- <string name="description_image_button_two" msgid="5882638439003731308">"ສອງ"</string>
- <string name="description_image_button_three" msgid="8709731759376015180">"ສາມ"</string>
- <string name="description_image_button_four" msgid="3530239685642246130">"ສີ່"</string>
- <string name="description_image_button_five" msgid="1182465427501188413">"ຫ້າ"</string>
- <string name="description_image_button_six" msgid="2093656269261415475">"ຫົກ"</string>
- <string name="description_image_button_seven" msgid="2450357020447676481">"ເຈັດ"</string>
- <string name="description_image_button_eight" msgid="6969435115163287801">"ແປດ"</string>
- <string name="description_image_button_nine" msgid="7857248695662558323">"ເກົ້າ"</string>
- <string name="description_image_button_star" msgid="3365919907520767866">"ຕິດດາວ"</string>
- <string name="description_image_button_zero" msgid="4133108949401820710">"ສູນ"</string>
- <string name="description_image_button_pound" msgid="3039765597595889230">"ພາວ"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"ຂໍ້ຄວາມສຽງ"</string>
- <string name="description_search_button" msgid="3660807558587384889">"ຊອກຫາ"</string>
- <string name="description_dial_button" msgid="1274091017188142646">"ແປ້ນໂທ"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
- <string name="description_digits_edittext" msgid="8760207516497016437">"ໝາຍເລກທີ່ຈະໂທ"</string>
- <string name="action_menu_call_history_description" msgid="9018442816219748968">"ປະຫວັດການໂທ"</string>
- <string name="action_menu_overflow_description" msgid="2303272250613084574">"ໂຕເລືອກເພີ່ມເຕີມ"</string>
- <string name="action_menu_dialpad_button" msgid="1425910318049008136">"ປຸ່ມໂທລະສັບ"</string>
- <string name="menu_copy" msgid="6108677035381940698">"ສຳເນົາ"</string>
- <string name="menu_show_outgoing_only" msgid="1965570298133301970">"ສະແດງສະເພາະສາຍໂທອອກ"</string>
- <string name="menu_show_incoming_only" msgid="7534206815238877417">"ສະແດງສະເພາະສາຍໂທເຂົ້າ"</string>
- <string name="menu_show_missed_only" msgid="154473166059743996">"ສະແດງສະເພາະສາຍບໍ່ໄດ້ຮັບ"</string>
- <string name="menu_show_voicemails_only" msgid="1898421289561435703">"ສະແດງສະເພາະຂໍ້ຄວາມສຽງ"</string>
- <string name="menu_show_all_calls" msgid="7560347482073345885">"ສະແດງການໂທທັງໝົດ"</string>
- <string name="add_2sec_pause" msgid="9214012315201040129">"ເພີ່ມການຂັ້ນເວລາ 2 ວິນາທີ"</string>
- <string name="add_wait" msgid="3360818652790319634">"ເພີ່ມການລໍຖ້າ"</string>
- <string name="call_settings" msgid="7666474782093693667">"ການຕັ້ງຄ່າ"</string>
- <string name="menu_newContact" msgid="1209922412763274638">"ສ້າງລາຍຊື່ຜູ່ຕິດຕໍ່ໃໝ່"</string>
- <string name="callDetailTitle" msgid="5340227785196217938">"ລາຍລະອຽດການໂທ"</string>
- <string name="toast_call_detail_error" msgid="7200975244804730096">"ບໍ່ສາມາດອ່ານລາຍລະອຽດຂອງສາຍທີ່ຕ້ອງການໄດ້."</string>
- <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"ໃຊ້ປຸ່ມກົດສັນຍານສຽງ"</string>
- <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"ກັບໄປການໂທທີ່ກຳລັງດຳເນີນຢູ່"</string>
- <string name="dialer_addAnotherCall" msgid="4205688819890074468">"ເພີ່ມການໂທ"</string>
- <string name="type_incoming" msgid="6502076603836088532">"ສາຍໂທເຂົ້າ"</string>
- <string name="type_outgoing" msgid="343108709599392641">"ສາຍໂທອອກ"</string>
- <string name="type_missed" msgid="2720502601640509542">"ສາຍບໍ່ໄດ້ຮັບ"</string>
- <string name="type_voicemail" msgid="5153139450668549908">"ຂໍ້ຄວາມສຽງ"</string>
- <string name="actionIncomingCall" msgid="6028930669817038600">"ສາຍໂທເຂົ້າ"</string>
- <string name="description_call_log_play_button" msgid="651182125650429846">"ເປີດຂໍ້ຄວາມສຽງ"</string>
- <string name="description_call_log_incoming_call" msgid="4485427487637250143">"ສາຍໂທເຂົ້າ"</string>
- <string name="description_call_log_outgoing_call" msgid="604831756853471658">"ສາຍໂທອອກ"</string>
- <string name="description_call_log_missed_call" msgid="2242805209983708825">"ສາຍທີ່ບໍ່ໄດ້ຮັບ"</string>
- <string name="description_call_log_voicemail" msgid="4600798771975158948">"ຂໍ້ຄວາມສຽງ"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"ເພີ່ມລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
- <string name="description_view_contact" msgid="5205669345700598415">"ເບິ່ງລາຍຊື່ຜູ່ຕິດຕໍ່ <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="description_call" msgid="3443678121983852666">"ໂທຫາ <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="description_send_text_message" msgid="7803126439934046891">"ສົ່ງຂໍ້ຄວາມຫາ <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"ຂໍ້ຄວາມສຽງທີ່ຍັງບໍ່ໄດ້ຟັງ"</string>
- <string name="description_start_voice_search" msgid="520539488194946012">"ເລີ່ມການຊອກຫາດ້ວຍສຽງ"</string>
- <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
- <string name="menu_callNumber" msgid="997146291983360266">"ໂທຫາ <xliff:g id="NUMBER">%s</xliff:g>"</string>
- <string name="unknown" msgid="740067747858270469">"ບໍ່ຮູ້ຈັກ"</string>
- <string name="voicemail" msgid="3851469869202611441">"ຂໍ້ຄວາມສຽງ"</string>
- <string name="private_num" msgid="6374339738119166953">"ເບີສ່ວນໂຕ"</string>
- <string name="payphone" msgid="4864313342828942922">"ໂທລະສັບສາທາລະນະ"</string>
- <string name="dialerKeyboardHintText" msgid="5401660096579787344">"ໃຊ້ແປ້ນພິມເພື່ອກົດໂທ"</string>
- <string name="dialerDialpadHintText" msgid="5824490365898349041">"ກົດໝາຍເລກເພື່ອເພີ່ມການໂທ"</string>
- <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> ນທ <xliff:g id="SECONDS">%s</xliff:g> ວິ"</string>
- <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"ສາຍບໍ່ໄດ້ສົ່ງ"</string>
- <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"ເພື່ອຕັ້ງຄ່າຂໍ້ຄວາມສຽງ ໃຫ້ໄປທີ່ ເມນູ > ການຕັ້ງຄ່າ."</string>
- <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"ເພື່ອໂທຫາເບີຂໍ້ຄວາມສຽງ ທ່ານຕ້ອງປິດໂໝດຢູ່ເທິງຍົນກ່ອນ."</string>
- <string name="contact_list_loading" msgid="5488620820563977329">"ກຳລັງໂຫລດ..."</string>
- <string name="imei" msgid="3045126336951684285">"IMEI"</string>
- <string name="meid" msgid="6210568493746275750">"MEID"</string>
- <string name="simContacts_emptyLoading" msgid="6700035985448642408">"ກຳລັງໂຫລດຈາກ SIM card..."</string>
- <string name="simContacts_title" msgid="27341688347689769">"ລາຍຊື່ຜູ່ຕິດຕໍ່ SIM card"</string>
- <string name="add_contact_not_available" msgid="1419207765446461366">"ເປີດການນຳໃຊ້ແອັບພລິເຄຊັນ People ຄືນ ເພື່ອໃຊ້ຄຸນສົມບັດນີ້."</string>
- <string name="dialer_hint_find_contact" msgid="9190419749917566623">"ພິມຊື່ ຫຼືເບີໂທລະສັບ"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"ທັງໝົດ"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"ສາຍທີ່ບໍ່ໄດ້ຮັບ"</string>
- <string name="recentMissed_empty" msgid="5427113551557296665">"ບໍ່ມີສາຍທີ່ບໍ່ໄດ້ຮັບຫຼ້າສຸດ."</string>
- <string name="recentVoicemails_empty" msgid="5163114119598014048">"ບໍ່ມີຂໍ້ຄວາມສຽງຫຼ້າສຸດ."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"ສະແດງລາຍຊື່ທັງໝົດ"</string>
- <string name="show_favorites_only" msgid="5520072531022614595">"ສະແດງສະເພາະລາຍການທີ່ນິຍົມເທົ່ານັ້ນ"</string>
- <string name="call_log_activity_title" msgid="4612824396355272023">"ປະຫວັດການໂທ"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
- <string name="show_all_contacts_title" msgid="8395378484578221791">"ລາຍຊື່ຜູ່ຕິດຕໍ່ທັງໝົດ"</string>
- <string name="show_all_contacts_button_text" msgid="8057452310403090131">"ລາຍຊື່ຜູ່ຕິດຕໍ່ທັງໝົດ"</string>
- <string name="favorite_hidden" msgid="4837366417440391323">"ຖືກເຊື່ອງຈາກລາຍການທີ່ມັກແລ້ວ"</string>
- <string name="favorite_hidden_undo" msgid="2508998611039406474">"ຍົກເລີກ"</string>
-</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index f934435..90a531e 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"žvaigždutė"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"nulis"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"svaras"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"balso paštas"</string>
<string name="description_search_button" msgid="3660807558587384889">"ieškoti"</string>
<string name="description_dial_button" msgid="1274091017188142646">"rinkti numerį"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"naikinimo klavišas"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"renkamas numeris"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Skambučių istorija"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Daugiau parinkčių"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Rodyti tik praleistus"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Rodyti tik balso pšt. praneš."</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Rodyti visus skambučius"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Pridėti kontaktą"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Pridėti 2 sek. pauzę"</string>
<string name="add_wait" msgid="3360818652790319634">"Pridėti laukimą"</string>
<string name="call_settings" msgid="7666474782093693667">"Nustatymai"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Išsiunčiamasis skambutis"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Praleistas skambutis"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Balso paštas"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Pridėti kontaktą"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Žiūrėti kontaktą <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Skambinti <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Išsami kontaktinė informacija: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Išsami skambučio informacija"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Naujas balso pašto pranešimas."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"Skambučių: <xliff:g id="NUMBEROFCALLS">%1$s</xliff:g>."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Siųsti teksto pranešimą <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Neklausytas balso pašto pranešimas"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Išvalyti paiešką"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Pradėti paiešką balsu"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Skambinti <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Nežinomas"</string>
<string name="voicemail" msgid="3851469869202611441">"Balso paštas"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Įkeliama iš SIM kortelės..."</string>
<string name="simContacts_title" msgid="27341688347689769">"SIM kortelės adresatai"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Iš naujo įgalinti programą Žmonės, kad būtų galima naudoti šią funkciją."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Paieška balsu negalima."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Negalima skambinti telefonu, nes Telefono programa išjungta."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Nepasiekiama jokia įdiegta veikla pasirinktam veiksmui atlikti."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Įveskite vardą arba tel. nr."</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Visi"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Praleisti"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Nėra neseniai praleistų skambučių."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Nėra neseniai gauto balso pašto."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Rodyti visus kontaktus"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Rodyti tik mėgstamiausius"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Istorija"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Visi"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Praleisti"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Balso paštas"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Spartusis rinkimas"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Naujausi"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Kontaktai"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Visi kontaktai"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Visi kontaktai"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Pašalintas iš adresyno"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Anuliuoti"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Skambinti numeriu <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Pridėti prie kontaktų"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Visos skambučių istorijos peržiūra"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"Naujų praleistų skambučių: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="no_favorites" msgid="5212485868783382971">"Mėgstamiausieji ir kontaktai,\nkuriems dažnai skambinate, bus rodomi čia.\nTad pradėkite skambinti."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Palieskite vaizdą, kad pamatytumėte visus skaičius, arba paspauskite ir palaikykite, kad pakeistumėte tvarką"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Atsisakyti"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Pašalinti"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Spartusis rinkimas"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"VISI KONTAKTAI"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"ATSKAMBINTI"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"IŠTRINTI"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"KLAUSYTI"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Praleistas skambutis: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Atsakytas skambutis: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Atliktas skambutis: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Atskambinti <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Klausyti balso pašto nuo <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Ištrinti <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> skambučių žurnalo įrašą"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Skambučių žurnalo įrašas ištrintas."</string>
</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 197fcf9..6309952 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"zvaigznīte"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"nulle"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"numura zīme"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"balss pasts"</string>
<string name="description_search_button" msgid="3660807558587384889">"meklēt"</string>
<string name="description_dial_button" msgid="1274091017188142646">"sastādīt numuru"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"atpakaļatkāpe"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"sastādītais numurs"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Zvanu vēsture"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Vairāk opciju"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Rādīt tikai neatbildētos zvanus"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Rādīt tikai balss pasta ziņ."</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Rādīt visus zvanus"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Pievienot kontaktpersonu"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Pievienot 2 sekundes ilgu pauzi"</string>
<string name="add_wait" msgid="3360818652790319634">"Pievienot gaidīšanu"</string>
<string name="call_settings" msgid="7666474782093693667">"Iestatījumi"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Izejošs zvans"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Neatbildēts zvans"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Balss pasts"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Pievienot kontaktpersonu"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Skatīt kontaktpersonu <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Zvanīt šim: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Kontaktpersonas informācija: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Informācija par zvanu"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Jauns balss pasta ziņojums."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> zvani."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Sūtīt īsziņu šim: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nenoklausīti balss pasta ziņojumi"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Notīrīt meklēšanas lauku"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Sākt meklēšanu ar balsi"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Zvaniet: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Nezināms"</string>
<string name="voicemail" msgid="3851469869202611441">"Balss pasts"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Notiek ielāde no SIM kartes..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Kontaktpersonas SIM kartē"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Lai izmantotu šo funkciju, atkārtoti iespējojiet lietojumprogrammu Personas."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Meklēšana ar balsi nav pieejama."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Nevar veikt tālruņa zvanu, jo lietojumprogramma Tālrunis tika atspējota."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Nav instalēta neviena lietojumprogramma, kurā varētu apstrādāt atlasīto darbību."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Ierakstiet vārdu vai tālr. nr."</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Visi"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Neatb."</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Nav nesenu neatbildēto zvanu."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Nav nesenu balss pasta ziņojumu."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Rādīt visas kontaktpersonas"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Rādīt tikai izlasi"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Vēsture"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Visi"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Neatb."</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Balss p."</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Ātrā izvēlne"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Pēdējie"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Kontaktpersonas"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Visas kontaktpersonas"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Visas kontaktpersonas"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Noņemts no izlases"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Atsaukt"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Zvaniet: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Pievienot kontaktpersonām"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Visas zvanu vēstures skatīšana"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"Jauni neatbildēti zvani: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="no_favorites" msgid="5212485868783382971">"Šeit tiks rādīta izlase un kontaktpersonas,\nkurām bieži zvanāt.\nVarat sākt zvanīšanu."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Pieskarieties attēlam, lai skatītu visus tālruņa numurus, vai pieskarieties un turiet, lai mainītu secību."</string>
<string name="description_dismiss" msgid="2146276780562549643">"Noraidīt"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Noņemt"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Ātrā izvēlne"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"VISAS KONTAKTPERSONAS"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"ATZVANĪT"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"DZĒST"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"KLAUSĪTIES"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Neatbildēts zvans no: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Atbildēts zvans no: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Izejošs zvans: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Atzvanīt: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Klausīties balss pasta ziņojumu no: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Dzēst zvanu žurnāla ierakstu par: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Zvanu žurnāla ieraksts ir izdzēsts."</string>
</resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index 18144a4..ee424fa 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"од"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"тэг"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"фунт"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"дуут шуудан"</string>
<string name="description_search_button" msgid="3660807558587384889">"хайх"</string>
<string name="description_dial_button" msgid="1274091017188142646">"залгах"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"Ухраах"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"залгах дугаар"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Дуудлагын түүх"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Нэмэлт сонголтууд"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Зөвхөн аваагүй дуудлагуудыг харуулах"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Зөвхөн дуут шуудангуудыг харуулах"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Бүх дуудлагыг харуулах"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Харилцагч нэмэх"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"2-сек зогсолт нэмэх"</string>
<string name="add_wait" msgid="3360818652790319634">"Хүлээлт нэмэх"</string>
<string name="call_settings" msgid="7666474782093693667">"Тохиргоо"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Залгасан дуудлага"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Аваагүй дуудлага"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Дуут шуудан"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Харилцагч нэмэх"</string>
<string name="description_view_contact" msgid="5205669345700598415">"<xliff:g id="NAME">%1$s</xliff:g> харилцагчийг харах"</string>
<string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g> руу залгах"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-н харилцагчийн мэдээлэл"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Дуудлагын мэдээлэл"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Шинэ дуут шуудан."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> дуудлага."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"<xliff:g id="NAME">%1$s</xliff:g> руу зурвас илгээх"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Сонсоогүй дуут шуудан"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Хайлтыг цэвэрлэх"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Дуун хайлтыг эхлүүлэх"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g> руу залгах"</string>
<string name="unknown" msgid="740067747858270469">"Тодорхойгүй"</string>
<string name="voicemail" msgid="3851469869202611441">"Дуут шуудан"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM картаас уншиж байна…"</string>
<string name="simContacts_title" msgid="27341688347689769">"SIM картны харилцагчид"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Тус функцийг ашиглахын тулд People аппликешнийг дахин идэвхжүүлнэ үү."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Дуун хайлтыг ашиглах боломжгүй."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Утас аппликешныг идэвхгүйжүүлсэн тул утасны дуудлага хийх боломжгүй."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Сонгосон үйлдлийг гүйцэтгэх боломжтой суулгагдсан апп байхгүй байна."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Нэр эсвэл дугаарыг бичнэ үү"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Бүгд"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Аваагүй"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Саяхны аваагүй дуудлага алга байна."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Саяхны дуут шуудан байхгүй байна."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Бүх харилцагчдыг харуулах"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Зөвхөн дуртайнуудыг харуулах"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Түүх"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Бүгд"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Аваагүй"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Дуут шуудан"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Шуурхай залгах"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Саяхных"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Харилцагчид"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Бүх харилцагчид"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Бүх харилцагчид"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Дуртай жагсаалтаас хасав"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Буцаах"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"<xliff:g id="NUMBER">%s</xliff:g> руу залгах"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Харилцагчдад нэмэх"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Дуудлагын түүхийг бүхэлд нь харах"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> шинэ аваагүй дуудлага"</string>
<string name="no_favorites" msgid="5212485868783382971">"Таны дуртай & \nбайнга залгадаг харилцагчид\nэнд харагдах болно."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Бүх тоог харахын тулд зургийг товших буюу дахин захиалахын тулд дараад барина уу"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Хаах"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Хасах"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Шуурхай залгах"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"БҮХ ХАРИЛЦАГЧИД"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"БУЦААЖ ЗАЛГАХ"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"УСТГАХ"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"СОНСОХ"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-н аваагүй дуудлага, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-н авсан дуудлага, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> руу залгасан дуудлага, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> руу буцаж залгах"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-н дуут шууданг сонсох"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-н дуудлагын бүртгэлийг устгах"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Дуудлагын бүртгэл устгагдсан."</string>
</resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
deleted file mode 100644
index 8294eaa..0000000
--- a/res/values-mn/strings.xml
+++ /dev/null
@@ -1,157 +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
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="applicationLabel" msgid="8490255569343340580">"Залгагч"</string>
- <string name="launcherDialer" msgid="8636288196618486553">"Утас"</string>
- <string name="dialerIconLabel" msgid="6500826552823403796">"Утас"</string>
- <string name="recentCallsIconLabel" msgid="1419116422359067949">"Дуудлагын жагсаалт"</string>
- <string name="menu_sendTextMessage" msgid="6937343460284499306">"Зурвас илгээх"</string>
- <string name="recentCalls_callNumber" msgid="1756372533999226126">"<xliff:g id="NAME">%s</xliff:g> руу залгах"</string>
- <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Дуудлага хийхийн өмнө дугаарыг засах"</string>
- <string name="recentCalls_addToContact" msgid="1429899535546487008">"Харилцагчдад нэмэх"</string>
- <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Дуудлагын жагсаалтаас хасах"</string>
- <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Дуудлагын жагсаалтыг устгах"</string>
- <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Дуут шууданг устгах"</string>
- <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Дуут шууданг хуваалцах"</string>
- <string name="recentCalls_empty" msgid="247053222448663107">"Дуудлагын жагсаалт хоосон байна."</string>
- <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Дуудлагын жагсаалтыг устгах уу?"</string>
- <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Таны бүх дуудлагын бичлэгүүд устах болно."</string>
- <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Дуудлагын жагсаалтыг устгаж байна…"</string>
- <plurals name="notification_voicemail_title">
- <item quantity="one" msgid="1746619685488504230">"Дуут шуудан"</item>
- <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Дуут шуудан"</item>
- </plurals>
- <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Тоглуулах"</string>
- <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
- <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g>-с ирсэн шинэ дуут шуудан"</string>
- <string name="voicemail_playback_error" msgid="1811242131549854624">"Дуут шууданг тоглуулж чадсангүй."</string>
- <string name="voicemail_buffering" msgid="738287747618697097">"Буферлэж байна…"</string>
- <string name="voicemail_fetching_content" msgid="877911315738258780">"Дуут шууданг уншиж байна…"</string>
- <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Дуут шууданг уншиж чадсангүй."</string>
- <string name="call_log_voicemail_header" msgid="3945407886667089173">"Зөвхөн дуут шуудантай дуудлагуудыг"</string>
- <string name="call_log_incoming_header" msgid="2787722299753674684">"Зөвхөн ирсэн дуудлага"</string>
- <string name="call_log_outgoing_header" msgid="761009180766735769">"Зөвхөн залгасан дуудлагуудыг"</string>
- <string name="call_log_missed_header" msgid="8017148056610855956">"Зөвхөн аваагүй дуудлагуудыг"</string>
- <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"Дуут шуудангийн серверт холбогдож чадахгүй байна."</string>
- <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"Дуут шуудангийн серверт холбогдож чадахгүй байна. Шинэ дуут шуудангууд хүлээгдэж байна."</string>
- <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"Дуут шуудангаа тохируулна уу."</string>
- <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Аудио байхгүй байна."</string>
- <string name="voicemail_status_action_configure" msgid="8671796489912239589">"Тохируулах"</string>
- <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Дуут шуудан руу залгах"</string>
- <string name="voicemail_speed_slowest" msgid="1733460666177707312">"Хамгийн удаанаар"</string>
- <string name="voicemail_speed_slower" msgid="1508601287347216244">"Удаанаар"</string>
- <string name="voicemail_speed_normal" msgid="9033988544627228892">"Энгийн хурдаар"</string>
- <string name="voicemail_speed_faster" msgid="2019965121475935488">"Хурданаар"</string>
- <string name="voicemail_speed_fastest" msgid="5758712343491183292">"Хамгийн хурданаар"</string>
- <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
- <string name="sms_disambig_title" msgid="5846266399240630846">"Дугаар сонгоно уу"</string>
- <string name="call_disambig_title" msgid="4392886850104795739">"Дугаар сонгоно уу"</string>
- <string name="make_primary" msgid="5829291915305113983">"Энэ сонголтыг санах"</string>
- <string name="description_image_button_one" msgid="1740638037139856139">"нэг"</string>
- <string name="description_image_button_two" msgid="5882638439003731308">"хоёр"</string>
- <string name="description_image_button_three" msgid="8709731759376015180">"гурав"</string>
- <string name="description_image_button_four" msgid="3530239685642246130">"дөрөв"</string>
- <string name="description_image_button_five" msgid="1182465427501188413">"тав"</string>
- <string name="description_image_button_six" msgid="2093656269261415475">"зургаа"</string>
- <string name="description_image_button_seven" msgid="2450357020447676481">"долоо"</string>
- <string name="description_image_button_eight" msgid="6969435115163287801">"найм"</string>
- <string name="description_image_button_nine" msgid="7857248695662558323">"ес"</string>
- <string name="description_image_button_star" msgid="3365919907520767866">"од"</string>
- <string name="description_image_button_zero" msgid="4133108949401820710">"тэг"</string>
- <string name="description_image_button_pound" msgid="3039765597595889230">"фунт"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"дуут шуудан"</string>
- <string name="description_search_button" msgid="3660807558587384889">"хайх"</string>
- <string name="description_dial_button" msgid="1274091017188142646">"залгах"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"Ухраах"</string>
- <string name="description_digits_edittext" msgid="8760207516497016437">"залгах дугаар"</string>
- <string name="action_menu_call_history_description" msgid="9018442816219748968">"Дуудлагын түүх"</string>
- <string name="action_menu_overflow_description" msgid="2303272250613084574">"Нэмэлт сонголтууд"</string>
- <string name="action_menu_dialpad_button" msgid="1425910318049008136">"дугаар цуглуулагч"</string>
- <string name="menu_copy" msgid="6108677035381940698">"Хуулах"</string>
- <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Зөвхөн залгасан дуудлагуудыг харуулах"</string>
- <string name="menu_show_incoming_only" msgid="7534206815238877417">"Зөвхөн ирсэн дуудлагуудыг харуулах"</string>
- <string name="menu_show_missed_only" msgid="154473166059743996">"Зөвхөн аваагүй дуудлагуудыг харуулах"</string>
- <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Зөвхөн дуут шуудангуудыг харуулах"</string>
- <string name="menu_show_all_calls" msgid="7560347482073345885">"Бүх дуудлагыг харуулах"</string>
- <string name="add_2sec_pause" msgid="9214012315201040129">"2-сек зогсолт нэмэх"</string>
- <string name="add_wait" msgid="3360818652790319634">"Хүлээлт нэмэх"</string>
- <string name="call_settings" msgid="7666474782093693667">"Тохиргоо"</string>
- <string name="menu_newContact" msgid="1209922412763274638">"Шинэ харилцагч"</string>
- <string name="callDetailTitle" msgid="5340227785196217938">"Дуудлагын мэдээлэл"</string>
- <string name="toast_call_detail_error" msgid="7200975244804730096">"Хийсэн дуудлагын дэлгэрэнгүй мэдээллийг уншиж чадсангүй."</string>
- <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Хүрэлтээр дуугардаг гар ашиглах"</string>
- <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Үргэлжилж буй дуудлага руу буцах"</string>
- <string name="dialer_addAnotherCall" msgid="4205688819890074468">"Дуудлага нэмэх"</string>
- <string name="type_incoming" msgid="6502076603836088532">"Ирж буй дуудлага"</string>
- <string name="type_outgoing" msgid="343108709599392641">"Залгасан дуудлага"</string>
- <string name="type_missed" msgid="2720502601640509542">"Аваагүй дуудлага"</string>
- <string name="type_voicemail" msgid="5153139450668549908">"Дуут шуудан"</string>
- <string name="actionIncomingCall" msgid="6028930669817038600">"Ирж буй дуудлага"</string>
- <string name="description_call_log_play_button" msgid="651182125650429846">"Дуут шууданг тоглуулах"</string>
- <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Ирж буй дуудлага"</string>
- <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Залгасан дуудлага"</string>
- <string name="description_call_log_missed_call" msgid="2242805209983708825">"Аваагүй дуудлага"</string>
- <string name="description_call_log_voicemail" msgid="4600798771975158948">"Дуут шуудан"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Харилцагч нэмэх"</string>
- <string name="description_view_contact" msgid="5205669345700598415">"<xliff:g id="NAME">%1$s</xliff:g> харилцагчийг харах"</string>
- <string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g> руу залгах"</string>
- <string name="description_send_text_message" msgid="7803126439934046891">"<xliff:g id="NAME">%1$s</xliff:g> руу зурвас илгээх"</string>
- <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Сонсоогүй дуут шуудан"</string>
- <string name="description_start_voice_search" msgid="520539488194946012">"Дуун хайлтыг эхлүүлэх"</string>
- <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
- <string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g> руу залгах"</string>
- <string name="unknown" msgid="740067747858270469">"Тодорхойгүй"</string>
- <string name="voicemail" msgid="3851469869202611441">"Дуут шуудан"</string>
- <string name="private_num" msgid="6374339738119166953">"Нууцлагдсан дугаар"</string>
- <string name="payphone" msgid="4864313342828942922">"Төлбөртэй утас"</string>
- <string name="dialerKeyboardHintText" msgid="5401660096579787344">"Залгахдаа гар ашиглах"</string>
- <string name="dialerDialpadHintText" msgid="5824490365898349041">"Дуудлага нэмэхийн тулд залгана уу"</string>
- <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> минут <xliff:g id="SECONDS">%s</xliff:g> секунд"</string>
- <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"Дуудлага илгээгдсэнгүй"</string>
- <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"Дуут шууданг тохируулахын тулд Цэс > Тохиргоо руу очно уу."</string>
- <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"Дуут шуудан руу залгахын тулд юуны өмнө Нислэгийн төлвийг идэвхгүйжүүлнэ үү."</string>
- <string name="contact_list_loading" msgid="5488620820563977329">"Ачааллаж байна..."</string>
- <string name="imei" msgid="3045126336951684285">"IMEI"</string>
- <string name="meid" msgid="6210568493746275750">"MEID"</string>
- <string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM картаас уншиж байна…"</string>
- <string name="simContacts_title" msgid="27341688347689769">"SIM картны харилцагчид"</string>
- <string name="add_contact_not_available" msgid="1419207765446461366">"Тус функцийг ашиглахын тулд People аппликешнийг дахин идэвхжүүлнэ үү."</string>
- <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Нэр эсхүл дугаарыг бичнэ үү"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Бүгд"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Аваагүй"</string>
- <string name="recentMissed_empty" msgid="5427113551557296665">"Саяхны аваагүй дуудлага алга байна."</string>
- <string name="recentVoicemails_empty" msgid="5163114119598014048">"Саяхны дуут шуудан байхгүй байна."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Бүх харилцагчдыг харуулах"</string>
- <string name="show_favorites_only" msgid="5520072531022614595">"Зөвхөн дуртайнуудыг харуулах"</string>
- <string name="call_log_activity_title" msgid="4612824396355272023">"Түүх"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
- <string name="show_all_contacts_title" msgid="8395378484578221791">"Бүх харилцагчид"</string>
- <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Бүх харилцагчид"</string>
- <string name="favorite_hidden" msgid="4837366417440391323">"Дуртай харилцагчдаас нууцалсан"</string>
- <string name="favorite_hidden_undo" msgid="2508998611039406474">"Буцаах"</string>
-</resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index 20ee265..327920d 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"bintang"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"sifar"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"paun"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"mel suara"</string>
<string name="description_search_button" msgid="3660807558587384889">"cari"</string>
<string name="description_dial_button" msgid="1274091017188142646">"dail"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"undur ruang"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"nombor untuk didail"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Sejarah Panggilan"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Lagi pilihan"</string>
@@ -89,6 +87,8 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Tunjuk panggilan terlepas shj"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Tunjukkan mel suara sahaja"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Tunjukkan semua panggilan"</string>
+ <!-- no translation found for add_contact (8875804371377471164) -->
+ <skip />
<string name="add_2sec_pause" msgid="9214012315201040129">"Tambah jeda 2 saat"</string>
<string name="add_wait" msgid="3360818652790319634">"Tambah penungguan"</string>
<string name="call_settings" msgid="7666474782093693667">"Tetapan"</string>
@@ -109,13 +109,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Panggilan keluar"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Panggilan tidak dijawab"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Mel suara"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Tambah kenalan"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Lihat kenalan <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Panggil <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Butiran hubungan untuk <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Butiran panggilan"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Mel suara baharu."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> panggilan."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Hantar mesej teks kepada <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Mel suara belum didengar"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Kosongkan carian"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Mulakan carian suara"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Panggil <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Tidak diketahui"</string>
<string name="voicemail" msgid="3851469869202611441">"Mel suara"</string>
@@ -133,32 +136,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Memuatkan dari kad SIM..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Kenalan kad SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Dayakan semula aplikasi Orang untuk menggunakan ciri ini."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Carian suara tidak tersedia."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Tidak boleh membuat panggilan telefon kerana aplikasi Telefon telah dilumpuhkan."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Tiada aktiviti yang dipasang tersedia untuk mengendalikan tindakan yang dipilih."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Taip nama atau nombor telefon"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Semua"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Tidak dijawab"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Tiada panggilan tidak dijawab terbaru."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Tiada mel suara terbaru."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Tunjukkan semua kenalan"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Tunjukkan kegemaran sahaja"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Sejarah"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Semua"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Tidak dijawab"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Mel suara"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Dail Laju"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Terkini"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Kenalan"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Semua kenalan"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Semua kenalan"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Dialih keluar daripada kegemaran"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Buat asal"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Panggil <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Tambahkan pada kenalan"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Lihat sejarah panggilan penuh"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> panggilan terlepas baharu"</string>
<string name="no_favorites" msgid="5212485868783382971">"Kegemaran & kenalan yang\nkerap anda hubungi akan ditunjukkan di sini.\nJadi, mulalah membuat panggilan."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Ketik imej untuk melihat semua nombor atau tekan dan tahan imej untuk menyusun semula"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Ketepikan"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Alih keluar"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Dail Laju"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"SEMUA KENALAN"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"PANGGIL BALIK"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"PADAM"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"DENGAR"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Panggilan yang tidak dijawab daripada <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Panggilan yang dijawab daripada <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Panggilan kepada <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Panggil balik <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Dengar mel suara daripada <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Padam entri log panggilan untuk <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Entri log panggilan dihapuskan."</string>
</resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
deleted file mode 100644
index a7d42cb..0000000
--- a/res/values-ms/strings.xml
+++ /dev/null
@@ -1,157 +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
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="applicationLabel" msgid="8490255569343340580">"Pendail"</string>
- <string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
- <string name="dialerIconLabel" msgid="6500826552823403796">"Telefon"</string>
- <string name="recentCallsIconLabel" msgid="1419116422359067949">"Log panggilan"</string>
- <string name="menu_sendTextMessage" msgid="6937343460284499306">"Hantar mesej teks"</string>
- <string name="recentCalls_callNumber" msgid="1756372533999226126">"Panggil <xliff:g id="NAME">%s</xliff:g>"</string>
- <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Edit nombor sebelum panggilan"</string>
- <string name="recentCalls_addToContact" msgid="1429899535546487008">"Tambah ke kenalan"</string>
- <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Alih keluar daripada log panggilan"</string>
- <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Padam bersih log panggilan"</string>
- <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Padamkan mel suara"</string>
- <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Kongsi mel suara"</string>
- <string name="recentCalls_empty" msgid="247053222448663107">"Log panggilan kosong."</string>
- <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Padam bersih log panggilan?"</string>
- <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Semua rekod panggilan anda akan dipadamkan."</string>
- <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Memadam bersih log panggilan..."</string>
- <plurals name="notification_voicemail_title">
- <item quantity="one" msgid="1746619685488504230">"Mel suara"</item>
- <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Mel suara"</item>
- </plurals>
- <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Main"</string>
- <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
- <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Mel suara baru daripada <xliff:g id="CALLER">%1$s</xliff:g>"</string>
- <string name="voicemail_playback_error" msgid="1811242131549854624">"Tidak dapat memainkan mel suara."</string>
- <string name="voicemail_buffering" msgid="738287747618697097">"Menimbal…"</string>
- <string name="voicemail_fetching_content" msgid="877911315738258780">"Sedang mendapatkan mel suara…"</string>
- <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Tidak dapat mengambil mel suara."</string>
- <string name="call_log_voicemail_header" msgid="3945407886667089173">"Panggilan dengan mel suara sahaja"</string>
- <string name="call_log_incoming_header" msgid="2787722299753674684">"Panggilan masuk sahaja"</string>
- <string name="call_log_outgoing_header" msgid="761009180766735769">"Panggilan keluar sahaja"</string>
- <string name="call_log_missed_header" msgid="8017148056610855956">"Panggilan terlepas sahaja"</string>
- <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"Tidak boleh bersambung kepada pelayan mel suara."</string>
- <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"Tak boleh brsmbg kpd pelayan mel suara. Mel suara baru menunggu."</string>
- <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"Sediakan mel suara anda."</string>
- <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Audio tidak tersedia."</string>
- <string name="voicemail_status_action_configure" msgid="8671796489912239589">"Menyediakan"</string>
- <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Panggil mel suara"</string>
- <string name="voicemail_speed_slowest" msgid="1733460666177707312">"kelajuan paling perlahan"</string>
- <string name="voicemail_speed_slower" msgid="1508601287347216244">"Kelajuan perlahan"</string>
- <string name="voicemail_speed_normal" msgid="9033988544627228892">"Kelajuan biasa"</string>
- <string name="voicemail_speed_faster" msgid="2019965121475935488">"Kelajuan pantas"</string>
- <string name="voicemail_speed_fastest" msgid="5758712343491183292">"Kelajuan paling pantas"</string>
- <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
- <string name="sms_disambig_title" msgid="5846266399240630846">"Pilih nombor"</string>
- <string name="call_disambig_title" msgid="4392886850104795739">"Pilih nombor"</string>
- <string name="make_primary" msgid="5829291915305113983">"Ingat pilihan ini"</string>
- <string name="description_image_button_one" msgid="1740638037139856139">"satu"</string>
- <string name="description_image_button_two" msgid="5882638439003731308">"dua"</string>
- <string name="description_image_button_three" msgid="8709731759376015180">"tiga"</string>
- <string name="description_image_button_four" msgid="3530239685642246130">"empat"</string>
- <string name="description_image_button_five" msgid="1182465427501188413">"lima"</string>
- <string name="description_image_button_six" msgid="2093656269261415475">"enam"</string>
- <string name="description_image_button_seven" msgid="2450357020447676481">"tujuh"</string>
- <string name="description_image_button_eight" msgid="6969435115163287801">"lapan"</string>
- <string name="description_image_button_nine" msgid="7857248695662558323">"sembilan"</string>
- <string name="description_image_button_star" msgid="3365919907520767866">"bintang"</string>
- <string name="description_image_button_zero" msgid="4133108949401820710">"sifar"</string>
- <string name="description_image_button_pound" msgid="3039765597595889230">"paun"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"mel suara"</string>
- <string name="description_search_button" msgid="3660807558587384889">"cari"</string>
- <string name="description_dial_button" msgid="1274091017188142646">"dail"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"undur ruang"</string>
- <string name="description_digits_edittext" msgid="8760207516497016437">"nombor untuk didail"</string>
- <string name="action_menu_call_history_description" msgid="9018442816219748968">"Sejarah Panggilan"</string>
- <string name="action_menu_overflow_description" msgid="2303272250613084574">"Lagi pilihan"</string>
- <string name="action_menu_dialpad_button" msgid="1425910318049008136">"pad dail"</string>
- <string name="menu_copy" msgid="6108677035381940698">"Salin"</string>
- <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Tunjuk panggilan keluar shj"</string>
- <string name="menu_show_incoming_only" msgid="7534206815238877417">"Tunjuk panggilan masuk shj"</string>
- <string name="menu_show_missed_only" msgid="154473166059743996">"Tunjuk panggilan terlepas shj"</string>
- <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Tunjukkan mel suara sahaja"</string>
- <string name="menu_show_all_calls" msgid="7560347482073345885">"Tunjukkan semua panggilan"</string>
- <string name="add_2sec_pause" msgid="9214012315201040129">"Tambah jeda 2 saat"</string>
- <string name="add_wait" msgid="3360818652790319634">"Tambah penungguan"</string>
- <string name="call_settings" msgid="7666474782093693667">"Tetapan"</string>
- <string name="menu_newContact" msgid="1209922412763274638">"Kenalan baru"</string>
- <string name="callDetailTitle" msgid="5340227785196217938">"Butiran panggilan"</string>
- <string name="toast_call_detail_error" msgid="7200975244804730096">"Tidak boleh membaca butiran untuk panggilan yang diminta."</string>
- <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Gunakan pad kekunci nada sentuh"</string>
- <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Kembali ke panggilan yang sedang berlangsung"</string>
- <string name="dialer_addAnotherCall" msgid="4205688819890074468">"Tambah panggilan"</string>
- <string name="type_incoming" msgid="6502076603836088532">"Panggilan masuk"</string>
- <string name="type_outgoing" msgid="343108709599392641">"Panggilan keluar"</string>
- <string name="type_missed" msgid="2720502601640509542">"Panggilan tidak dijawab"</string>
- <string name="type_voicemail" msgid="5153139450668549908">"Mel suara"</string>
- <string name="actionIncomingCall" msgid="6028930669817038600">"Panggilan masuk"</string>
- <string name="description_call_log_play_button" msgid="651182125650429846">"Mainkan mel suara"</string>
- <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Panggilan masuk"</string>
- <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Panggilan keluar"</string>
- <string name="description_call_log_missed_call" msgid="2242805209983708825">"Panggilan tidak dijawab"</string>
- <string name="description_call_log_voicemail" msgid="4600798771975158948">"Mel suara"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Tambah kenalan"</string>
- <string name="description_view_contact" msgid="5205669345700598415">"Lihat kenalan <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="description_call" msgid="3443678121983852666">"Panggil <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="description_send_text_message" msgid="7803126439934046891">"Hantar mesej teks kepada <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Mel suara belum didengar"</string>
- <string name="description_start_voice_search" msgid="520539488194946012">"Mulakan carian suara"</string>
- <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
- <string name="menu_callNumber" msgid="997146291983360266">"Panggil <xliff:g id="NUMBER">%s</xliff:g>"</string>
- <string name="unknown" msgid="740067747858270469">"Tidak diketahui"</string>
- <string name="voicemail" msgid="3851469869202611441">"Mel suara"</string>
- <string name="private_num" msgid="6374339738119166953">"Nombor peribadi"</string>
- <string name="payphone" msgid="4864313342828942922">"Telefon awam"</string>
- <string name="dialerKeyboardHintText" msgid="5401660096579787344">"Gunakan papan kekunci untuk mendail"</string>
- <string name="dialerDialpadHintText" msgid="5824490365898349041">"Dail untuk menambah panggilan"</string>
- <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> saat"</string>
- <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"Panggilan tidak dihantar"</string>
- <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"Untuuk menyediakan mel suara, pergi ke Menu > Tetapan."</string>
- <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"Untuk membuat panggilan ke mel suara, mula-mula matikan mod Pesawat."</string>
- <string name="contact_list_loading" msgid="5488620820563977329">"Memuatkan…"</string>
- <string name="imei" msgid="3045126336951684285">"IMEI"</string>
- <string name="meid" msgid="6210568493746275750">"MEID"</string>
- <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Memuatkan dari kad SIM..."</string>
- <string name="simContacts_title" msgid="27341688347689769">"Kenalan kad SIM"</string>
- <string name="add_contact_not_available" msgid="1419207765446461366">"Dayakan semula aplikasi Orang untuk menggunakan ciri ini."</string>
- <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Taipkan nama atau telefon"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Semua"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Tidak dijawab"</string>
- <string name="recentMissed_empty" msgid="5427113551557296665">"Tiada panggilan tidak dijawab terbaru."</string>
- <string name="recentVoicemails_empty" msgid="5163114119598014048">"Tiada mel suara terbaru."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Tunjukkan semua kenalan"</string>
- <string name="show_favorites_only" msgid="5520072531022614595">"Tunjukkan kegemaran sahaja"</string>
- <string name="call_log_activity_title" msgid="4612824396355272023">"Sejarah"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
- <string name="show_all_contacts_title" msgid="8395378484578221791">"Semua kenalan"</string>
- <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Semua kenalan"</string>
- <string name="favorite_hidden" msgid="4837366417440391323">"Disembunyikan daripada kegemaran"</string>
- <string name="favorite_hidden_undo" msgid="2508998611039406474">"Buat asal"</string>
-</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index cdd18ec..6661d5f 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"stjerne"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"null"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"firkant"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"talepostkasse"</string>
<string name="description_search_button" msgid="3660807558587384889">"søk"</string>
<string name="description_dial_button" msgid="1274091017188142646">"ring"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"tilbaketast"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"ring til"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Anropslogg"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Flere alternativer"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Vis bare tapte"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Vis bare talemeldinger"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Vis alle samtaler"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Legg til kontakt"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Legg til pause på 2 sek."</string>
<string name="add_wait" msgid="3360818652790319634">"Legg til Vent"</string>
<string name="call_settings" msgid="7666474782093693667">"Innstillinger"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Utgående samtale"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Tapt anrop"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Talepostkasse"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Legg til kontakt"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Se kontakten <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Ring til <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Kontaktinformasjon for <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Samtaleinformasjon"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Ny talemelding."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> samtaler."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Send tekstmelding til <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Ikke avspilt talepost"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Slett søk"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Start talesøk"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Ring <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Ukjent"</string>
<string name="voicemail" msgid="3851469869202611441">"Telefonsvarer"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Henter fra SIM-kort…"</string>
<string name="simContacts_title" msgid="27341688347689769">"Kontakter på SIM-kort"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Aktiver Personer-appen på nytt for å bruke denne funksjonen."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Talesøk er ikke tilgjengelig."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Kan ikke ringe fordi Telefon-appen er deaktivert."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Det er ingen installert aktivitet tilgjengelig for å håndtere den valgte handlingen."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Skriv inn et navn eller telefonnummer"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Alle"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Ikke besvart"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Ingen nylige ubesvarte anrop"</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Ingen nylige talemeldinger"</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Vis alle kontakter"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Vis bare favoritter"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Logg"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Alle"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Ikke besvart"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Talemeldinger"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Hurtigoppringing"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Sist brukte"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Kontakter"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Alle kontakter"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Alle kontakter"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Fjernet fra favoritter"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Angre"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Ring <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Legg til i kontakter"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Se hele anropsloggen"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> nye tapte anrop"</string>
<string name="no_favorites" msgid="5212485868783382971">"Favoritter og kontakter du \nringer ofte vises her.\n Ring i vei."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Trykk på bildet for å se alle telefonnumrene, eller trykk og hold inne for å endre rekkefølgen"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Fjern"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Fjern"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Hurtigoppringing"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"ALLE KONTAKTER"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"RING TILBAKE"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"SLETT"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"LYTT"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Tapt anrop fra <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Besvart anrop fra <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Ring til <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Ring tilbake til <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Lytt til talepostkasse fra <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Slett oppføring i samtaleloggen for <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Oppføringen i samtaleloggen slettet."</string>
</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index c8c6bb9..7ffc8bb 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"ster"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"nul"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"hekje"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"voicemail"</string>
<string name="description_search_button" msgid="3660807558587384889">"zoeken"</string>
<string name="description_dial_button" msgid="1274091017188142646">"bellen"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"nummer om te bellen"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Oproepgeschiedenis"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Meer opties"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Alleen gemist weergeven"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Alleen voicemails weergeven"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Alle oproepen weergeven"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Contact toevoegen"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Pauze van 2 seconden toevoegen"</string>
<string name="add_wait" msgid="3360818652790319634">"Wachten toevoegen"</string>
<string name="call_settings" msgid="7666474782093693667">"Instellingen"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Uitgaande oproep"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Gemiste oproep"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Voicemail"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Contact toevoegen"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Contact <xliff:g id="NAME">%1$s</xliff:g> bekijken"</string>
<string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g> bellen"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Contactgegevens voor <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Gespreksgegevens"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Nieuwe voicemail."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> telefoongesprekken."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Sms verzenden naar <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Niet-beluisterde voicemail"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Zoekopdracht wissen"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Gesproken zoekopdracht"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Bel <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Onbekend"</string>
<string name="voicemail" msgid="3851469869202611441">"Voicemail"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Laden vanaf SIM-kaart..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Contacten op SIM-kaart"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Schakel de app \'Personen\' opnieuw in om deze functie te gebruiken."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Gesproken zoekopdrachten zijn niet beschikbaar"</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Kan niet bellen omdat de Telefoon-app is uitgeschakeld."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Geen geïnstalleerde activiteit beschikbaar om de geselecteerde actie te verwerken."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Typ een naam of telefoonnummer"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Alle"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Gemist"</string>
- <string name="recentMissed_empty" msgid="5427113551557296665">"Geen recente gemiste oproepen."</string>
+ <string name="recentMissed_empty" msgid="5427113551557296665">"Geen recente gemiste oproepen"</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Geen recente voicemails."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Alle contacten weergeven"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Alleen favorieten weergeven"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Geschiedenis"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Alle"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Gemist"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Voicemail"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Snelkeuze"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Recent"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Contacten"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Alle contacten"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Alle contacten"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Verwijderd uit favorieten"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Ongedaan maken"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Bel <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Toevoegen aan contacten"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Volledige oproepgeschiedenis bekijken"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> nieuwe gemiste oproepen"</string>
- <string name="no_favorites" msgid="5212485868783382971">"Favorieten en contacten die u\nvaak belt, worden hier weergegeven.\nDus begin met bellen."</string>
+ <string name="no_favorites" msgid="5212485868783382971">"Favorieten en contacten die u\nvaak belt, worden hier weergegeven.\n"</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Tik op de afbeelding om alle nummers te bekijken of raak deze lang aan om de volgorde van nummers te wijzigen"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Sluiten"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Verwijderen"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Snelkeuze"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"ALLE CONTACTEN"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"TERUGBELLEN"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"VERWIJDEREN"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"LUISTEREN"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Gemiste oproep van <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Beantwoorde oproep van <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Oproep aan <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> terugbellen"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Voicemail beluisteren van <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Vermelding in gesprekkenlijst verwijderen voor <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Vermelding in gesprekkenlijst verwijderd."</string>
</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 07ccb56..df8d718 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"gwiazdka"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"zero"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"funt"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"poczta głosowa"</string>
<string name="description_search_button" msgid="3660807558587384889">"szukaj"</string>
<string name="description_dial_button" msgid="1274091017188142646">"wybierz numer"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"numer do wybrania"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Historia połączeń"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Więcej opcji"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Pokaż tylko nieodebrane"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Pokaż tylko pocztę głosową"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Pokaż wszystkie połączenia"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Dodaj kontakt"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Dodaj 2-sekundową pauzę"</string>
<string name="add_wait" msgid="3360818652790319634">"Dodaj oczekiwanie"</string>
<string name="call_settings" msgid="7666474782093693667">"Ustawienia"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Połączenie wychodzące"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Nieodebrane połączenie"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Poczta głosowa"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Dodaj kontakt"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Wyświetl kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Połącz z: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Szczegóły kontaktu: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Szczegóły połączenia"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Nowa poczta głosowa."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"Połączenia: <xliff:g id="NUMBEROFCALLS">%1$s</xliff:g>."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Wyślij SMS do: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nieodsłuchana poczta głosowa"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Wyczyść wyszukiwanie"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Wyszukiwanie głosowe"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Zadzwoń: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Nieznane"</string>
<string name="voicemail" msgid="3851469869202611441">"Poczta głosowa"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Wczytywanie z karty SIM…"</string>
<string name="simContacts_title" msgid="27341688347689769">"Kontakty z karty SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Aby korzystać z tej funkcji, włącz ponownie aplikację Kontakty."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Wyszukiwanie głosowe jest niedostępne."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Nie można zadzwonić, ponieważ aplikacja Telefon została wyłączona."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Brak zainstalowanej aplikacji wykonującej wybrane działanie."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Wpisz nazwisko/numer telefonu"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Wszystkie"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Nieodebrane"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Brak nowych nieodebranych połączeń."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Brak nowej poczty głosowej."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Pokaż wszystkie kontakty"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Pokaż tylko ulubione"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Historia"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Wszystkie"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Nieodebrane"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Poczta gł."</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Szybkie wybieranie"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Niedawne"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Kontakty"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Wszystkie kontakty"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Wszystkie kontakty"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Usunięto z ulubionych"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Cofnij"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Zadzwoń: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Dodaj do kontaktów"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Wyświetl pełną historię połączeń"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"Nowe nieodebrane połączenia: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="no_favorites" msgid="5212485868783382971">"Tutaj będą widoczne Twoje\nulubione i najczęstsze kontakty.\nPora zacząć dzwonić."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Kliknij zdjęcie, by zobaczyć wszystkie numery, lub kliknij je i przytrzymaj, by zmienić kolejność"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Zamknij"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Usuń"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Szybkie wybieranie"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"WSZYSTKIE KONTAKTY"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"ODDZWOŃ"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"USUŃ"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"POSŁUCHAJ"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Nieodebrane połączenie od: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Odebrane połączenie od: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Połączenie wychodzące z: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Oddzwoń do: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Posłuchaj wiadomości głosowej od: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Usuń wpis dziennika połączeń: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Wpis dziennika połączeń został usunięty."</string>
</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index fa7ae19..87f48e0 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -30,7 +30,7 @@
<string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Eliminar correio de voz"</string>
<string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Partilhar correio de voz"</string>
<string name="recentCalls_empty" msgid="247053222448663107">"O registo de chamadas está vazio."</string>
- <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Limpar reg. de cham.?"</string>
+ <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Limpar registo de chamadas?"</string>
<string name="clearCallLogConfirmation" msgid="5043563133171583152">"Todos os registos de chamadas serão eliminados."</string>
<string name="clearCallLogProgress_title" msgid="8365943000154295771">"A limpar registo de chamadas..."</string>
<plurals name="notification_voicemail_title">
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"estrela"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"zero"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"libra"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"correio de voz"</string>
<string name="description_search_button" msgid="3660807558587384889">"pesquisar"</string>
<string name="description_dial_button" msgid="1274091017188142646">"marcar"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"retrocesso"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"número a marcar"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Histórico de Chamadas"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Mais opções"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Mostrar apenas cham. n. atend."</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Mostrar apenas msgs corr. voz"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Mostrar todas as chamadas"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Adicionar contacto"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Adicionar pausa de 2 seg."</string>
<string name="add_wait" msgid="3360818652790319634">"Adicionar espera"</string>
<string name="call_settings" msgid="7666474782093693667">"Definições"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Chamada efetuada"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Chamada não atendida"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Correio de voz"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Adicionar contacto"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Ver o contacto <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Ligar a <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Detalhes de contacto para <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Detalhes da chamada"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Novo correio de voz."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> chamadas."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Enviar mensagem de texto para <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Mensagem de correio de voz ainda não ouvida"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Limpar pesquisa"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Iniciar pesquisa por voz"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Telefonar para <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Desconhecido"</string>
<string name="voicemail" msgid="3851469869202611441">"Correio de voz"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"A carregar a partir do cartão SIM..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Contactos no cartão SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Reative a aplicação Pessoas para utilizar esta funcionalidade."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"A pesquisa por voz não está disponível."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Não é possível efetuar uma chamada porque a aplicação Telefone foi desativada."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Não existe qualquer atividade instalada disponível para processar a ação selecionada."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Introduzir nome ou n.º telef."</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Todos"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Não atendidas"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Não existem chamadas não atendidas recentes."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Não existe correio de voz recente."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Mostrar todos os contactos"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Mostrar apenas os favoritos"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Histórico"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Todos"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Não atendidas"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Corr. Voz"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Marcação rápida"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Recentes"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Contactos"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Todos os contactos"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Todos os contactos"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Removido dos favoritos"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Anular"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Telefonar para <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Adicionar aos contactos"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Ver histórico de chamadas completo"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> chamadas não atendidas novas"</string>
<string name="no_favorites" msgid="5212485868783382971">"Os favoritos e os contactos para os quais\nliga frequentemente serão mostrados aqui,\n por isso, comece a ligar."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Toque na imagem para ver todos os números ou prima sem soltar para reordenar"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Ignorar"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Remover"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Marcação rápida"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"TODOS OS CONTACTOS"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"TELEFONAR DE VOLTA"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"ELIMINAR"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"OUVIR"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Chamada não atendida de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Chamada atendida de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Chamada para <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Telefonar de volta para <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Ouvir o correio de voz de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Eliminar entrada de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> do registo de chamadas"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Entrada eliminada do registo de chamadas."</string>
</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index a2d0fea..e97721c 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"estrela"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"zero"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"libra"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"correio de voz"</string>
<string name="description_search_button" msgid="3660807558587384889">"pesquisar"</string>
<string name="description_dial_button" msgid="1274091017188142646">"discar"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"número para discagem"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Histórico de chamadas"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Mais opções"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Mostrar apenas perdidas"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Exibir apenas mensagens de voz"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Mostrar todas as chamadas"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Adicionar contato"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Adicionar pausa de 2 segundos"</string>
<string name="add_wait" msgid="3360818652790319634">"Adicionar espera"</string>
<string name="call_settings" msgid="7666474782093693667">"Configurações"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Chamada realizada"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Chamada perdida"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Mensagem de voz"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Adicionar contato"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Visualizar contato <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Ligar para <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Detalhes de contato para <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Detalhes da chamada"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Nova mensagem de voz."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> chamadas."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Enviar mensagem de texto para <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nova mensagem de voz"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Limpar pesquisa"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Iniciar pesquisa por voz"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Ligar para <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Desconhecido"</string>
<string name="voicemail" msgid="3851469869202611441">"Correio de voz"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Carregando do cartão SIM..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Contatos do cartão SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Reative o aplicativo Pessoas para usar este recurso."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"A pesquisa por voz não está disponível."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Não é possível fazer uma chamada porque o aplicativo Telefone foi desativado."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Nenhuma atividade instalada disponível para a ação selecionada."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Digite um nome ou telefone"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Tudo"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Perdidas"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Nenhuma chamada perdida recente."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Nenhuma mensagem de voz recente."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Mostrar todos os contatos"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Mostrar somente favoritos"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Histórico"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Tudo"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Perdidas"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Correio de voz"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Discagem rápida"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Recentes"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Contatos"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Todos os contatos"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Todos os contatos"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Removido dos favoritos"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Desfazer"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Ligar para <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Adicionar aos contatos"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Ver todo o histórico de chamadas"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> novas chamadas perdidas"</string>
<string name="no_favorites" msgid="5212485868783382971">"Seus favoritos e os contatos\npara os quais você liga com mais frequência aparecerão aqui.\nComece a ligar!"</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Toque na imagem para ver todos os números ou pressione e segure para reordenar"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Descartar"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Remover"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Discagem rápida"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"TODOS OS CONTATOS"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"RETORNAR CHAMADA"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"EXCLUIR"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"OUVIR"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Chamada perdida de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Chamada atendida de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Chamada para <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Retornar chamada de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Ouvir mensagem de voz de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Excluir a entrada do registro de chamadas para <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Entrada do registro de chamadas excluída."</string>
</resources>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index e1b7c63..b6cd048 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -104,11 +104,9 @@
<string name="description_image_button_star" msgid="3365919907520767866">"staila"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"nulla"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"glivra"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"Mailbox"</string>
<!-- no translation found for description_search_button (3660807558587384889) -->
<skip />
<string name="description_dial_button" msgid="1274091017188142646">"cumponer"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"tasta da return"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"numer da cumponer"</string>
<!-- no translation found for action_menu_call_history_description (9018442816219748968) -->
<skip />
@@ -129,6 +127,8 @@
<skip />
<!-- no translation found for menu_show_all_calls (7560347482073345885) -->
<skip />
+ <!-- no translation found for add_contact (8875804371377471164) -->
+ <skip />
<string name="add_2sec_pause" msgid="9214012315201040129">"Agiuntar ina pausa da 2 secundas"</string>
<string name="add_wait" msgid="3360818652790319634">"Agiuntar Spetgar"</string>
<!-- no translation found for call_settings (7666474782093693667) -->
@@ -157,19 +157,25 @@
<skip />
<!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
<skip />
- <!-- no translation found for description_add_contact (3103414772502485851) -->
- <skip />
<!-- no translation found for description_view_contact (5205669345700598415) -->
<skip />
<!-- no translation found for description_call (3443678121983852666) -->
<skip />
+ <!-- no translation found for description_contact_details (51229793651342809) -->
+ <skip />
+ <!-- no translation found for description_call_details (8936017517290240089) -->
+ <skip />
+ <!-- no translation found for description_new_voicemail (2133792360865517746) -->
+ <skip />
+ <!-- no translation found for description_num_calls (1601505153694540074) -->
+ <skip />
<!-- no translation found for description_send_text_message (7803126439934046891) -->
<skip />
<!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
<skip />
- <!-- no translation found for description_start_voice_search (520539488194946012) -->
+ <!-- no translation found for description_clear_search (688023606766232904) -->
<skip />
- <!-- no translation found for call_log_empty_gecode (2019639420045039861) -->
+ <!-- no translation found for description_start_voice_search (520539488194946012) -->
<skip />
<!-- no translation found for menu_callNumber (997146291983360266) -->
<skip />
@@ -193,41 +199,33 @@
<string name="simContacts_title" msgid="27341688347689769">"Contacts sin la carta SIM"</string>
<!-- no translation found for add_contact_not_available (1419207765446461366) -->
<skip />
+ <!-- no translation found for voice_search_not_available (7580616740587850828) -->
+ <skip />
+ <!-- no translation found for call_not_available (8941576511946492225) -->
+ <skip />
+ <!-- no translation found for activity_not_available (8265265380537872585) -->
+ <skip />
<!-- no translation found for dialer_hint_find_contact (8798845521253672403) -->
<skip />
- <!-- no translation found for call_log_all_title (3566738938889333307) -->
- <skip />
- <!-- no translation found for call_log_missed_title (4541142293870638971) -->
- <skip />
<!-- no translation found for recentMissed_empty (5427113551557296665) -->
<skip />
<!-- no translation found for recentVoicemails_empty (5163114119598014048) -->
<skip />
- <!-- no translation found for show_all_contacts (1732256558071778056) -->
- <skip />
<!-- no translation found for show_favorites_only (5520072531022614595) -->
<skip />
<!-- no translation found for call_log_activity_title (4612824396355272023) -->
<skip />
- <!-- no translation found for dialpad_0_number (8859392433961251108) -->
+ <!-- no translation found for call_log_all_title (3566738938889333307) -->
<skip />
- <!-- no translation found for dialpad_1_number (6536740525419909212) -->
+ <!-- no translation found for call_log_missed_title (4541142293870638971) -->
<skip />
- <!-- no translation found for dialpad_2_number (4941546415280852148) -->
+ <!-- no translation found for call_log_voicemail_title (940422274047025948) -->
<skip />
- <!-- no translation found for dialpad_3_number (6539414865185536881) -->
+ <!-- no translation found for tab_speed_dial (7807567599021643864) -->
<skip />
- <!-- no translation found for dialpad_4_number (979988372051042362) -->
+ <!-- no translation found for tab_recents (929949073851377206) -->
<skip />
- <!-- no translation found for dialpad_5_number (5492272478939926734) -->
- <skip />
- <!-- no translation found for dialpad_6_number (8044579516869379093) -->
- <skip />
- <!-- no translation found for dialpad_7_number (4175113016564167123) -->
- <skip />
- <!-- no translation found for dialpad_8_number (7949849563865941621) -->
- <skip />
- <!-- no translation found for dialpad_9_number (4377059952097526576) -->
+ <!-- no translation found for tab_all_contacts (1410922767166533690) -->
<skip />
<!-- no translation found for show_all_contacts_title (8395378484578221791) -->
<skip />
@@ -241,6 +239,8 @@
<skip />
<!-- no translation found for search_shortcut_add_to_contacts (1853716708655789069) -->
<skip />
+ <!-- no translation found for recents_footer_text (7315554578957453359) -->
+ <skip />
<!-- no translation found for num_missed_calls (8081736535604293886) -->
<skip />
<!-- no translation found for no_favorites (5212485868783382971) -->
@@ -249,4 +249,30 @@
<skip />
<!-- no translation found for description_dismiss (2146276780562549643) -->
<skip />
+ <!-- no translation found for remove_contact (1080555335283662961) -->
+ <skip />
+ <!-- no translation found for favorites_menu_speed_dial (3832518092014707628) -->
+ <skip />
+ <!-- no translation found for favorites_menu_all_contacts (992506284449891186) -->
+ <skip />
+ <!-- no translation found for call_log_action_call_back (4944463006859852473) -->
+ <skip />
+ <!-- no translation found for call_log_action_delete (7371990297839987600) -->
+ <skip />
+ <!-- no translation found for call_log_action_voicemail (4978620572562925654) -->
+ <skip />
+ <!-- no translation found for description_incoming_missed_call (2610535352863246949) -->
+ <skip />
+ <!-- no translation found for description_incoming_answered_call (7206670204016969740) -->
+ <skip />
+ <!-- no translation found for description_outgoing_call (3964211633673659733) -->
+ <skip />
+ <!-- no translation found for description_call_back_action (3012837380108884260) -->
+ <skip />
+ <!-- no translation found for description_voicemail_action (8054891873788903063) -->
+ <skip />
+ <!-- no translation found for description_delete_action (7188614068459616450) -->
+ <skip />
+ <!-- no translation found for toast_entry_removed (3389119736202317999) -->
+ <skip />
</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 53cc3ab..8da161f 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"stea"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"zero"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"clar"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"Mesaj vocal"</string>
<string name="description_search_button" msgid="3660807558587384889">"căutare"</string>
<string name="description_dial_button" msgid="1274091017188142646">"apelaţi"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"tasta backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"numărul de apelat"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Istoricul apelurilor"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Mai multe opţiuni"</string>
@@ -89,6 +87,8 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Numai apelurile nepreluate"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Afişaţi numai mesajele vocale"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Afişaţi toate apelurile"</string>
+ <!-- no translation found for add_contact (8875804371377471164) -->
+ <skip />
<string name="add_2sec_pause" msgid="9214012315201040129">"Pauză 2 secunde"</string>
<string name="add_wait" msgid="3360818652790319634">"Adăugaţi interval de aşteptare"</string>
<string name="call_settings" msgid="7666474782093693667">"Setări"</string>
@@ -109,13 +109,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Apel de ieşire"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Apel nepreluat"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Mesaj vocal"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Adăugaţi o persoană în agendă"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Afişaţi persoana din agendă <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Apelaţi pe <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Detalii de contact pentru <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Detaliile apelului"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Mesaj vocal nou."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> (de) apeluri."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Trimiteţi un mesaj text către <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Mesaje vocale neascultate"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Ștergeți căutarea"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Începeţi căutarea vocală"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Apelaţi <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Necunoscut"</string>
<string name="voicemail" msgid="3851469869202611441">"Mesagerie vocală"</string>
@@ -133,32 +136,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Se încarcă de pe cardul SIM..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Persoanele din agendă de pe cardul SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Pentru a utiliza această funcție, reactivați aplicația Persoane."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Funcția Căutare vocală nu este disponibilă."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Nu se poate efectua un apel telefonic, deoarece aplicația Telefon a fost dezactivată."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Nu este disponibilă nicio aplicație instalată pentru efectuarea acțiunii selectate."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Introd. nume sau nr. telefon"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Toate"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Nepreluate"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Nu există apeluri nepreluate recente."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Nu există mesaje vocale recente."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Afișați toate persoanele de contact"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Afișați numai preferate"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Istoric"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Toate"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Nepreluate"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Mes. vocal"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Apelare rapidă"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Recente"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Agendă"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Toată agenda"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Toată agenda"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"S-a eliminat din preferate"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Anulați"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Apelați <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Adăugați în Agendă"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Vedeți istoricul complet al apelurilor"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> (de) apeluri nepreluate noi"</string>
<string name="no_favorites" msgid="5212485868783382971">"Preferințele și persoanele din Agendă pe care \nle apelați frecvent vor fi afișate aici.\nÎncepeți să faceți apeluri."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Atingeți imaginea pentru a vedea toate numerele sau apăsați și țineți apăsat pentru a reordona"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Închideți"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Eliminați"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Apelare rapidă"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"TOATĂ AGENDA"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"SUNAȚI"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"ȘTERGEȚI"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"ASCULTAȚI"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Apel pierdut de la <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Apel preluat de la <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Sunați la <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Sunați <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Ascultați mesajul vocal de la <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Ștergeți intrarea din jurnalul de apeluri pentru <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Intrarea din jurnalul de apeluri a fost ștearsă."</string>
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 5a9d84b..8944600 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"пометить"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"нуль"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"решетка"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"голосовая почта"</string>
<string name="description_search_button" msgid="3660807558587384889">"поиск"</string>
<string name="description_dial_button" msgid="1274091017188142646">"набор номера"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"удаление последнего символа"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"набираемый номер"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"История вызовов"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Ещё"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Пропущенные"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Показать голосовые сообщения"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Все вызовы"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Добавить в контакты"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Добавить двухсекундную паузу"</string>
<string name="add_wait" msgid="3360818652790319634">"Добавить паузу"</string>
<string name="call_settings" msgid="7666474782093693667">"Настройки"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Исходящий вызов"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Пропущенный вызов"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Голосовая почта"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Добавить контакт"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Просмотреть данные: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Позвонить: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Сведения о контакте <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Сведения о вызове"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Новое голосовое сообщение."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"Вызовов: <xliff:g id="NUMBEROFCALLS">%1$s</xliff:g>."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Отправить текстовое сообщение: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Непрослушанные сообщения голосовой почты"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Очистить условия поиска"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Начать голосовой поиск"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Позвонить: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Неизвестно"</string>
<string name="voicemail" msgid="3851469869202611441">"Голосовая почта"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Загрузка с SIM-карты…"</string>
<string name="simContacts_title" msgid="27341688347689769">"Контакты на SIM-карте"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Чтобы использовать эту функцию, включите приложение \"Контакты\"."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Голосовой поиск недоступен"</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Нельзя совершать телефонные звонки, поскольку приложение \"Телефон\" отключено."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"На устройстве нет приложения для этого действия."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Введите имя или номер телефона"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Все"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Пропущенные"</string>
- <string name="recentMissed_empty" msgid="5427113551557296665">"Нет пропущенных звонков"</string>
+ <string name="recentMissed_empty" msgid="5427113551557296665">"Нет пропущенных звонков."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Нет новых голосовых сообщений"</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Все контакты"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Только часто используемые"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"История"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Все"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Пропущенные"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Г. почта"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Быстрый набор"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Недавние"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Контакты"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Все контакты"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Все контакты"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Контакт удален из избранных"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Отмена"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Позвонить: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Добавить в контакты"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Посмотреть весь журнал звонков"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"Пропущенных вызовов: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="no_favorites" msgid="5212485868783382971">"Здесь будут отображаться избранные элементы\nи контакты, которым вы звоните чаще всего.\nОбщайтесь с удовольствием."</string>
- <string name="contact_tooltip" msgid="7817483485692282287">"Нажмите на фото, чтобы посмотреть все номера. Чтобы изменить порядок номеров, нажмите и удерживайте фото."</string>
+ <string name="contact_tooltip" msgid="7817483485692282287">"Нажмите на фото, чтобы посмотреть информацию о контакте. Чтобы переставить контакт в списке, нажмите на него и передвиньте на нужное место."</string>
<string name="description_dismiss" msgid="2146276780562549643">"Закрыть"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Удалить"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Быстрый набор"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"ВСЕ КОНТАКТЫ"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"ВЫЗОВ"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"УДАЛИТЬ"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"ПРОСЛУШАТЬ"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Пропущен вызов от контакта <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>. <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Принят вызов от контакта <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>. <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Звонок контакту <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>. <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Перезвонить контакту <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>."</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Прослушать сообщение от контакта <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>."</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Удалить запись для контакта <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> из списка вызовов."</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Запись удалена"</string>
</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 9a22313..8484e9c 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"označiť hviezdičkou"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"nula"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"libra"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"hlasová schránka"</string>
<string name="description_search_button" msgid="3660807558587384889">"hľadať"</string>
<string name="description_dial_button" msgid="1274091017188142646">"vytáčanie"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"číslo, ktoré chcete vytočiť"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"História hovorov"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Ďalšie možnosti"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Zobraziť len zmeškané"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Zobraziť len hlasové správy"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Zobraziť všetky hovory"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Pridať kontakt"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Pridať dvojsekundovú pauzu"</string>
<string name="add_wait" msgid="3360818652790319634">"Pridať čakanie"</string>
<string name="call_settings" msgid="7666474782093693667">"Nastavenia"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Odchádzajúci hovor"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Zmeškaný hovor"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Hlasová schránka"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Pridať kontakt"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Zobraziť kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Volať kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Podrobnosti kontaktu pre <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Podrobnosti hovoru"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Nová hlasová správa."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"Počet volaní: <xliff:g id="NUMBEROFCALLS">%1$s</xliff:g>."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Poslať textovú správu kontaktu <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nevypočutá hlasová správa"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Vymazať vyhľadávanie"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Spustenie hlasového vyhľadávania"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Volať <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Neznáme"</string>
<string name="voicemail" msgid="3851469869202611441">"Hlasová schránka"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Prebieha načítavanie z karty SIM..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Kontakty na karte SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Ak chcete použiť túto funkciu, znova povoľte aplikáciu Ľudia."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Hlasové vyhľadávanie nie je k dispozícii."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Nie je možné volať, pretože aplikácia Telefón bola deaktivovaná."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Nie je nainštalovaná žiadna aplikácia na spracovanie vybranej akcie."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Zadajte meno alebo tel. číslo"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Všetky"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Zmeškané"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Žiadne nedávne zmeškané hovory."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Žiadne nedávne hlasové správy."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Zobraziť všetky kontakty"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Zobraziť iba obľúbené"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"História"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Všetky"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Zmeškané"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Schránka"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Rýchla voľba"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Nedávne"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Kontakty"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Všetky kontakty"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Všetky kontakty"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Odstránené z obľúbených"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Späť"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Volať na číslo <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Pridať do kontaktov"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Zobraziť úplnú históriu hovorov"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"Počet nových zmeškaných hovorov: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="no_favorites" msgid="5212485868783382971">"Obľúbení ľudia a kontakty,\nktorým často voláte, sa zobrazia tu.\nZačnite teda volať."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Klepnutím na obrázok zobrazíte všetky čísla a pridržaním ich zoradíte"</string>
- <string name="description_dismiss" msgid="2146276780562549643">"Zrušiť"</string>
+ <string name="description_dismiss" msgid="2146276780562549643">"Zatvoriť"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Odstrániť"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Rýchla voľba"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"VŠETKY KONTAKTY"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"ZAVOLAŤ SPÄŤ"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"ODSTRÁNIŤ"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"POČÚVAŤ"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Zmeškaný hovor od používateľa <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Prijatý hovor od používateľa <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Volať používateľovi <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Zavolať späť používateľovi <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Vypočuť si správu v hlasovej schránke od používateľa <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Odstrániť záznam v denníku hovorov pre kontakt <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Záznam v denníku hovorov bol odstránený."</string>
</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 717ac9d..63bdf92 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"zvezdica"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"nič"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"funt"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"glasovna pošta"</string>
<string name="description_search_button" msgid="3660807558587384889">"iskanje"</string>
<string name="description_dial_button" msgid="1274091017188142646">"pokliči"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"vračalka"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"številka, ki bo poklicana"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Zgodovina klicev"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Več možnosti"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Pokaži samo neodgovorjene"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Pokaži samo spor. glasovne pošte"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Pokaži vse klice"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Dodaj stik"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Dodaj 2 sekundi premora"</string>
<string name="add_wait" msgid="3360818652790319634">"Dodaj premor"</string>
<string name="call_settings" msgid="7666474782093693667">"Nastavitve"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Odhodni klic"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Neodgovorjeni klic"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Sporočila glasovne pošte"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Dodajanje stika"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Ogled stika <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Klicanje osebe <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Podrobnosti stika za <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Podrobnosti klica"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Novo sporočilo v odzivniku."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"Št. klicev: <xliff:g id="NUMBEROFCALLS">%1$s</xliff:g>."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Pošlji SMS osebi <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Neodprta glasovna pošta"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Počisti iskalno polje"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Začni glasovno iskanje"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Pokliči <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Neznano"</string>
<string name="voicemail" msgid="3851469869202611441">"Glasovna pošta"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Nalaganje s kartice SIM ..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Stiki na kartici SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Aplikaciji Osebe znova omogočite uporabo te funkcije."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Glasovno iskanje ni na voljo."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Ni mogoče opraviti telefonskega klica, ker je aplikacija Telefon onemogočena."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Na voljo ni nobene nameščene aplikacije za obdelavo izbranega dejanja."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Vnesite ime ali tel. številko"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Vsa"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Neodgovorjena"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Ni nedavnih neodgovorjenih klicev."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Ni nedavnih sporočil v odzivniku."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Pokaži vse stike"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Pokaži samo priljubljene"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Zgodovina"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Vsa"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Neodgovorjena"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Odzivnik"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Hitro izbiranje"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Nedavni"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Stiki"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Vsi stiki"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Vsi stiki"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Odstranjeno iz priljubljenih"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Razveljavi"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Pokliči <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Dodaj med stike"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Prikaz celotne zgodovine klicev"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"Št. novih zgrešenih klicev: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="no_favorites" msgid="5212485868783382971">"Priljubljeni stiki in stiki,\nki jih pogosto kličete, bodo prikazani tukaj.\nKar začnite klicati."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Dotaknite se slike, da prikažete vse številke, ali jo pritisnite in pridržite, da spremenite vrstni red"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Opusti"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Odstrani"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Hitro izbiranje"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"VSI STIKI"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"POVRATNI KLIC"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"IZBRIŠI"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"POSLUŠAJ"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Neodgovorjeni klic ob <xliff:g id="TIMEOFCALL">%3$s</xliff:g> od: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> – <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Prejeti klic ob <xliff:g id="TIMEOFCALL">%3$s</xliff:g> od: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> – <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Klic: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> – <xliff:g id="TYPEORLOCATION">%2$s</xliff:g> ob <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Povratni klic: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Poslušajte sporočilo v odzivniku od: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Izbriši vnos v dnevnik klicev za: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Vnos v dnevnik klicev je izbrisan."</string>
</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 4362484..8d6c91d 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"звездица"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"нула"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"фунта"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"говорна пошта"</string>
<string name="description_search_button" msgid="3660807558587384889">"претражи"</string>
<string name="description_dial_button" msgid="1274091017188142646">"бирање"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"број за бирање"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Историја позива"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Још опција"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Прикажи само пропуштене"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Прикажи само говорне поруке"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Прикажи све позиве"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Додај контакт"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Додај паузу од 2 секунде"</string>
<string name="add_wait" msgid="3360818652790319634">"Додај чекање"</string>
<string name="call_settings" msgid="7666474782093693667">"Подешавања"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Одлазни позив"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Пропуштен позив"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Говорна пошта"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Додавање контакта"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Прикажи контакт <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Позови корисника <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Детаљи о контакту за <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Детаљи позива"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Нова говорна порука."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> позива."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Слање текстуалне поруке контакту <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Непреслушана говорна пошта"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Брисање претраге"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Покретање гласовне претраге"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Позови <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Непознато"</string>
<string name="voicemail" msgid="3851469869202611441">"Говорна пошта"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Учитавање са SIM картице је у току…"</string>
<string name="simContacts_title" msgid="27341688347689769">"Контакти на SIM картици"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Поново омогућите апликацију Људи да бисте користили ову функцију."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Гласовна претрага није доступна."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Није могуће упутити телефонски позив јер је апликација Телефон онемогућена."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Нема доступне инсталиране активности за руковање изабраном радњом."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Унесите име или број телефона"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Све"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Пропуштени"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Нема недавно пропуштених позива."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Нема недавно примљене говорне поште."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Прикажи све контакте"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Прикажи само омиљене"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Историја"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Све"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Пропуштени"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Говорна пошта"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Брзо позивање"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Недавни контакти"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Контакти"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Сви контакти"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Сви контакти"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Уклоњено је из омиљених"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Опозови"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Позови <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Додај у контакте"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Приказ пуне историје позива"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"Нових пропуштених позива: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="no_favorites" msgid="5212485868783382971">"Овде ће се приказати омиљени и\nчесто позивани контакти.\nПа почните са позивањем."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Додирните слику да бисте видели све бројеве или притисните и задржите да бисте променили распоред"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Одбаци"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Уклони"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Брзо позивање"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"СВИ КОНТАКТИ"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"УПУТИ ПОВРАТНИ ПОЗИВ"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"ИЗБРИШИ"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"ПУСТИ"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Пропуштени позив од <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Примљени позив од <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Позив за <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Упути повратни позив за <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Пусти говорну пошту од <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Избриши унос у евиденцији позива за <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Унос у евиденцији позива је избрисан."</string>
</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 757e2b5..314fea1 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"Stjärna"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"noll"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"pund"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"röstbrevlåda"</string>
<string name="description_search_button" msgid="3660807558587384889">"sök"</string>
<string name="description_dial_button" msgid="1274091017188142646">"ring"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backsteg"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"nummer att ringa"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Samtalshistorik"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Fler alternativ"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Visa endast missade samtal"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Visa bara röstmeddelanden"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Visa alla samtal"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Lägg till kontakt"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Lägg till en paus på 2 sek."</string>
<string name="add_wait" msgid="3360818652790319634">"Lägg till väntetid"</string>
<string name="call_settings" msgid="7666474782093693667">"Inställningar"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Utgående samtal"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Missat samtal"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Röstmeddelande"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Lägg till kontakt"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Visa kontakten <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Ring <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Kontaktuppgifter för <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Samtalsinfo"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Nytt meddelande i röstbrevlådan"</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> samtal."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Skicka SMS till <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Ej hört röstmeddelande"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Rensa sökning"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Starta röstsökning"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Ring <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Okänd"</string>
<string name="voicemail" msgid="3851469869202611441">"Röstbrevlåda"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Läser in från SIM-kort…"</string>
<string name="simContacts_title" msgid="27341688347689769">"Kontakter från SIM-kort"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Aktivera appen Personer på nytt om du vill använda den här funktionen."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Röstsökning är inte tillgängligt."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Det går inte att ringa eftersom appen Telefon har inaktiverats."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Det finns ingen installerad app som är tillgänglig för att hantera den valda åtgärden."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Ange ett namn eller telefonnummer"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Alla"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Missade"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Inga nya missade samtal."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Inga nya röstmeddelanden."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Visa alla kontakter"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Visa endast favoriter"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Historik"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Alla"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Missade"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Röstbrevlåda"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Snabbval"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Senaste"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Kontakter"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Alla kontakter"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Alla kontakter"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Borttagen från favoriter"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Ångra"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Ring <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Lägg till i Kontakter"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Visa hela samtalshistoriken"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> nya missade samtal"</string>
<string name="no_favorites" msgid="5212485868783382971">"Dina favoriter och kontakterna du\nofta ringer till visas här.\nSå det är bara att börja ringa."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Tryck på bilden om du vill visa alla nummer eller tryck länge om du vill flytta den"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Avvisa"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Ta bort"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Snabbval"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"ALLA KONTAKTER"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"RING UPP"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"TA BORT"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"LYSSNA"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Missat samtal från <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Besvarat samtal från <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Ring till <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Ring upp <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Lyssna på ett röstmeddelande från <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Ta bort posten i samtalsloggen för <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Posten i samtalsloggen har tagits bort."</string>
</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index bbe0b73..4ed4a5f 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"nyota"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"sufuri"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"Pauni"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"Ujumbe wa sauti"</string>
<string name="description_search_button" msgid="3660807558587384889">"tafuta"</string>
<string name="description_dial_button" msgid="1274091017188142646">"piga simu"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"futa"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"nambari ya kupiga"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Historia ya Simu"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Chaguo zaidi"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Onyesha zilizokosa kupokewa pekee"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Onyesha barua za sauti pekee"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Onyesha simu zote"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Ongeza anwani"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Ongeza usitishaji wa sekunde 2"</string>
<string name="add_wait" msgid="3360818652790319634">"Ongeza kusubiri"</string>
<string name="call_settings" msgid="7666474782093693667">"Mipangilio"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Simu inayotoka"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Simu isiyojibiwa"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Barua za sauti"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Ongeza anwani"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Angalia anwani <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Piga <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Maelezo ya <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Maelezo ya simu"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Ujumbe mpya wa sauti."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"Simu <xliff:g id="NUMBEROFCALLS">%1$s</xliff:g>."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Tuma ujumbe wa maandishi kwa <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Barua sauti ambayo haijasikizwa"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Futa utafutaji"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Anza kutafuta kwa kutamka"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Piga simu <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Haijulikani"</string>
<string name="voicemail" msgid="3851469869202611441">"Ujumbe wa sauti"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Inapakia kutoka SIM kadi..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Anwani za SIM kadi"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Washa tena Programu ya watu ili itumie kipengele hiki."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Utafutaji kwa kutamka haupatikani."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Haiwezi kupiga simu kwa sababu programu ya Simu imezimwa."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Hakuna shughuli iliyosakinishwa imepatikana ya kushughulikia kitendo kilichochaguliwa."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Andika jina au nambari ya simu"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Zote"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Ambazo hazikupokewa"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Hakuna simu za hivi karibuni ambazo hazikupokewa."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Hakuna ujumbe wa sauti wa hivi karibuni."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Onyesha anwani zote"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Onyesha zinazopendwa tu"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Historia"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Zote"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Ambazo hazikupokewa"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Ujumbe wa sauti"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Unaowasiliana nao zaidi"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Zilizotumika majuzi"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Walioalikwa"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Anwani zote"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Anwani zote"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Imeondolowa kwenye vipendwa"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Tendua"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Piga simu <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Ongeza kwenye anwani"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Angalia historia kamili ya simu zilizopigwa"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"Simu <xliff:g id="NUMBER">%s</xliff:g> za karibuni ambazo hazikujibiwa"</string>
- <string name="no_favorites" msgid="5212485868783382971">"Vipendwa na nambari \n unazopiga mara nyingi zitaonekana hapa.\nKwa hivyo, anza kupiga."</string>
+ <string name="no_favorites" msgid="5212485868783382971">"Vipendwa na nambari \n unazopiga mara nyingi zitaonekana hapa.\nKwa hivyo, anza kupiga simu."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Gonga picha ili uone nambari zote au bonyeza na ushikilie ili upange upya"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Ondoa"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Ondoa"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Unaowasiliana nao zaidi"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"ANWANI ZOTE"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"PIGA SIMU"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"FUTA"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"SIKILIZA"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Simu ambayo haikujibiwa kutoka kwa <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Simu iliyopokelewa kutoka kwa <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Simu kwa <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Piga simu kwa <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Sikiliza ujumbe wa sauti kutoka kwa <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Futa rekodi ya simu ya <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Kumbukumbu ya simu imefutwa."</string>
</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index a423ab0..73b12bc 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -28,7 +28,7 @@
<string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"ลบจากบันทึกการโทร"</string>
<string name="recentCalls_deleteAll" msgid="6352364392762163704">"ล้างบันทึกการโทร"</string>
<string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"ลบข้อความเสียง"</string>
- <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"แบ่งปันข้อความเสียง"</string>
+ <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"แชร์ข้อความเสียง"</string>
<string name="recentCalls_empty" msgid="247053222448663107">"บันทึกการโทรว่างเปล่า"</string>
<string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"ล้างบันทึกการโทร"</string>
<string name="clearCallLogConfirmation" msgid="5043563133171583152">"บันทึกการโทรทั้งหมดของคุณจะถูกลบออก"</string>
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"ติดดาว"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"ศูนย์"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"ปอนด์"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"ข้อความเสียง"</string>
<string name="description_search_button" msgid="3660807558587384889">"ค้นหา"</string>
<string name="description_dial_button" msgid="1274091017188142646">"หมุนหมายเลข"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"ย้อนกลับ"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"หมายเลขที่จะโทร"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"ประวัติการโทร"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"ตัวเลือกเพิ่มเติม"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"แสดงสายที่ไม่ได้รับเท่านั้น"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"แสดงเฉพาะข้อความเสียง"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"แสดงการโทรทั้งหมด"</string>
+ <string name="add_contact" msgid="8875804371377471164">"เพิ่มที่อยู่ติดต่อ"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"เพิ่มช่วงคั่น 2 วินาที"</string>
<string name="add_wait" msgid="3360818652790319634">"เพิ่มการรอ"</string>
<string name="call_settings" msgid="7666474782093693667">"การตั้งค่า"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"สายโทรออก"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"สายที่ไม่ได้รับ"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"ข้อความเสียง"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"เพิ่มรายชื่อติดต่อ"</string>
<string name="description_view_contact" msgid="5205669345700598415">"ดูรายชื่อติดต่อ <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"โทรหา <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"รายละเอียดที่อยู่ติดต่อสำหรับ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"รายละเอียดการโทร"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"ข้อความเสียงใหม่"</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> สาย"</string>
<string name="description_send_text_message" msgid="7803126439934046891">"ส่งข้อความไปที่ <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"ข้อความเสียงที่ยังไม่ได้ฟัง"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"ล้างการค้นหา"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"เริ่มต้นการค้นหาด้วยเสียง"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"โทร <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"ไม่ทราบ"</string>
<string name="voicemail" msgid="3851469869202611441">"ข้อความเสียง"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"กำลังโหลดจากซิมการ์ด…"</string>
<string name="simContacts_title" msgid="27341688347689769">"รายชื่อบนซิมการ์ด"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"เปิดใช้งานแอปพลิเคชัน People อีกครั้งเพื่อใช้คุณลักษณะนี้"</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"ค้นหาด้วยเสียงไม่สามารถใช้งานได้"</string>
+ <string name="call_not_available" msgid="8941576511946492225">"ไม่สามารถโทรศัพท์ได้เนื่องจากแอปพลิเคชันโทรศัพท์ถูกปิดใช้งาน"</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"ไม่มีกิจกรรมที่ติดตั้งไว้ใช้จัดการการดำเนินการที่เลือก"</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"พิมพ์ชื่อหรือหมายเลขโทรศัพท์"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"ทั้งหมด"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"ไม่ได้รับ"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"ไม่มีสายที่ไม่ได้รับล่าสุด"</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"ไม่มีข้อความเสียงล่าสุด"</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"แสดงรายชื่อในสมุดโทรศัพท์ทั้งหมด"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"แสดงเฉพาะรายชื่อที่ชื่นชอบ"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"ประวัติ"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"ทั้งหมด"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"ไม่ได้รับ"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"ข้อความเสียง"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"โทรด่วน"</string>
+ <string name="tab_recents" msgid="929949073851377206">"ล่าสุด"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"ที่อยู่ติดต่อ"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"ที่อยู่ติดต่อทั้งหมด"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"ที่อยู่ติดต่อทั้งหมด"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"นำออกจากรายการโปรด"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"เลิกทำ"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"โทร <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"เพิ่มในสมุดติดต่อ"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"ดูประวัติการโทรแบบเต็ม"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"สายที่ไม่ได้รับใหม่ <xliff:g id="NUMBER">%s</xliff:g> สาย"</string>
<string name="no_favorites" msgid="5212485868783382971">"รายการโปรดและรายชื่อติดต่อที่คุณ\nโทรหาบ่อยจะแสดงที่นี่\n เริ่มโทรได้"</string>
<string name="contact_tooltip" msgid="7817483485692282287">"แตะรูปภาพเพื่อดูหมายเลขทั้งหมด หรือกดค้างเพื่อจัดลำดับใหม่"</string>
<string name="description_dismiss" msgid="2146276780562549643">"ปิด"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"นำออก"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"เรียกใช้ฉับไว"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"รายชื่อติดต่อทั้งหมด"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"โทรกลับ"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"ลบ"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"ฟัง"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"สายที่ไม่ได้รับจาก <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>"</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"สายที่ได้รับจาก <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>"</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"โทรไปยัง <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>"</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"โทรกลับ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"ฟังข้อความเสียงจาก <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"ลบรายการประวัติการโทรสำหรับ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"ลบรายการประวัติการโทรแล้ว"</string>
</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 15f26ee..162487a 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"lagyan ng bituin"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"zero"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"pound"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"voicemail"</string>
<string name="description_search_button" msgid="3660807558587384889">"maghanap"</string>
<string name="description_dial_button" msgid="1274091017188142646">"mag-dial"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"numerong ida-dial"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Kasaysayan ng Tawag"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Higit pang mga pagpipilian"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Ipakita lang ang hindi nasagot"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Ipakita lamang ang mga voicemail"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Ipakita ang lahat ng tawag"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Magdagdag ng contact"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Magdagdag ng pag-pause na 2-seg"</string>
<string name="add_wait" msgid="3360818652790319634">"Magdagdag ng paghihintay"</string>
<string name="call_settings" msgid="7666474782093693667">"Mga Setting"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Papalabas na tawag"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Hindi nasagot na tawag"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Voicemail"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Magdagdag ng contact"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Tingnan ang contact na si <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Tawagan si <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Mga detalye sa pakikipag-ugnayan para kay/sa <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Mga detalye ng tawag"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Bagong voicemail."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> (na) tawag."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Ipadala ang text message kay <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Hindi pa naririnig na voicemail"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"I-clear ang paghahanap"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Simulan ang paghahanap gamit ang boses"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Tumawag sa <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Di-kilala"</string>
<string name="voicemail" msgid="3851469869202611441">"Voicemail"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Naglo-load mula sa SIM card…"</string>
<string name="simContacts_title" msgid="27341688347689769">"Mga contact sa SIM card"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Paganahing muli ang application ng Mga Tao upang magamit ang tampok na ito."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Hindi available ang paghahanap gamit ang boses."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Hindi makagawa ng tawag sa telepono dahil naka-disable ang application na Telepono."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Walang available na naka-install na aktibidad upang pangasiwaan ang napiling pagkilos."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"I-type pangalan o phone number"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Lahat"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Di nasagot"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Walang mga kamakailang hindi nasagot na tawag."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Walang mga kamakailang voicemail."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Ipakita ang lahat ng contact"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Mga paborito lang ang ipakita"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Kasaysayan"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Lahat"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Di nasagot"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Voicemail"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Speed Dial"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Mga Kamakailan"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Mga Contact"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Lahat ng contact"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Lahat ng contact"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Inalis sa mga paborito"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"I-undo"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Tumawag sa <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Idagdag sa mga contact"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Tingnan ang buong kasaysayan ng tawag"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> (na) bagong hindi nasagot na tawag"</string>
- <string name="no_favorites" msgid="5212485868783382971">"Lalabas dito ang mga paborito at contact na\nmadalas mong tinatawagan.\nKaya, simulan ang pagtawag."</string>
+ <string name="no_favorites" msgid="5212485868783382971">"Ipapakita dito ang mga paborito at contact na\nmadalas mong tinatawagan.\nKaya, simulan ang pagtawag."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"I-tap ang larawan upang makita ang lahat ng numero at pindutin nang matagal upang ayusing muli"</string>
<string name="description_dismiss" msgid="2146276780562549643">"I-dismiss"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Alisin"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Speed Dial"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"LAHAT NG CONTACT"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"TUMAWAG"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"TANGGALIN"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"MAKINIG"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Hindi nasagot na tawag mula sa/kay <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Sumagot ng tawag mula sa/kay <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Tumawag sa/kay <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Tumawag sa/kay <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Makinig sa voicemail mula sa/kay <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Tanggalin ang entry sa log ng tawag para sa/kay <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Tinanggal ang entry sa log ng tawag."</string>
</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 2e863c6..9e5944b 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"yıldız"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"sıfır"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"pound"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"Sesli mesaj"</string>
<string name="description_search_button" msgid="3660807558587384889">"ara"</string>
<string name="description_dial_button" msgid="1274091017188142646">"çevir"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"geri tuşu"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"çevrilecek numara"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Çağrı Geçmişi"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Diğer seçenekler"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Yalnızca cevapsızları göster"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Yalnızca sesli msajları göster"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Tüm çağrıları göster"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Kişi ekle"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"2 saniyelik duraklama ekle"</string>
<string name="add_wait" msgid="3360818652790319634">"Bekleme ekle"</string>
<string name="call_settings" msgid="7666474782093693667">"Ayarlar"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Giden çağrı"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Cevapsız çağrı"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Sesli mesaj"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Kişi ekle"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Kişiyi görüntüle: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Sesli arama yap: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> için kişi ayrıntıları"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Çağrı ayrıntıları"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Yeni sesli mesaj."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> çağrı."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Şu kişiye kısa mesaj gönder: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Dinlenilmemiş sesli mesaj"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Aramayı temizle"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Sesli arama başlat"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Çağrı yap: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Bilinmiyor"</string>
<string name="voicemail" msgid="3851469869202611441">"Sesli Mesaj"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM karttan yükleniyor..."</string>
<string name="simContacts_title" msgid="27341688347689769">"SIM kart kişileri"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Bu özelliği kullanmak için Kişiler uygulamasını yeniden etkinleştirin."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Sesli arama kullanılamıyor."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Telefon uygulaması devre dışı bırakıldığından telefon edilemiyor."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Seçilen işlemi gerçekleştirmek için kullanılabilir yüklü etkinlik yok."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Ad veya telefon numarası yazın"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Tümü"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Cevapsız"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Yakın zamanda cevapsız çağrı yok."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Yakın zamanda bırakılan sesli mesaj yok."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Tüm kişileri göster"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Yalnızca favori kişileri göster"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Geçmiş"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Tümü"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Cevapsız"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Sesli Mesaj"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Hızlı Arama"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Son Kişiler"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Kişiler"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Tüm kişiler"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Tüm kişiler"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Favorilerden kaldırıldı"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Geri al"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Telefon et: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Kişilere ekle"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Tüm çağrı geçmişini görüntüle"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> yeni cevapsız çağrı"</string>
<string name="no_favorites" msgid="5212485868783382971">"Favoriler ve sık telefon ettiğiniz\nkişiler burada görüntülenir.\nTelefon etmeye başlayın."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Tüm numaraları görmek için resme hafifçe vurun veya yeniden sıralamak için basılı tutun"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Kapat"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Kaldır"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Hızlı Arama"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"TÜM KİŞİLER"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"GERİ ARA"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"SİL"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"DİNLE"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Cevapsız çağrı: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Yanıtlanan çağrı: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Aranan numara: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Geri ara: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Şu numaradan gelen sesli mesajı dinle: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> için çağrı kaydı girişini sil"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Çağrı kaydı girişi silindi."</string>
</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 3252a49..483fdd5 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"зірочка"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"нуль"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"решітка"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"голос. пошта"</string>
<string name="description_search_button" msgid="3660807558587384889">"пошук"</string>
<string name="description_dial_button" msgid="1274091017188142646">"дзвон."</string>
- <string name="description_delete_button" msgid="6263102114033407382">"видалити"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"номер для набору"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Історія викликів"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Інші варіанти"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Показувати лише пропущені"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Показувати лише голосову пошту"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Показувати всі виклики"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Додати контакта"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Дод. 2-сек. паузу"</string>
<string name="add_wait" msgid="3360818652790319634">"Дод. очікув."</string>
<string name="call_settings" msgid="7666474782093693667">"Налаштування"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Вихідний дзвінок"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Пропущений виклик"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Голосова пошта"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Додати контакт"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Переглянути контакт <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Дзвонити: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Відомості про контакт <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Деталі виклику"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Нова голосове повідомлення."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"Викликів: <xliff:g id="NUMBEROFCALLS">%1$s</xliff:g>."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Надіслати текстове повідомлення: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Непрослухана голосова пошта"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Очистити поле пошуку"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Розпочати голосовий пошук"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Телефонувати <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Невідомий"</string>
<string name="voicemail" msgid="3851469869202611441">"Голос. пошта"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Завантаж. із SIM-карти…"</string>
<string name="simContacts_title" msgid="27341688347689769">"Контакти SIM-карти"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Повторно ввімкніть програму Люди, щоб скористатися цією функцією."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Голосовий пошук недоступний."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Не вдається здійснити дзвінок, оскільки додаток Телефон вимкнено."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Неможливо обробити вибрану дію."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Введіть ім’я чи номер телефону"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Усі"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Пропущені"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Немає нещодавніх пропущених викликів."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Немає нещодавніх повідомлень голосової пошти."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Показати всі контакти"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Показати лише вибрані"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Історія"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Усі"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Пропущені"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Голос.пошта"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Швидкий набір"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Останні"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Контакти"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Усі контакти"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Усі контакти"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Вилучено з вибраного"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Відмінити"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Набрати <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Додати до контактів"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Переглянути всю історію дзвінків"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"Нових пропущених дзвінків: <xliff:g id="NUMBER">%s</xliff:g>"</string>
- <string name="no_favorites" msgid="5212485868783382971">"Тут будуть відображатися вибрані контакти й контакти\n, яким ви часто телефонуєте.\nСпілкуйтеся із задоволенням."</string>
+ <string name="no_favorites" msgid="5212485868783382971">"Тут будуть відображатися вибрані контакти,\n яким ви часто телефонуєте.\nСпілкуйтеся із задоволенням."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Торкніться зображення, щоб побачити всі номери, або натисніть і утримуйте, щоб змінити порядок"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Закрити"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Видалити"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Швидкий набір"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"УСІ КОНТАКТИ"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"ТЕЛЕФОНУВАТИ"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"ВИДАЛИТИ"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"СЛУХАТИ"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Пропущений дзвінок: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Прийнятий дзвінок: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Дзвінок: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Телефонувати: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Слухати голосову пошту: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Видалити запис журналу дзвінків: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Запис журналу дзвінків видалено."</string>
</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 91a1e2a..208b13d 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"sao"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"không"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"dấu thăng"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"thư thoại"</string>
<string name="description_search_button" msgid="3660807558587384889">"tìm kiếm"</string>
<string name="description_dial_button" msgid="1274091017188142646">"quay số"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"số để quay"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Nhật ký cuộc gọi"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Tùy chọn khác"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Chỉ hiển thị cuộc gọi nhỡ"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Chỉ hiển thị thư thoại"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Hiển thị tất cả cuộc gọi"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Thêm liên hệ"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Thêm 2 giây dừng"</string>
<string name="add_wait" msgid="3360818652790319634">"Thêm chờ"</string>
<string name="call_settings" msgid="7666474782093693667">"Cài đặt"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Cuộc gọi đi"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Cuộc gọi nhỡ"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Thư thoại"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Thêm địa chỉ liên hệ"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Xem thông tin liên hệ của <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Gọi <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Chi tiết liên lạc cho <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Chi tiết cuộc gọi"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Thư thoại mới."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> cuộc gọi."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Gửi tin nhắn văn bản tới <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Thư thoại chưa nghe"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Xóa tìm kiếm"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Bắt đầu tìm kiếm bằng giọng nói"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Gọi <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Không xác định"</string>
<string name="voicemail" msgid="3851469869202611441">"Thư thoại"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Đang tải từ thẻ SIM…"</string>
<string name="simContacts_title" msgid="27341688347689769">"Danh bạ trên thẻ SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Bật lại ứng dụng Liên hệ để sử dụng tính năng này."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Tìm kiếm bằng giọng nói không khả dụng."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Không thể thực hiện cuộc gọi điện thoại vì ứng dụng Điện thoại đã bị tắt."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Không có ứng dụng đã cài đặt nào để xử lý tác vụ đã chọn."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Nhập tên hoặc số điện thoại"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Tất cả"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Bị nhỡ"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Không có cuộc gọi nhỡ gần đây nào."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Không có thư thoại gần đây nào."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Hiển thị tất cả liên hệ"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Chỉ hiển thị liên hệ ưa thích"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Lịch sử"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Tất cả"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Bị nhỡ"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Thư thoại"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Quay số nhanh"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Gần đây"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Địa chỉ liên hệ"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Tất cả liên hệ"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Tất cả liên hệ"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Đã xóa khỏi mục yêu thích"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Hoàn tác"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Gọi <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Thêm vào danh bạ"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Xem lịch sử cuộc gọi đầy đủ"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> cuộc gọi nhỡ mới"</string>
<string name="no_favorites" msgid="5212485868783382971">"Người liên hệ yêu thích và người liên hệ bạn\nthường gọi sẽ hiển thị tại đây.\nVì vậy, hãy bắt đầu gọi."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Chạm vào hình ảnh để xem tất cả các số hoặc nhấn và giữ để sắp xếp lại"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Loại bỏ"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Xóa"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Quay số nhanh"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"TẤT CẢ NGƯỜI LIÊN HỆ"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"GỌI LẠI"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"XÓA"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"NGHE"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Cuộc gọi nhỡ từ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Cuộc gọi đã trả lời từ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Cuộc gọi đến <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Gọi lại <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Nghe thư thoại từ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Xóa mục nhật ký cuộc gọi cho <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Đã xóa mục nhật ký cuộc gọi."</string>
</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index bbe4eb8..5dee4ca 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"星形符号"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"零"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"英镑符号"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"语音信箱"</string>
<string name="description_search_button" msgid="3660807558587384889">"搜索"</string>
<string name="description_dial_button" msgid="1274091017188142646">"拨打"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"退格"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"要拨打的号码"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"通话记录"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"更多选项"</string>
@@ -89,7 +87,9 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"仅显示未接来电"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"只显示语音邮件"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"显示所有通话"</string>
- <string name="add_2sec_pause" msgid="9214012315201040129">"暂停时间延长2秒"</string>
+ <!-- no translation found for add_contact (8875804371377471164) -->
+ <skip />
+ <string name="add_2sec_pause" msgid="9214012315201040129">"延长暂停时间2秒"</string>
<string name="add_wait" msgid="3360818652790319634">"延长等待时间"</string>
<string name="call_settings" msgid="7666474782093693667">"设置"</string>
<string name="menu_newContact" msgid="1209922412763274638">"新建联系人"</string>
@@ -109,13 +109,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"去电"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"未接电话"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"语音邮件"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"添加联系人"</string>
<string name="description_view_contact" msgid="5205669345700598415">"查看联系人<xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"呼叫<xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>的详细联系信息"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"通话详情"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"有新的语音邮件。"</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g>次通话。"</string>
<string name="description_send_text_message" msgid="7803126439934046891">"向<xliff:g id="NAME">%1$s</xliff:g>发送短信"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"未收听的语音邮件"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"清除搜索内容"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"开始语音搜索"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"拨打 <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"未知"</string>
<string name="voicemail" msgid="3851469869202611441">"语音信箱"</string>
@@ -133,32 +136,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"正从 SIM 卡中加载..."</string>
<string name="simContacts_title" msgid="27341688347689769">"SIM 卡联系人"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"必须重新启用联系人应用才能使用此功能。"</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"无法使用语音搜索。"</string>
+ <string name="call_not_available" msgid="8941576511946492225">"“电话”应用已被停用,因此无法拨打电话。"</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"没有任何已安装的应用可以处理所选操作。"</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"输入姓名或手机号"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"全部"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"未接电话"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"最近没有未接来电。"</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"最近没有语音邮件。"</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"显示所有联系人"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"仅显示常用联系人"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"通话记录"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"全部"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"未接电话"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"语音邮件"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"快速拨号"</string>
+ <string name="tab_recents" msgid="929949073851377206">"最近"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"联系人"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"所有联系人"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"所有联系人"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"已从“常用联系人”中删除"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"撤消"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"拨打<xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"添加到通讯录"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"查看全部通话记录"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g>个新的未接电话"</string>
<string name="no_favorites" msgid="5212485868783382971">"您收藏的联系人和经常通话\n的联系人都会显示在这里。\n现在就开始与联系人通话吧。"</string>
<string name="contact_tooltip" msgid="7817483485692282287">"点按图片可查看所有号码,按住图片可重新排序"</string>
<string name="description_dismiss" msgid="2146276780562549643">"关闭"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"移除"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"快速拨号"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"所有联系人"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"回电"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"删除"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"听取"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"<xliff:g id="TIMEOFCALL">%3$s</xliff:g>来自<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>(<xliff:g id="TYPEORLOCATION">%2$s</xliff:g>)的未接电话。"</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"<xliff:g id="TIMEOFCALL">%3$s</xliff:g>来自<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>(<xliff:g id="TYPEORLOCATION">%2$s</xliff:g>)的已接电话。"</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"<xliff:g id="TIMEOFCALL">%3$s</xliff:g>与<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>(<xliff:g id="TYPEORLOCATION">%2$s</xliff:g>)的通话。"</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"给<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>回电"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"听取来自<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>的语音邮件"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"删除与<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>的通话记录条目"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"通话记录条目已删除。"</string>
</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 6f85d5e..90f5928 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"星號"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"零"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"井號鍵"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"留言"</string>
<string name="description_search_button" msgid="3660807558587384889">"搜尋"</string>
<string name="description_dial_button" msgid="1274091017188142646">"撥號"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"Backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"致電號碼"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"通話記錄"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"更多選項"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"只顯示未接來電"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"僅顯示語音留言"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"顯示所有通話"</string>
+ <string name="add_contact" msgid="8875804371377471164">"新增聯絡人"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"新增 2 秒暫停功能"</string>
<string name="add_wait" msgid="3360818652790319634">"新增插播功能"</string>
<string name="call_settings" msgid="7666474782093693667">"設定"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"撥出電話"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"未接來電"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"語音信箱"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"新增聯絡人"</string>
<string name="description_view_contact" msgid="5205669345700598415">"查看聯絡人<xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"致電<xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"「<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>」的聯絡人詳細資料"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"通話詳細資料"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"新留言。"</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> 次通話次數。"</string>
<string name="description_send_text_message" msgid="7803126439934046891">"發短訊給<xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"未聽取的語音留言"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"清除搜尋"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"開始語音搜尋"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"撥打 <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"未知"</string>
<string name="voicemail" msgid="3851469869202611441">"留言"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"正在從 SIM 卡載入..."</string>
<string name="simContacts_title" msgid="27341688347689769">"SIM 卡聯絡人"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"請重新啟用「通訊錄」應用程式,才能使用這項功能。"</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"無法使用語音搜尋功能。"</string>
+ <string name="call_not_available" msgid="8941576511946492225">"由於「電話」應用程式已停用,因此無法打電話。"</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"沒有任何已安裝的活動可以處理指定操作。"</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"輸入姓名或電話號碼"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"全部"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"未接來電"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"最近沒有未接來電。"</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"最近沒有留言。"</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"顯示所有聯絡人"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"只顯示我的最愛"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"記錄"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"全部"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"未接來電"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"留言信箱"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"快速撥號"</string>
+ <string name="tab_recents" msgid="929949073851377206">"最近存取的聯絡人"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"聯絡人"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"所有聯絡人"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"所有聯絡人"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"已從「我的最愛」中移除"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"復原"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"撥打 <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"加入通訊錄"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"查看完整通話記錄"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> 個新的未接來電"</string>
<string name="no_favorites" msgid="5212485868783382971">"您的最愛聯絡人和經常通話的聯絡人\n會在這裡顯示,\n致電他們吧!"</string>
<string name="contact_tooltip" msgid="7817483485692282287">"輕按相片可查看所有號碼,按住則可重新排序"</string>
<string name="description_dismiss" msgid="2146276780562549643">"關閉"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"移除"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"快速撥號"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"所有聯絡人"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"回撥電話"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"刪除"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"收聽"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"未接來電:「<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>」(<xliff:g id="TYPEORLOCATION">%2$s</xliff:g>),通話時間:<xliff:g id="TIMEOFCALL">%3$s</xliff:g>。"</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"已接來電:「<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>」(<xliff:g id="TYPEORLOCATION">%2$s</xliff:g>),通話時間:<xliff:g id="TIMEOFCALL">%3$s</xliff:g>。"</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"與「<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>」通話 (<xliff:g id="TYPEORLOCATION">%2$s</xliff:g>),通話時間:<xliff:g id="TIMEOFCALL">%3$s</xliff:g>。"</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"回撥電話給「<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>」"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"收聽來自「<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>」的留言信箱"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"刪除「<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>」的通話紀錄項目"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"已刪除通話記錄項目。"</string>
</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 6878e55..5aaf726 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"星號"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"0"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"磅"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"語音信箱"</string>
<string name="description_search_button" msgid="3660807558587384889">"搜尋"</string>
<string name="description_dial_button" msgid="1274091017188142646">"撥號"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"Backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"撥號號碼"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"通話紀錄"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"更多選項"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"僅顯示未接來電"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"僅顯示語音留言"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"顯示所有通話"</string>
+ <string name="add_contact" msgid="8875804371377471164">"新增聯絡人"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"暫停時間延長 2 秒"</string>
<string name="add_wait" msgid="3360818652790319634">"延長等待時間"</string>
<string name="call_settings" msgid="7666474782093693667">"設定"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"已撥電話"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"未接來電"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"語音留言"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"新增聯絡人"</string>
<string name="description_view_contact" msgid="5205669345700598415">"查看聯絡人<xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"撥電話給<xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"「<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>」的聯絡詳細資料"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"通話詳細資料"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"新的語音留言。"</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"通話 <xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> 次。"</string>
<string name="description_send_text_message" msgid="7803126439934046891">"傳送簡訊給<xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"未聽取的語音留言"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"清除搜尋"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"開始進行語音搜尋"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"撥打 <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"不明"</string>
<string name="voicemail" msgid="3851469869202611441">"語音留言"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"從 SIM 卡讀取中…"</string>
<string name="simContacts_title" msgid="27341688347689769">"SIM 卡聯絡人"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"您必須重新啟用「使用者」應用程式,才能使用這項功能。"</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"無法使用語音搜尋。"</string>
+ <string name="call_not_available" msgid="8941576511946492225">"「電話」應用程式已遭停用,因此無法撥打電話。"</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"沒有任何已安裝的活動可以處理指定的操作。"</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"輸入姓名或電話號碼"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"全部"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"未接來電"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"最近沒有未接來電。"</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"最近沒有語音留言。"</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"顯示所有聯絡人"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"只顯示我的收藏"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"通話紀錄"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"全部"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"未接來電"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"語音留言"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"快速撥號"</string>
+ <string name="tab_recents" msgid="929949073851377206">"最近存取過"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"聯絡人"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"所有聯絡人"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"所有聯絡人"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"已從最愛的聯絡人移除"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"復原"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"撥打 <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"新增為聯絡人"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"查看完整通話紀錄"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> 通新的未接來電"</string>
<string name="no_favorites" msgid="5212485868783382971">"您最愛的聯絡人和經常通話的聯絡人\n都會顯示在這裡,\n可以直接打給他們!"</string>
<string name="contact_tooltip" msgid="7817483485692282287">"輕按圖片即可查看所有號碼,按住圖片則可重新排序"</string>
<string name="description_dismiss" msgid="2146276780562549643">"關閉"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"移除"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"快速撥號"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"所有聯絡人"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"回電"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"刪除"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"聽取"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"未接來電,來自「<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>」,<xliff:g id="TYPEORLOCATION">%2$s</xliff:g>,<xliff:g id="TIMEOFCALL">%3$s</xliff:g>。"</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"已接來電,來自「<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>」,<xliff:g id="TYPEORLOCATION">%2$s</xliff:g>,<xliff:g id="TIMEOFCALL">%3$s</xliff:g>。"</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"撥號給「<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>」,<xliff:g id="TYPEORLOCATION">%2$s</xliff:g>,<xliff:g id="TIMEOFCALL">%3$s</xliff:g>。"</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"回電給「<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>」"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"聽取「<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>」的語音留言"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"刪除「<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>」的通話紀錄項目"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"通話紀錄項目已刪除。"</string>
</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index e33c0c2..343d128 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -75,10 +75,8 @@
<string name="description_image_button_star" msgid="3365919907520767866">"ikanyezi"</string>
<string name="description_image_button_zero" msgid="4133108949401820710">"lutho"</string>
<string name="description_image_button_pound" msgid="3039765597595889230">"iphawundi"</string>
- <string name="description_voicemail_button" msgid="3402506823655455591">"Umyalezo wezwi"</string>
<string name="description_search_button" msgid="3660807558587384889">"sesha"</string>
<string name="description_dial_button" msgid="1274091017188142646">"dayela"</string>
- <string name="description_delete_button" msgid="6263102114033407382">"i-backspace"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"inombolo okumele uyidayele"</string>
<string name="action_menu_call_history_description" msgid="9018442816219748968">"Umlando wekholi"</string>
<string name="action_menu_overflow_description" msgid="2303272250613084574">"Izinketho eziningi"</string>
@@ -89,6 +87,7 @@
<string name="menu_show_missed_only" msgid="154473166059743996">"Bonisa okugejiwe kuphela"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Bonisa ama-imeyli ezwi kuphela"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Bonisa zonke izingcingo ezenziwe"</string>
+ <string name="add_contact" msgid="8875804371377471164">"Engeza oxhumana naye"</string>
<string name="add_2sec_pause" msgid="9214012315201040129">"Faka ukumisa okwesikhashana kwamasekhondi angu-2"</string>
<string name="add_wait" msgid="3360818652790319634">"Yengeza ukulinda"</string>
<string name="call_settings" msgid="7666474782093693667">"Izilungiselelo"</string>
@@ -109,13 +108,16 @@
<string name="description_call_log_outgoing_call" msgid="604831756853471658">"Ikholi eliphumayo"</string>
<string name="description_call_log_missed_call" msgid="2242805209983708825">"Ikholi ekulahlekele"</string>
<string name="description_call_log_voicemail" msgid="4600798771975158948">"Ivoyisimeyili"</string>
- <string name="description_add_contact" msgid="3103414772502485851">"Faka oxhumana naye"</string>
<string name="description_view_contact" msgid="5205669345700598415">"Bheka oxhumana naye <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="3443678121983852666">"Fonela <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="description_contact_details" msgid="51229793651342809">"Imininingwane yokuxhumana ka-<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_call_details" msgid="8936017517290240089">"Imininingwane yekholi"</string>
+ <string name="description_new_voicemail" msgid="2133792360865517746">"Ivoyisimeyili entsha."</string>
+ <string name="description_num_calls" msgid="1601505153694540074">"<xliff:g id="NUMBEROFCALLS">%1$s</xliff:g> amakholi."</string>
<string name="description_send_text_message" msgid="7803126439934046891">"Hambisa umyalezo ku <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"I-imeyli yezwi engazwakalanga"</string>
+ <string name="description_clear_search" msgid="688023606766232904">"Sula usesho"</string>
<string name="description_start_voice_search" msgid="520539488194946012">"Qalisa ukusesha ngezwi"</string>
- <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
<string name="menu_callNumber" msgid="997146291983360266">"Shayela <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="unknown" msgid="740067747858270469">"Akwaziwa"</string>
<string name="voicemail" msgid="3851469869202611441">"Ivoyisimeyili"</string>
@@ -133,32 +135,42 @@
<string name="simContacts_emptyLoading" msgid="6700035985448642408">"Ilayisha kusuka ekhadini le-SIM..."</string>
<string name="simContacts_title" msgid="27341688347689769">"Othintana nabo bekhadi le-SIM"</string>
<string name="add_contact_not_available" msgid="1419207765446461366">"Phinda unike amandla uhlelo lokusebenza lwabantu ukuze basebenzise lesi sici."</string>
+ <string name="voice_search_not_available" msgid="7580616740587850828">"Ukusesha ngezwi akutholakali."</string>
+ <string name="call_not_available" msgid="8941576511946492225">"Ayikwazi ukwenza ikholi yefoni ngoba uhlelo lokusebenza lwefoni likhutshaziwe."</string>
+ <string name="activity_not_available" msgid="8265265380537872585">"Awukho umsebenzi ofakiwe otholakalayo ukuze uphathe isenzo esikhethiwe."</string>
<string name="dialer_hint_find_contact" msgid="8798845521253672403">"Thayipha igama noma inombolo yefoni"</string>
- <string name="call_log_all_title" msgid="3566738938889333307">"Konke"</string>
- <string name="call_log_missed_title" msgid="4541142293870638971">"Phuthelwe"</string>
<string name="recentMissed_empty" msgid="5427113551557296665">"Awekho amakholi wakamuva aphuthelwe."</string>
<string name="recentVoicemails_empty" msgid="5163114119598014048">"Awekho amavoyisimeyili wakamuva."</string>
- <string name="show_all_contacts" msgid="1732256558071778056">"Bonakalisa bonke oxhumana nabo"</string>
<string name="show_favorites_only" msgid="5520072531022614595">"Bonisa izintandokazi kuphela"</string>
<string name="call_log_activity_title" msgid="4612824396355272023">"Umlando"</string>
- <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
- <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
- <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
- <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
- <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
- <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
- <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
- <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
- <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
- <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+ <string name="call_log_all_title" msgid="3566738938889333307">"Konke"</string>
+ <string name="call_log_missed_title" msgid="4541142293870638971">"Phuthelwe"</string>
+ <string name="call_log_voicemail_title" msgid="940422274047025948">"Ivoyisimeyili"</string>
+ <string name="tab_speed_dial" msgid="7807567599021643864">"Ukudayela okusheshayo"</string>
+ <string name="tab_recents" msgid="929949073851377206">"Okwakamuva"</string>
+ <string name="tab_all_contacts" msgid="1410922767166533690">"Oxhumana nabo"</string>
<string name="show_all_contacts_title" msgid="8395378484578221791">"Bonke oxhumana nabo"</string>
<string name="show_all_contacts_button_text" msgid="8057452310403090131">"Bonke oxhumana nabo"</string>
<string name="favorite_hidden" msgid="5011234945140912047">"Kukhishiwe kusuka kuzintandokazi"</string>
<string name="favorite_hidden_undo" msgid="2508998611039406474">"Hlehlisa"</string>
<string name="search_shortcut_call_number" msgid="7277194656832895870">"Shayela ku-<xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Engeza koxhumana nabo"</string>
+ <string name="recents_footer_text" msgid="7315554578957453359">"Buka wonke umlando wekholi"</string>
<string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> amakholi amasha owaphuthelwe"</string>
<string name="no_favorites" msgid="5212485868783382971">"Izintandokazi noxhumana nabo\nobashayela ngokuvamile bazovela lapha.\nNgakho-ke, qala ukushaya."</string>
<string name="contact_tooltip" msgid="7817483485692282287">"Thepha isithombe ukuze ubone zonke izinombolo noma cindezela uphinde ubambe ukuze uhlele kabusha"</string>
<string name="description_dismiss" msgid="2146276780562549643">"Cashisa"</string>
+ <string name="remove_contact" msgid="1080555335283662961">"Susa"</string>
+ <string name="favorites_menu_speed_dial" msgid="3832518092014707628">"Ukudayela okusheshayo"</string>
+ <string name="favorites_menu_all_contacts" msgid="992506284449891186">"BONKE OXHUMANA NABO"</string>
+ <string name="call_log_action_call_back" msgid="4944463006859852473">"SHAYA FUTHI"</string>
+ <string name="call_log_action_delete" msgid="7371990297839987600">"SUSA"</string>
+ <string name="call_log_action_voicemail" msgid="4978620572562925654">"LALELA"</string>
+ <string name="description_incoming_missed_call" msgid="2610535352863246949">"Ikholi ephuthelwe esuka ku-<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_incoming_answered_call" msgid="7206670204016969740">"Ikholi ephenduliwe kusukela ku-<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_outgoing_call" msgid="3964211633673659733">"Ikholi eya ku-<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>, <xliff:g id="TYPEORLOCATION">%2$s</xliff:g>, <xliff:g id="TIMEOFCALL">%3$s</xliff:g>."</string>
+ <string name="description_call_back_action" msgid="3012837380108884260">"Phinda ushayele u-<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_voicemail_action" msgid="8054891873788903063">"Lalela ivoyisimeyili esuka ku-<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_delete_action" msgid="7188614068459616450">"Susa ukufakwa kwerekhodi lamakholi we-<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="toast_entry_removed" msgid="3389119736202317999">"Ukufakwa kurekhodi lamakholi kususiwe."</string>
</resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 18e8a22..4874e1f 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -19,19 +19,9 @@
<color name="dialtacts_primary_text_color">#000000</color>
<!-- Secondary text color in the Dialer -->
<color name="dialtacts_secondary_text_color">#888888</color>
+ <color name="dialer_accent_color">#eeff41</color>
- <!-- Background color of dialpad -->
- <color name="background_dialpad">#ffffff</color>
- <!-- Pressed color of dialpad buttons -->
- <color name="background_dialpad_pressed">#ececec</color>
- <!-- Primary color of dialpad text, including the call button -->
- <color name="dialpad_primary_text_color">#3B77E7</color>
- <!-- Secondary color of dialpad text (used for the letters corresponding to each digit -->
- <color name="dialpad_secondary_text_color">#8b8b8b</color>
- <!-- Color of dialpad digits -->
- <color name="dialpad_digits_text_color">#000000</color>
- <!-- Color for dialpad separator lines -->
- <color name="dialpad_separator_line_color">#dadada</color>
+ <color name="contact_list_background_color">#f2f2f2</color>
<!-- Color of the text describing an unconsumed missed call. -->
<color name="call_log_missed_call_highlight_color">#FF0000</color>
@@ -52,14 +42,13 @@
<color name="item_selected">#660099cc</color>
<!-- Background color of new dialer activity -->
- <color name="background_dialer_light">#ebebeb</color>
+ <color name="background_dialer_light">#ffffff</color>
<!-- Background color of dialer list items (contacts, call log entries) -->
- <color name="background_dialer_list_items">#ebebeb</color>
+ <color name="background_dialer_list_items">#fbfbfb</color>
- <!-- Background color of action bars. Ensure this stays in sync with packages/Telephony
- actionbar_background_color. -->
- <color name="actionbar_background_color">#00afcc</color>
+ <!-- Dark variant of the action bar color. -->
+ <color name="actionbar_background_color_dark">#008aa1</color>
<!-- Color of the 1dp divider that separates favorites -->
<color name="favorite_contacts_separator_color">#d0d0d0</color>
@@ -113,19 +102,27 @@
<!-- Text color for the "All Contacts" button above the favorite callers -->
<color name="all_contacts_button_text_color">#ffffff</color>
- <!-- Background color for tabs in an unpressed state. -->
- <color name="tab_default_color">#00afcc</color>
-
- <!-- Background color for tabs in a pressed state. -->
- <color name="tab_pressed_color">#008698</color>
-
- <!-- Color of the selection indicator for a tab which is selected. -->
- <color name="tab_selected_color">#008698</color>
-
<!-- Color of the bottom border below the contacts grid on the main dialer screen. -->
<color name="contacts_grid_bottom_border_color">#16000000</color>
<!-- Color of action bar text. Ensure this stays in sync with packages/Telephony
phone_settings_actionbar_text_color-->
- <color name="actionbar_text_color">#FFFFFF</color>
+ <color name="actionbar_text_color">#ffffff</color>
+ <color name="actionbar_unselected_text_color">#a6ffffff</color>
+
+ <!-- Color of actions in expanded call log entries. This text color represents actions such
+ as call back, play voicemail, etc. -->
+ <color name="call_log_action_text">#1dc7db</color>
+
+ <!-- Color of the "delete" action in expanded call log entries. -->
+ <color name="call_log_action_delete_text">#ff4f4f</color>
+
+ <!-- Color of action text for expanded call log entries which is disabled. -->
+ <color name="call_log_disabled_text">#b3b3b3</color>
+
+ <!-- Color for missed call icons. -->
+ <color name="missed_call">#ff2e58</color>
+
+ <!-- Color for answered or outgoing call icons. -->
+ <color name="answered_call">#2aad6f</color>
</resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 496eb43..89bd592 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -33,7 +33,7 @@
<dimen name="call_log_outer_margin">8dip</dimen>
<dimen name="call_log_indent_margin">24dip</dimen>
<dimen name="call_log_list_item_height">56dip</dimen>
- <dimen name="call_log_list_contact_photo_size">64dip</dimen>
+ <dimen name="call_log_list_contact_photo_size">40dip</dimen>
<dimen name="call_detail_contact_name_margin">24dip</dimen>
<dimen name="call_detail_button_spacing">2dip</dimen>
<!-- Defines the vertical margin for the vertical separator between
@@ -44,30 +44,15 @@
the main area of a call log entry and the secondary action button. -->
<dimen name="call_log_list_item_vertical_divider_width">1dp</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_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>
- <dimen name="dialpad_digits_text_size">36sp</dimen>
- <dimen name="dialpad_digits_height">47dp</dimen>
- <dimen name="dialpad_digits_padding">16dp</dimen>
- <dimen name="dialpad_digits_margin_bottom">0px</dimen>
- <dimen name="dialpad_center_margin">3dp</dimen>
- <dimen name="dialpad_button_margin">2dp</dimen>
<!-- Match call_button_height to Phone's dimens/in_call_end_button_height -->
<dimen name="call_button_height">74dp</dimen>
- <dimen name="fake_action_bar_height">60dp</dimen>
- <!-- Min width of fake menu buttons, which should be same as ActionBar's one -->
- <dimen name="fake_menu_button_min_width">56dp</dimen>
+ <!-- Right margin of the floating action button -->
+ <dimen name="floating_action_button_margin_right">10dp</dimen>
+ <!-- Bottom margin of the floating action button -->
+ <dimen name="floating_action_button_margin_bottom">10dp</dimen>
- <!-- Favorites tile and recent call log padding -->
+ <!-- Dimensions for speed dial tiles -->
<dimen name="contact_tile_divider_width">1dp</dimen>
<dimen name="contact_tile_info_button_height_and_width">36dp</dimen>
<item name="contact_tile_height_to_width_ratio" type="dimen">67%</item>
@@ -76,12 +61,17 @@
<dimen name="favorites_row_top_padding">1dp</dimen>
<dimen name="favorites_row_bottom_padding">0dp</dimen>
<dimen name="favorites_row_start_padding">1dp</dimen>
+
<!-- Padding from the last contact tile will provide the end padding. -->
<dimen name="favorites_row_end_padding">0dp</dimen>
<dimen name="favorites_row_undo_text_side_padding">32dp</dimen>
+
+ <!-- Dimensions for most recent call shortcut cards -->
+ <dimen name="recent_call_log_item_translation_z">5dp</dimen>
<dimen name="recent_call_log_item_padding">8dp</dimen>
+
<!-- Size of the star icon on the favorites tile. -->
- <dimen name="favorites_star_icon_size">20dp</dimen>
+ <dimen name="favorites_star_icon_size">12dp</dimen>
<!-- Padding for the tooltip -->
<dimen name="dismiss_button_padding_start">20dip</dimen>
@@ -105,11 +95,9 @@
<!-- Margin to the left and right of the search box. -->
<dimen name="search_margin_horizontal">7dp</dimen>
<!-- Margin above the search box. -->
- <dimen name="search_top_margin">10dp</dimen>
+ <dimen name="search_top_margin">4dp</dimen>
<!-- Margin below the search box. -->
<dimen name="search_bottom_margin">4dp</dimen>
- <!-- Height of the search box. -->
- <dimen name="search_box_height">41dp</dimen>
<!-- Search box text size -->
<dimen name="search_text_size">13.24sp</dimen>
<!-- Search box interior padding - left -->
@@ -123,8 +111,23 @@
<!-- Size of the icon (voice search, close search) in the search box. -->
<dimen name="search_box_icon_size">37dp</dimen>
- <!-- Height of the selection indicator of a tab. -->
- <dimen name="tab_selected_underline_height">3dp</dimen>
<!-- Size of text in tabs. -->
- <dimen name="tab_text_size">13sp</dimen>
+ <dimen name="tab_height">43dp</dimen>
+ <dimen name="tab_text_size">14sp</dimen>
+
+ <!-- Padding to the left and right of call log action buttons. -->
+ <dimen name="call_log_action_horizontal_padding">8dp</dimen>
+ <!-- Left-padding for the call log action buttons - ensures the buttons align with the text
+ to the right of the contact badge. Adjust when any of the following change:
+ call_log_action_horizontal_padding
+ call_log_list_contact_photo_size -->
+ <dimen name="call_log_actions_left_padding">48dp</dimen>
+ <!-- Text size for primary call log text -->
+ <dimen name="call_log_primary_text_size">16sp</dimen>
+ <!-- Text size for secondary call log text -->
+ <dimen name="call_log_secondary_text_size">14sp</dimen>
+ <!-- Height of the call log actions section for each call log entry -->
+ <dimen name="call_log_action_height">48dp</dimen>
+ <!-- Elevation of expanded call log items. -->
+ <dimen name="call_log_expanded_elevation">4dp</dimen>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index c7a7f48..d6d4766 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -269,13 +269,6 @@
Used by AccessibilityService to announce the purpose of the button.
-->
- <string name="description_image_button_plus">plus</string>
-
- <!-- String describing the Voicemail ImageButton
-
- Used by AccessibilityService to announce the purpose of the button.
- -->
- <string name="description_voicemail_button">voicemail</string>
<!-- String describing the Search ImageButton
@@ -290,12 +283,6 @@
-->
<string name="description_dial_button">dial</string>
- <!-- String describing the Delete/Backspace ImageButton
-
- Used by AccessibilityService to announce the purpose of the button.
- -->
- <string name="description_delete_button">backspace</string>
-
<!-- String describing the digits text box containing the number to dial.
Used by AccessibilityService to announce the purpose of the view.
@@ -335,6 +322,7 @@
<string name="menu_show_all_calls">Show all calls</string>
<!-- Menu items for dialpad options as part of Pause and Wait ftr -->
+ <string name="add_contact">Add contact</string>
<string name="add_2sec_pause">Add 2-sec pause</string>
<string name="add_wait">Add wait</string>
@@ -420,13 +408,6 @@
-->
<string name="description_call_log_voicemail">Voicemail</string>
- <!-- String describing the button to add a contact for the current number.
-
- Note: AccessibilityServices use this attribute to announce what the view represents.
- This is especially valuable for views without textual representation like ImageView.
- -->
- <string name="description_add_contact">Add contact</string>
-
<!-- String describing the button to view the contact for the current number.
Note: AccessibilityServices use this attribute to announce what the view represents.
@@ -469,59 +450,6 @@
-->
<string name="description_num_calls"><xliff:g id="numberOfCalls">%1$s</xliff:g> calls.</string>
-
- <!-- Call history description for a missed call from a caller.
-
- Note: AccessibilityServices use this attribute to announce what the view represents.
- This is especially valuable for views without textual representation like ImageView.
- -->
- <string name="description_return_missed_call">Return missed call from <xliff:g id="nameOrNumber">%1$s</xliff:g> <xliff:g id="typeOrLocation">%2$s</xliff:g> <xliff:g id="timeOfCall">%3$s</xliff:g></string>
-
-
- <!-- Call history description for an answered call for a caller.
-
- Note: AccessibilityServices use this attribute to announce what the view represents.
- This is especially valuable for views without textual representation like ImageView.
- -->
- <string name="description_return_answered_call">Return answered call from <xliff:g id="nameOrNumber">%1$s</xliff:g> <xliff:g id="typeOrLocation">%2$s</xliff:g> <xliff:g id="timeOfCall">%3$s</xliff:g></string>
-
- <!-- Call history description for a missed call from an unknown caller.
- Drops the "return" part of description_return_missed_call since it is not
- possible to actually call an unknown number.
-
- Note: AccessibilityServices use this attribute to announce what the view represents.
- This is especially valuable for views without textual representation like ImageView.
- -->
- <string name="description_unknown_missed_call">Missed call from <xliff:g id="nameOrNumber">%1$s</xliff:g> <xliff:g id="typeOrLocation">%2$s</xliff:g> <xliff:g id="timeOfCall">%3$s</xliff:g></string>
-
-
- <!-- Call history description for an answered call from an unknown caller.
- Drops the "return" part of description_return_answered_call since it is not
- possible to actually call an unknown number.
- Note: AccessibilityServices use this attribute to announce what the view represents.
- This is especially valuable for views without textual representation like ImageView.
- -->
- <string name="description_unknown_answered_call">Answered call from <xliff:g id="nameOrNumber">%1$s</xliff:g> <xliff:g id="typeOrLocation">%2$s</xliff:g> <xliff:g id="timeOfCall">%3$s</xliff:g></string>
-
- <!-- String describing an outgoing call entry in the call log. Used to indicate that
- a call will be made to the specified caller. Used when there are multiple calls to/from
- the caller.
-
- Note: AccessibilityServices use this attribute to announce what the view represents.
- This is especially valuable for views without textual representation like ImageView.
- -->
- <string name="description_call_last_multiple">Call <xliff:g id="nameOrNumber">%1$s</xliff:g> <xliff:g id="typeOrLocation">%2$s</xliff:g>. Last called <xliff:g id="timeOfCall">%3$s</xliff:g>.</string>
-
- <!-- String describing an outgoing call entry in the call log. Used to indicate that
- a call will be made to the specified caller. Used when there is only a single call
- related to/from the caller.
-
- Note: AccessibilityServices use this attribute to announce what the view represents.
- This is especially valuable for views without textual representation like ImageView.
- -->
- <string name="description_call_last">Call <xliff:g id="nameOrNumber">%1$s</xliff:g> <xliff:g id="typeOrLocation">%2$s</xliff:g>. Called <xliff:g id="timeOfCall">%3$s</xliff:g>.</string>
-
-
<!-- String describing the button to SMS a number or contact.
Note: AccessibilityServices use this attribute to announce what the view represents.
@@ -545,10 +473,6 @@
<!-- String describing the icon used to start a voice search -->
<string name="description_start_voice_search">Start voice search</string>
- <!-- The string used to represent an unknown location for a phone number in the call log
- Do not translate. -->
- <string name="call_log_empty_geocode"></string>
-
<!-- Menu item used to call a contact, containing the number of the contact to call -->
<string name="menu_callNumber">Call <xliff:g id="number">%s</xliff:g></string>
@@ -640,56 +564,6 @@
<!-- Title of activity that displays a list of all calls -->
<string name="call_log_activity_title">History</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 the call log tab containing the list of all voicemails and calls
[CHAR LIMIT=30] -->
<string name="call_log_all_title">All</string>
@@ -743,6 +617,9 @@
<!-- Content description for dismiss button on badge. [CHAR LIMIT=NONE] -->
<string name="description_dismiss">Dismiss</string>
+ <!-- Remove button that shows up when contact is long-pressed. [CHAR LIMIT=NONE] -->
+ <string name="remove_contact">Remove</string>
+
<string name="wifi_no_signal_no_problem">No Signal? No Problem.</string>
<string name="wifi_enable_google_wifi_calling">Enable Google Wi-Fi Calling</string>
@@ -765,9 +642,6 @@
<string name="wifi_setup_settings_shortcut">Call settings</string>
- <!-- Remove button that shows up when contact is long-pressed. [CHAR LIMIT=NONE] -->
- <string name="remove_contact">Remove</string>
-
<!-- Header text displayed on the main dialer screen above the list of favorite phone numbers.
[CHAR LIMIT=21] -->
<string name="favorites_menu_speed_dial">Speed Dial</string>
@@ -793,4 +667,57 @@
<!-- The font-family to use for tab text.
Do not translate. -->
<string name="tab_font_family">sans-serif</string>
+
+ <!-- Button text for the "call back" button displayed underneath an entry in the call log.
+ Tapping causes a call to be placed to the caller represented by the call log entry.
+ [CHAR LIMIT=30] -->
+ <string name="call_log_action_call_back">CALL BACK</string>
+
+ <!-- Button text for the "DELETE" button displayed underneath an entry in the call log.
+ Tapping causes the call log entry in question to be removed from the call log.
+ [CHAR LIMIT=30] -->
+ <string name="call_log_action_delete">DELETE</string>
+
+ <!-- Button text for the "LISTEN" button displayed underneath an entry in the call log.
+ Tapping navigates the user to the call details screen where the user can listen to the
+ voicemail represented by the call log entry.
+ [CHAR LIMIT=30] -->
+ <string name="call_log_action_voicemail">LISTEN</string>
+
+ <!-- String describing an incoming missed call entry in the call log.
+ Note: AccessibilityServices uses this attribute to announce what the view represents.
+ [CHAR LIMIT=NONE] -->
+ <string name="description_incoming_missed_call">Missed call from <xliff:g id="nameOrNumber" example="John Smith">%1$s</xliff:g>, <xliff:g id="typeOrLocation" example="Mobile">%2$s</xliff:g>, <xliff:g id="timeOfCall" example="2 min ago">%3$s</xliff:g>.</string>
+
+ <!-- String describing an incoming answered call entry in the call log.
+ Note: AccessibilityServices uses this attribute to announce what the view represents.
+ [CHAR LIMIT=NONE] -->
+ <string name="description_incoming_answered_call">Answered call from <xliff:g id="nameOrNumber" example="John Smith">%1$s</xliff:g>, <xliff:g id="typeOrLocation" example="Mobile">%2$s</xliff:g>, <xliff:g id="timeOfCall" example="2 min ago">%3$s</xliff:g>.</string>
+
+ <!-- String describing an outgoing call entry in the call log.
+ Note: AccessibilityServices uses this attribute to announce what the view represents.
+ [CHAR LIMIT=NONE] -->
+ <string name="description_outgoing_call">Call to <xliff:g id="nameOrNumber" example="John Smith">%1$s</xliff:g>, <xliff:g id="typeOrLocation" example="Mobile">%2$s</xliff:g>, <xliff:g id="timeOfCall" example="2 min ago">%3$s</xliff:g>.</string>
+
+ <!-- String describing the "call back" action for an entry in the call log. The call back
+ action triggers a return call to the named user.
+ Note: AccessibilityServices uses this attribute to announce the purpose of the button.
+ [CHAR LIMIT=NONE] -->
+ <string name="description_call_back_action">Call back <xliff:g id="nameOrNumber" example="John Smith">%1$s</xliff:g></string>
+
+ <!-- String describing the "listen" action for an entry in the call log. The listen
+ action is shown for call log entries representing a voicemail message and this button
+ triggers playing back the voicemail.
+ Note: AccessibilityServices uses this attribute to announce the purpose of the button.
+ [CHAR LIMIT=NONE] -->
+ <string name="description_voicemail_action">Listen to voicemail from <xliff:g id="nameOrNumber" example="John Smith">%1$s</xliff:g></string>
+
+ <!-- String describing the "delete" action for an entry in the call log. The delete
+ action triggers the removal of the current call log entry from the call log.
+ Note: AccessibilityServices uses this attribute to announce the purpose of the button.
+ [CHAR LIMIT=NONE] -->
+ <string name="description_delete_action">Delete call log entry for <xliff:g id="nameOrNumber" example="John Smith">%1$s</xliff:g></string>
+
+ <!-- Toast message which appears when a call log entry is deleted. -->
+ <string name="toast_entry_removed">Call log entry deleted.</string>
</resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 381ee35..659d5ab 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -48,17 +48,16 @@
<item name="list_item_photo_size">@dimen/contact_browser_list_item_photo_size</item>
<item name="list_item_profile_photo_size">70dip</item>
<item name="list_item_prefix_highlight_color">@color/people_app_theme_color</item>
+ <item name="list_item_background_color">@color/background_dialer_light</item>
<item name="list_item_header_text_indent">8dip</item>
<item name="list_item_header_text_color">@color/people_app_theme_color</item>
<item name="list_item_header_text_size">14sp</item>
<item name="list_item_header_height">30dip</item>
- <item name="list_item_header_underline_height">1dip</item>
- <item name="list_item_header_underline_color">@color/favorite_contacts_separator_color</item>
<item name="list_item_data_width_weight">5</item>
<item name="list_item_label_width_weight">3</item>
- <item name="contact_browser_list_padding_left">8dip</item>
- <item name="contact_browser_list_padding_right">0dip</item>
- <item name="contact_browser_background">@android:color/transparent</item>
+ <item name="contact_browser_list_padding_left">16dp</item>
+ <item name="contact_browser_list_padding_right">0dp</item>
+ <item name="contact_browser_background">@color/contact_list_background_color</item>
<item name="list_item_text_indent">@dimen/contact_browser_list_item_text_indent</item>
<!-- CallLog -->
<item name="call_log_primary_text_color">#000000</item>
@@ -73,6 +72,7 @@
<item name="call_log_voicemail_status_action_text_color">#33b5e5</item>
<!-- Favorites -->
<item name="favorites_padding_bottom">?android:attr/actionBarSize</item>
+ <item name="android:colorPrimaryDark">@color/actionbar_background_color_dark</item>
</style>
<!-- Action bar overflow menu icon. -->
@@ -89,6 +89,11 @@
<item name="android:windowActionBarOverlay">false</item>
</style>
+ <!-- Hide the actionbar title during the activity preview -->
+ <style name="DialtactsActivityTheme" parent="DialtactsTheme">
+ <item name="android:actionBarStyle">@style/DialtactsActionBarWithoutTitleStyle</item>
+ </style>
+
<style name="CallDetailActivityTheme" parent="android:Theme.Quantum.Light">
<item name="android:windowBackground">@color/background_dialer_light</item>
<item name="android:gravity">top</item>
@@ -96,9 +101,9 @@
<item name="android:actionBarStyle">@style/DialtactsActionBarStyle</item>
<item name="android:actionOverflowButtonStyle">@style/DialtactsActionBarOverflow</item>
<!-- CallLog -->
- <item name="call_log_primary_text_color">#333333</item>
+ <item name="call_log_primary_text_color">#404040</item>
<item name="call_log_primary_background_color">#FFFFFF</item>
- <item name="call_log_secondary_text_color">#333333</item>
+ <item name="call_log_secondary_text_color">#9a9a9a</item>
<item name="call_log_secondary_background_color">#FFFFFF</item>
<item name="call_log_header_color">#FFFFFF</item>
<!-- VoicemailStatus -->
@@ -108,48 +113,6 @@
<item name="call_log_voicemail_status_action_text_color">#33b5e5</item>
</style>
- <style name="DialpadKeyNumberStyle">
- <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="DialpadKeyStarPoundStyle">
- <item name="android:textColor">@color/dialpad_secondary_text_color</item>
- <item name="android:textSize">@dimen/dialpad_key_star_pound_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="DialpadKeyLettersStyle">
- <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="DialpadKeyButtonStyle">
- <item name="android:soundEffectsEnabled">false</item>
- <item name="android:clickable">true</item>
- <item name="android:layout_width">fill_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="DialpadKeyInternalLayoutStyle">
- <item name="android:layout_width">wrap_content</item>
- <item name="android:layout_height">wrap_content</item>
- <item name="android:layout_gravity">center</item>
- </style>
-
<style name="DialtactsActionBarStyle" parent="android:Widget.Quantum.ActionBar">
<item name="android:background">@color/actionbar_background_color</item>
<item name="android:backgroundStacked">#ffffff</item>
@@ -158,6 +121,10 @@
<item name="android:icon">@android:color/transparent</item>
</style>
+ <style name="DialtactsActionBarWithoutTitleStyle" parent="DialtactsActionBarStyle">
+ <item name="android:displayOptions"></item>
+ </style>
+
<!-- Text in the action bar at the top of the screen -->
<style name="DialtactsActionBarTitleText"
parent="@android:style/TextAppearance.Quantum.Widget.ActionBar.Title">
diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java
index 470c0b6..decfe9b 100644
--- a/src/com/android/dialer/CallDetailActivity.java
+++ b/src/com/android/dialer/CallDetailActivity.java
@@ -745,9 +745,9 @@
private void loadContactPhotos(Uri photoUri, String displayName, String lookupKey,
int contactType) {
final DefaultImageRequest request = new DefaultImageRequest(displayName, lookupKey,
- contactType);
+ contactType, false);
mContactPhotoManager.loadPhoto(mContactBackgroundView, photoUri,
- mContactBackgroundView.getWidth(), true, request);
+ mContactBackgroundView.getWidth(), true, false /* isCircular */, request);
}
static final class ViewEntry {
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index c449e09..8d14f01 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -16,21 +16,18 @@
package com.android.dialer;
-import android.animation.Animator;
-import android.animation.Animator.AnimatorListener;
-import android.animation.AnimatorListenerAdapter;
+import android.animation.LayoutTransition;
+import android.app.ActionBar;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
-import android.app.SearchManager;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.TypedArray;
-import android.graphics.Outline;
import android.net.Uri;
import android.os.Bundle;
import android.os.RemoteException;
@@ -38,25 +35,28 @@
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Intents;
import android.speech.RecognizerIntent;
+import android.support.v4.view.ViewPager;
import android.telephony.TelephonyManager;
+import android.text.Editable;
import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.util.AttributeSet;
import android.util.Log;
+import android.view.DragEvent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
-import android.view.View.OnLayoutChangeListener;
-import android.view.ViewGroup.LayoutParams;
-import android.view.ViewTreeObserver.OnGlobalLayoutListener;
+import android.view.View.OnDragListener;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.DecelerateInterpolator;
import android.view.animation.Interpolator;
import android.view.inputmethod.InputMethodManager;
import android.widget.AbsListView.OnScrollListener;
-import android.widget.LinearLayout;
+import android.widget.EditText;
+import android.widget.ImageButton;
import android.widget.PopupMenu;
-import android.widget.SearchView;
-import android.widget.SearchView.OnQueryTextListener;
+import android.widget.RelativeLayout;
import android.widget.Toast;
import com.android.contacts.common.CallUtil;
@@ -64,6 +64,7 @@
import com.android.contacts.common.dialog.ClearFrequentsDialog;
import com.android.contacts.common.interactions.ImportExportDialogFragment;
import com.android.contacts.common.list.OnPhoneNumberPickerActionListener;
+import com.android.contacts.common.util.ViewUtil;
import com.android.dialer.calllog.CallLogActivity;
import com.android.dialer.database.DialerDatabaseHelper;
import com.android.dialer.dialpad.DialpadFragment;
@@ -74,8 +75,7 @@
import com.android.dialer.list.ListsFragment;
import com.android.dialer.list.OnDragDropListener;
import com.android.dialer.list.OnListFragmentScrolledListener;
-import com.android.dialer.list.PhoneFavoriteFragment;
-import com.android.dialer.list.PhoneFavoriteTileView;
+import com.android.dialer.list.SpeedDialFragment;
import com.android.dialer.list.PhoneFavoriteSquareTileView;
import com.android.dialer.list.RegularSearchFragment;
import com.android.dialer.list.RemoveView;
@@ -95,9 +95,10 @@
OnListFragmentScrolledListener,
DialpadFragment.HostInterface,
ListsFragment.HostInterface,
- PhoneFavoriteFragment.HostInterface,
+ SpeedDialFragment.HostInterface,
OnDragDropListener, View.OnLongClickListener,
- OnPhoneNumberPickerActionListener {
+ OnPhoneNumberPickerActionListener,
+ ViewPager.OnPageChangeListener {
private static final String TAG = "DialtactsActivity";
public static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
@@ -131,6 +132,8 @@
private static final int ANIMATION_DURATION = 250;
+ private RelativeLayout parentLayout;
+
/**
* Fragment containing the dialpad that slides into view
*/
@@ -151,12 +154,8 @@
*/
private ListsFragment mListsFragment;
- private View mFakeActionBar;
- private View mMenuButton;
- private View mCallHistoryButton;
- private View mDialpadButton;
- private View mDialButton;
- private PopupMenu mDialpadOverflowMenu;
+ private View mFloatingActionButtonContainer;
+ private ImageButton mFloatingActionButton;
private View mFragmentsFrame;
@@ -164,6 +163,12 @@
private boolean mInDialpadSearch;
private boolean mInRegularSearch;
private boolean mClearSearchOnPause;
+ private boolean isDialpadShown;
+
+ /**
+ * The position of the currently selected tab in the attached {@link ListsFragment}.
+ */
+ private int mCurrentTabPosition = 0;
/**
* True if the dialpad is only temporarily showing due to being in call
@@ -181,22 +186,25 @@
*/
private String mPendingSearchViewQuery;
- // This view points to the Framelayout that houses both the search view and remove view
- // containers.
- private View mSearchAndRemoveViewContainer;
- private SearchView mSearchView;
+ private EditText mSearchView;
+ private View mSearchViewCloseButton;
+ private View mVoiceSearchButton;
/**
* View that contains the "Remove" dialog that shows up when the user long presses a contact.
* If the user releases a contact when hovering on top of this, the contact is unfavorited and
* removed from the speed dial list.
*/
- private RemoveView mRemoveViewContainer;
+ private View mRemoveViewContainer;
final Interpolator hideActionBarInterpolator = new AccelerateInterpolator(1.5f);
final Interpolator showActionBarInterpolator = new DecelerateInterpolator(1.5f);
private String mSearchQuery;
private DialerDatabaseHelper mDialerDatabaseHelper;
+ private DragDropController mDragDropController;
+
+ private int mDialerBackgroundColor;
+ private int mContactListBackgroundColor;
private class OverflowPopupMenu extends PopupMenu {
public OverflowPopupMenu(Context context, View anchor) {
@@ -207,61 +215,43 @@
public void show() {
final Menu menu = getMenu();
final MenuItem clearFrequents = menu.findItem(R.id.menu_clear_frequents);
- // TODO: Check mPhoneFavoriteFragment.hasFrequents()
+ // TODO: Check mSpeedDialFragment.hasFrequents()
clearFrequents.setVisible(true);
super.show();
}
}
/**
- * Listener used when one of phone numbers in search UI is selected. This will initiate a
- * phone call using the phone number.
+ * Listener that listens to drag events and sends their x and y coordinates to a
+ * {@link DragDropController}.
*/
- private final OnPhoneNumberPickerActionListener mPhoneNumberPickerActionListener =
- new OnPhoneNumberPickerActionListener() {
- @Override
- public void onPickPhoneNumberAction(Uri dataUri) {
- // Specify call-origin so that users will see the previous tab instead of
- // CallLog screen (search UI will be automatically exited).
- PhoneNumberInteraction.startInteractionForPhoneCall(
- DialtactsActivity.this, dataUri, getCallOrigin());
- mClearSearchOnPause = true;
- }
-
- @Override
- public void onCallNumberDirectly(String phoneNumber) {
- Intent intent = CallUtil.getCallIntent(phoneNumber, getCallOrigin());
- startActivity(intent);
- mClearSearchOnPause = true;
- }
-
- @Override
- public void onShortcutIntentCreated(Intent intent) {
- Log.w(TAG, "Unsupported intent has come (" + intent + "). Ignoring.");
- }
-
- @Override
- public void onHomeInActionBarSelected() {
- exitSearchUi();
- }
- };
+ private class LayoutOnDragListener implements OnDragListener {
+ @Override
+ public boolean onDrag(View v, DragEvent event) {
+ if (event.getAction() == DragEvent.ACTION_DRAG_LOCATION) {
+ mDragDropController.handleDragHovered(v, (int) event.getX(),
+ (int) event.getY());
+ }
+ return true;
+ }
+ }
/**
* Listener used to send search queries to the phone search fragment.
*/
- private final OnQueryTextListener mPhoneSearchQueryTextListener = new OnQueryTextListener() {
+ private final TextWatcher mPhoneSearchQueryTextListener = new TextWatcher() {
@Override
- public boolean onQueryTextSubmit(String query) {
- return false;
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
- public boolean onQueryTextChange(String newText) {
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ final String newText = s.toString();
if (newText.equals(mSearchQuery)) {
// If the query hasn't changed (perhaps due to activity being destroyed
// and restored, or user launching the same DIAL intent twice), then there is
// no need to do anything here.
- return true;
+ return;
}
mSearchQuery = newText;
if (DEBUG) {
@@ -272,7 +262,9 @@
// Show search result with non-empty text. Show a bare list otherwise.
if (TextUtils.isEmpty(newText) && getInSearchUi()) {
exitSearchUi();
- return true;
+ mSearchViewCloseButton.setVisibility(View.GONE);
+ mVoiceSearchButton.setVisibility(View.VISIBLE);
+ return;
} else if (!TextUtils.isEmpty(newText)) {
final boolean sameSearchMode = (dialpadSearch && mInDialpadSearch) ||
(!dialpadSearch && mInRegularSearch);
@@ -287,9 +279,15 @@
} else if (mRegularSearchFragment != null) {
mRegularSearchFragment.setQueryString(newText, false);
}
- return true;
+ mSearchViewCloseButton.setVisibility(View.VISIBLE);
+ mVoiceSearchButton.setVisibility(View.GONE);
+ return;
}
- return true;
+ return;
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
}
};
@@ -305,8 +303,17 @@
setContentView(R.layout.dialtacts_activity);
getWindow().setBackgroundDrawable(null);
- getActionBar().setDisplayShowHomeEnabled(false);
- getActionBar().setDisplayShowTitleEnabled(false);
+ final ActionBar actionBar = getActionBar();
+ actionBar.setCustomView(R.layout.search_edittext);
+ actionBar.setDisplayShowCustomEnabled(true);
+
+ final View customView = actionBar.getCustomView();
+
+ mSearchView = (EditText) customView.findViewById(R.id.search_view);
+ mSearchView.addTextChangedListener(mPhoneSearchQueryTextListener);
+
+ mSearchViewCloseButton = customView.findViewById(R.id.search_close_button);
+ mSearchViewCloseButton.setOnClickListener(this);
final TypedArray styledAttributes = getTheme().obtainStyledAttributes(
new int[] { android.R.attr.actionBarSize });
@@ -327,21 +334,23 @@
mFirstLaunch = savedInstanceState.getBoolean(KEY_FIRST_LAUNCH);
}
+ parentLayout = (RelativeLayout) findViewById(R.id.dialtacts_mainlayout);
+ parentLayout.getLayoutTransition().enableTransitionType(LayoutTransition.CHANGING);
+ parentLayout.setOnDragListener(new LayoutOnDragListener());
+
+ mDialerBackgroundColor = getResources().getColor(R.color.background_dialer_light);
+ mContactListBackgroundColor =
+ getResources().getColor(R.color.contact_list_background_color);
+
mFragmentsFrame = findViewById(R.id.dialtacts_frame);
- mFakeActionBar = findViewById(R.id.fake_action_bar);
+ mFloatingActionButtonContainer = findViewById(R.id.floating_action_button_container);
+ ViewUtil.setupFloatingActionButton(mFloatingActionButtonContainer, getResources());
- mCallHistoryButton = findViewById(R.id.call_history_button);
- mCallHistoryButton.setOnClickListener(this);
- mDialButton = findViewById(R.id.dial_button);
- mDialButton.setOnClickListener(this);
- mDialpadButton = findViewById(R.id.dialpad_button);
- mDialpadButton.setOnClickListener(this);
- mMenuButton = findViewById(R.id.overflow_menu_button);
- mMenuButton.setOnClickListener(this);
+ mFloatingActionButton = (ImageButton) findViewById(R.id.floating_action_button);
+ mFloatingActionButton.setOnClickListener(this);
- mRemoveViewContainer = (RemoveView) findViewById(R.id.remove_view_container);
- mSearchAndRemoveViewContainer = findViewById(R.id.search_and_remove_view_container);
+ mRemoveViewContainer = findViewById(R.id.remove_view_container);
mDialerDatabaseHelper = DatabaseHelperManager.getDatabaseHelper(this);
SmartDialPrefix.initializeNanpSettings(this);
@@ -357,6 +366,7 @@
mInCallDialpadUp = false;
}
mFirstLaunch = false;
+ prepareVoiceSearchButton();
mDialerDatabaseHelper.startSmartDialUpdateThread();
}
@@ -387,20 +397,19 @@
transaction.commit();
} else if (fragment instanceof SmartDialSearchFragment) {
mSmartDialSearchFragment = (SmartDialSearchFragment) fragment;
- mSmartDialSearchFragment.setOnPhoneNumberPickerActionListener(
- mPhoneNumberPickerActionListener);
+ mSmartDialSearchFragment.setOnPhoneNumberPickerActionListener(this);
if (mFragmentsFrame != null) {
mFragmentsFrame.setAlpha(1.0f);
}
} else if (fragment instanceof SearchFragment) {
mRegularSearchFragment = (RegularSearchFragment) fragment;
- mRegularSearchFragment.setOnPhoneNumberPickerActionListener(
- mPhoneNumberPickerActionListener);
+ mRegularSearchFragment.setOnPhoneNumberPickerActionListener(this);
if (mFragmentsFrame != null) {
mFragmentsFrame.setAlpha(1.0f);
}
} else if (fragment instanceof ListsFragment) {
mListsFragment = (ListsFragment) fragment;
+ mListsFragment.addOnPageChangeListener(this);
}
}
@@ -416,29 +425,20 @@
@Override
public void onClick(View view) {
switch (view.getId()) {
- case R.id.overflow_menu_button:
- mDialpadOverflowMenu.show();
- break;
- case R.id.dialpad_button:
- // Reset the boolean flag that tracks whether the dialpad was up because
- // we were in call. Regardless of whether it was true before, we want to
- // show the dialpad because the user has explicitly clicked the dialpad
- // button.
- mInCallDialpadUp = false;
- showDialpadFragment(true);
- break;
- case R.id.call_history_button:
- showCallHistory();
- break;
- case R.id.dial_button:
- // Dial button was pressed; tell the Dialpad fragment
- mDialpadFragment.dialButtonPressed();
+ case R.id.floating_action_button:
+ if (!isDialpadShown) {
+ mInCallDialpadUp = false;
+ showDialpadFragment(true);
+ } else {
+ // Dial button was pressed; tell the Dialpad fragment
+ mDialpadFragment.dialButtonPressed();
+ }
break;
case R.id.search_close_button:
// Clear the search field
- if (!TextUtils.isEmpty(mSearchView.getQuery())) {
+ if (!TextUtils.isEmpty(mSearchView.getText())) {
mDialpadFragment.clearDialpad();
- mSearchView.setQuery("", false);
+ mSearchView.setText(null);
}
break;
case R.id.voice_search_button:
@@ -483,7 +483,7 @@
return true;
case R.id.menu_clear_frequents:
// TODO: This should be enabled/disabled based on
- // PhoneFavoritesFragments.hasFrequents
+ // SpeedDialFragment.hasFrequents
ClearFrequentsDialog.show(getFragmentManager());
return true;
case R.id.menu_call_settings:
@@ -496,15 +496,15 @@
@Override
public boolean onLongClick(View view) {
switch (view.getId()) {
- case R.id.dial_button: {
- // Dial button was pressed; tell the Dialpad fragment
- mDialpadFragment.dialButtonPressed();
- return true; // Consume the event
- }
- default: {
+ case R.id.floating_action_button:
+ if (isDialpadShown) {
+ // Dial button was pressed; tell the Dialpad fragment
+ mDialpadFragment.dialButtonPressed();
+ return true; // Consume the event
+ }
+ default:
Log.wtf(TAG, "Unexpected onClick event from " + view);
break;
- }
}
return false;
}
@@ -517,7 +517,7 @@
RecognizerIntent.EXTRA_RESULTS);
if (matches.size() > 0) {
final String match = matches.get(0);
- mSearchView.setQuery(match, false);
+ mSearchView.setText(match);
} else {
Log.e(TAG, "Voice search - nothing heard");
}
@@ -529,7 +529,8 @@
}
private void showDialpadFragment(boolean animate) {
- mDialpadFragment.setAdjustTranslationForAnimation(animate);
+ mDialpadFragment.setAnimate(animate);
+
final FragmentTransaction ft = getFragmentManager().beginTransaction();
if (animate) {
ft.setCustomAnimations(R.anim.slide_in, 0);
@@ -546,7 +547,7 @@
mDialpadFragment.clearDialpad();
}
if (!mDialpadFragment.isVisible()) return;
- mDialpadFragment.setAdjustTranslationForAnimation(animate);
+ mDialpadFragment.setAnimate(animate);
final FragmentTransaction ft = getFragmentManager().beginTransaction();
if (animate) {
ft.setCustomAnimations(0, R.anim.slide_out);
@@ -555,13 +556,6 @@
ft.commit();
}
- final AnimatorListener mHideListener = new AnimatorListenerAdapter() {
- @Override
- public void onAnimationEnd(Animator animation) {
- mSearchAndRemoveViewContainer.setVisibility(View.GONE);
- }
- };
-
private boolean getInSearchUi() {
return mInDialpadSearch || mInRegularSearch;
}
@@ -572,7 +566,7 @@
}
private void hideDialpadAndSearchUi() {
- mSearchView.setQuery("", false);
+ mSearchView.setText(null);
hideDialpadFragment(false, true);
}
@@ -580,13 +574,10 @@
* Callback from child DialpadFragment when the dialpad is shown.
*/
public void onDialpadShown() {
- mDialButton.setVisibility(View.VISIBLE);
- mDialpadButton.setVisibility(View.GONE);
- mMenuButton.setVisibility(View.VISIBLE);
- if (mDialpadOverflowMenu == null) {
- mDialpadOverflowMenu = mDialpadFragment.buildOptionsMenu(mMenuButton);
- mMenuButton.setOnTouchListener(mDialpadOverflowMenu.getDragToOpenListener());
- }
+ isDialpadShown = true;
+ mFloatingActionButton.setImageResource(R.drawable.fab_ic_call);
+ mFloatingActionButton.setContentDescription(
+ getResources().getString(R.string.description_dial_button));
SearchFragment fragment = null;
if (mInDialpadSearch) {
@@ -595,24 +586,27 @@
fragment = mRegularSearchFragment;
}
if (fragment != null && fragment.isVisible()) {
- fragment.getListView().animate().translationY(-mActionBarHeight)
+ fragment.getView().animate().translationY(-mActionBarHeight)
.setInterpolator(hideActionBarInterpolator).setDuration(ANIMATION_DURATION);
}
if (mListsFragment != null && mListsFragment.isResumed() && mListsFragment.isVisible()) {
// If the favorites fragment is showing, fade to blank.
mFragmentsFrame.animate().alpha(0.0f);
+ parentLayout.setBackgroundColor(mContactListBackgroundColor);
}
getActionBar().hide();
+ alignFloatingActionButtonMiddle();
}
/**
* Callback from child DialpadFragment when the dialpad is hidden.
*/
public void onDialpadHidden() {
- mDialButton.setVisibility(View.GONE);
- mDialpadButton.setVisibility(View.VISIBLE);
- mMenuButton.setVisibility(View.GONE);
+ isDialpadShown = false;
+ mFloatingActionButton.setImageResource(R.drawable.fab_ic_dial);
+ mFloatingActionButton.setContentDescription(
+ getResources().getString(R.string.action_menu_dialpad_button));
SearchFragment fragment = null;
if (mInDialpadSearch) {
@@ -621,14 +615,17 @@
fragment = mRegularSearchFragment;
}
if (fragment != null && fragment.isVisible()) {
- fragment.getListView().animate().translationY(0)
+ fragment.getView().animate().translationY(0)
.setInterpolator(showActionBarInterpolator).setDuration(ANIMATION_DURATION);
}
if (mListsFragment != null && mListsFragment.isVisible()) {
mFragmentsFrame.animate().alpha(1.0f);
+ parentLayout.setBackgroundColor(mDialerBackgroundColor);
+
}
getActionBar().show();
+ alignFloatingActionButtonByTab(mCurrentTabPosition);
}
private void hideInputMethod(View view) {
@@ -639,6 +636,17 @@
}
}
+ private void prepareVoiceSearchButton() {
+ mVoiceSearchButton = getActionBar().getCustomView().findViewById(R.id.voice_search_button);
+ final Intent voiceIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
+ if (canIntentBeHandled(voiceIntent)) {
+ mVoiceSearchButton.setVisibility(View.VISIBLE);
+ mVoiceSearchButton.setOnClickListener(this);
+ } else {
+ mVoiceSearchButton.setVisibility(View.GONE);
+ }
+ }
+
@Override
public boolean onCreateOptionsMenu(Menu menu) {
if (DEBUG) {
@@ -646,15 +654,9 @@
}
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.dialtacts_options, menu);
- final MenuItem searchItem = menu.findItem(R.id.menu_search);
- mSearchView = (SearchView) searchItem.getActionView();
- SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
- mSearchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
- mSearchView.setOnQueryTextListener(mPhoneSearchQueryTextListener);
- mSearchView.setIconifiedByDefault(false);
if (mPendingSearchViewQuery != null) {
- mSearchView.setQuery(mPendingSearchViewQuery, false);
+ mSearchView.setText(mPendingSearchViewQuery);
mPendingSearchViewQuery = null;
}
return super.onCreateOptionsMenu(menu);
@@ -821,7 +823,7 @@
if (mDialpadFragment != null && mDialpadFragment.isVisible()) {
hideDialpadFragment(true, false);
} else if (getInSearchUi()) {
- mSearchView.setQuery(null, false);
+ mSearchView.setText(null);
mDialpadFragment.clearDialpad();
} else {
super.onBackPressed();
@@ -835,13 +837,8 @@
}
final String normalizedQuery = SmartDialNameMatcher.normalizeNumber(query,
SmartDialNameMatcher.LATIN_SMART_DIAL_MAP);
- if (mSearchView == null) {
- if (!TextUtils.isEmpty(normalizedQuery)) {
- mPendingSearchViewQuery = normalizedQuery;
- }
- return;
- }
- if (!TextUtils.equals(mSearchView.getQuery(), normalizedQuery)) {
+
+ if (!TextUtils.equals(mSearchView.getText(), normalizedQuery)) {
if (DEBUG) {
Log.d(TAG, "onDialpadQueryChanged - new query: " + query);
}
@@ -851,12 +848,12 @@
// that would bring the user back to the search fragment regardless of the
// previous state of the application. Instead, just return here and let the
// fragment manager correctly figure out whatever fragment was last displayed.
+ if (!TextUtils.isEmpty(normalizedQuery)) {
+ mPendingSearchViewQuery = normalizedQuery;
+ }
return;
}
- if (mDialpadFragment != null) {
- mDialpadOverflowMenu = mDialpadFragment.buildOptionsMenu(mMenuButton);
- }
- mSearchView.setQuery(normalizedQuery, false);
+ mSearchView.setText(normalizedQuery);
}
}
@@ -876,15 +873,8 @@
}
@Override
- public void setDialButtonEnabled(boolean enabled) {
- if (mDialButton != null) {
- mDialButton.setEnabled(enabled);
- }
- }
-
- @Override
- public void setDialButtonContainerVisible(boolean visible) {
- mFakeActionBar.setVisibility(visible ? View.VISIBLE : View.GONE);
+ public void setFloatingActionButtonVisible(boolean visible) {
+ mFloatingActionButtonContainer.setVisibility(visible ? View.VISIBLE : View.GONE);
}
private boolean phoneIsInUse() {
@@ -921,11 +911,12 @@
@Override
public void onDragStarted(int x, int y, PhoneFavoriteSquareTileView view) {
getActionBar().hide();
- mSearchAndRemoveViewContainer.setVisibility(View.VISIBLE);
+ mRemoveViewContainer.setVisibility(View.VISIBLE);
}
@Override
- public void onDragHovered(int x, int y, PhoneFavoriteSquareTileView view) {}
+ public void onDragHovered(int x, int y, PhoneFavoriteSquareTileView view) {
+ }
/**
* Called when the user has released a contact tile after long-pressing it.
@@ -933,42 +924,92 @@
@Override
public void onDragFinished(int x, int y) {
getActionBar().show();
- mSearchAndRemoveViewContainer.setVisibility(View.GONE);
+ mRemoveViewContainer.setVisibility(View.GONE);
}
@Override
public void onDroppedOnRemove() {}
/**
- * Allows the PhoneFavoriteFragment to attach the drag controller to mRemoveViewContainer
+ * Allows the SpeedDialFragment to attach the drag controller to mRemoveViewContainer
* once it has been attached to the activity.
*/
@Override
public void setDragDropController(DragDropController dragController) {
- mRemoveViewContainer.setDragDropController(dragController);
+ mDragDropController = dragController;
+ ((RemoveView) findViewById(R.id.remove_view))
+ .setDragDropController(dragController);
}
@Override
public void onPickPhoneNumberAction(Uri dataUri) {
- mPhoneNumberPickerActionListener.onPickPhoneNumberAction(dataUri);
+ // Specify call-origin so that users will see the previous tab instead of
+ // CallLog screen (search UI will be automatically exited).
+ PhoneNumberInteraction.startInteractionForPhoneCall(
+ DialtactsActivity.this, dataUri, getCallOrigin());
+ mClearSearchOnPause = true;
}
@Override
public void onCallNumberDirectly(String phoneNumber) {
- mPhoneNumberPickerActionListener.onCallNumberDirectly(phoneNumber);
+ Intent intent = CallUtil.getCallIntent(phoneNumber, getCallOrigin());
+ startActivity(intent);
+ mClearSearchOnPause = true;
}
@Override
public void onShortcutIntentCreated(Intent intent) {
- mPhoneNumberPickerActionListener.onShortcutIntentCreated(intent);
+ Log.w(TAG, "Unsupported intent has come (" + intent + "). Ignoring.");
}
@Override
public void onHomeInActionBarSelected() {
- mPhoneNumberPickerActionListener.onHomeInActionBarSelected();
+ exitSearchUi();
}
public int getActionBarHeight() {
return mActionBarHeight;
}
+
+ @Override
+ public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+
+ }
+
+ @Override
+ public void onPageSelected(int position) {
+ mCurrentTabPosition = position;
+ // If the dialpad is showing, the floating action button should always be middle aligned.
+ if (!isDialpadShowing()) {
+ alignFloatingActionButtonByTab(mCurrentTabPosition);
+ }
+ }
+
+ @Override
+ public void onPageScrollStateChanged(int state) {
+ }
+
+ private void alignFloatingActionButtonByTab(int position) {
+ if (position == ListsFragment.TAB_INDEX_SPEED_DIAL) {
+ alignFloatingActionButtonMiddle();
+ } else {
+ alignFloatingActionButtonRight();
+ }
+ }
+
+ private void alignFloatingActionButtonRight() {
+ final RelativeLayout.LayoutParams params =
+ (RelativeLayout.LayoutParams) mFloatingActionButtonContainer.getLayoutParams();
+ params.removeRule(RelativeLayout.CENTER_HORIZONTAL);
+ params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
+ mFloatingActionButtonContainer.setLayoutParams(params);
+ }
+
+ private void alignFloatingActionButtonMiddle() {
+ final RelativeLayout.LayoutParams params =
+ (RelativeLayout.LayoutParams) mFloatingActionButtonContainer.getLayoutParams();
+ params.removeRule(RelativeLayout.ALIGN_PARENT_RIGHT);
+ params.addRule(RelativeLayout.CENTER_HORIZONTAL);
+ mFloatingActionButtonContainer.setLayoutParams(params);
+ }
}
diff --git a/src/com/android/dialer/PhoneCallDetailsHelper.java b/src/com/android/dialer/PhoneCallDetailsHelper.java
index 4424fcb..ab59972 100644
--- a/src/com/android/dialer/PhoneCallDetailsHelper.java
+++ b/src/com/android/dialer/PhoneCallDetailsHelper.java
@@ -18,9 +18,7 @@
import android.content.res.Resources;
import android.graphics.Typeface;
-import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds.Phone;
-import android.telephony.PhoneNumberUtils;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextUtils;
@@ -36,6 +34,10 @@
import com.android.dialer.calllog.ContactInfo;
import com.android.dialer.calllog.PhoneNumberDisplayHelper;
import com.android.dialer.calllog.PhoneNumberUtilsWrapper;
+import com.google.android.collect.Lists;
+
+import java.util.ArrayList;
+import java.util.List;
/**
* Helper class to fill in the views in {@link PhoneCallDetailsViews}.
@@ -53,6 +55,11 @@
private final PhoneNumberUtilsWrapper mPhoneNumberUtilsWrapper;
/**
+ * List of items to be concatenated together for accessibility descriptions
+ */
+ private ArrayList<CharSequence> mDescriptionItems = Lists.newArrayList();
+
+ /**
* Creates a new instance of the helper.
* <p>
* Generally you should have a single instance of this helper in any context.
@@ -68,8 +75,7 @@
}
/** Fills the call details views with content. */
- public void setPhoneCallDetails(PhoneCallDetailsViews views, PhoneCallDetails details,
- boolean isHighlighted) {
+ public void setPhoneCallDetails(PhoneCallDetailsViews views, PhoneCallDetails details) {
// Display up to a given number of icons.
views.callTypeIcons.clear();
int count = details.callTypes.length;
@@ -86,46 +92,55 @@
} else {
callCount = null;
}
- // The color to highlight the count and date in, if any. This is based on the first call.
- Integer highlightColor =
- isHighlighted ? mCallTypeHelper.getHighlightedColor(details.callTypes[0]) : null;
- // The date of this call, relative to the current time.
- CharSequence dateText = getCallDate(details);
+ CharSequence callLocationAndDate = getCallLocationAndDate(details);
- // Set the call count and date.
- setCallCountAndDate(views, callCount, dateText, highlightColor);
-
- // Get type of call (ie mobile, home, etc) if known, or the caller's
- CharSequence numberFormattedLabel = getCallTypeOrLocation(details);
+ // Set the call count, location and date.
+ setCallCountAndDate(views, callCount, callLocationAndDate);
final CharSequence nameText;
- final CharSequence numberText;
- final CharSequence labelText;
final CharSequence displayNumber =
mPhoneNumberHelper.getDisplayNumber(details.number,
details.numberPresentation, details.formattedNumber);
if (TextUtils.isEmpty(details.name)) {
nameText = displayNumber;
- if (TextUtils.isEmpty(details.geocode)
- || mPhoneNumberUtilsWrapper.isVoicemailNumber(details.number)) {
- numberText = mResources.getString(R.string.call_log_empty_geocode);
- } else {
- numberText = details.geocode;
- }
- labelText = numberText;
// We have a real phone number as "nameView" so make it always LTR
views.nameView.setTextDirection(View.TEXT_DIRECTION_LTR);
} else {
nameText = details.name;
- numberText = displayNumber;
- labelText = TextUtils.isEmpty(numberFormattedLabel) ? numberText :
- numberFormattedLabel;
}
views.nameView.setText(nameText);
- views.labelView.setText(labelText);
- views.labelView.setVisibility(TextUtils.isEmpty(labelText) ? View.GONE : View.VISIBLE);
+
+ // TODO: At the current time the voicemail transcription is not supported. This view
+ // is kept for future expansion when we may wish to show a transcription of voicemail.
+ views.voicemailTranscriptionView.setText("");
+ views.voicemailTranscriptionView.setVisibility(View.GONE);
+ }
+
+ /**
+ * Builds a string containing the call location and date.
+ *
+ * @param details The call details.
+ * @return The call location and date string.
+ */
+ private CharSequence getCallLocationAndDate(PhoneCallDetails details) {
+ mDescriptionItems.clear();
+
+ // Get type of call (ie mobile, home, etc) if known, or the caller's location.
+ CharSequence callTypeOrLocation = getCallTypeOrLocation(details);
+
+ // Only add the call type or location if its not empty. It will be empty for unknown
+ // callers.
+ if (!TextUtils.isEmpty(callTypeOrLocation)) {
+ mDescriptionItems.add(callTypeOrLocation);
+ }
+ // The date of this call, relative to the current time.
+ mDescriptionItems.add(getCallDate(details));
+
+ // Create a comma separated list from the call type or location, and call date.
+ // TextUtils.join ensures a locale appropriate list separator is used.
+ return TextUtils.join((List<CharSequence>)mDescriptionItems);
}
/**
@@ -139,7 +154,9 @@
CharSequence numberFormattedLabel = null;
// Only show a label if the number is shown and it is not a SIP address.
if (!TextUtils.isEmpty(details.number)
- && !PhoneNumberHelper.isUriNumber(details.number.toString())) {
+ && !PhoneNumberHelper.isUriNumber(details.number.toString())
+ && !mPhoneNumberUtilsWrapper.isVoicemailNumber(details.number)) {
+
if (details.numberLabel == ContactInfo.GEOCODE_AS_LABEL) {
numberFormattedLabel = details.geocode;
} else {
@@ -147,6 +164,11 @@
details.numberLabel);
}
}
+
+ if (!TextUtils.isEmpty(details.name) && TextUtils.isEmpty(numberFormattedLabel)) {
+ numberFormattedLabel = mPhoneNumberHelper.getDisplayNumber(details.number,
+ details.numberPresentation, details.formattedNumber);
+ }
return numberFormattedLabel;
}
@@ -198,7 +220,7 @@
/** Sets the call count and date. */
private void setCallCountAndDate(PhoneCallDetailsViews views, Integer callCount,
- CharSequence dateText, Integer highlightColor) {
+ CharSequence dateText) {
// Combine the count (if present) and the date.
final CharSequence text;
if (callCount != null) {
@@ -208,23 +230,6 @@
text = dateText;
}
- // Apply the highlight color if present.
- final CharSequence formattedText;
- if (highlightColor != null) {
- formattedText = addBoldAndColor(text, highlightColor);
- } else {
- formattedText = text;
- }
-
- views.callTypeAndDate.setText(formattedText);
- }
-
- /** Creates a SpannableString for the given text which is bold and in the given color. */
- private CharSequence addBoldAndColor(CharSequence text, int color) {
- int flags = Spanned.SPAN_INCLUSIVE_INCLUSIVE;
- SpannableString result = new SpannableString(text);
- result.setSpan(new StyleSpan(Typeface.BOLD), 0, text.length(), flags);
- result.setSpan(new ForegroundColorSpan(color), 0, text.length(), flags);
- return result;
+ views.callLocationAndDate.setText(text);
}
}
diff --git a/src/com/android/dialer/PhoneCallDetailsViews.java b/src/com/android/dialer/PhoneCallDetailsViews.java
index 4e48210..30023ea 100644
--- a/src/com/android/dialer/PhoneCallDetailsViews.java
+++ b/src/com/android/dialer/PhoneCallDetailsViews.java
@@ -29,16 +29,17 @@
public final TextView nameView;
public final View callTypeView;
public final CallTypeIconsView callTypeIcons;
- public final TextView callTypeAndDate;
- public final TextView labelView;
+ public final TextView callLocationAndDate;
+ public final TextView voicemailTranscriptionView;
private PhoneCallDetailsViews(TextView nameView, View callTypeView,
- CallTypeIconsView callTypeIcons, TextView callTypeAndDate, TextView labelView) {
+ CallTypeIconsView callTypeIcons, TextView callLocationAndDate,
+ TextView voicemailTranscriptionView) {
this.nameView = nameView;
this.callTypeView = callTypeView;
this.callTypeIcons = callTypeIcons;
- this.callTypeAndDate = callTypeAndDate;
- this.labelView = labelView;
+ this.callLocationAndDate = callLocationAndDate;
+ this.voicemailTranscriptionView = voicemailTranscriptionView;
}
/**
@@ -52,8 +53,8 @@
return new PhoneCallDetailsViews((TextView) view.findViewById(R.id.name),
view.findViewById(R.id.call_type),
(CallTypeIconsView) view.findViewById(R.id.call_type_icons),
- (TextView) view.findViewById(R.id.call_count_and_date),
- (TextView) view.findViewById(R.id.label));
+ (TextView) view.findViewById(R.id.call_location_and_date),
+ (TextView) view.findViewById(R.id.voicemail_transcription));
}
public static PhoneCallDetailsViews createForTest(Context context) {
diff --git a/src/com/android/dialer/SpecialCharSequenceMgr.java b/src/com/android/dialer/SpecialCharSequenceMgr.java
index 0b44fac..9d622aa 100644
--- a/src/com/android/dialer/SpecialCharSequenceMgr.java
+++ b/src/com/android/dialer/SpecialCharSequenceMgr.java
@@ -30,6 +30,7 @@
import android.os.Looper;
import android.os.RemoteException;
import android.os.ServiceManager;
+import android.provider.Settings;
import android.telephony.PhoneNumberUtils;
import android.telephony.TelephonyManager;
import android.util.Log;
@@ -258,10 +259,7 @@
private static boolean handleRegulatoryInfoDisplay(Context context, String input) {
if (input.equals(MMI_REGULATORY_INFO_DISPLAY)) {
Log.d(TAG, "handleRegulatoryInfoDisplay() sending intent to settings app");
- ComponentName regInfoDisplayActivity = new ComponentName(
- "com.android.settings", "com.android.settings.RegulatoryInfoDisplayActivity");
- Intent showRegInfoIntent = new Intent("android.settings.SHOW_REGULATORY_INFO");
- showRegInfoIntent.setComponent(regInfoDisplayActivity);
+ Intent showRegInfoIntent = new Intent(Settings.ACTION_SHOW_REGULATORY_INFO);
try {
context.startActivity(showRegInfoIntent);
} catch (ActivityNotFoundException e) {
diff --git a/src/com/android/dialer/calllog/CallLogActivity.java b/src/com/android/dialer/calllog/CallLogActivity.java
index 0e6a0a3..13d5f03 100644
--- a/src/com/android/dialer/calllog/CallLogActivity.java
+++ b/src/com/android/dialer/calllog/CallLogActivity.java
@@ -113,6 +113,7 @@
mViewPagerTabs = (ViewPagerTabs) findViewById(R.id.viewpager_header);
mViewPagerTabs.setViewPager(mViewPager);
+ mViewPager.setOnPageChangeListener(mViewPagerTabs);
mVoicemailStatusHelper = new VoicemailStatusHelperImpl();
}
diff --git a/src/com/android/dialer/calllog/CallLogAdapter.java b/src/com/android/dialer/calllog/CallLogAdapter.java
index aee24ba..0aca913 100644
--- a/src/com/android/dialer/calllog/CallLogAdapter.java
+++ b/src/com/android/dialer/calllog/CallLogAdapter.java
@@ -22,12 +22,12 @@
import android.content.res.Resources;
import android.database.Cursor;
import android.net.Uri;
+import android.os.AsyncTask;
import android.os.Handler;
import android.os.Message;
import android.provider.CallLog.Calls;
import android.provider.ContactsContract.PhoneLookup;
import android.text.TextUtils;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -35,6 +35,7 @@
import android.view.ViewTreeObserver;
import android.widget.ImageView;
import android.widget.TextView;
+import android.widget.Toast;
import com.android.common.widget.GroupingListAdapter;
import com.android.contacts.common.ContactPhotoManager;
@@ -43,11 +44,14 @@
import com.android.dialer.PhoneCallDetails;
import com.android.dialer.PhoneCallDetailsHelper;
import com.android.dialer.R;
+import com.android.dialer.util.AsyncTaskExecutor;
+import com.android.dialer.util.AsyncTaskExecutors;
import com.android.dialer.util.ExpirableCache;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Objects;
+import java.util.HashMap;
import java.util.LinkedList;
/**
@@ -56,6 +60,21 @@
public class CallLogAdapter extends GroupingListAdapter
implements ViewTreeObserver.OnPreDrawListener, CallLogGroupBuilder.GroupCreator {
+
+ /** The enumeration of {@link android.os.AsyncTask} objects used in this class. */
+ public enum Tasks {
+ REMOVE_CALL_LOG_ENTRIES,
+ }
+
+ /** Interface used to inform a parent UI element that a list item has been expanded. */
+ public interface CallItemExpandedListener {
+ /**
+ * @param view The {@link CallLogListItemView} that represents the item that was clicked
+ * on.
+ */
+ public void onItemExpanded(CallLogListItemView view);
+ }
+
/** Interface used to initiate a refresh of the content. */
public interface CallFetcher {
public void fetchCalls();
@@ -103,6 +122,9 @@
private final CallFetcher mCallFetcher;
private ViewTreeObserver mViewTreeObserver = null;
+ /** Aynchronous task executor, lazy instantiated as needed. */
+ private AsyncTaskExecutor mAsyncTaskExecutor;
+
/**
* A cache of the contact details for the phone numbers in the call log.
* <p>
@@ -113,6 +135,9 @@
*/
private ExpirableCache<NumberWithCountryIso, ContactInfo> mContactInfoCache;
+ /** Hashmap, keyed by call Id, used to track which call log entries have been expanded or not */
+ private HashMap<Long,Boolean> mIsExpanded = new HashMap<Long,Boolean>();
+
/**
* A request for contact details for the given number.
*/
@@ -183,15 +208,11 @@
/** Helper to group call log entries. */
private final CallLogGroupBuilder mCallLogGroupBuilder;
+ private CallItemExpandedListener mCallItemExpandedListener;
+
/** Can be set to true by tests to disable processing of requests. */
private volatile boolean mRequestProcessingDisabled = false;
- /**
- * Whether to show the secondary action button used to play voicemail or show call details.
- * True if created from a CallLogFragment.
- * False if created from the PhoneFavoriteFragment. */
- private boolean mShowSecondaryActionButton = true;
-
private boolean mIsCallLog = true;
private int mNumMissedCalls = 0;
private int mNumMissedCallsShown = 0;
@@ -211,6 +232,47 @@
}
};
+ /**
+ * Click listener for the delete from call log button. Removes the current call log
+ * entry and its associated calls from the call log.
+ */
+ private final View.OnClickListener mDeleteListener = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ // Retrieve the views from the call log view.
+ final CallLogListItemViews views =
+ (CallLogListItemViews)
+ ((View)v.getParent().getParent().getParent().getParent()).getTag();
+
+ deleteCalls(views.callIds);
+ notifyDataSetChanged();
+ }
+ };
+
+ /**
+ * The onClickListener used to expand or collapse the action buttons section for a call log
+ * entry.
+ */
+ private final View.OnClickListener mExpandCollapseListener = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ final CallLogListItemView callLogItem = (CallLogListItemView) v.getParent().getParent();
+ final CallLogListItemViews views = (CallLogListItemViews) callLogItem.getTag();
+
+ // Hide or show the actions view.
+ boolean expanded = toggleExpansion(views.rowId);
+
+ // Trigger loading of the viewstub and visual expand or collapse.
+ expandOrCollapseActions(callLogItem, expanded);
+
+ if (mCallItemExpandedListener != null) {
+ mCallItemExpandedListener.onItemExpanded(callLogItem);
+ }
+
+ notifyDataSetChanged();
+ }
+ };
+
private void startActivityForAction(View view) {
final IntentProvider intentProvider = (IntentProvider) view.getTag();
if (intentProvider != null) {
@@ -251,15 +313,15 @@
};
public CallLogAdapter(Context context, CallFetcher callFetcher,
- ContactInfoHelper contactInfoHelper, boolean showSecondaryActionButton,
+ ContactInfoHelper contactInfoHelper, CallItemExpandedListener callItemExpandedListener,
boolean isCallLog) {
super(context);
mContext = context;
mCallFetcher = callFetcher;
mContactInfoHelper = contactInfoHelper;
- mShowSecondaryActionButton = showSecondaryActionButton;
mIsCallLog = isCallLog;
+ mCallItemExpandedListener = callItemExpandedListener;
mContactInfoCache = ExpirableCache.create(CONTACT_INFO_CACHE_SIZE);
mRequests = new LinkedList<ContactInfoRequest>();
@@ -512,8 +574,6 @@
private void findAndCacheViews(View view) {
// Get the views to bind to.
CallLogListItemViews views = CallLogListItemViews.fromView(view);
- views.primaryActionView.setOnClickListener(mActionListener);
- views.secondaryActionButtonView.setOnClickListener(mActionListener);
view.setTag(views);
}
@@ -537,38 +597,51 @@
final long duration = c.getLong(CallLogQuery.DURATION);
final int callType = c.getInt(CallLogQuery.CALL_TYPE);
final String countryIso = c.getString(CallLogQuery.COUNTRY_ISO);
+ final long rowId = c.getLong(CallLogQuery.ID);
+ views.rowId = rowId;
+
+ // Store some values used when the actions ViewStub is inflated on expansion of the actions
+ // section.
+ views.number = number;
+ views.numberPresentation = numberPresentation;
+ views.callType = callType;
+ views.voicemailUri = c.getString(CallLogQuery.VOICEMAIL_URI);
+ // Stash away the Ids of the calls so that we can support deleting a row in the call log.
+ views.callIds = getCallIds(c, rowId, count);
final ContactInfo cachedContactInfo = getContactInfoFromCallLog(c);
final boolean isVoicemailNumber =
PhoneNumberUtilsWrapper.INSTANCE.isVoicemailNumber(number);
- // Primary action is always to call, if possible.
- if (PhoneNumberUtilsWrapper.canPlaceCallsTo(number, numberPresentation)) {
- // Sets the primary action to call the number.
- views.primaryActionView.setTag(IntentProvider.getReturnCallIntentProvider(number));
- } else {
- views.primaryActionView.setTag(null);
- }
+ // Where binding and not in the call log, use default behaviour of invoking a call when
+ // tapping the primary view.
+ if (!mIsCallLog) {
+ views.primaryActionView.setOnClickListener(this.mActionListener);
- if ( mShowSecondaryActionButton ) {
- // Store away the voicemail information so we can play it directly.
- if (callType == Calls.VOICEMAIL_TYPE) {
- String voicemailUri = c.getString(CallLogQuery.VOICEMAIL_URI);
- final long rowId = c.getLong(CallLogQuery.ID);
- views.secondaryActionButtonView.setTag(
- IntentProvider.getPlayVoicemailIntentProvider(rowId, voicemailUri));
+ // Set return call intent, otherwise null.
+ if (PhoneNumberUtilsWrapper.canPlaceCallsTo(number, numberPresentation)) {
+ // Sets the primary action to call the number.
+ views.primaryActionView.setTag(IntentProvider.getReturnCallIntentProvider(number));
} else {
- // Store the call details information.
- views.secondaryActionButtonView.setTag(
- IntentProvider.getCallDetailIntentProvider(
- getCursor(), c.getPosition(), c.getLong(CallLogQuery.ID), count));
+ // Number is not callable, so hide button.
+ views.primaryActionView.setTag(null);
}
} else {
- // No action enabled.
- views.secondaryActionButtonView.setTag(null);
+ // In the call log, expand/collapse an actions section for the call log entry when
+ // the primary view is tapped.
+
+ // TODO: This needs to be changed to do the proper QP open/close animation.
+ views.primaryActionView.setOnClickListener(this.mExpandCollapseListener);
+
+ // Note: Binding of the action buttons is done as required in configureActionViews
+ // when the user expands the actions ViewStub.
}
+ // Restore expansion state of the row on rebind. Inflate the actions ViewStub if required,
+ // and set its visibility state accordingly.
+ expandOrCollapseActions(view, isExpanded(rowId));
+
// Lookup contacts with this number
NumberWithCountryIso numberCountryIso = new NumberWithCountryIso(number, countryIso);
ExpirableCache.CachedValue<ContactInfo> cachedInfo =
@@ -628,11 +701,7 @@
duration, name, ntype, label, lookupUri, photoUri, sourceType);
}
- final boolean isNew = c.getInt(CallLogQuery.IS_READ) == 0;
- // New items also use the highlighted version of the text.
- final boolean isHighlighted = isNew;
- mCallLogViewsHelper.setPhoneCallDetails(views, details, isHighlighted,
- mShowSecondaryActionButton);
+ mCallLogViewsHelper.setPhoneCallDetails(views, details);
int contactType = ContactPhotoManager.TYPE_DEFAULT;
@@ -668,6 +737,140 @@
bindBadge(view, info, details, callType);
}
+ /**
+ * Determines if a call log row with the given Id is expanded to show the action buttons or
+ * not. If the row Id is not yet tracked, add a new entry assuming the row is collapsed.
+ * @param rowId
+ * @return
+ */
+ private boolean isExpanded(long rowId) {
+ if (!mIsExpanded.containsKey(rowId)) {
+ mIsExpanded.put(rowId, false);
+ }
+
+ return mIsExpanded.get(rowId);
+ }
+
+ /**
+ * Toggles the expansion state tracked for the call log row identified by rowId and returns
+ * the new expansion state.
+ *
+ * @param rowId The row Id associated with the call log row to expand/collapse.
+ * @return True where the row is now expanded, false otherwise.
+ */
+ private boolean toggleExpansion(long rowId) {
+ boolean isExpanded = isExpanded(rowId);
+
+ mIsExpanded.put(rowId, !isExpanded);
+ return !isExpanded;
+ }
+
+ /**
+ * Expands or collapses the view containing the CALLBACK, VOICEMAIL and DELETE action buttons.
+ *
+ * @param callLogItem The call log entry parent view.
+ * @param isExpanded The new expansion state of the view.
+ */
+ private void expandOrCollapseActions(View callLogItem, boolean isExpanded) {
+ final CallLogListItemViews views = (CallLogListItemViews)callLogItem.getTag();
+
+ if (isExpanded) {
+ // Inflate the view stub if necessary, and wire up the event handlers.
+ inflateActionViewStub(callLogItem);
+
+ views.actionsView.setVisibility(View.VISIBLE);
+ callLogItem.setBackgroundColor(
+ callLogItem.getResources().getColor(R.color.background_dialer_light));
+ callLogItem.setElevation(
+ callLogItem.getResources().getDimension(R.dimen.call_log_expanded_elevation));
+
+ // Attempt to give accessibility focus to one of the action buttons.
+ // This ensures that a user realizes the expansion occurred.
+ // NOTE(tgunn): requestAccessibilityFocus returns true if the requested
+ // focus was successful. The first successful focus will satisfy the OR
+ // block and block further attempts to set focus.
+ boolean focused = views.callBackButtonView.requestAccessibilityFocus() ||
+ views.voicemailButtonView.requestAccessibilityFocus() ||
+ views.deleteButtonView.requestAccessibilityFocus();
+ } else {
+ // When recycling a view, it is possible the actionsView ViewStub was previously
+ // inflated so we should hide it in this case.
+ if (views.actionsView != null ) {
+ views.actionsView.setVisibility(View.GONE);
+ }
+
+ callLogItem.setBackgroundColor(
+ callLogItem.getResources().getColor(R.color.background_dialer_list_items));
+ callLogItem.setElevation(0);
+ }
+ }
+
+ /**
+ * Configures the action buttons in the expandable actions ViewStub. The ViewStub is not
+ * inflated during initial binding, so click handlers, tags and accessibility text must be set
+ * here, if necessary.
+ *
+ * @param callLogItem The call log list item view.
+ */
+ private void inflateActionViewStub(View callLogItem) {
+ final CallLogListItemViews views = (CallLogListItemViews)callLogItem.getTag();
+
+ ViewStub stub = (ViewStub)callLogItem.findViewById(R.id.call_log_entry_actions_stub);
+ if (stub != null) {
+ views.actionsView = stub.inflate();
+ }
+
+ if (views.callBackButtonView == null) {
+ views.callBackButtonView = (TextView)views.actionsView.findViewById(R.id.call_back_action);
+ }
+
+ if (views.voicemailButtonView == null) {
+ views.voicemailButtonView = (TextView)views.actionsView.findViewById(R.id.voicemail_action);
+ }
+
+ if ( views.deleteButtonView == null) {
+ views.deleteButtonView = (TextView)views.actionsView.findViewById(R.id.delete_action);
+ }
+
+ bindActionButtons(views);
+ }
+
+ /***
+ * Binds click handlers and intents to the voicemail, delete and callback action buttons.
+ *
+ * @param views The call log item views.
+ */
+ private void bindActionButtons(CallLogListItemViews views) {
+ // Set return call intent, otherwise null.
+ if (PhoneNumberUtilsWrapper.canPlaceCallsTo(views.number, views.numberPresentation)) {
+ // Sets the primary action to call the number.
+ views.callBackButtonView.setTag(
+ IntentProvider.getReturnCallIntentProvider(views.number));
+ views.callBackButtonView.setVisibility(View.VISIBLE);
+ views.callBackButtonView.setOnClickListener(mActionListener);
+ } else {
+ // Number is not callable, so hide button.
+ views.callBackButtonView.setTag(null);
+ views.callBackButtonView.setVisibility(View.GONE);
+ }
+
+ // For voicemail calls, show the "VOICEMAIL" action button; hide otherwise.
+ if (views.callType == Calls.VOICEMAIL_TYPE) {
+ views.voicemailButtonView.setOnClickListener(mActionListener);
+ views.voicemailButtonView.setTag(
+ IntentProvider.getPlayVoicemailIntentProvider(
+ views.rowId, views.voicemailUri));
+ views.voicemailButtonView.setVisibility(View.VISIBLE);
+ } else {
+ views.voicemailButtonView.setTag(null);
+ views.voicemailButtonView.setVisibility(View.GONE);
+ }
+
+ views.deleteButtonView.setOnClickListener(this.mDeleteListener);
+
+ mCallLogViewsHelper.setActionContentDescriptions(views);
+ }
+
protected void bindBadge(View view, ContactInfo info, PhoneCallDetails details, int callType) {
// Do not show badge in call log.
@@ -882,21 +1085,36 @@
private void setPhoto(CallLogListItemViews views, long photoId, Uri contactUri,
String displayName, String identifier, int contactType) {
views.quickContactView.assignContactUri(contactUri);
+ views.quickContactView.setOverlay(null);
DefaultImageRequest request = new DefaultImageRequest(displayName, identifier,
- contactType);
+ contactType, true /* isCircular */);
mContactPhotoManager.loadThumbnail(views.quickContactView, photoId, false /* darkTheme */,
- request);
+ true /* isCircular */, request);
}
private void setPhoto(CallLogListItemViews views, Uri photoUri, Uri contactUri,
String displayName, String identifier, int contactType) {
views.quickContactView.assignContactUri(contactUri);
+ views.quickContactView.setOverlay(null);
DefaultImageRequest request = new DefaultImageRequest(displayName, identifier,
- contactType);
+ contactType, true /* isCircular */);
mContactPhotoManager.loadDirectoryPhoto(views.quickContactView, photoUri,
- false /* darkTheme */, request);
+ false /* darkTheme */, true /* isCircular */, request);
}
+ /**
+ * Bind a call log entry view for testing purposes. Also inflates the action view stub so
+ * unit tests can access the buttons contained within.
+ *
+ * @param view The current call log row.
+ * @param context The current context.
+ * @param cursor The cursor to bind from.
+ */
+ @VisibleForTesting
+ void bindViewForTest(View view, Context context, Cursor cursor) {
+ bindStandAloneView(view, context, cursor);
+ inflateActionViewStub(view);
+ }
/**
* Sets whether processing of requests for contact details should be enabled.
@@ -958,4 +1176,76 @@
}
return number;
}
+
+ /**
+ * Retrieves the call Ids represented by the current call log row.
+ *
+ * @param cursor Call log cursor to retrieve call Ids from.
+ * @param id Id of the first call of the grouping.
+ * @param groupSize Number of calls associated with the current call log row.
+ * @return Array of call Ids.
+ */
+ private long[] getCallIds(final Cursor cursor, final long id, final int groupSize) {
+ // We want to restore the position in the cursor at the end.
+ int startingPosition = cursor.getPosition();
+ long[] ids = new long[groupSize];
+ // Copy the ids of the rows in the group.
+ for (int index = 0; index < groupSize; ++index) {
+ ids[index] = cursor.getLong(CallLogQuery.ID);
+ cursor.moveToNext();
+ }
+ cursor.moveToPosition(startingPosition);
+ return ids;
+ }
+
+ /**
+ * Retrieves an instance of the asynchronous task executor, creating one if required.
+ * @return The {@link com.android.dialer.util.AsyncTaskExecutor}
+ */
+ private AsyncTaskExecutor getTaskExecutor() {
+ if (mAsyncTaskExecutor == null) {
+ mAsyncTaskExecutor = AsyncTaskExecutors.createAsyncTaskExecutor();
+ }
+ return mAsyncTaskExecutor;
+ }
+
+ /**
+ * Deletes the calls specified in the callIds array, asynchronously.
+ *
+ * @param callIds Ids of calls to be deleted.
+ */
+ private void deleteCalls(long[] callIds) {
+ if (callIds == null) {
+ return;
+ }
+
+ // Build comma separated list of ids to delete.
+ final StringBuilder callIdString = new StringBuilder();
+ for (long callId : callIds) {
+ if (callIdString.length() != 0) {
+ callIdString.append(",");
+ }
+ callIdString.append(callId);
+ }
+
+ // Perform removal of call log entries asynchronously.
+ getTaskExecutor().submit(Tasks.REMOVE_CALL_LOG_ENTRIES,
+ new AsyncTask<Void, Void, Void>() {
+ @Override
+ public Void doInBackground(Void... params) {
+ // Issue delete.
+ mContext.getContentResolver().delete(Calls.CONTENT_URI_WITH_VOICEMAIL,
+ Calls._ID + " IN (" + callIdString + ")", null);
+ return null;
+ }
+
+ @Override
+ public void onPostExecute(Void result) {
+ // Somewhere went wrong: we're going to bail out and show error to users.
+ Toast.makeText(mContext, R.string.toast_entry_removed,
+ Toast.LENGTH_SHORT).show();
+ }
+ }
+ );
+ }
}
diff --git a/src/com/android/dialer/calllog/CallLogFragment.java b/src/com/android/dialer/calllog/CallLogFragment.java
index 2ab6136..2b2d43c 100644
--- a/src/com/android/dialer/calllog/CallLogFragment.java
+++ b/src/com/android/dialer/calllog/CallLogFragment.java
@@ -16,6 +16,9 @@
package com.android.dialer.calllog;
+import android.animation.Animator;
+import android.animation.ValueAnimator;
+import android.animation.Animator.AnimatorListener;
import android.app.Activity;
import android.app.KeyguardManager;
import android.app.ListFragment;
@@ -30,9 +33,14 @@
import android.provider.CallLog.Calls;
import android.provider.ContactsContract;
import android.provider.VoicemailContract.Status;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.ViewTreeObserver;
+import android.view.ViewGroup.LayoutParams;
+import android.widget.FrameLayout;
+import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
@@ -54,7 +62,9 @@
* (all, missed or voicemails), specify it in the constructor.
*/
public class CallLogFragment extends ListFragment
- implements CallLogQueryHandler.Listener, CallLogAdapter.CallFetcher {
+ implements CallLogQueryHandler.Listener,
+ CallLogAdapter.CallFetcher,
+ CallLogAdapter.CallItemExpandedListener {
private static final String TAG = "CallLogFragment";
/**
@@ -80,6 +90,8 @@
private boolean mCallLogFetched;
private boolean mVoicemailStatusFetched;
+ private float mExpandedItemElevation;
+
private final Handler mHandler = new Handler();
private class CustomContentObserver extends ContentObserver {
@@ -154,7 +166,7 @@
String currentCountryIso = GeoUtil.getCurrentCountryIso(getActivity());
mAdapter = ObjectFactory.newCallLogAdapter(getActivity(), this, new ContactInfoHelper(
- getActivity(), currentCountryIso), true, true);
+ getActivity(), currentCountryIso), this, true);
setListAdapter(mAdapter);
mCallLogQueryHandler = new CallLogQueryHandler(getActivity().getContentResolver(),
this, mLogLimit);
@@ -168,6 +180,8 @@
Status.CONTENT_URI, true, mVoicemailStatusObserver);
setHasOptionsMenu(true);
updateCallList(mCallTypeFilter, mDateLimit);
+
+ mExpandedItemElevation = getResources().getDimension(R.dimen.call_log_expanded_elevation);
}
/** Called by the CallLogQueryHandler when the list of calls has been fetched or updated. */
@@ -252,7 +266,6 @@
mStatusMessageView = view.findViewById(R.id.voicemail_status);
mStatusMessageText = (TextView) view.findViewById(R.id.voicemail_status_message);
mStatusMessageAction = (TextView) view.findViewById(R.id.voicemail_status_action);
-
return view;
}
@@ -504,4 +517,71 @@
listView.removeFooterView(mFooterView);
listView.addFooterView(mFooterView);
}
+
+ @Override
+ public void onItemExpanded(final CallLogListItemView view) {
+ final int startingHeight = view.getHeight();
+ final CallLogListItemViews viewHolder = (CallLogListItemViews) view.getTag();
+ final ViewTreeObserver observer = getListView().getViewTreeObserver();
+ observer.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
+ @Override
+ public boolean onPreDraw() {
+ // We don't want to continue getting called for every draw.
+ if (observer.isAlive()) {
+ observer.removeOnPreDrawListener(this);
+ }
+ // Calculate some values to help with the animation.
+ final int endingHeight = view.getHeight();
+ final int distance = Math.abs(endingHeight - startingHeight);
+ final int baseHeight = Math.min(endingHeight, startingHeight);
+ final boolean isExpand = endingHeight > startingHeight;
+
+ // Set the views back to the start state of the animation
+ view.getLayoutParams().height = startingHeight;
+ if (!isExpand) {
+ viewHolder.actionsView.setVisibility(View.VISIBLE);
+ }
+ view.requestLayout();
+
+ // Set up the animator to animate the expansion.
+ ValueAnimator animator = isExpand ? ValueAnimator.ofFloat(0f, 1f)
+ : ValueAnimator.ofFloat(1f, 0f);
+
+ animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator animator) {
+ Float value = (Float) animator.getAnimatedValue();
+
+ // For each value from 0 to 1, animate the various parts of the layout.
+ view.getLayoutParams().height =
+ (int) (value * distance + baseHeight);
+ view.setElevation(mExpandedItemElevation * value);
+ view.requestLayout();
+ }
+ });
+ // Set everything to their final values when the animation's done.
+ animator.addListener(new AnimatorListener() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ view.getLayoutParams().height = LayoutParams.WRAP_CONTENT;
+ if (!isExpand) {
+ viewHolder.actionsView.setVisibility(View.GONE);
+ }
+ }
+
+ @Override
+ public void onAnimationCancel(Animator animation) {}
+ @Override
+ public void onAnimationRepeat(Animator animation) { }
+ @Override
+ public void onAnimationStart(Animator animation) { }
+ });
+ animator.start();
+
+ // Return false so this draw does not occur to prevent the final frame from
+ // being drawn for the single frame before the animations start.
+ return false;
+ }
+ });
+ }
}
diff --git a/src/com/android/dialer/calllog/CallLogListItemHelper.java b/src/com/android/dialer/calllog/CallLogListItemHelper.java
index a85cd01..976726d 100644
--- a/src/com/android/dialer/calllog/CallLogListItemHelper.java
+++ b/src/com/android/dialer/calllog/CallLogListItemHelper.java
@@ -17,10 +17,8 @@
package com.android.dialer.calllog;
import android.content.res.Resources;
-import android.provider.CallLog;
import android.provider.CallLog.Calls;
import android.text.TextUtils;
-import android.view.View;
import com.android.dialer.PhoneCallDetails;
import com.android.dialer.PhoneCallDetailsHelper;
@@ -55,14 +53,9 @@
*
* @param views the views to populate
* @param details the details of a phone call needed to fill in the data
- * @param isHighlighted whether to use the highlight text for the call
- * @param showSecondaryActionButton whether to show the secondary action button or not
*/
- public void setPhoneCallDetails(CallLogListItemViews views, PhoneCallDetails details,
- boolean isHighlighted, boolean showSecondaryActionButton) {
- mPhoneCallDetailsHelper.setPhoneCallDetails(views.phoneCallDetailsViews, details,
- isHighlighted);
- boolean canPlay = details.callTypes[0] == Calls.VOICEMAIL_TYPE;
+ public void setPhoneCallDetails(CallLogListItemViews views, PhoneCallDetails details) {
+ mPhoneCallDetailsHelper.setPhoneCallDetails(views.phoneCallDetailsViews, details);
// Set the accessibility text for the contact badge
views.quickContactView.setContentDescription(getContactBadgeDescription(details));
@@ -70,35 +63,25 @@
// Set the primary action accessibility description
views.primaryActionView.setContentDescription(getCallDescription(details));
- // If secondary action is visible, either show voicemail playback icon, or
- // show the "clock" icon corresponding to the call details screen.
- if (showSecondaryActionButton) {
- if (canPlay) {
- // Playback action takes preference.
- configurePlaySecondaryAction(views, isHighlighted);
- } else {
- // Call details is the secondary action.
- configureCallDetailsSecondaryAction(views, details);
- }
- } else {
- // No secondary action is to be shown (ie this is likely a PhoneFavoriteFragment)
- views.secondaryActionView.setVisibility(View.GONE);
- }
+ // Cache name or number of caller. Used when setting the content descriptions of buttons
+ // when the actions ViewStub is inflated.
+ views.nameOrNumber = this.getNameOrNumber(details);
}
/**
- * Sets the secondary action to invoke call details.
+ * Sets the accessibility descriptions for the action buttons in the action button ViewStub.
*
- * @param views the views to populate
- * @param details the details of a phone call needed to fill in the call details data
+ * @param views The views associated with the current call log entry.
*/
- private void configureCallDetailsSecondaryAction(CallLogListItemViews views,
- PhoneCallDetails details) {
- views.secondaryActionView.setVisibility(View.VISIBLE);
- // Use the small dark grey clock icon.
- views.secondaryActionButtonView.setImageResource(R.drawable.ic_menu_history_dk);
- views.secondaryActionButtonView.setContentDescription(
- mResources.getString(R.string.description_call_details));
+ public void setActionContentDescriptions(CallLogListItemViews views) {
+ views.callBackButtonView.setContentDescription(
+ mResources.getString(R.string.description_call_back_action, views.nameOrNumber));
+
+ views.voicemailButtonView.setContentDescription(
+ mResources.getString(R.string.description_voicemail_action, views.nameOrNumber));
+
+ views.deleteButtonView.setContentDescription(
+ mResources.getString(R.string.description_delete_action, views.nameOrNumber));
}
/**
@@ -123,16 +106,11 @@
*
* The {Caller Information} references the most recent call associated with the caller.
* For incoming calls:
- * If missed call: Return missed call from {Name/Number} {Call Type} {Call Time}.
- * If answered call: Return answered call from {Name/Number} {Call Type} {Call Time}.
- *
- * For unknown callers, drop the "Return" part, since the call can't be returned:
- * If answered unknown: Answered call from {Name/Number} {Call Time}.
- * If missed unknown: Missed call from {Name/Number} {Call Time}.
+ * If missed call: Missed call from {Name/Number} {Call Type} {Call Time}.
+ * If answered call: Answered call from {Name/Number} {Call Type} {Call Time}.
*
* For outgoing calls:
- * If outgoing: Call {Name/Number] {Call Type}. {Last} called {Call Time}.
- * Where {Last} is dropped if the number of calls for the caller is 1.
+ * If outgoing: Call to {Name/Number] {Call Type} {Call Time}.
*
* Where:
* {Name/Number} is the name or number of the caller (as shown in call log).
@@ -140,8 +118,8 @@
* {Call Time} is the time since the last call for the contact occurred.
*
* Examples:
- * 3 calls. New Voicemail. Return missed call from Joe Smith mobile 2 hours ago.
- * 2 calls. Call John Doe mobile. Last called 1 hour ago.
+ * 3 calls. New Voicemail. Missed call from Joe Smith mobile 2 hours ago.
+ * 2 calls. Answered call from John Doe mobile. Last called 1 hour ago.
* @param details Details of call.
* @return Return call action description.
*/
@@ -191,43 +169,17 @@
*/
public int getCallDescriptionStringID(PhoneCallDetails details) {
int lastCallType = getLastCallType(details.callTypes);
- boolean isNumberCallable = PhoneNumberUtilsWrapper.canPlaceCallsTo(details.number,
- details.numberPresentation);
+ int stringID;
- // Default string to use is "call XYZ..." just in case we manage to fall through.
- int stringID = R.string.description_call_last_multiple;
-
- if (!isNumberCallable) {
- // Number isn't callable; this is an incoming call from an unknown caller.
- // An uncallable outgoing call wouldn't be in the call log.
-
- // Voicemail and missed calls are both considered missed.
- if (lastCallType == Calls.VOICEMAIL_TYPE ||
- lastCallType == Calls.MISSED_TYPE) {
- stringID = R.string.description_unknown_missed_call;
- } else if (lastCallType == Calls.INCOMING_TYPE) {
- stringID = R.string.description_unknown_answered_call;
- }
+ if (lastCallType == Calls.VOICEMAIL_TYPE || lastCallType == Calls.MISSED_TYPE) {
+ //Message: Missed call from <NameOrNumber>, <TypeOrLocation>, <TimeOfCall>.
+ stringID = R.string.description_incoming_missed_call;
+ } else if (lastCallType == Calls.INCOMING_TYPE) {
+ //Message: Answered call from <NameOrNumber>, <TypeOrLocation>, <TimeOfCall>.
+ stringID = R.string.description_incoming_answered_call;
} else {
- // Known caller, so callable.
-
- // Missed call (ie voicemail or missed)
- if (lastCallType == Calls.VOICEMAIL_TYPE ||
- lastCallType == Calls.MISSED_TYPE) {
- stringID = R.string.description_return_missed_call;
- } else if (lastCallType == Calls.INCOMING_TYPE) {
- // Incoming answered.
- stringID = R.string.description_return_answered_call;
- } else {
- // Outgoing call.
-
- // If we have a history of multiple calls
- if (details.callTypes.length > 1) {
- stringID = R.string.description_call_last_multiple;
- } else {
- stringID = R.string.description_call_last;
- }
- }
+ //Message: Call to <NameOrNumber>, <TypeOrLocation>, <TimeOfCall>.
+ stringID = R.string.description_outgoing_call;
}
return stringID;
}
@@ -260,13 +212,4 @@
}
return recipient;
}
-
- /** Sets the secondary action to correspond to the play button. */
- private void configurePlaySecondaryAction(CallLogListItemViews views, boolean isHighlighted) {
- views.secondaryActionView.setVisibility(View.VISIBLE);
- views.secondaryActionButtonView.setImageResource(
- isHighlighted ? R.drawable.ic_play_active_holo_dark : R.drawable.ic_play_holo_light);
- views.secondaryActionButtonView.setContentDescription(
- mResources.getString(R.string.description_call_log_play_button));
- }
}
diff --git a/src/com/android/dialer/calllog/CallLogListItemView.java b/src/com/android/dialer/calllog/CallLogListItemView.java
index 113b02a..b8990f5 100644
--- a/src/com/android/dialer/calllog/CallLogListItemView.java
+++ b/src/com/android/dialer/calllog/CallLogListItemView.java
@@ -35,12 +35,4 @@
public CallLogListItemView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
-
- @Override
- public void requestLayout() {
- // We will assume that once measured this will not need to resize
- // itself, so there is no need to pass the layout request to the parent
- // view (ListView).
- forceLayout();
- }
}
diff --git a/src/com/android/dialer/calllog/CallLogListItemViews.java b/src/com/android/dialer/calllog/CallLogListItemViews.java
index a378956..333769d 100644
--- a/src/com/android/dialer/calllog/CallLogListItemViews.java
+++ b/src/com/android/dialer/calllog/CallLogListItemViews.java
@@ -34,25 +34,67 @@
public final QuickContactBadge quickContactView;
/** The primary action view of the entry. */
public final View primaryActionView;
- /** The secondary action view, which includes both the vertical divider line and
- * the action button itself. Used so that the button and divider line can be
- * made visible/hidden as a whole. */
- public final View secondaryActionView;
- /** The secondary action button on the entry. */
- public final ImageView secondaryActionButtonView;
/** The details of the phone call. */
public final PhoneCallDetailsViews phoneCallDetailsViews;
/** The text of the header of a section. */
public final TextView listHeaderTextView;
+ /** The view containing call log item actions. Null until the ViewStub is inflated. */
+ public View actionsView;
+ /** The "call back" action button - assigned only when the action section is expanded. */
+ public TextView callBackButtonView;
+ /** The "delete" action button - assigned only when the action section is expanded. */
+ public TextView deleteButtonView;
+ /** The "voicemail" action button - assigned only when the action section is expanded. */
+ public TextView voicemailButtonView;
+
+ /**
+ * The row Id for the first call associated with the call log entry. Used as a key for the
+ * map used to track which call log entries have the action button section expanded.
+ */
+ public long rowId;
+
+ /**
+ * The call Ids for the calls represented by the current call log entry. Used when the user
+ * deletes a call log entry.
+ */
+ public long[] callIds;
+
+ /**
+ * The callable phone number for the current call log entry. Cached here as the call back
+ * intent is set only when the actions ViewStub is inflated.
+ */
+ public String number;
+
+ /**
+ * The phone number presentation for the current call log entry. Cached here as the call back
+ * intent is set only when the actions ViewStub is inflated.
+ */
+ public int numberPresentation;
+
+ /**
+ * The type of call for the current call log entry. Cached here as the call back
+ * intent is set only when the actions ViewStub is inflated.
+ */
+ public int callType;
+
+ /**
+ * If the call has an associated voicemail message, the URI of the voicemail message for
+ * playback. Cached here as the voicemail intent is only set when the actions ViewStub is
+ * inflated.
+ */
+ public String voicemailUri;
+
+ /**
+ * The name or number associated with the call. Cached here for use when setting content
+ * descriptions on buttons in the actions ViewStub when it is inflated.
+ */
+ public CharSequence nameOrNumber;
private CallLogListItemViews(QuickContactBadge quickContactView, View primaryActionView,
- View secondaryActionView, ImageView secondaryActionButtonView,
PhoneCallDetailsViews phoneCallDetailsViews,
TextView listHeaderTextView) {
this.quickContactView = quickContactView;
this.primaryActionView = primaryActionView;
- this.secondaryActionView = secondaryActionView;
- this.secondaryActionButtonView = secondaryActionButtonView;
this.phoneCallDetailsViews = phoneCallDetailsViews;
this.listHeaderTextView = listHeaderTextView;
}
@@ -61,20 +103,21 @@
return new CallLogListItemViews(
(QuickContactBadge) view.findViewById(R.id.quick_contact_photo),
view.findViewById(R.id.primary_action_view),
- view.findViewById(R.id.secondary_action_view),
- (ImageView) view.findViewById(R.id.secondary_action_icon),
PhoneCallDetailsViews.fromView(view),
(TextView) view.findViewById(R.id.call_log_header));
}
@NeededForTesting
public static CallLogListItemViews createForTest(Context context) {
- return new CallLogListItemViews(
+ CallLogListItemViews views = new CallLogListItemViews(
new QuickContactBadge(context),
new View(context),
- new View(context),
- new ImageView(context),
PhoneCallDetailsViews.createForTest(context),
new TextView(context));
+ views.callBackButtonView = new TextView(context);
+ views.deleteButtonView = new TextView(context);
+ views.voicemailButtonView = new TextView(context);
+ views.actionsView = new View(context);
+ return views;
}
}
diff --git a/src/com/android/dialer/calllog/CallLogQueryHandler.java b/src/com/android/dialer/calllog/CallLogQueryHandler.java
index 3992676..64eddec 100644
--- a/src/com/android/dialer/calllog/CallLogQueryHandler.java
+++ b/src/com/android/dialer/calllog/CallLogQueryHandler.java
@@ -112,6 +112,8 @@
Log.w(TAG, "Exception on background worker thread", e);
} catch (SQLiteDatabaseCorruptException e) {
Log.w(TAG, "Exception on background worker thread", e);
+ } catch (IllegalArgumentException e) {
+ Log.w(TAG, "ContactsProvider not present on device", e);
}
}
}
diff --git a/src/com/android/dialer/calllog/CallTypeIconsView.java b/src/com/android/dialer/calllog/CallTypeIconsView.java
index a65f2c2..125ba6f 100644
--- a/src/com/android/dialer/calllog/CallTypeIconsView.java
+++ b/src/com/android/dialer/calllog/CallTypeIconsView.java
@@ -17,7 +17,11 @@
package com.android.dialer.calllog;
import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
import android.graphics.Canvas;
+import android.graphics.PorterDuff;
+import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.provider.CallLog.Calls;
import android.util.AttributeSet;
@@ -112,19 +116,80 @@
}
private static class Resources {
+
+ /**
+ * Drawable representing an incoming answered call.
+ */
public final Drawable incoming;
+
+ /**
+ * Drawable respresenting an outgoing call.
+ */
public final Drawable outgoing;
+
+ /**
+ * Drawable representing an incoming missed call.
+ */
public final Drawable missed;
+
+ /**
+ * Drawable representing a voicemail.
+ */
public final Drawable voicemail;
+
+ /**
+ * The margin to use for icons.
+ */
public final int iconMargin;
+ /**
+ * Configures the call icon drawables.
+ * A single white call arrow which points down and left is used as a basis for all of the
+ * call arrow icons, applying rotation and colors as needed.
+ *
+ * @param context The current context.
+ */
public Resources(Context context) {
final android.content.res.Resources r = context.getResources();
- incoming = r.getDrawable(R.drawable.ic_call_incoming_holo_dark);
- outgoing = r.getDrawable(R.drawable.ic_call_outgoing_holo_dark);
- missed = r.getDrawable(R.drawable.ic_call_missed_holo_dark);
+
+ incoming = r.getDrawable(R.drawable.ic_call_arrow);
+ incoming.setColorFilter(r.getColor(R.color.answered_call), PorterDuff.Mode.MULTIPLY);
+
+ // Create a rotated instance of the call arrow for outgoing calls.
+ outgoing = getRotatedDrawable(r, R.drawable.ic_call_arrow, 180f);
+ outgoing.setColorFilter(r.getColor(R.color.answered_call), PorterDuff.Mode.MULTIPLY);
+
+ // Need to make a copy of the arrow drawable, otherwise the same instance colored
+ // above will be recolored here.
+ missed = r.getDrawable(R.drawable.ic_call_arrow).mutate();
+ missed.setColorFilter(r.getColor(R.color.missed_call), PorterDuff.Mode.MULTIPLY);
+
voicemail = r.getDrawable(R.drawable.ic_call_voicemail_holo_dark);
iconMargin = r.getDimensionPixelSize(R.dimen.call_log_icon_margin);
}
+
+ /**
+ * Retrieves a copy of the specified drawable resource, rotated by a specified angle.
+ *
+ * @param resources The current resources.
+ * @param resourceId The resource ID of the drawable to rotate.
+ * @param angle The angle of rotation.
+ * @return Rotated drawable.
+ */
+ private Drawable getRotatedDrawable(
+ android.content.res.Resources resources, int resourceId, float angle) {
+
+ // Get the original drawable and make a copy which will be rotated.
+ Bitmap original = BitmapFactory.decodeResource(resources, resourceId);
+ Bitmap rotated = Bitmap.createBitmap(
+ original.getWidth(), original.getHeight(), Bitmap.Config.ARGB_8888);
+
+ // Perform the rotation.
+ Canvas tempCanvas = new Canvas(rotated);
+ tempCanvas.rotate(angle, original.getWidth()/2, original.getHeight()/2);
+ tempCanvas.drawBitmap(original, 0, 0, null);
+
+ return new BitmapDrawable(resources,rotated);
+ }
}
}
diff --git a/src/com/android/dialer/dialpad/DialpadFragment.java b/src/com/android/dialer/dialpad/DialpadFragment.java
index 703c277..4557bd4 100644
--- a/src/com/android/dialer/dialpad/DialpadFragment.java
+++ b/src/com/android/dialer/dialpad/DialpadFragment.java
@@ -70,15 +70,19 @@
import com.android.contacts.common.CallUtil;
import com.android.contacts.common.GeoUtil;
+import com.android.contacts.common.dialpad.DialpadKeyButton;
+import com.android.contacts.common.dialpad.DialpadView;
import com.android.contacts.common.util.PhoneNumberFormatter;
import com.android.contacts.common.util.StopWatch;
import com.android.dialer.NeededForReflection;
import com.android.dialer.DialtactsActivity;
import com.android.dialer.R;
import com.android.dialer.SpecialCharSequenceMgr;
+import com.android.dialer.util.DialerUtils;
import com.android.internal.telephony.ITelephony;
import com.android.phone.common.CallLogAsync;
import com.android.phone.common.HapticFeedback;
+
import com.google.common.annotations.VisibleForTesting;
import java.util.HashSet;
@@ -105,8 +109,7 @@
* TODO: Refactor the app so this interchange is a bit cleaner.
*/
public interface HostInterface {
- void setDialButtonEnabled(boolean enabled);
- void setDialButtonContainerVisible(boolean visible);
+ void setFloatingActionButtonVisible(boolean visible);
}
/**
@@ -140,30 +143,6 @@
}
}
- /**
- * LinearLayout that always returns true for onHoverEvent callbacks, to fix
- * problems with accessibility due to the dialpad overlaying other fragments.
- */
- public static class HoverIgnoringLinearLayout extends LinearLayout {
-
- public HoverIgnoringLinearLayout(Context context) {
- super(context);
- }
-
- public HoverIgnoringLinearLayout(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
-
- public HoverIgnoringLinearLayout(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- }
-
- @Override
- public boolean onHoverEvent(MotionEvent event) {
- return true;
- }
- }
-
public interface OnDialpadQueryChangedListener {
void onDialpadQueryChanged(String query);
}
@@ -189,20 +168,16 @@
private OnDialpadQueryChangedListener mDialpadQueryListener;
- /**
- * View (usually FrameLayout) containing mDigits field. This can be null, in which mDigits
- * isn't enclosed by the container.
- */
- private View mDigitsContainer;
+ private DialpadView mDialpadView;
private EditText mDigits;
/** Remembers if we need to clear digits field when the screen is completely gone. */
private boolean mClearDigitsOnStop;
+ private View mOverflowMenuButton;
private View mDelete;
private ToneGenerator mToneGenerator;
private final Object mToneGeneratorLock = new Object();
- private View mDialpad;
private View mSpacer;
/**
@@ -283,7 +258,7 @@
private boolean mStartedFromNewIntent = false;
private boolean mFirstLaunch = false;
- private boolean mAdjustTranslationForAnimation = false;
+ private boolean mAnimate = false;
private static final String PREF_DIGITS_FILLED_BY_INTENT = "pref_digits_filled_by_intent";
@@ -333,12 +308,16 @@
if (isDigitsEmpty()) {
mDigitsFilledByIntent = false;
mDigits.setCursorVisible(false);
+ // Set to INVISIBLE instead of GONE so that text (eg. "Type number to add") is centered.
+ mOverflowMenuButton.setVisibility(View.INVISIBLE);
+ } else if (mDialpadView.canDigitsBeEdited()){
+ mOverflowMenuButton.setVisibility(View.VISIBLE);
}
if (mDialpadQueryListener != null) {
mDialpadQueryListener.onDialpadQueryChanged(mDigits.getText().toString());
}
- updateDialAndDeleteButtonEnabledState();
+ updateDeleteButtonEnabledState();
}
@Override
@@ -378,7 +357,7 @@
public boolean onPreDraw() {
if (isHidden()) return true;
- if (mAdjustTranslationForAnimation && fragmentView.getTranslationY() == 0) {
+ if (mAnimate && fragmentView.getTranslationY() == 0) {
((DialpadSlidingLinearLayout) fragmentView).setYFraction(
DIALPAD_SLIDE_FRACTION);
}
@@ -391,21 +370,26 @@
vto.addOnPreDrawListener(preDrawListener);
- mDigitsContainer = fragmentView.findViewById(R.id.digits_container);
- mDigits = (EditText) fragmentView.findViewById(R.id.digits);
+ Resources r = getResources();
+
+ mDialpadView = (DialpadView) fragmentView.findViewById(R.id.dialpad_view);
+ mDialpadView.setCanDigitsBeEdited(true);
+ mDigits = mDialpadView.getDigits();
mDigits.setKeyListener(UnicodeDialerKeyListener.INSTANCE);
mDigits.setOnClickListener(this);
mDigits.setOnKeyListener(this);
mDigits.setOnLongClickListener(this);
mDigits.addTextChangedListener(this);
+ mDigits.setElegantTextHeight(false);
PhoneNumberFormatter.setPhoneNumberFormattingTextWatcher(getActivity(), mDigits);
// Check for the presence of the keypad
View oneButton = fragmentView.findViewById(R.id.one);
if (oneButton != null) {
- setupKeypad(fragmentView);
+ configureKeypadListeners(fragmentView);
}
- mDelete = fragmentView.findViewById(R.id.deleteButton);
+ mDelete = mDialpadView.getDeleteButton();
+
if (mDelete != null) {
mDelete.setOnClickListener(this);
mDelete.setOnLongClickListener(this);
@@ -423,19 +407,17 @@
}
});
- mDialpad = fragmentView.findViewById(R.id.dialpad); // This is null in landscape mode.
-
- // In landscape we put the keyboard in phone mode.
- if (null == mDialpad) {
- mDigits.setInputType(android.text.InputType.TYPE_CLASS_PHONE);
- } else {
- mDigits.setCursorVisible(false);
- }
+ mDigits.setCursorVisible(false);
// Set up the "dialpad chooser" UI; see showDialpadChooser().
mDialpadChooser = (ListView) fragmentView.findViewById(R.id.dialpadChooser);
mDialpadChooser.setOnItemClickListener(this);
+ mOverflowMenuButton = mDialpadView.getOverflowMenuButton();
+ mOverflowMenuButton.setOnClickListener(this);
+ final PopupMenu overflowMenu = buildOptionsMenu(mOverflowMenuButton);
+ mOverflowMenuButton.setOnTouchListener(overflowMenu.getDragToOpenListener());
+
return fragmentView;
}
@@ -588,55 +570,24 @@
}
}
- private void setupKeypad(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();
+ private void configureKeypadListeners(View fragmentView) {
+ final int[] buttonIds = new int[] {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.zero, R.id.pound};
DialpadKeyButton dialpadKey;
- TextView numberView;
- TextView lettersView;
for (int i = 0; i < buttonIds.length; i++) {
dialpadKey = (DialpadKeyButton) fragmentView.findViewById(buttonIds[i]);
- dialpadKey.setLayoutParams(new TableRow.LayoutParams(
- TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.MATCH_PARENT));
dialpadKey.setOnPressedListener(this);
- numberView = (TextView) dialpadKey.findViewById(R.id.dialpad_key_number);
- lettersView = (TextView) dialpadKey.findViewById(R.id.dialpad_key_letters);
- final String numberString = resources.getString(numberIds[i]);
- numberView.setText(numberString);
- dialpadKey.setContentDescription(numberString);
- if (lettersView != null) {
- lettersView.setText(resources.getString(letterIds[i]));
- }
}
// Long-pressing one button will initiate Voicemail.
final DialpadKeyButton one = (DialpadKeyButton) fragmentView.findViewById(R.id.one);
one.setOnLongClickListener(this);
- one.setLongHoverContentDescription(
- resources.getText(R.string.description_voicemail_button));
// Long-pressing zero button will enter '+' instead.
final DialpadKeyButton zero = (DialpadKeyButton) fragmentView.findViewById(R.id.zero);
zero.setOnLongClickListener(this);
- zero.setLongHoverContentDescription(
- resources.getText(R.string.description_image_button_plus));
-
}
@Override
@@ -721,7 +672,7 @@
stopWatch.lap("hnt");
- updateDialAndDeleteButtonEnabledState();
+ updateDeleteButtonEnabledState();
stopWatch.lap("bes");
@@ -768,22 +719,6 @@
outState.putBoolean(PREF_DIGITS_FILLED_BY_INTENT, mDigitsFilledByIntent);
}
- private void setupMenuItems(Menu menu) {
- final MenuItem addToContactMenuItem = menu.findItem(R.id.menu_add_contacts);
-
- // We show "add to contacts" menu only when the user is
- // seeing usual dialpad and has typed at least one digit.
- // We never show a menu if the "choose dialpad" UI is up.
- if (dialpadChooserVisible() || isDigitsEmpty()) {
- addToContactMenuItem.setVisible(false);
- } else {
- final CharSequence digits = mDigits.getText();
- // Put the current digits string into an intent
- addToContactMenuItem.setIntent(DialtactsActivity.getAddNumberToContactIntent(digits));
- addToContactMenuItem.setVisible(true);
- }
- }
-
private void keyPressed(int keyCode) {
if (getView().getTranslationY() != 0) {
return;
@@ -937,7 +872,6 @@
final PopupMenu popupMenu = new PopupMenu(getActivity(), invoker);
popupMenu.inflate(R.menu.dialpad_options);
popupMenu.setOnMenuItemClickListener(this);
- setupMenuItems(popupMenu.getMenu());
return popupMenu;
}
@@ -963,6 +897,10 @@
}
return;
}
+ case R.id.dialpad_overflow: {
+ buildOptionsMenu(view).show();
+ break;
+ }
default: {
Log.wtf(TAG, "Unexpected onClick() event from: " + view);
return;
@@ -977,10 +915,6 @@
switch (id) {
case R.id.deleteButton: {
digits.clear();
- // TODO: The framework forgets to clear the pressed
- // status of disabled button. Until this is fixed,
- // clear manually the pressed status. b/2133127
- mDelete.setPressed(false);
return true;
}
case R.id.one: {
@@ -1142,7 +1076,7 @@
}
// Clear the digits just in case.
- mDigits.getText().clear();
+ clearDialpad();
} else {
final Intent intent = CallUtil.getCallIntent(number,
(getActivity() instanceof DialtactsActivity ?
@@ -1280,14 +1214,10 @@
if (enabled) {
// Log.i(TAG, "Showing dialpad chooser!");
- if (mDigitsContainer != null) {
- mDigitsContainer.setVisibility(View.GONE);
- } else {
- // mDigits is not enclosed by the container. Make the digits field itself gone.
- mDigits.setVisibility(View.GONE);
+ if (mDialpadView != null) {
+ mDialpadView.setVisibility(View.GONE);
}
- if (mDialpad != null) mDialpad.setVisibility(View.GONE);
- ((HostInterface) getActivity()).setDialButtonContainerVisible(false);
+ ((HostInterface) getActivity()).setFloatingActionButtonVisible(false);
mDialpadChooser.setVisibility(View.VISIBLE);
@@ -1299,13 +1229,12 @@
mDialpadChooser.setAdapter(mDialpadChooserAdapter);
} else {
// Log.i(TAG, "Displaying normal Dialer UI.");
- if (mDigitsContainer != null) {
- mDigitsContainer.setVisibility(View.VISIBLE);
+ if (mDialpadView != null) {
+ mDialpadView.setVisibility(View.VISIBLE);
} else {
mDigits.setVisibility(View.VISIBLE);
}
- if (mDialpad != null) mDialpad.setVisibility(View.VISIBLE);
- ((HostInterface) getActivity()).setDialButtonContainerVisible(true);
+ ((HostInterface) getActivity()).setFloatingActionButtonVisible(true);
mDialpadChooser.setVisibility(View.GONE);
}
}
@@ -1500,8 +1429,12 @@
@Override
public boolean onMenuItemClick(MenuItem item) {
- // R.id.menu_add_contacts already has an add to contact intent populated by setupMenuItems
switch (item.getItemId()) {
+ case R.id.menu_add_contact:
+ final CharSequence digits = mDigits.getText();
+ DialerUtils.startActivityWithErrorToast(getActivity(),
+ DialtactsActivity.getAddNumberToContactIntent(digits));
+ return true;
case R.id.menu_2s_pause:
updateDialString(PAUSE);
return true;
@@ -1552,23 +1485,12 @@
/**
* Update the enabledness of the "Dial" and "Backspace" buttons if applicable.
*/
- private void updateDialAndDeleteButtonEnabledState() {
+ private void updateDeleteButtonEnabledState() {
if (getActivity() == null) {
return;
}
final boolean digitsNotEmpty = !isDigitsEmpty();
mDelete.setEnabled(digitsNotEmpty);
- // On CDMA phones, if we're already on a call, we *always* enable the Dial button (since
- // you can press it without entering any digits to send an empty flash.)
- if (phoneIsCdma() && phoneIsOffhook()) {
- ((HostInterface) getActivity()).setDialButtonEnabled(true);
- } else {
- // Common case: GSM, or CDMA but not on a call. Enable the Dial button if something
- // has been entered into the digits field, or if there is a last dialed number that
- // could be redialed.
- ((HostInterface) getActivity()).setDialButtonEnabled(
- digitsNotEmpty || !TextUtils.isEmpty(mLastNumberDialed));
- }
}
/**
@@ -1653,7 +1575,7 @@
// doing anything here.
if (getActivity() == null) return;
mLastNumberDialed = number;
- updateDialAndDeleteButtonEnabledState();
+ updateDeleteButtonEnabledState();
}
});
mCallLog.getLastOutgoingCall(lastCallArgs);
@@ -1669,17 +1591,21 @@
public void onHiddenChanged(boolean hidden) {
super.onHiddenChanged(hidden);
final DialtactsActivity activity = (DialtactsActivity) getActivity();
+ final DialpadView dialpadView = (DialpadView) getView().findViewById(R.id.dialpad_view);
if (activity == null) return;
if (hidden) {
activity.onDialpadHidden();
} else {
+ if (mAnimate) {
+ dialpadView.animateShow();
+ }
activity.onDialpadShown();
mDigits.requestFocus();
}
}
- public void setAdjustTranslationForAnimation(boolean value) {
- mAdjustTranslationForAnimation = value;
+ public void setAnimate(boolean value) {
+ mAnimate = value;
}
public void setYFraction(float yFraction) {
diff --git a/src/com/android/dialer/dialpad/DialpadKeyButton.java b/src/com/android/dialer/dialpad/DialpadKeyButton.java
deleted file mode 100644
index 1d5104c..0000000
--- a/src/com/android/dialer/dialpad/DialpadKeyButton.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dialer.dialpad;
-
-import android.content.Context;
-import android.graphics.Rect;
-import android.os.Bundle;
-import android.util.AttributeSet;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewConfiguration;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityManager;
-import android.view.accessibility.AccessibilityNodeInfo;
-import android.widget.FrameLayout;
-
-/**
- * Custom class for dialpad buttons.
- * <p>
- * When touch exploration mode is enabled for accessibility, this class
- * implements the lift-to-type interaction model:
- * <ul>
- * <li>Hovering over the button will cause it to gain accessibility focus
- * <li>Removing the hover pointer while inside the bounds of the button will
- * perform a click action
- * <li>If long-click is supported, hovering over the button for a longer period
- * of time will switch to the long-click action
- * <li>Moving the hover pointer outside of the bounds of the button will restore
- * to the normal click action
- * <ul>
- */
-public class DialpadKeyButton extends FrameLayout {
- /** Timeout before switching to long-click accessibility mode. */
- private static final int LONG_HOVER_TIMEOUT = ViewConfiguration.getLongPressTimeout() * 2;
-
- /** Accessibility manager instance used to check touch exploration state. */
- private AccessibilityManager mAccessibilityManager;
-
- /** Bounds used to filter HOVER_EXIT events. */
- private Rect mHoverBounds = new Rect();
-
- /** Whether this view is currently in the long-hover state. */
- private boolean mLongHovered;
-
- /** Alternate content description for long-hover state. */
- private CharSequence mLongHoverContentDesc;
-
- /** Backup of standard content description. Used for accessibility. */
- private CharSequence mBackupContentDesc;
-
- /** Backup of clickable property. Used for accessibility. */
- private boolean mWasClickable;
-
- /** Backup of long-clickable property. Used for accessibility. */
- private boolean mWasLongClickable;
-
- /** Runnable used to trigger long-click mode for accessibility. */
- private Runnable mLongHoverRunnable;
-
- public interface OnPressedListener {
- public void onPressed(View view, boolean pressed);
- }
-
- private OnPressedListener mOnPressedListener;
-
- public void setOnPressedListener(OnPressedListener onPressedListener) {
- mOnPressedListener = onPressedListener;
- }
-
- public DialpadKeyButton(Context context, AttributeSet attrs) {
- super(context, attrs);
- initForAccessibility(context);
- }
-
- public DialpadKeyButton(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- initForAccessibility(context);
- }
-
- private void initForAccessibility(Context context) {
- mAccessibilityManager = (AccessibilityManager) context.getSystemService(
- Context.ACCESSIBILITY_SERVICE);
- }
-
- public void setLongHoverContentDescription(CharSequence contentDescription) {
- mLongHoverContentDesc = contentDescription;
-
- if (mLongHovered) {
- super.setContentDescription(mLongHoverContentDesc);
- }
- }
-
- @Override
- public void setContentDescription(CharSequence contentDescription) {
- if (mLongHovered) {
- mBackupContentDesc = contentDescription;
- } else {
- super.setContentDescription(contentDescription);
- }
- }
-
- @Override
- public void setPressed(boolean pressed) {
- super.setPressed(pressed);
- if (mOnPressedListener != null) {
- mOnPressedListener.onPressed(this, pressed);
- }
- }
-
- @Override
- public void onSizeChanged(int w, int h, int oldw, int oldh) {
- super.onSizeChanged(w, h, oldw, oldh);
-
- mHoverBounds.left = getPaddingLeft();
- mHoverBounds.right = w - getPaddingRight();
- mHoverBounds.top = getPaddingTop();
- mHoverBounds.bottom = h - getPaddingBottom();
- }
-
- @Override
- public boolean performAccessibilityAction(int action, Bundle arguments) {
- if (action == AccessibilityNodeInfo.ACTION_CLICK) {
- simulateClickForAccessibility();
- return true;
- }
-
- return super.performAccessibilityAction(action, arguments);
- }
-
- @Override
- public boolean onHoverEvent(MotionEvent event) {
- // When touch exploration is turned on, lifting a finger while inside
- // the button's hover target bounds should perform a click action.
- if (mAccessibilityManager.isEnabled()
- && mAccessibilityManager.isTouchExplorationEnabled()) {
- switch (event.getActionMasked()) {
- case MotionEvent.ACTION_HOVER_ENTER:
- // Lift-to-type temporarily disables double-tap activation.
- mWasClickable = isClickable();
- mWasLongClickable = isLongClickable();
- if (mWasLongClickable && mLongHoverContentDesc != null) {
- if (mLongHoverRunnable == null) {
- mLongHoverRunnable = new Runnable() {
- @Override
- public void run() {
- setLongHovered(true);
- announceForAccessibility(mLongHoverContentDesc);
- }
- };
- }
- postDelayed(mLongHoverRunnable, LONG_HOVER_TIMEOUT);
- }
-
- setClickable(false);
- setLongClickable(false);
- break;
- case MotionEvent.ACTION_HOVER_EXIT:
- if (mHoverBounds.contains((int) event.getX(), (int) event.getY())) {
- if (mLongHovered) {
- performLongClick();
- } else {
- simulateClickForAccessibility();
- }
- }
-
- cancelLongHover();
- setClickable(mWasClickable);
- setLongClickable(mWasLongClickable);
- break;
- }
- }
-
- return super.onHoverEvent(event);
- }
-
- /**
- * When accessibility is on, simulate press and release to preserve the
- * semantic meaning of performClick(). Required for Braille support.
- */
- private void simulateClickForAccessibility() {
- // Checking the press state prevents double activation.
- if (isPressed()) {
- return;
- }
-
- setPressed(true);
-
- // Stay consistent with performClick() by sending the event after
- // setting the pressed state but before performing the action.
- sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);
-
- setPressed(false);
- }
-
- private void setLongHovered(boolean enabled) {
- if (mLongHovered != enabled) {
- mLongHovered = enabled;
-
- // Switch between normal and alternate description, if available.
- if (enabled) {
- mBackupContentDesc = getContentDescription();
- super.setContentDescription(mLongHoverContentDesc);
- } else {
- super.setContentDescription(mBackupContentDesc);
- }
- }
- }
-
- private void cancelLongHover() {
- if (mLongHoverRunnable != null) {
- removeCallbacks(mLongHoverRunnable);
- }
- setLongHovered(false);
- }
-}
diff --git a/src/com/android/dialer/dialpad/DigitsEditText.java b/src/com/android/dialer/dialpad/DigitsEditText.java
deleted file mode 100644
index 1a092be..0000000
--- a/src/com/android/dialer/dialpad/DigitsEditText.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dialer.dialpad;
-
-import android.content.Context;
-import android.graphics.Rect;
-import android.text.InputType;
-import android.util.AttributeSet;
-import android.view.MotionEvent;
-import android.view.inputmethod.InputMethodManager;
-import android.widget.EditText;
-
-/**
- * EditText which suppresses IME show up.
- */
-public class DigitsEditText extends EditText {
- public DigitsEditText(Context context, AttributeSet attrs) {
- super(context, attrs);
- setInputType(getInputType() | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
- setShowSoftInputOnFocus(false);
- }
-
- @Override
- protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
- super.onFocusChanged(focused, direction, previouslyFocusedRect);
- final InputMethodManager imm = ((InputMethodManager) getContext()
- .getSystemService(Context.INPUT_METHOD_SERVICE));
- if (imm != null && imm.isActive(this)) {
- imm.hideSoftInputFromWindow(getApplicationWindowToken(), 0);
- }
- }
-
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- final boolean ret = super.onTouchEvent(event);
- // Must be done after super.onTouchEvent()
- final InputMethodManager imm = ((InputMethodManager) getContext()
- .getSystemService(Context.INPUT_METHOD_SERVICE));
- if (imm != null && imm.isActive(this)) {
- imm.hideSoftInputFromWindow(getApplicationWindowToken(), 0);
- }
- return ret;
- }
-}
diff --git a/src/com/android/dialer/list/AllContactsFragment.java b/src/com/android/dialer/list/AllContactsFragment.java
index ba48203..d05f66d 100644
--- a/src/com/android/dialer/list/AllContactsFragment.java
+++ b/src/com/android/dialer/list/AllContactsFragment.java
@@ -16,6 +16,9 @@
package com.android.dialer.list;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.ContactsContract.QuickContact;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -35,7 +38,7 @@
public class AllContactsFragment extends ContactEntryListFragment<ContactEntryListAdapter> {
public AllContactsFragment() {
- setQuickContactEnabled(true);
+ setQuickContactEnabled(false);
setPhotoLoaderEnabled(true);
setSectionHeaderDisplayEnabled(true);
setDarkTheme(false);
@@ -44,11 +47,16 @@
@Override
protected ContactEntryListAdapter createListAdapter() {
- DefaultContactListAdapter adapter = new DefaultContactListAdapter(getActivity());
+ final DefaultContactListAdapter adapter = new DefaultContactListAdapter(getActivity()) {
+ @Override
+ protected void bindView(View itemView, int partition, Cursor cursor, int position) {
+ super.bindView(itemView, partition, cursor, position);
+ itemView.setTag(this.getContactUri(partition, cursor));
+ }
+ };
adapter.setDisplayPhotos(true);
adapter.setFilter(ContactListFilter.createFilterWithType(
ContactListFilter.FILTER_TYPE_WITH_PHONE_NUMBERS_ONLY));
- adapter.setPhotoPosition(ContactListItemView.getDefaultPhotoPosition(true /* opposite */));
adapter.setSectionHeaderDisplayEnabled(isSectionHeaderDisplayEnabled());
return adapter;
}
@@ -60,9 +68,10 @@
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- ContactListItemView contactListItemView = (ContactListItemView) view;
- QuickContactBadge quickContact = contactListItemView.getQuickContact();
- quickContact.onClick(quickContact);
+ final Uri uri = (Uri) view.getTag();
+ if (uri != null) {
+ QuickContact.showQuickContact(getActivity(), view, uri, QuickContact.MODE_LARGE, null);
+ }
}
@Override
diff --git a/src/com/android/dialer/list/DragDropController.java b/src/com/android/dialer/list/DragDropController.java
index db4dd59..8cd1046 100644
--- a/src/com/android/dialer/list/DragDropController.java
+++ b/src/com/android/dialer/list/DragDropController.java
@@ -1,5 +1,8 @@
package com.android.dialer.list;
+import android.util.Log;
+import android.view.View;
+
import java.util.ArrayList;
import java.util.List;
@@ -8,27 +11,48 @@
* off events to any OnDragDropListeners that have registered for callbacks.
*/
public class DragDropController {
- private List<OnDragDropListener> mOnDragDropListeners = new ArrayList<OnDragDropListener>();
+
+ private final List<OnDragDropListener> mOnDragDropListeners =
+ new ArrayList<OnDragDropListener>();
+ private final DragItemContainer mDragItemContainer;
+ private final int[] mLocationOnScreen = new int[2];
+
+ /**
+ * Callback interface used to retrieve views based on the current touch coordinates of the
+ * drag event. The {@link DragItemContainer} houses the draggable views that this
+ * {@link DragDropController} controls.
+ */
+ public interface DragItemContainer {
+ public PhoneFavoriteSquareTileView getViewForLocation(int x, int y);
+ }
+
+ public DragDropController(DragItemContainer dragItemContainer) {
+ mDragItemContainer = dragItemContainer;
+ }
/**
* @return True if the drag is started, false if the drag is cancelled for some reason.
*/
- boolean handleDragStarted(int x, int y, PhoneFavoriteSquareTileView tileView) {
+ boolean handleDragStarted(int x, int y) {
+ final PhoneFavoriteSquareTileView tileView = mDragItemContainer.getViewForLocation(x, y);
if (tileView == null) {
return false;
}
- if (tileView != null && !mOnDragDropListeners.isEmpty()) {
- for (int i = 0; i < mOnDragDropListeners.size(); i++) {
- mOnDragDropListeners.get(i).onDragStarted(x, y, tileView);
- }
+ for (int i = 0; i < mOnDragDropListeners.size(); i++) {
+ mOnDragDropListeners.get(i).onDragStarted(x, y, tileView);
}
return true;
}
- public void handleDragHovered(int x, int y, PhoneFavoriteSquareTileView view) {
+ public void handleDragHovered(View v, int x, int y) {
+ v.getLocationOnScreen(mLocationOnScreen);
+ final int screenX = x + mLocationOnScreen[0];
+ final int screenY = y + mLocationOnScreen[1];
+ final PhoneFavoriteSquareTileView view = mDragItemContainer.getViewForLocation(
+ screenX, screenY);
for (int i = 0; i < mOnDragDropListeners.size(); i++) {
- mOnDragDropListeners.get(i).onDragHovered(x, y, view);
+ mOnDragDropListeners.get(i).onDragHovered(screenX, screenY, view);
}
}
diff --git a/src/com/android/dialer/list/ListsFragment.java b/src/com/android/dialer/list/ListsFragment.java
index f651855..18fa531 100644
--- a/src/com/android/dialer/list/ListsFragment.java
+++ b/src/com/android/dialer/list/ListsFragment.java
@@ -1,6 +1,7 @@
package com.android.dialer.list;
import android.animation.LayoutTransition;
+import android.app.ActionBar;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.LoaderManager;
@@ -9,19 +10,22 @@
import android.content.Loader;
import android.content.SharedPreferences;
import android.database.Cursor;
+import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
import android.provider.CallLog;
import android.support.v13.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
+import android.support.v4.view.ViewPager.OnPageChangeListener;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.LinearLayout;
import android.widget.ListView;
import com.android.contacts.common.GeoUtil;
import com.android.dialer.DialtactsActivity;
+
import android.view.View.OnClickListener;
import com.android.dialer.R;
@@ -30,8 +34,13 @@
import com.android.dialer.calllog.CallLogQuery;
import com.android.dialer.calllog.CallLogQueryHandler;
import com.android.dialer.calllog.ContactInfoHelper;
+import com.android.dialer.list.ShortcutCardsAdapter.SwipeableShortcutCard;
+import com.android.dialer.widget.OverlappingPaneLayout;
+import com.android.dialer.widget.OverlappingPaneLayout.PanelSlideListener;
import com.android.dialerbind.ObjectFactory;
+import java.util.ArrayList;
+
/**
* Fragment that is used as the main screen of the Dialer.
*
@@ -41,11 +50,11 @@
* screen.
*/
public class ListsFragment extends Fragment implements CallLogQueryHandler.Listener,
- CallLogAdapter.CallFetcher {
+ CallLogAdapter.CallFetcher, ViewPager.OnPageChangeListener {
- private static final int TAB_INDEX_SPEED_DIAL = 0;
- private static final int TAB_INDEX_RECENTS = 1;
- private static final int TAB_INDEX_ALL_CONTACTS = 2;
+ public static final int TAB_INDEX_SPEED_DIAL = 0;
+ public static final int TAB_INDEX_RECENTS = 1;
+ public static final int TAB_INDEX_ALL_CONTACTS = 2;
private static final int TAB_INDEX_COUNT = 3;
@@ -63,15 +72,20 @@
public void showCallHistory();
}
+ private ActionBar mActionBar;
private ViewPager mViewPager;
+ private ViewPagerTabs mViewPagerTabs;
private ViewPagerAdapter mViewPagerAdapter;
- private PhoneFavoriteFragment mSpeedDialFragment;
+ private ListView mShortcutCardsListView;
+ private SpeedDialFragment mSpeedDialFragment;
private CallLogFragment mRecentsFragment;
private AllContactsFragment mAllContactsFragment;
+ private ArrayList<OnPageChangeListener> mOnPageChangeListeners =
+ new ArrayList<OnPageChangeListener>();
private String[] mTabTitles;
- private PhoneFavoriteMergedAdapter mMergedAdapter;
+ private ShortcutCardsAdapter mMergedAdapter;
private CallLogAdapter mCallLogAdapter;
private CallLogQueryHandler mCallLogQueryHandler;
@@ -107,6 +121,40 @@
}
}
+ private PanelSlideListener mPanelSlideListener = new PanelSlideListener() {
+ @Override
+ public void onPanelSlide(View panel, float slideOffset) {
+ // For every 2 percent that the panel is slid upwards, clip 3 percent from each edge
+ // of the shortcut card, to achieve the animated effect of the shortcut card
+ // rapidly shrinking and disappearing from view when the panel is slid upwards.
+ // slideOffset is 1 when the shortcut card is fully exposed, and 0 when completely
+ // hidden.
+ float ratioCardHidden = (1 - slideOffset) * 1.5f;
+ if (mShortcutCardsListView.getCount() > 0) {
+ SwipeableShortcutCard v =
+ (SwipeableShortcutCard) mShortcutCardsListView.getChildAt(0);
+ v.clipCard(ratioCardHidden);
+ }
+
+ if (mActionBar != null) {
+ // Amount of available space that is not being hidden by the bottom pane
+ final int topPaneHeight = (int) (slideOffset * mShortcutCardsListView.getHeight());
+
+ final int availableActionBarHeight =
+ Math.min(mActionBar.getHeight(), topPaneHeight);
+ mActionBar.setHideOffset(mActionBar.getHeight() - availableActionBarHeight);
+ }
+ }
+
+ @Override
+ public void onPanelOpened(View panel) {
+ }
+
+ @Override
+ public void onPanelClosed(View panel) {
+ }
+ };
+
public class ViewPagerAdapter extends FragmentPagerAdapter {
public ViewPagerAdapter(FragmentManager fm) {
super(fm);
@@ -116,7 +164,7 @@
public Fragment getItem(int position) {
switch (position) {
case TAB_INDEX_SPEED_DIAL:
- mSpeedDialFragment = new PhoneFavoriteFragment();
+ mSpeedDialFragment = new SpeedDialFragment();
return mSpeedDialFragment;
case TAB_INDEX_RECENTS:
mRecentsFragment = new CallLogFragment(CallLogQueryHandler.CALL_TYPE_ALL,
@@ -166,10 +214,9 @@
this, 1);
final String currentCountryIso = GeoUtil.getCurrentCountryIso(getActivity());
mCallLogAdapter = ObjectFactory.newCallLogAdapter(getActivity(), this,
- new ContactInfoHelper(getActivity(), currentCountryIso), false, false);
+ new ContactInfoHelper(getActivity(), currentCountryIso), null, false);
- mMergedAdapter = new PhoneFavoriteMergedAdapter(getActivity(), this, null,
- mCallLogAdapter, null, null, null);
+ mMergedAdapter = new ShortcutCardsAdapter(getActivity(), this, mCallLogAdapter);
}
@Override
@@ -184,7 +231,7 @@
final SharedPreferences prefs = getActivity().getSharedPreferences(
DialtactsActivity.SHARED_PREFS_NAME, Context.MODE_PRIVATE);
mLastCallShortcutDate = prefs.getLong(KEY_LAST_DISMISSED_CALL_SHORTCUT_DATE, 0);
-
+ mActionBar = getActivity().getActionBar();
fetchCalls();
mCallLogAdapter.setLoading(true);
}
@@ -194,6 +241,7 @@
// Wipe the cache to refresh the call shortcut item. This is not that expensive because
// it only contains one item.
mCallLogAdapter.invalidateCache();
+ mActionBar = null;
super.onPause();
}
@@ -205,23 +253,22 @@
mViewPagerAdapter = new ViewPagerAdapter(getChildFragmentManager());
mViewPager.setAdapter(mViewPagerAdapter);
mViewPager.setOffscreenPageLimit(2);
+ mViewPager.setOnPageChangeListener(this);
mTabTitles = new String[TAB_INDEX_COUNT];
mTabTitles[TAB_INDEX_SPEED_DIAL] = getResources().getString(R.string.tab_speed_dial);
mTabTitles[TAB_INDEX_RECENTS] = getResources().getString(R.string.tab_recents);
mTabTitles[TAB_INDEX_ALL_CONTACTS] = getResources().getString(R.string.tab_all_contacts);
- ViewPagerTabs tabs = (ViewPagerTabs) parentView.findViewById(R.id.lists_pager_header);
- tabs.setViewPager(mViewPager);
+ mViewPagerTabs = (ViewPagerTabs) parentView.findViewById(R.id.lists_pager_header);
+ mViewPagerTabs.setViewPager(mViewPager);
+ addOnPageChangeListener(mViewPagerTabs);
- final ListView shortcutCardsListView =
- (ListView) parentView.findViewById(R.id.shortcut_card_list);
- shortcutCardsListView.setAdapter(mMergedAdapter);
+ mShortcutCardsListView = (ListView) parentView.findViewById(R.id.shortcut_card_list);
+ mShortcutCardsListView.setAdapter(mMergedAdapter);
- LayoutTransition transition = ((LinearLayout) parentView).getLayoutTransition();
- // Turns on animations for all types of layout changes so that they occur for
- // height changes.
- transition.enableTransitionType(LayoutTransition.CHANGING);
+ setupPaneLayout((OverlappingPaneLayout) parentView);
+
return parentView;
}
@@ -256,4 +303,48 @@
.apply();
fetchCalls();
}
+
+ public void addOnPageChangeListener(OnPageChangeListener onPageChangeListener) {
+ if (!mOnPageChangeListeners.contains(onPageChangeListener)) {
+ mOnPageChangeListeners.add(onPageChangeListener);
+ }
+ }
+
+ @Override
+ public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+ final int count = mOnPageChangeListeners.size();
+ for (int i = 0; i < count; i++) {
+ mOnPageChangeListeners.get(i).onPageScrolled(position, positionOffset,
+ positionOffsetPixels);
+ }
+ }
+
+ @Override
+ public void onPageSelected(int position) {
+ final int count = mOnPageChangeListeners.size();
+ for (int i = 0; i < count; i++) {
+ mOnPageChangeListeners.get(i).onPageSelected(position);
+ }
+ }
+
+ @Override
+ public void onPageScrollStateChanged(int state) {
+ final int count = mOnPageChangeListeners.size();
+ for (int i = 0; i < count; i++) {
+ mOnPageChangeListeners.get(i).onPageScrollStateChanged(state);
+ }
+ }
+
+ private void setupPaneLayout(OverlappingPaneLayout paneLayout) {
+ // TODO: Remove the notion of a capturable view. The entire view be slideable, once
+ // the framework better supports nested scrolling.
+ paneLayout.setCapturableView(mViewPagerTabs);
+ paneLayout.openPane();
+ paneLayout.setPanelSlideListener(mPanelSlideListener);
+
+ LayoutTransition transition = paneLayout.getLayoutTransition();
+ // Turns on animations for all types of layout changes so that they occur for
+ // height changes.
+ transition.enableTransitionType(LayoutTransition.CHANGING);
+ }
}
diff --git a/src/com/android/dialer/list/PhoneFavoriteListView.java b/src/com/android/dialer/list/PhoneFavoriteListView.java
index 6c3d62a..4ecc1cd 100644
--- a/src/com/android/dialer/list/PhoneFavoriteListView.java
+++ b/src/com/android/dialer/list/PhoneFavoriteListView.java
@@ -33,11 +33,13 @@
import android.widget.ImageView;
import com.android.dialer.R;
+import com.android.dialer.list.DragDropController.DragItemContainer;
/**
* Viewgroup that presents the user's speed dial contacts in a grid.
*/
-public class PhoneFavoriteListView extends GridView implements OnDragDropListener {
+public class PhoneFavoriteListView extends GridView implements OnDragDropListener,
+ DragItemContainer {
public static final String LOG_TAG = PhoneFavoriteListView.class.getSimpleName();
@@ -57,8 +59,11 @@
private Bitmap mDragShadowBitmap;
private ImageView mDragShadowOverlay;
+ private View mDragShadowParent;
private int mAnimationDuration;
+ final int[] mLocationOnScreen = new int[2];
+
// X and Y offsets inside the item from where the user grabbed to the
// child's left coordinate. This is used to aid in the drawing of the drag shadow.
private int mTouchOffsetToChildLeft;
@@ -67,7 +72,7 @@
private int mDragShadowLeft;
private int mDragShadowTop;
- private DragDropController mDragDropController = new DragDropController();
+ private DragDropController mDragDropController = new DragDropController(this);
private final float DRAG_SHADOW_ALPHA = 0.7f;
@@ -138,39 +143,20 @@
}
@Override
- public boolean dispatchDragEvent(DragEvent event) {
+ public boolean onDragEvent(DragEvent event) {
final int action = event.getAction();
final int eX = (int) event.getX();
final int eY = (int) event.getY();
switch (action) {
case DragEvent.ACTION_DRAG_STARTED: {
- final int[] coordinates = new int[2];
- getLocationOnScreen(coordinates);
- // Calculate the X and Y coordinates of the drag event relative to the view
- final int viewX = eX - coordinates[0];
- final int viewY = eY - coordinates[1];
- final View child = getViewAtPosition(viewX, viewY);
-
- if (!(child instanceof PhoneFavoriteSquareTileView)) {
- // Bail early.
- return false;
- }
-
- final PhoneFavoriteSquareTileView tile = (PhoneFavoriteSquareTileView) child;
- if (!mDragDropController.handleDragStarted(viewX, viewY, tile)) {
+ if (!mDragDropController.handleDragStarted(eX, eY)) {
return false;
}
break;
}
case DragEvent.ACTION_DRAG_LOCATION:
mLastDragY = eY;
- final View child = getViewAtPosition(eX, eY);
-
- PhoneFavoriteSquareTileView tile = null;
- if (child instanceof PhoneFavoriteSquareTileView) {
- tile = (PhoneFavoriteSquareTileView) child;
- }
- mDragDropController.handleDragHovered(eX, eY, tile);
+ mDragDropController.handleDragHovered(this, eX, eY);
// Kick off {@link #mScrollHandler} if it's not started yet.
if (!mIsDragScrollerRunning &&
// And if the distance traveled while dragging exceeds the touch slop
@@ -205,6 +191,7 @@
public void setDragShadowOverlay(ImageView overlay) {
mDragShadowOverlay = overlay;
+ mDragShadowParent = (View) mDragShadowOverlay.getParent();
}
/**
@@ -245,10 +232,21 @@
return;
}
- // Square tile is relative to the contact tile,
- // and contact tile is relative to this list view.
- mDragShadowLeft = tileView.getLeft();
- mDragShadowTop = tileView.getTop();
+ tileView.getLocationOnScreen(mLocationOnScreen);
+ mDragShadowLeft = mLocationOnScreen[0];
+ mDragShadowTop = mLocationOnScreen[1];
+
+ // x and y are the coordinates of the on-screen touch event. Using these
+ // and the on-screen location of the tileView, calculate the difference between
+ // the position of the user's finger and the position of the tileView. These will
+ // be used to offset the location of the drag shadow so that it appears that the
+ // tileView is positioned directly under the user's finger.
+ mTouchOffsetToChildLeft = x - mDragShadowLeft;
+ mTouchOffsetToChildTop = y - mDragShadowTop;
+
+ mDragShadowParent.getLocationOnScreen(mLocationOnScreen);
+ mDragShadowLeft -= mLocationOnScreen[0];
+ mDragShadowTop -= mLocationOnScreen[1];
mDragShadowOverlay.setImageBitmap(mDragShadowBitmap);
mDragShadowOverlay.setVisibility(VISIBLE);
@@ -256,19 +254,14 @@
mDragShadowOverlay.setX(mDragShadowLeft);
mDragShadowOverlay.setY(mDragShadowTop);
-
- // x and y passed in are the coordinates of where the user has touched down,
- // calculate the offset to the top left coordinate of the dragged child. This
- // will be used for drawing the drag shadow.
- mTouchOffsetToChildLeft = x - mDragShadowLeft;
- mTouchOffsetToChildTop = y - mDragShadowTop;
}
@Override
public void onDragHovered(int x, int y, PhoneFavoriteSquareTileView tileView) {
// Update the drag shadow location.
- mDragShadowLeft = x - mTouchOffsetToChildLeft;
- mDragShadowTop = y - mTouchOffsetToChildTop;
+ mDragShadowParent.getLocationOnScreen(mLocationOnScreen);
+ mDragShadowLeft = x - mTouchOffsetToChildLeft - mLocationOnScreen[0];
+ mDragShadowTop = y - mTouchOffsetToChildTop - mLocationOnScreen[1];
// Draw the drag shadow at its last known location if the drag shadow exists.
if (mDragShadowOverlay != null) {
mDragShadowOverlay.setX(mDragShadowLeft);
@@ -278,10 +271,6 @@
@Override
public void onDragFinished(int x, int y) {
- // Update the drag shadow location.
- mDragShadowLeft = x - mTouchOffsetToChildLeft;
- mDragShadowTop = y - mTouchOffsetToChildTop;
-
if (mDragShadowOverlay != null) {
mDragShadowOverlay.clearAnimation();
mDragShadowOverlay.animate().alpha(0.0f)
@@ -313,4 +302,19 @@
return bitmap;
}
+
+ @Override
+ public PhoneFavoriteSquareTileView getViewForLocation(int x, int y) {
+ getLocationOnScreen(mLocationOnScreen);
+ // Calculate the X and Y coordinates of the drag event relative to the view
+ final int viewX = x - mLocationOnScreen[0];
+ final int viewY = y - mLocationOnScreen[1];
+ final View child = getViewAtPosition(viewX, viewY);
+
+ if (!(child instanceof PhoneFavoriteSquareTileView)) {
+ return null;
+ }
+
+ return (PhoneFavoriteSquareTileView) child;
+ }
}
diff --git a/src/com/android/dialer/list/PhoneFavoriteMergedAdapter.java b/src/com/android/dialer/list/PhoneFavoriteMergedAdapter.java
deleted file mode 100644
index a6af3ce..0000000
--- a/src/com/android/dialer/list/PhoneFavoriteMergedAdapter.java
+++ /dev/null
@@ -1,402 +0,0 @@
-/*
- * Copyright (C) 2011 Google Inc.
- * Licensed to The Android Open Source Project.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.dialer.list;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.database.Cursor;
-import android.database.DataSetObserver;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewConfiguration;
-import android.view.ViewGroup;
-import android.widget.BaseAdapter;
-import android.widget.FrameLayout;
-
-import com.android.dialer.R;
-import com.android.dialer.calllog.CallLogAdapter;
-import com.android.dialer.calllog.CallLogNotificationsHelper;
-import com.android.dialer.calllog.CallLogQueryHandler;
-import com.android.dialer.list.SwipeHelper.OnItemGestureListener;
-import com.android.dialer.list.SwipeHelper.SwipeHelperCallback;
-
-/**
- * An adapter that combines items from {@link com.android.contacts.common.list.ContactTileAdapter}
- * and {@link com.android.dialer.calllog.CallLogAdapter} into a single list.
- */
-public class PhoneFavoriteMergedAdapter extends BaseAdapter {
-
- private class CustomDataSetObserver extends DataSetObserver {
- @Override
- public void onChanged() {
- notifyDataSetChanged();
- }
- }
-
- private static final String TAG = PhoneFavoriteMergedAdapter.class.getSimpleName();
-
- private static final int TILE_INTERACTION_TEASER_VIEW_POSITION = 3;
- private static final int TILE_INTERACTION_TEASER_VIEW_ID = -2;
- private static final int FAVORITES_MENU_ITEM_ID = -3;
- private final PhoneFavoritesTileAdapter mContactTileAdapter;
- private final CallLogAdapter mCallLogAdapter;
- private final WifiWizardAdapter mWifiWizardAdapter;
- private final View mPhoneFavoritesMenu;
- private final ListsFragment mFragment;
- private final TileInteractionTeaserView mTileInteractionTeaserView;
-
- private final int mCallLogPadding;
-
- private final Context mContext;
-
- private final DataSetObserver mObserver;
-
- private final CallLogQueryHandler mCallLogQueryHandler;
-
- private final OnItemGestureListener mCallLogOnItemSwipeListener =
- new OnItemGestureListener() {
- @Override
- public void onSwipe(View view) {
- mCallLogQueryHandler.markNewCallsAsOld();
- mCallLogQueryHandler.markNewVoicemailsAsOld();
- CallLogNotificationsHelper.removeMissedCallNotifications();
- CallLogNotificationsHelper.updateVoicemailNotifications(mContext);
- mFragment.dismissShortcut(view);
- }
-
- @Override
- public void onTouch() {}
-
- @Override
- public boolean isSwipeEnabled() {
- return true;
- }
- };
-
- private final CallLogQueryHandler.Listener mCallLogQueryHandlerListener =
- new CallLogQueryHandler.Listener() {
- @Override
- public void onVoicemailStatusFetched(Cursor statusCursor) {}
-
- @Override
- public void onCallsFetched(Cursor combinedCursor) {
- mCallLogAdapter.invalidateCache();
- mCallLogAdapter.changeCursor(combinedCursor);
- mCallLogAdapter.notifyDataSetChanged();
- }
- };
-
- public PhoneFavoriteMergedAdapter(Context context,
- ListsFragment fragment,
- PhoneFavoritesTileAdapter contactTileAdapter,
- CallLogAdapter callLogAdapter,
- View phoneFavoritesMenu,
- TileInteractionTeaserView tileInteractionTeaserView,
- WifiWizardAdapter.WifiWizardModel wifiWizardModel) {
- final Resources resources = context.getResources();
- mContext = context;
- mFragment = fragment;
- mCallLogPadding = resources.getDimensionPixelSize(R.dimen.recent_call_log_item_padding);
- mContactTileAdapter = contactTileAdapter;
- mCallLogAdapter = callLogAdapter;
- mWifiWizardAdapter = new WifiWizardAdapter(context, wifiWizardModel);
- mObserver = new CustomDataSetObserver();
- mCallLogAdapter.registerDataSetObserver(mObserver);
- mPhoneFavoritesMenu = phoneFavoritesMenu;
- mTileInteractionTeaserView = tileInteractionTeaserView;
- mCallLogQueryHandler = new CallLogQueryHandler(mContext.getContentResolver(),
- mCallLogQueryHandlerListener);
- }
-
- /**
- * Determines the number of items in the adapter.
- * mCallLogAdapter contains the item for the most recent caller.
- * mContactTileAdapter contains the starred contacts.
- * The +1 is to account for the presence of the favorites menu.
- *
- * @return Number of items in the adapter.
- */
- @Override
- public int getCount() {
- return mCallLogAdapter.getCount();
- }
-
- @Override
- public Object getItem(int position) {
- final int callLogAdapterCount = mCallLogAdapter.getCount();
-
- if (callLogAdapterCount > 0) {
- if (position < callLogAdapterCount) {
- return mCallLogAdapter.getItem(position);
- }
- }
- // Set position to the position of the actual favorite contact in the favorites adapter
- position = getAdjustedPositionInContactTileAdapter(position);
-
- return mContactTileAdapter.getItem(position);
- }
-
- /**
- * In order to ensure that items have stable ids (for animation purposes), we need to
- * guarantee that every single item has a unique ID, even across data set changes.
- *
- * These are the ranges of IDs reserved for each item type.
- *
- * -(N + 4): Wi-Fi Wizard item, where N is equal to the number of call log items
- * -4: CallLogAdapterItems representing most recent call.
- * -3: Favorites menu
- * -2: Teaser
- * 0 to (N -1): Rows of tiled contacts, where N is equal to the max rows of tiled contacts
- * N to infinity: Rows of regular contacts. Their item id is calculated by N + contact_id,
- * where contact_id is guaranteed to never be negative.
- */
- @Override
- public long getItemId(int position) {
- final int callLogAdapterCount = mCallLogAdapter.getCount();
-
- if (position < callLogAdapterCount) {
- // Call log items are not animated, so reusing their position for IDs is fine.
- return FAVORITES_MENU_ITEM_ID - 1 - position;
- } else if (position == TILE_INTERACTION_TEASER_VIEW_POSITION + callLogAdapterCount &&
- mTileInteractionTeaserView.getShouldDisplayInList()) {
- return TILE_INTERACTION_TEASER_VIEW_ID;
- } else if (position == callLogAdapterCount) {
- return FAVORITES_MENU_ITEM_ID;
- } else if (position < (callLogAdapterCount + mContactTileAdapter.getCount() +
- getTeaserViewCount() + 1)) {
- return mContactTileAdapter.getItemId(
- getAdjustedPositionInContactTileAdapter(position));
- } else {
- // Default fallback. We don't normally get here.
- return FAVORITES_MENU_ITEM_ID;
- }
- }
-
- @Override
- public boolean hasStableIds() {
- return true;
- }
-
- /**
- * Determine the number of view types present.
- */
- @Override
- public int getViewTypeCount() {
- return mCallLogAdapter.getViewTypeCount();
- }
-
- @Override
- public int getItemViewType(int position) {
- final int callLogAdapterCount = mCallLogAdapter.getCount();
-
- if (position < callLogAdapterCount) {
- return 0;
- } else if (position == TILE_INTERACTION_TEASER_VIEW_POSITION + callLogAdapterCount &&
- mTileInteractionTeaserView.getShouldDisplayInList()) {
- // View type of the teaser row is the last view type of the contact tile adapter +2
- return mContactTileAdapter.getViewTypeCount() + 2;
- //} else if (position < getCount() - mWifiWizardAdapter.getCount() - 1) {
- } else if (position == callLogAdapterCount) {
- // View type of the favorites menu is last view type of contact tile adapter +3
- return mContactTileAdapter.getViewTypeCount() + 3;
- } else if (position < getCount() - mWifiWizardAdapter.getCount()) {
- return mContactTileAdapter.getItemViewType(
- getAdjustedPositionInContactTileAdapter(position));
- } else {
- // Catch-all - we shouldn't get here but if we do use the same as the favorites menu.
- return mContactTileAdapter.getViewTypeCount() + 3;
- }
- }
-
- /**
- * Determines the view for a specified position.
- *
- * @param position Position for which to retrieve view.
- * @return view corresponding to position.
- */
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- final int callLogAdapterCount = mCallLogAdapter.getCount();
-
- if (callLogAdapterCount > 0 && position < callLogAdapterCount) {
- // Handle case where we are requesting the view for the "most recent caller".
-
- final SwipeableCallLogRow wrapper;
- if (convertView == null) {
- wrapper = new SwipeableCallLogRow(mContext);
- wrapper.setOnItemSwipeListener(mCallLogOnItemSwipeListener);
- } else {
- wrapper = (SwipeableCallLogRow) convertView;
- }
-
- // Special case wrapper view for the most recent call log item. This allows
- // us to create a card-like effect for the more recent call log item in
- // the PhoneFavoriteMergedAdapter, but keep the original look of the item in
- // the CallLogAdapter.
- final View view = mCallLogAdapter.getView(position, convertView == null ?
- null : wrapper.getChildAt(0), parent);
- wrapper.removeAllViews();
- final View callLogItem = view.findViewById(R.id.call_log_list_item);
- // Reset the internal call log item view if it is being recycled
- callLogItem.setTranslationX(0);
- callLogItem.setAlpha(1);
- wrapper.addView(view);
- return wrapper;
- } else if (position == callLogAdapterCount) {
- // If position is just after the entries in the mCallLogAdapter (most recent call),
- // return the favorites menu.
- return mPhoneFavoritesMenu;
- }
-
- // Set position to the position of the actual favorite contact in the favorites adapter.
- // Adjusts based on the presence of other views, such as the favorites menu.
- position = getAdjustedPositionInContactTileAdapter(position);
-
- // Favorites section
- final View view = mContactTileAdapter.getView(position, convertView, parent);
- return view;
- }
-
- @Override
- public boolean areAllItemsEnabled() {
- return mCallLogAdapter.areAllItemsEnabled();
- }
-
- @Override
- public boolean isEnabled(int position) {
- final int callLogAdapterCount = mCallLogAdapter.getCount();
- if (position < callLogAdapterCount) {
- return mCallLogAdapter.isEnabled(position);
- } else { // For favorites section
- return mContactTileAdapter.isEnabled(
- getAdjustedPositionInContactTileAdapter(position));
- }
- }
-
- /**
- * Given the current position in the merged adapter, return the index in the
- * mContactTileAdapter this position corresponds to.
- *
- * @param position current position in the overall (merged) adapter.
- * @return position in the mContactTileAdapter.
- */
- public int getAdjustedPositionInContactTileAdapter(int position) {
- final int callLogAdapterCount = mCallLogAdapter.getCount();
- if (position - callLogAdapterCount > TILE_INTERACTION_TEASER_VIEW_POSITION &&
- mTileInteractionTeaserView.getShouldDisplayInList()) {
- return position - callLogAdapterCount - 2;
- } else {
- return position - callLogAdapterCount - 1;
- }
- }
-
- /**
- * Determines the number of teaser views visible.
- * @return 1 or 0 depending on if the teaser view is showing.
- */
- private int getTeaserViewCount() {
- return (mContactTileAdapter.getCount() > TILE_INTERACTION_TEASER_VIEW_POSITION &&
- mTileInteractionTeaserView.getShouldDisplayInList() ? 1 : 0);
- }
-
- /**
- * The swipeable call log row.
- */
- private class SwipeableCallLogRow extends FrameLayout implements SwipeHelperCallback {
- private SwipeHelper mSwipeHelper;
- private OnItemGestureListener mOnItemSwipeListener;
-
- public SwipeableCallLogRow(Context context) {
- super(context);
- final float densityScale = getResources().getDisplayMetrics().density;
- final float pagingTouchSlop = ViewConfiguration.get(context)
- .getScaledPagingTouchSlop();
- mSwipeHelper = new SwipeHelper(context, SwipeHelper.X, this,
- densityScale, pagingTouchSlop);
- }
-
- @Override
- public void addView(View view) {
- view.setBackgroundResource(R.drawable.ic_tile_for_recents_and_contact_tile);
-
- final FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
- FrameLayout.LayoutParams.MATCH_PARENT,
- FrameLayout.LayoutParams.WRAP_CONTENT);
- params.setMargins(mCallLogPadding, mCallLogPadding, mCallLogPadding, mCallLogPadding);
- view.setLayoutParams(params);
-
- super.addView(view);
- }
-
- @Override
- public View getChildAtPosition(MotionEvent ev) {
- return getChildCount() > 0 ? getChildAt(0) : null;
- }
-
- @Override
- public View getChildContentView(View v) {
- return v.findViewById(R.id.call_log_list_item);
- }
-
- @Override
- public void onScroll() {}
-
- @Override
- public boolean canChildBeDismissed(View v) {
- return true;
- }
-
- @Override
- public void onBeginDrag(View v) {
- // We do this so the underlying ScrollView knows that it won't get
- // the chance to intercept events anymore
- requestDisallowInterceptTouchEvent(true);
- }
-
- @Override
- public void onChildDismissed(View v) {
- if (v != null && mOnItemSwipeListener != null) {
- mOnItemSwipeListener.onSwipe(v);
- }
- }
-
- @Override
- public void onDragCancelled(View v) {}
-
- @Override
- public boolean onInterceptTouchEvent(MotionEvent ev) {
- if (mSwipeHelper != null) {
- return mSwipeHelper.onInterceptTouchEvent(ev) || super.onInterceptTouchEvent(ev);
- } else {
- return super.onInterceptTouchEvent(ev);
- }
- }
-
- @Override
- public boolean onTouchEvent(MotionEvent ev) {
- if (mSwipeHelper != null) {
- return mSwipeHelper.onTouchEvent(ev) || super.onTouchEvent(ev);
- } else {
- return super.onTouchEvent(ev);
- }
- }
-
- public void setOnItemSwipeListener(OnItemGestureListener listener) {
- mOnItemSwipeListener = listener;
- }
- }
-}
diff --git a/src/com/android/dialer/list/PhoneFavoriteTileView.java b/src/com/android/dialer/list/PhoneFavoriteTileView.java
index 3626bcb..862952d 100644
--- a/src/com/android/dialer/list/PhoneFavoriteTileView.java
+++ b/src/com/android/dialer/list/PhoneFavoriteTileView.java
@@ -131,7 +131,7 @@
@Override
protected DefaultImageRequest getDefaultImageRequest(String displayName, String lookupKey) {
return new DefaultImageRequest(displayName, lookupKey, ContactPhotoManager.TYPE_DEFAULT,
- DEFAULT_IMAGE_LETTER_SCALE, DEFAULT_IMAGE_LETTER_OFFSET);
+ DEFAULT_IMAGE_LETTER_SCALE, DEFAULT_IMAGE_LETTER_OFFSET, false);
}
@Override
diff --git a/src/com/android/dialer/list/RemoveView.java b/src/com/android/dialer/list/RemoveView.java
index 16942fe..ae358fc 100644
--- a/src/com/android/dialer/list/RemoveView.java
+++ b/src/com/android/dialer/list/RemoveView.java
@@ -4,14 +4,16 @@
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
+import android.util.Log;
import android.view.DragEvent;
+import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.android.dialer.R;
-public class RemoveView extends LinearLayout {
+public class RemoveView extends FrameLayout {
DragDropController mDragDropController;
TextView mRemoveText;
@@ -49,31 +51,30 @@
}
@Override
- public boolean dispatchDragEvent(DragEvent event) {
- final int action = event.getAction();
- switch (action) {
- case DragEvent.ACTION_DRAG_ENTERED:
- setAppearanceHighlighted();
- break;
- case DragEvent.ACTION_DRAG_EXITED:
- setAppearanceNormal();
- break;
- case DragEvent.ACTION_DRAG_LOCATION:
- if (mDragDropController != null) {
- mDragDropController.handleDragHovered((int) event.getX(),
- // the true y-coordinate of the event with respect to the listview is
- // offset by the height of the remove view
- (int) event.getY() - getHeight(), null);
- }
- break;
- case DragEvent.ACTION_DROP:
- if (mDragDropController != null) {
- mDragDropController.handleDragFinished((int) event.getX(), (int) event.getY(), true);
- }
- setAppearanceNormal();
- break;
- }
- return true;
+ public boolean onDragEvent(DragEvent event) {
+ final int action = event.getAction();
+ switch (action) {
+ case DragEvent.ACTION_DRAG_ENTERED:
+ setAppearanceHighlighted();
+ break;
+ case DragEvent.ACTION_DRAG_EXITED:
+ setAppearanceNormal();
+ break;
+ case DragEvent.ACTION_DRAG_LOCATION:
+ if (mDragDropController != null) {
+ mDragDropController.handleDragHovered(this, (int) event.getX(),
+ (int) event.getY());
+ }
+ break;
+ case DragEvent.ACTION_DROP:
+ if (mDragDropController != null) {
+ mDragDropController.handleDragFinished((int) event.getX(), (int) event.getY(),
+ true);
+ }
+ setAppearanceNormal();
+ break;
+ }
+ return true;
}
private void setAppearanceNormal() {
diff --git a/src/com/android/dialer/list/SearchFragment.java b/src/com/android/dialer/list/SearchFragment.java
index c4fac69..ab76fdc 100644
--- a/src/com/android/dialer/list/SearchFragment.java
+++ b/src/com/android/dialer/list/SearchFragment.java
@@ -18,6 +18,7 @@
import android.app.Activity;
import android.content.Intent;
import android.text.TextUtils;
+import android.view.View;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.ListView;
@@ -48,7 +49,7 @@
setQuickContactEnabled(true);
setDarkTheme(false);
- setPhotoPosition(ContactListItemView.getDefaultPhotoPosition(true /* opposite */));
+ setPhotoPosition(ContactListItemView.getDefaultPhotoPosition(false /* opposite */));
setUseCallableUri(true);
try {
@@ -67,13 +68,15 @@
}
mActionBarHeight = ((DialtactsActivity) getActivity()).getActionBarHeight();
- final ListView listView = getListView();
- listView.setPaddingRelative(
- listView.getPaddingStart(),
+
+ final View parentView = getView();
+ parentView.setPaddingRelative(
+ parentView.getPaddingStart(),
mActionBarHeight,
- listView.getPaddingEnd(),
- listView.getPaddingBottom());
- listView.setClipToPadding(false);
+ parentView.getPaddingEnd(),
+ parentView.getPaddingBottom());
+
+ final ListView listView = getListView();
listView.setOnScrollListener(new OnScrollListener() {
@Override
@@ -88,7 +91,7 @@
});
if (!getActivity().getActionBar().isShowing()) {
- listView.setTranslationY(-mActionBarHeight);
+ parentView.setTranslationY(-mActionBarHeight);
}
}
diff --git a/src/com/android/dialer/list/ShortcutCardsAdapter.java b/src/com/android/dialer/list/ShortcutCardsAdapter.java
new file mode 100644
index 0000000..8a1f64c
--- /dev/null
+++ b/src/com/android/dialer/list/ShortcutCardsAdapter.java
@@ -0,0 +1,319 @@
+/*
+ * Copyright (C) 2011 Google Inc.
+ * Licensed to The Android Open Source Project.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.dialer.list;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.database.Cursor;
+import android.database.DataSetObserver;
+import android.graphics.Rect;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewConfiguration;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.FrameLayout;
+
+import com.android.dialer.R;
+import com.android.dialer.calllog.CallLogAdapter;
+import com.android.dialer.calllog.CallLogNotificationsHelper;
+import com.android.dialer.calllog.CallLogQueryHandler;
+import com.android.dialer.list.SwipeHelper.OnItemGestureListener;
+import com.android.dialer.list.SwipeHelper.SwipeHelperCallback;
+
+/**
+ * An adapter that displays call shortcuts from {@link com.android.dialer.calllog.CallLogAdapter}
+ * in the form of cards.
+ */
+public class ShortcutCardsAdapter extends BaseAdapter {
+
+ private class CustomDataSetObserver extends DataSetObserver {
+ @Override
+ public void onChanged() {
+ notifyDataSetChanged();
+ }
+ }
+
+ private static final String TAG = ShortcutCardsAdapter.class.getSimpleName();
+
+ private final CallLogAdapter mCallLogAdapter;
+ private final ListsFragment mFragment;
+
+ private final int mCallLogPadding;
+
+ private final Context mContext;
+
+ private final DataSetObserver mObserver;
+
+ private final CallLogQueryHandler mCallLogQueryHandler;
+
+ private final OnItemGestureListener mCallLogOnItemSwipeListener =
+ new OnItemGestureListener() {
+ @Override
+ public void onSwipe(View view) {
+ mCallLogQueryHandler.markNewCallsAsOld();
+ mCallLogQueryHandler.markNewVoicemailsAsOld();
+ CallLogNotificationsHelper.removeMissedCallNotifications();
+ CallLogNotificationsHelper.updateVoicemailNotifications(mContext);
+ mFragment.dismissShortcut(view);
+ }
+
+ @Override
+ public void onTouch() {}
+
+ @Override
+ public boolean isSwipeEnabled() {
+ return true;
+ }
+ };
+
+ private final CallLogQueryHandler.Listener mCallLogQueryHandlerListener =
+ new CallLogQueryHandler.Listener() {
+ @Override
+ public void onVoicemailStatusFetched(Cursor statusCursor) {}
+
+ @Override
+ public void onCallsFetched(Cursor combinedCursor) {
+ mCallLogAdapter.invalidateCache();
+ mCallLogAdapter.changeCursor(combinedCursor);
+ mCallLogAdapter.notifyDataSetChanged();
+ }
+ };
+
+ public ShortcutCardsAdapter(Context context,
+ ListsFragment fragment,
+ CallLogAdapter callLogAdapter) {
+ final Resources resources = context.getResources();
+ mContext = context;
+ mFragment = fragment;
+ mCallLogPadding = resources.getDimensionPixelSize(R.dimen.recent_call_log_item_padding);
+ mCallLogAdapter = callLogAdapter;
+ mObserver = new CustomDataSetObserver();
+ mCallLogAdapter.registerDataSetObserver(mObserver);
+ mCallLogQueryHandler = new CallLogQueryHandler(mContext.getContentResolver(),
+ mCallLogQueryHandlerListener);
+ }
+
+ /**
+ * Determines the number of items in the adapter.
+ * mCallLogAdapter contains the item for the most recent caller.
+ * mContactTileAdapter contains the starred contacts.
+ * The +1 is to account for the presence of the favorites menu.
+ *
+ * @return Number of items in the adapter.
+ */
+ @Override
+ public int getCount() {
+ return mCallLogAdapter.getCount();
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return mCallLogAdapter.getItem(position);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public boolean hasStableIds() {
+ return true;
+ }
+
+ /**
+ * Determine the number of view types present.
+ */
+ @Override
+ public int getViewTypeCount() {
+ return mCallLogAdapter.getViewTypeCount();
+ }
+
+ @Override
+ public int getItemViewType(int position) {
+ return mCallLogAdapter.getItemViewType(position);
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ final SwipeableShortcutCard wrapper;
+ if (convertView == null) {
+ wrapper = new SwipeableShortcutCard(mContext);
+ wrapper.setOnItemSwipeListener(mCallLogOnItemSwipeListener);
+ } else {
+ wrapper = (SwipeableShortcutCard) convertView;
+ }
+
+ // Special case wrapper view for the most recent call log item. This allows
+ // us to create a card-like effect for the more recent call log item in
+ // the PhoneFavoriteMergedAdapter, but keep the original look of the item in
+ // the CallLogAdapter.
+ final View view = mCallLogAdapter.getView(position, convertView == null ?
+ null : wrapper.getChildAt(0), parent);
+ wrapper.removeAllViews();
+ final View callLogItem = view.findViewById(R.id.call_log_list_item);
+ // Reset the internal call log item view if it is being recycled
+ callLogItem.setTranslationX(0);
+ callLogItem.setAlpha(1);
+ wrapper.addView(view);
+ return wrapper;
+ }
+
+ @Override
+ public boolean areAllItemsEnabled() {
+ return mCallLogAdapter.areAllItemsEnabled();
+ }
+
+ @Override
+ public boolean isEnabled(int position) {
+ return mCallLogAdapter.isEnabled(position);
+ }
+
+ /**
+ * The swipeable call log row.
+ */
+ class SwipeableShortcutCard extends FrameLayout implements SwipeHelperCallback {
+ private SwipeHelper mSwipeHelper;
+ private OnItemGestureListener mOnItemSwipeListener;
+
+ public SwipeableShortcutCard(Context context) {
+ super(context);
+ final float densityScale = getResources().getDisplayMetrics().density;
+ final float pagingTouchSlop = ViewConfiguration.get(context)
+ .getScaledPagingTouchSlop();
+ mSwipeHelper = new SwipeHelper(context, SwipeHelper.X, this,
+ densityScale, pagingTouchSlop);
+ }
+
+ @Override
+ public void addView(View view) {
+ view.setBackgroundResource(R.drawable.ic_tile_for_recents_and_contact_tile);
+
+ final FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
+ FrameLayout.LayoutParams.MATCH_PARENT,
+ FrameLayout.LayoutParams.WRAP_CONTENT);
+ params.setMargins(mCallLogPadding, mCallLogPadding, mCallLogPadding, mCallLogPadding);
+ view.setLayoutParams(params);
+ view.setTranslationZ(getResources().getDimensionPixelSize(
+ R.dimen.recent_call_log_item_translation_z));
+
+ super.addView(view);
+ }
+
+ @Override
+ public View getChildAtPosition(MotionEvent ev) {
+ return getChildCount() > 0 ? getChildAt(0) : null;
+ }
+
+ @Override
+ public View getChildContentView(View v) {
+ return v.findViewById(R.id.call_log_list_item);
+ }
+
+ @Override
+ public void onScroll() {}
+
+ @Override
+ public boolean canChildBeDismissed(View v) {
+ return true;
+ }
+
+ @Override
+ public void onBeginDrag(View v) {
+ // We do this so the underlying ScrollView knows that it won't get
+ // the chance to intercept events anymore
+ requestDisallowInterceptTouchEvent(true);
+ }
+
+ @Override
+ public void onChildDismissed(View v) {
+ if (v != null && mOnItemSwipeListener != null) {
+ mOnItemSwipeListener.onSwipe(v);
+ }
+ }
+
+ @Override
+ public void onDragCancelled(View v) {}
+
+ @Override
+ public boolean onInterceptTouchEvent(MotionEvent ev) {
+ if (mSwipeHelper != null) {
+ return mSwipeHelper.onInterceptTouchEvent(ev) || super.onInterceptTouchEvent(ev);
+ } else {
+ return super.onInterceptTouchEvent(ev);
+ }
+ }
+
+ @Override
+ public boolean onTouchEvent(MotionEvent ev) {
+ if (mSwipeHelper != null) {
+ return mSwipeHelper.onTouchEvent(ev) || super.onTouchEvent(ev);
+ } else {
+ return super.onTouchEvent(ev);
+ }
+ }
+
+ public void setOnItemSwipeListener(OnItemGestureListener listener) {
+ mOnItemSwipeListener = listener;
+ }
+
+ private float mPreviousTranslationZ = 0;
+ private Rect mClipRect = new Rect();
+
+ /**
+ * Clips the card by a specified amount.
+ *
+ * @param ratioHidden A float indicating how much of each edge of the card should be
+ * clipped. If 0, the entire card is displayed. If 0.5f, each edge is hidden
+ * entirely, thus obscuring the entire card.
+ */
+ public void clipCard(float ratioHidden) {
+ final View viewToClip = getChildAt(0);
+ if (viewToClip == null) {
+ return;
+ }
+ int width = viewToClip.getWidth();
+ int height = viewToClip.getHeight();
+
+ if (ratioHidden <= 0.01f) {
+ viewToClip.setTranslationZ(mPreviousTranslationZ);
+ } else if (viewToClip.getTranslationZ() != 0){
+ mPreviousTranslationZ = viewToClip.getTranslationZ();
+ viewToClip.setTranslationZ(0);
+ }
+
+ if (ratioHidden > 0.5f) {
+ mClipRect.set(0, 0 , 0, 0);
+ } else {
+ int newLeft = (int) (ratioHidden * width);
+ int newRight = (width - newLeft);
+ int newTop = (int) (ratioHidden * height);
+ int newBottom = (height - newTop);
+ mClipRect.set(newLeft, newTop, newRight, newBottom);
+ }
+ viewToClip.setClipBounds(mClipRect);
+
+ // If the view has any children, fade them out of view.
+ final ViewGroup viewGroup = (ViewGroup) viewToClip;
+ final int count = viewGroup.getChildCount();
+ for (int i = 0; i < count; i++) {
+ viewGroup.getChildAt(i).setAlpha(Math.max(0, 1 - 4 * ratioHidden));
+ }
+ }
+ }
+}
diff --git a/src/com/android/dialer/list/SmartDialSearchFragment.java b/src/com/android/dialer/list/SmartDialSearchFragment.java
index 0efe918..4f0ce72 100644
--- a/src/com/android/dialer/list/SmartDialSearchFragment.java
+++ b/src/com/android/dialer/list/SmartDialSearchFragment.java
@@ -41,6 +41,8 @@
// Disable the direct call shortcut for the smart dial fragment, since the call button
// will already be showing anyway.
adapter.setShortcutEnabled(SmartDialNumberListAdapter.SHORTCUT_DIRECT_CALL, false);
+ adapter.setShortcutEnabled(SmartDialNumberListAdapter.SHORTCUT_ADD_NUMBER_TO_CONTACTS,
+ false);
return adapter;
}
diff --git a/src/com/android/dialer/list/PhoneFavoriteFragment.java b/src/com/android/dialer/list/SpeedDialFragment.java
similarity index 95%
rename from src/com/android/dialer/list/PhoneFavoriteFragment.java
rename to src/com/android/dialer/list/SpeedDialFragment.java
index 05e2d44..0399bf7 100644
--- a/src/com/android/dialer/list/PhoneFavoriteFragment.java
+++ b/src/com/android/dialer/list/SpeedDialFragment.java
@@ -32,6 +32,8 @@
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
+import android.view.animation.AnimationUtils;
+import android.view.animation.LayoutAnimationController;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
@@ -50,14 +52,9 @@
import java.util.HashMap;
/**
- * Fragment for Phone UI's favorite screen.
- *
- * This fragment contains three kinds of contacts in one screen: "starred", "frequent", and "all"
- * contacts. To show them at once, this merges results from {@link com.android.contacts.common.list.ContactTileAdapter} and
- * {@link com.android.contacts.common.list.PhoneNumberListAdapter} into one unified list using {@link PhoneFavoriteMergedAdapter}.
- * A contact filter header is also inserted between those adapters' results.
+ * This fragment displays the user's favorite/frequent contacts in a grid.
*/
-public class PhoneFavoriteFragment extends Fragment implements OnItemClickListener,
+public class SpeedDialFragment extends Fragment implements OnItemClickListener,
PhoneFavoritesTileAdapter.OnDataSetChangedForAnimationListener {
/**
@@ -69,7 +66,7 @@
*/
private static final long KEY_REMOVED_ITEM_HEIGHT = Long.MAX_VALUE;
- private static final String TAG = PhoneFavoriteFragment.class.getSimpleName();
+ private static final String TAG = SpeedDialFragment.class.getSimpleName();
private static final boolean DEBUG = false;
private int mAnimationDuration;
@@ -209,7 +206,7 @@
mListView.getDragDropController().addOnDragDropListener(mContactTileAdapter);
final ImageView dragShadowOverlay =
- (ImageView) mParentView.findViewById(R.id.contact_tile_drag_shadow_overlay);
+ (ImageView) getActivity().findViewById(R.id.contact_tile_drag_shadow_overlay);
mListView.setDragShadowOverlay(dragShadowOverlay);
mEmptyView = mParentView.findViewById(R.id.phone_no_favorites_view);
@@ -221,6 +218,10 @@
mTileInteractionTeaserView = (TileInteractionTeaserView) inflater.inflate(
R.layout.tile_interactions_teaser_view, mListView, false);
+ final LayoutAnimationController controller = new LayoutAnimationController(
+ AnimationUtils.loadAnimation(getActivity(), android.R.anim.fade_in));
+ controller.setDelay(0);
+ mListView.setLayoutAnimation(controller);
mListView.setAdapter(mContactTileAdapter);
mListView.setOnScrollListener(mScrollListener);
diff --git a/src/com/android/dialer/list/TileInteractionTeaserView.java b/src/com/android/dialer/list/TileInteractionTeaserView.java
index 6e70fd1..fd5ed34 100644
--- a/src/com/android/dialer/list/TileInteractionTeaserView.java
+++ b/src/com/android/dialer/list/TileInteractionTeaserView.java
@@ -31,7 +31,7 @@
private int mTextTop;
private int mAnimatedHeight = -1;
- private PhoneFavoriteMergedAdapter mAdapter;
+ private ShortcutCardsAdapter mAdapter;
public TileInteractionTeaserView(final Context context) {
this(context, null);
@@ -91,7 +91,7 @@
return prefs.getBoolean(KEY_TILE_INTERACTION_TEASER_SHOWN, true);
}
- public void setAdapter(PhoneFavoriteMergedAdapter adapter) {
+ public void setAdapter(ShortcutCardsAdapter adapter) {
mAdapter = adapter;
}
diff --git a/src/com/android/dialer/list/ViewPagerTabs.java b/src/com/android/dialer/list/ViewPagerTabs.java
index a538d09..b545802 100644
--- a/src/com/android/dialer/list/ViewPagerTabs.java
+++ b/src/com/android/dialer/list/ViewPagerTabs.java
@@ -108,7 +108,6 @@
public void setViewPager(ViewPager viewPager) {
mPager = viewPager;
- mPager.setOnPageChangeListener(this);
addTabs(mPager.getAdapter());
}
diff --git a/src/com/android/dialer/list/WifiSettings.java b/src/com/android/dialer/list/WifiSettings.java
deleted file mode 100644
index 1823bb2..0000000
--- a/src/com/android/dialer/list/WifiSettings.java
+++ /dev/null
@@ -1,65 +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.dialer.list;
-
-import android.content.Context;
-import android.preference.PreferenceManager;
-import android.telephony.TelephonyManager;
-
-public class WifiSettings implements WifiWizardAdapter.WifiWizardModel {
- private final Context mContext;
-
- private static final String SHOULD_DISPLAY_WIFI_SELECTION = "should_display_wifi_selection";
- private int mWhenToMakeWifiCalls;
-
- public WifiSettings(Context context) {
- this.mContext = context;
- this.mWhenToMakeWifiCalls = getTelephonyService().getWhenToMakeWifiCalls();
- }
-
- @Override
- public void setWhenToMakeWifiCalls(int preference) {
- mWhenToMakeWifiCalls = preference;
- }
-
- @Override
- public int getWhenToMakeWifiCalls() {
- return mWhenToMakeWifiCalls;
- }
-
- @Override
- public boolean getShouldDisplayWifiSelection() {
- return PreferenceManager.getDefaultSharedPreferences(mContext)
- .getBoolean(SHOULD_DISPLAY_WIFI_SELECTION, true);
- }
-
- @Override
- public void setShouldDisplayWifiSelection(boolean selection) {
- PreferenceManager.getDefaultSharedPreferences(mContext)
- .edit().putBoolean(SHOULD_DISPLAY_WIFI_SELECTION, selection)
- .commit();
- }
-
- @Override
- public void commitWhenToMakeWifiCalls() {
- getTelephonyService().setWhenToMakeWifiCalls(mWhenToMakeWifiCalls);
-
- }
-
- private TelephonyManager getTelephonyService() {
- return (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
- }
-}
diff --git a/src/com/android/dialer/list/WifiWizardAdapter.java b/src/com/android/dialer/list/WifiWizardAdapter.java
deleted file mode 100644
index da2610d..0000000
--- a/src/com/android/dialer/list/WifiWizardAdapter.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Copyright (C) 2013 Google Inc.
- * Licensed to The Android Open Source Project.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.dialer.list;
-
-import com.android.dialer.R;
-import android.content.Context;
-import android.content.Intent;
-import android.telephony.TelephonyManager;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.BaseAdapter;
-import android.widget.CompoundButton;
-import android.widget.RadioButton;
-
-public class WifiWizardAdapter extends BaseAdapter {
-
- /** Used to open Call Setting */
- private static final String PHONE_PACKAGE = "com.android.phone";
- private static final String CALL_SETTINGS_CLASS_NAME =
- "com.android.phone.CallFeaturesSetting";
-
- public interface WifiWizardModel {
- /** @see android.telephony.TelephonyManager.WifiCallingChoices */
- int getWhenToMakeWifiCalls();
- /** @see android.telephony.TelephonyManager.WifiCallingChoices */
- void setWhenToMakeWifiCalls(int preference);
-
- /** Whether a Wi-Fi selection shortcut should be displayed */
- boolean getShouldDisplayWifiSelection();
- /** @see #getShouldDisplayWifiSelection() */
- void setShouldDisplayWifiSelection(boolean preference);
-
- /** Commit any changes made to persistent settings storage */
- void commitWhenToMakeWifiCalls();
- }
-
- private abstract class WifiWizardStep {
- private final int mResourceId;
- private View mView;
- protected WifiWizardStep(int resourceId) {
- mResourceId = resourceId;
- }
- public final View getView() {
- if (mView == null) {
- mView = inflate(mResourceId);
- configureView(mView);
- }
- if (mView.getParent() != null && (mView.getParent() instanceof ViewGroup)) {
- ((ViewGroup) mView.getParent()).removeView(mView);
- }
- return mView;
- }
- protected abstract void configureView(View view);
- }
-
- private WifiWizardStep mTeaserStep =
- new WifiWizardStep(R.layout.wifi_call_enable_teaser) {
- @Override
- protected void configureView(View view) {
- view.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- mStep = mSettingsStep;
- notifyDataSetChanged();
- }
- });
- }
- };
-
- private WifiWizardStep mSettingsStep =
- new WifiWizardStep(R.layout.wifi_call_enable_settings) {
- private RadioButton rb(View view, int id) {
- return (RadioButton) view.findViewById(id);
- }
-
- private void update(View view) {
- rb(view, R.id.wifi_never_use_wifi).setChecked(false);
- rb(view, R.id.wifi_ask_use_wifi).setChecked(false);
- rb(view, R.id.wifi_always_use_wifi).setChecked(false);
- switch (mModel.getWhenToMakeWifiCalls()) {
- case TelephonyManager.WifiCallingChoices.NEVER_USE:
- rb(view, R.id.wifi_never_use_wifi).setChecked(true);
- break;
- case TelephonyManager.WifiCallingChoices.ASK_EVERY_TIME:
- rb(view, R.id.wifi_ask_use_wifi).setChecked(true);
- break;
- case TelephonyManager.WifiCallingChoices.ALWAYS_USE:
- rb(view, R.id.wifi_always_use_wifi).setChecked(true);
- break;
- }
- }
-
- private void listen(final View view, int id, final int prefValue) {
- rb(view, id).setOnCheckedChangeListener(
- new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(
- CompoundButton buttonView,
- boolean isChecked) {
- if (isChecked) {
- mModel.setWhenToMakeWifiCalls(prefValue);
- update(view);
- }
- }
- });
- }
-
- private void listen(View view) {
- listen(view, R.id.wifi_never_use_wifi,
- TelephonyManager.WifiCallingChoices.NEVER_USE);
- listen(view, R.id.wifi_ask_use_wifi,
- TelephonyManager.WifiCallingChoices.ASK_EVERY_TIME);
- listen(view, R.id.wifi_always_use_wifi,
- TelephonyManager.WifiCallingChoices.ALWAYS_USE);
- }
-
- @Override
- protected void configureView(View view) {
- update(view);
- listen(view);
- view.findViewById(R.id.wifi_next_setup_screen).setOnClickListener(
- new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- mModel.setShouldDisplayWifiSelection(false);
- mModel.commitWhenToMakeWifiCalls();
- mStep = mCompletionStep;
- notifyDataSetChanged();
- }
- });
- }
- };
-
- private WifiWizardStep mCompletionStep =
- new WifiWizardStep(R.layout.wifi_call_enable_completion) {
- private void finish() {
- // Keep 'mStep' non-null even if unused, to avoid user visible NPE
- // in case there may be some other bug in the logic
- mStep = mTeaserStep;
- notifyDataSetChanged();
- }
-
- @Override
- protected void configureView(View view) {
- view.findViewById(R.id.wifi_setup_ok).setOnClickListener(
- new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- });
- view.findViewById(R.id.wifi_setup_settings_shortcut).setOnClickListener(
- new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- mContext.startActivity(getCallSettingsIntent());
- finish();
- }
- });
- }
- };
-
- private final SwipeHelper.OnItemGestureListener mOnItemSwipeListener =
- new SwipeHelper.OnItemGestureListener() {
- @Override
- public void onSwipe(View view) {
- mModel.setShouldDisplayWifiSelection(false);
- notifyDataSetChanged();
- }
-
- @Override
- public void onTouch() {}
-
- @Override
- public boolean isSwipeEnabled() {
- // TODO: This never gets called by the swipe framework; why?
- return mStep == mTeaserStep;
- }
- };
-
- private final WifiWizardModel mModel;
- private final Context mContext;
- private WifiWizardStep mStep = mTeaserStep;
-
- public WifiWizardAdapter(Context context, WifiWizardModel model) {
- this.mContext = context;
- this.mModel = model;
- }
-
- public SwipeHelper.OnItemGestureListener getOnItemSwipeListener() {
- return mOnItemSwipeListener;
- }
-
- @Override
- public int getCount() {
- if (mModel.getShouldDisplayWifiSelection() && mModel.getWhenToMakeWifiCalls() ==
- TelephonyManager.WifiCallingChoices.NEVER_USE) {
- return 1;
- }
- return 0;
- }
-
- @Override
- public Object getItem(int position) {
- return this;
- }
-
- @Override
- public long getItemId(int position) {
- return 1L;
- }
-
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- return mStep.getView();
- }
-
- private View inflate(int resource) {
- return ((LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE))
- .inflate(resource, null);
- }
-
- /** Returns an Intent to launch Call Settings screen */
- public static Intent getCallSettingsIntent() {
- final Intent intent = new Intent(Intent.ACTION_MAIN);
- intent.setClassName(PHONE_PACKAGE, CALL_SETTINGS_CLASS_NAME);
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- return intent;
- }
-}
diff --git a/src/com/android/dialer/widget/OverlappingPaneLayout.java b/src/com/android/dialer/widget/OverlappingPaneLayout.java
new file mode 100644
index 0000000..e17194e
--- /dev/null
+++ b/src/com/android/dialer/widget/OverlappingPaneLayout.java
@@ -0,0 +1,1100 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.dialer.widget;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.PixelFormat;
+import android.graphics.Rect;
+import android.graphics.drawable.Drawable;
+import android.os.Build;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.support.v4.view.AccessibilityDelegateCompat;
+import android.support.v4.view.MotionEventCompat;
+import android.support.v4.view.ViewCompat;
+import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.ViewParent;
+import android.view.accessibility.AccessibilityEvent;
+
+/**
+ * A custom layout that aligns its child views vertically as two panes, and allows for the bottom
+ * pane to be dragged upwards to overlap and hide the top pane. This layout is adapted from
+ * {@link android.support.v4.widget.SlidingPaneLayout}.
+ */
+public class OverlappingPaneLayout extends ViewGroup {
+ private static final String TAG = "SlidingPaneLayout";
+
+ /**
+ * Default size of the overhang for a pane in the open state.
+ * At least this much of a sliding pane will remain visible.
+ * This indicates that there is more content available and provides
+ * a "physical" edge to grab to pull it closed.
+ */
+ private static final int DEFAULT_OVERHANG_SIZE = 32; // dp;
+
+ /**
+ * If no fade color is given by default it will fade to 80% gray.
+ */
+ private static final int DEFAULT_FADE_COLOR = 0xcccccccc;
+
+ /**
+ * Minimum velocity that will be detected as a fling
+ */
+ private static final int MIN_FLING_VELOCITY = 400; // dips per second
+
+ /**
+ * The size of the overhang in pixels.
+ * This is the minimum section of the sliding panel that will
+ * be visible in the open state to allow for a closing drag.
+ */
+ private final int mOverhangSize;
+
+ /**
+ * True if a panel can slide with the current measurements
+ */
+ private boolean mCanSlide;
+
+ /**
+ * The child view that can slide, if any.
+ */
+ private View mSlideableView;
+
+ /**
+ * The view that can be used to start the drag with.
+ */
+ private View mCapturableView;
+
+ /**
+ * How far the panel is offset from its closed position.
+ * range [0, 1] where 0 = closed, 1 = open.
+ */
+ private float mSlideOffset;
+
+ /**
+ * How far in pixels the slideable panel may move.
+ */
+ private int mSlideRange;
+
+ /**
+ * A panel view is locked into internal scrolling or another condition that
+ * is preventing a drag.
+ */
+ private boolean mIsUnableToDrag;
+
+ /**
+ * Tracks whether or not a child view is in the process of a nested scroll.
+ */
+ private boolean mIsInNestedScroll;
+
+ private float mInitialMotionX;
+ private float mInitialMotionY;
+
+ private PanelSlideListener mPanelSlideListener;
+
+ private final ViewDragHelper mDragHelper;
+
+ /**
+ * Stores whether or not the pane was open the last time it was slideable.
+ * If open/close operations are invoked this state is modified. Used by
+ * instance state save/restore.
+ */
+ private boolean mPreservedOpenState;
+ private boolean mFirstLayout = true;
+
+ private final Rect mTmpRect = new Rect();
+
+ /**
+ * Listener for monitoring events about sliding panes.
+ */
+ public interface PanelSlideListener {
+ /**
+ * Called when a sliding pane's position changes.
+ * @param panel The child view that was moved
+ * @param slideOffset The new offset of this sliding pane within its range, from 0-1
+ */
+ public void onPanelSlide(View panel, float slideOffset);
+ /**
+ * Called when a sliding pane becomes slid completely open. The pane may or may not
+ * be interactive at this point depending on how much of the pane is visible.
+ * @param panel The child view that was slid to an open position, revealing other panes
+ */
+ public void onPanelOpened(View panel);
+
+ /**
+ * Called when a sliding pane becomes slid completely closed. The pane is now guaranteed
+ * to be interactive. It may now obscure other views in the layout.
+ * @param panel The child view that was slid to a closed position
+ */
+ public void onPanelClosed(View panel);
+ }
+
+ public OverlappingPaneLayout(Context context) {
+ this(context, null);
+ }
+
+ public OverlappingPaneLayout(Context context, AttributeSet attrs) {
+ this(context, attrs, 0);
+ }
+
+ public OverlappingPaneLayout(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+
+ final float density = context.getResources().getDisplayMetrics().density;
+ mOverhangSize = (int) (DEFAULT_OVERHANG_SIZE * density + 0.5f);
+
+ setWillNotDraw(false);
+
+ ViewCompat.setAccessibilityDelegate(this, new AccessibilityDelegate());
+ ViewCompat.setImportantForAccessibility(this, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_YES);
+
+ mDragHelper = ViewDragHelper.create(this, 0.5f, new DragHelperCallback());
+ mDragHelper.setMinVelocity(MIN_FLING_VELOCITY * density);
+ }
+
+ /**
+ * Set the view that can be used to start dragging the sliding pane.
+ */
+ public void setCapturableView(View capturableView) {
+ mCapturableView = capturableView;
+ }
+
+ public void setPanelSlideListener(PanelSlideListener listener) {
+ mPanelSlideListener = listener;
+ }
+
+ void dispatchOnPanelSlide(View panel) {
+ if (mPanelSlideListener != null) {
+ mPanelSlideListener.onPanelSlide(panel, mSlideOffset);
+ }
+ }
+
+ void dispatchOnPanelOpened(View panel) {
+ if (mPanelSlideListener != null) {
+ mPanelSlideListener.onPanelOpened(panel);
+ }
+ sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
+ }
+
+ void dispatchOnPanelClosed(View panel) {
+ if (mPanelSlideListener != null) {
+ mPanelSlideListener.onPanelClosed(panel);
+ }
+ sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
+ }
+
+ void updateObscuredViewsVisibility(View panel) {
+ final int startBound = getPaddingTop();
+ final int endBound = getHeight() - getPaddingBottom();
+
+ final int leftBound = getPaddingLeft();
+ final int rightBound = getWidth() - getPaddingRight();
+ final int left;
+ final int right;
+ final int top;
+ final int bottom;
+ if (panel != null && viewIsOpaque(panel)) {
+ left = panel.getLeft();
+ right = panel.getRight();
+ top = panel.getTop();
+ bottom = panel.getBottom();
+ } else {
+ left = right = top = bottom = 0;
+ }
+
+ for (int i = 0, childCount = getChildCount(); i < childCount; i++) {
+ final View child = getChildAt(i);
+
+ if (child == panel) {
+ // There are still more children above the panel but they won't be affected.
+ break;
+ }
+
+ final int clampedChildLeft = Math.max(leftBound, child.getLeft());
+ final int clampedChildRight = Math.min(rightBound, child.getRight());
+ final int clampedChildTop = Math.max(startBound, child.getTop());
+ final int clampedChildBottom = Math.min(endBound, child.getBottom());
+
+ final int vis;
+ if (clampedChildLeft >= left && clampedChildTop >= top &&
+ clampedChildRight <= right && clampedChildBottom <= bottom) {
+ vis = INVISIBLE;
+ } else {
+ vis = VISIBLE;
+ }
+ child.setVisibility(vis);
+ }
+ }
+
+ void setAllChildrenVisible() {
+ for (int i = 0, childCount = getChildCount(); i < childCount; i++) {
+ final View child = getChildAt(i);
+ if (child.getVisibility() == INVISIBLE) {
+ child.setVisibility(VISIBLE);
+ }
+ }
+ }
+
+ private static boolean viewIsOpaque(View v) {
+ if (ViewCompat.isOpaque(v)) return true;
+
+ final Drawable bg = v.getBackground();
+ if (bg != null) {
+ return bg.getOpacity() == PixelFormat.OPAQUE;
+ }
+ return false;
+ }
+
+ @Override
+ protected void onAttachedToWindow() {
+ super.onAttachedToWindow();
+ mFirstLayout = true;
+ }
+
+ @Override
+ protected void onDetachedFromWindow() {
+ super.onDetachedFromWindow();
+ mFirstLayout = true;
+ }
+
+ @Override
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+
+ int widthMode = MeasureSpec.getMode(widthMeasureSpec);
+ int widthSize = MeasureSpec.getSize(widthMeasureSpec);
+ int heightMode = MeasureSpec.getMode(heightMeasureSpec);
+ int heightSize = MeasureSpec.getSize(heightMeasureSpec);
+
+ if (widthMode != MeasureSpec.EXACTLY) {
+ if (isInEditMode()) {
+ // Don't crash the layout editor. Consume all of the space if specified
+ // or pick a magic number from thin air otherwise.
+ // TODO Better communication with tools of this bogus state.
+ // It will crash on a real device.
+ if (widthMode == MeasureSpec.AT_MOST) {
+ widthMode = MeasureSpec.EXACTLY;
+ } else if (widthMode == MeasureSpec.UNSPECIFIED) {
+ widthMode = MeasureSpec.EXACTLY;
+ widthSize = 300;
+ }
+ } else {
+ throw new IllegalStateException("Width must have an exact value or MATCH_PARENT");
+ }
+ } else if (heightMode == MeasureSpec.UNSPECIFIED) {
+ if (isInEditMode()) {
+ // Don't crash the layout editor. Pick a magic number from thin air instead.
+ // TODO Better communication with tools of this bogus state.
+ // It will crash on a real device.
+ if (heightMode == MeasureSpec.UNSPECIFIED) {
+ heightMode = MeasureSpec.AT_MOST;
+ heightSize = 300;
+ }
+ } else {
+ throw new IllegalStateException("Height must not be UNSPECIFIED");
+ }
+ }
+
+ int layoutWidth = 0;
+ int maxLayoutWidth = -1;
+ switch (widthMode) {
+ case MeasureSpec.EXACTLY:
+ layoutWidth = maxLayoutWidth = widthSize - getPaddingLeft() - getPaddingRight();
+ break;
+ case MeasureSpec.AT_MOST:
+ maxLayoutWidth = widthSize - getPaddingLeft() - getPaddingRight();
+ break;
+ }
+
+ float weightSum = 0;
+ boolean canSlide = false;
+ final int heightAvailable = heightSize - getPaddingTop() - getPaddingBottom();
+ int heightRemaining = heightAvailable;
+ final int childCount = getChildCount();
+
+ if (childCount > 2) {
+ Log.e(TAG, "onMeasure: More than two child views are not supported.");
+ }
+
+ // We'll find the current one below.
+ mSlideableView = null;
+
+ // First pass. Measure based on child LayoutParams width/height.
+ // Weight will incur a second pass.
+ for (int i = 0; i < childCount; i++) {
+ final View child = getChildAt(i);
+ final LayoutParams lp = (LayoutParams) child.getLayoutParams();
+
+ if (child.getVisibility() == GONE) {
+ continue;
+ }
+
+ if (lp.weight > 0) {
+ weightSum += lp.weight;
+
+ // If we have no height, weight is the only contributor to the final size.
+ // Measure this view on the weight pass only.
+ if (lp.height == 0) continue;
+ }
+
+ int childHeightSpec;
+ final int verticalMargin = lp.topMargin + lp.bottomMargin;
+ if (lp.height == LayoutParams.WRAP_CONTENT) {
+ childHeightSpec = MeasureSpec.makeMeasureSpec(heightAvailable - verticalMargin,
+ MeasureSpec.AT_MOST);
+ } else if (lp.height == LayoutParams.MATCH_PARENT) {
+ childHeightSpec = MeasureSpec.makeMeasureSpec(heightAvailable - verticalMargin,
+ MeasureSpec.EXACTLY);
+ } else {
+ childHeightSpec = MeasureSpec.makeMeasureSpec(lp.height, MeasureSpec.EXACTLY);
+ }
+
+ int childWidthSpec;
+ if (lp.width == LayoutParams.WRAP_CONTENT) {
+ childWidthSpec = MeasureSpec.makeMeasureSpec(maxLayoutWidth, MeasureSpec.AT_MOST);
+ } else if (lp.width == LayoutParams.MATCH_PARENT) {
+ childWidthSpec = MeasureSpec.makeMeasureSpec(maxLayoutWidth, MeasureSpec.EXACTLY);
+ } else {
+ childWidthSpec = MeasureSpec.makeMeasureSpec(lp.width, MeasureSpec.EXACTLY);
+ }
+
+ child.measure(childWidthSpec, childHeightSpec);
+ final int childWidth = child.getMeasuredWidth();
+ final int childHeight = child.getMeasuredHeight();
+
+ if (widthMode == MeasureSpec.AT_MOST && childWidth > layoutWidth) {
+ layoutWidth = Math.min(childWidth, maxLayoutWidth);
+ }
+
+ heightRemaining -= childHeight;
+ canSlide |= lp.slideable = heightRemaining < 0;
+ if (lp.slideable) {
+ mSlideableView = child;
+ }
+ }
+
+ // Resolve weight and make sure non-sliding panels are smaller than the full screen.
+ if (canSlide || weightSum > 0) {
+ final int fixedPanelHeightLimit = heightAvailable - mOverhangSize;
+
+ for (int i = 0; i < childCount; i++) {
+ final View child = getChildAt(i);
+
+ if (child.getVisibility() == GONE) {
+ continue;
+ }
+
+ final LayoutParams lp = (LayoutParams) child.getLayoutParams();
+
+ if (child.getVisibility() == GONE) {
+ continue;
+ }
+
+ final boolean skippedFirstPass = lp.height == 0 && lp.weight > 0;
+ final int measuredHeight = skippedFirstPass ? 0 : child.getMeasuredHeight();
+ if (canSlide && child != mSlideableView) {
+ if (lp.height < 0 && (measuredHeight > fixedPanelHeightLimit || lp.weight > 0)) {
+ // Fixed panels in a sliding configuration should
+ // be clamped to the fixed panel limit.
+ final int childWidthSpec;
+ if (skippedFirstPass) {
+ // Do initial width measurement if we skipped measuring this view
+ // the first time around.
+ if (lp.width == LayoutParams.WRAP_CONTENT) {
+ childWidthSpec = MeasureSpec.makeMeasureSpec(maxLayoutWidth,
+ MeasureSpec.AT_MOST);
+ } else if (lp.height == LayoutParams.MATCH_PARENT) {
+ childWidthSpec = MeasureSpec.makeMeasureSpec(maxLayoutWidth,
+ MeasureSpec.EXACTLY);
+ } else {
+ childWidthSpec = MeasureSpec.makeMeasureSpec(lp.width,
+ MeasureSpec.EXACTLY);
+ }
+ } else {
+ childWidthSpec = MeasureSpec.makeMeasureSpec(
+ child.getMeasuredWidth(), MeasureSpec.EXACTLY);
+ }
+ final int childHeightSpec = MeasureSpec.makeMeasureSpec(
+ fixedPanelHeightLimit, MeasureSpec.EXACTLY);
+ child.measure(childWidthSpec, childHeightSpec);
+ }
+ } else if (lp.weight > 0) {
+ int childWidthSpec;
+ if (lp.height == 0) {
+ // This was skipped the first time; figure out a real width spec.
+ if (lp.width == LayoutParams.WRAP_CONTENT) {
+ childWidthSpec = MeasureSpec.makeMeasureSpec(maxLayoutWidth,
+ MeasureSpec.AT_MOST);
+ } else if (lp.width == LayoutParams.MATCH_PARENT) {
+ childWidthSpec = MeasureSpec.makeMeasureSpec(maxLayoutWidth,
+ MeasureSpec.EXACTLY);
+ } else {
+ childWidthSpec = MeasureSpec.makeMeasureSpec(lp.width,
+ MeasureSpec.EXACTLY);
+ }
+ } else {
+ childWidthSpec = MeasureSpec.makeMeasureSpec(
+ child.getMeasuredWidth(), MeasureSpec.EXACTLY);
+ }
+
+ if (canSlide) {
+ // Consume available space
+ final int verticalMargin = lp.topMargin + lp.bottomMargin;
+ final int newHeight = heightAvailable - verticalMargin;
+ final int childHeightSpec = MeasureSpec.makeMeasureSpec(
+ newHeight, MeasureSpec.EXACTLY);
+ if (measuredHeight != newHeight) {
+ child.measure(childWidthSpec, childHeightSpec);
+ }
+ } else {
+ // Distribute the extra width proportionally similar to LinearLayout
+ final int heightToDistribute = Math.max(0, heightRemaining);
+ final int addedHeight = (int) (lp.weight * heightToDistribute / weightSum);
+ final int childHeightSpec = MeasureSpec.makeMeasureSpec(
+ measuredHeight + addedHeight, MeasureSpec.EXACTLY);
+ child.measure(childWidthSpec, childHeightSpec);
+ }
+ }
+ }
+ }
+
+ final int measuredHeight = heightSize;
+ final int measuredWidth = layoutWidth + getPaddingLeft() + getPaddingRight();
+
+ setMeasuredDimension(measuredWidth, measuredHeight);
+ mCanSlide = canSlide;
+
+ if (mDragHelper.getViewDragState() != ViewDragHelper.STATE_IDLE && !canSlide) {
+ // Cancel scrolling in progress, it's no longer relevant.
+ mDragHelper.abort();
+ }
+ }
+
+ @Override
+ protected void onLayout(boolean changed, int l, int t, int r, int b) {
+ mDragHelper.setEdgeTrackingEnabled(ViewDragHelper.EDGE_TOP);
+
+ final int height = b - t;
+ final int paddingTop = getPaddingTop();
+ final int paddingBottom = getPaddingBottom();
+ final int paddingLeft = getPaddingLeft();
+
+ final int childCount = getChildCount();
+ int yStart = paddingTop;
+ int nextYStart = yStart;
+
+ if (mFirstLayout) {
+ mSlideOffset = mCanSlide && mPreservedOpenState ? 1.f : 0.f;
+ }
+
+ for (int i = 0; i < childCount; i++) {
+ final View child = getChildAt(i);
+
+ if (child.getVisibility() == GONE) {
+ continue;
+ }
+
+ final LayoutParams lp = (LayoutParams) child.getLayoutParams();
+
+ final int childHeight = child.getMeasuredHeight();
+
+ if (lp.slideable) {
+ final int margin = lp.topMargin + lp.bottomMargin;
+ final int range = Math.min(nextYStart,
+ height - paddingBottom - mOverhangSize) - yStart - margin;
+ mSlideRange = range;
+ final int lpMargin = lp.topMargin;
+ final int pos = (int) (range * mSlideOffset);
+ yStart += pos + lpMargin;
+ mSlideOffset = (float) pos / mSlideRange;
+ } else {
+ yStart = nextYStart;
+ }
+
+ final int childTop = yStart;
+ final int childBottom = childTop + childHeight;
+ final int childLeft = paddingLeft;
+ final int childRight = childLeft + child.getMeasuredWidth();
+
+ child.layout(childLeft, childTop, childRight, childBottom);
+
+ nextYStart += child.getHeight();
+ }
+
+ if (mFirstLayout) {
+ updateObscuredViewsVisibility(mSlideableView);
+ }
+
+ mFirstLayout = false;
+ }
+
+ @Override
+ protected void onSizeChanged(int w, int h, int oldw, int oldh) {
+ super.onSizeChanged(w, h, oldw, oldh);
+ // Recalculate sliding panes and their details
+ if (h != oldh) {
+ mFirstLayout = true;
+ }
+ }
+
+ @Override
+ public void requestChildFocus(View child, View focused) {
+ super.requestChildFocus(child, focused);
+ if (!isInTouchMode() && !mCanSlide) {
+ mPreservedOpenState = child == mSlideableView;
+ }
+ }
+
+ @Override
+ public boolean onInterceptTouchEvent(MotionEvent ev) {
+ final int action = MotionEventCompat.getActionMasked(ev);
+
+ // Preserve the open state based on the last view that was touched.
+ if (!mCanSlide && action == MotionEvent.ACTION_DOWN && getChildCount() > 1) {
+ // After the first things will be slideable.
+ final View secondChild = getChildAt(1);
+ if (secondChild != null) {
+ mPreservedOpenState = !mDragHelper.isViewUnder(secondChild,
+ (int) ev.getX(), (int) ev.getY());
+ }
+ }
+
+ if (!mCanSlide || (mIsUnableToDrag && action != MotionEvent.ACTION_DOWN)) {
+ if (!mIsInNestedScroll) {
+ mDragHelper.cancel();
+ }
+ return super.onInterceptTouchEvent(ev);
+ }
+
+ if (action == MotionEvent.ACTION_CANCEL || action == MotionEvent.ACTION_UP) {
+ if (!mIsInNestedScroll) {
+ mDragHelper.cancel();
+ }
+ return false;
+ }
+
+ switch (action) {
+ case MotionEvent.ACTION_DOWN: {
+ mIsUnableToDrag = false;
+ final float x = ev.getX();
+ final float y = ev.getY();
+ mInitialMotionX = x;
+ mInitialMotionY = y;
+
+ break;
+ }
+
+ case MotionEvent.ACTION_MOVE: {
+ final float x = ev.getX();
+ final float y = ev.getY();
+ final float adx = Math.abs(x - mInitialMotionX);
+ final float ady = Math.abs(y - mInitialMotionY);
+ final int slop = mDragHelper.getTouchSlop();
+ if (ady > slop && adx > ady || !isCapturableViewUnder((int) x, (int) y)) {
+ if (!mIsInNestedScroll) {
+ mDragHelper.cancel();
+ }
+ mIsUnableToDrag = true;
+ return false;
+ }
+ }
+ }
+
+ final boolean interceptForDrag = mDragHelper.shouldInterceptTouchEvent(ev);
+
+ return interceptForDrag;
+ }
+
+ @Override
+ public boolean onTouchEvent(MotionEvent ev) {
+ if (!mCanSlide) {
+ return super.onTouchEvent(ev);
+ }
+
+ mDragHelper.processTouchEvent(ev);
+
+ final int action = ev.getAction();
+ boolean wantTouchEvents = true;
+
+ switch (action & MotionEventCompat.ACTION_MASK) {
+ case MotionEvent.ACTION_DOWN: {
+ final float x = ev.getX();
+ final float y = ev.getY();
+ mInitialMotionX = x;
+ mInitialMotionY = y;
+ break;
+ }
+ }
+
+ return wantTouchEvents;
+ }
+
+ private boolean closePane(View pane, int initialVelocity) {
+ if (mFirstLayout || smoothSlideTo(0.f, initialVelocity)) {
+ mPreservedOpenState = false;
+ return true;
+ }
+ return false;
+ }
+
+ private boolean openPane(View pane, int initialVelocity) {
+ if (mFirstLayout || smoothSlideTo(1.f, initialVelocity)) {
+ mPreservedOpenState = true;
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Open the sliding pane if it is currently slideable. If first layout
+ * has already completed this will animate.
+ *
+ * @return true if the pane was slideable and is now open/in the process of opening
+ */
+ public boolean openPane() {
+ return openPane(mSlideableView, 0);
+ }
+
+ /**
+ * Close the sliding pane if it is currently slideable. If first layout
+ * has already completed this will animate.
+ *
+ * @return true if the pane was slideable and is now closed/in the process of closing
+ */
+ public boolean closePane() {
+ return closePane(mSlideableView, 0);
+ }
+
+ /**
+ * Check if the layout is completely open. It can be open either because the slider
+ * itself is open revealing the left pane, or if all content fits without sliding.
+ *
+ * @return true if sliding panels are completely open
+ */
+ public boolean isOpen() {
+ return !mCanSlide || mSlideOffset == 1;
+ }
+
+ /**
+ * Check if the content in this layout cannot fully fit side by side and therefore
+ * the content pane can be slid back and forth.
+ *
+ * @return true if content in this layout can be slid open and closed
+ */
+ public boolean isSlideable() {
+ return mCanSlide;
+ }
+
+ private void onPanelDragged(int newTop) {
+ if (mSlideableView == null) {
+ // This can happen if we're aborting motion during layout because everything now fits.
+ mSlideOffset = 0;
+ return;
+ }
+ final LayoutParams lp = (LayoutParams) mSlideableView.getLayoutParams();
+
+ final int lpMargin = lp.topMargin;
+ final int topBound = getPaddingTop() + lpMargin;
+
+ mSlideOffset = (float) (newTop - topBound) / mSlideRange;
+
+ dispatchOnPanelSlide(mSlideableView);
+ }
+
+ @Override
+ protected boolean drawChild(Canvas canvas, View child, long drawingTime) {
+ final LayoutParams lp = (LayoutParams) child.getLayoutParams();
+ boolean result;
+ final int save = canvas.save(Canvas.CLIP_SAVE_FLAG);
+
+ if (mCanSlide && !lp.slideable && mSlideableView != null) {
+ // Clip against the slider; no sense drawing what will immediately be covered.
+ canvas.getClipBounds(mTmpRect);
+
+ mTmpRect.bottom = Math.min(mTmpRect.bottom, mSlideableView.getTop());
+ canvas.clipRect(mTmpRect);
+ }
+
+ if (Build.VERSION.SDK_INT >= 11) { // HC
+ result = super.drawChild(canvas, child, drawingTime);
+ } else {
+ if (child.isDrawingCacheEnabled()) {
+ child.setDrawingCacheEnabled(false);
+ }
+ result = super.drawChild(canvas, child, drawingTime);
+ }
+
+ canvas.restoreToCount(save);
+
+ return result;
+ }
+
+ /**
+ * Smoothly animate mDraggingPane to the target X position within its range.
+ *
+ * @param slideOffset position to animate to
+ * @param velocity initial velocity in case of fling, or 0.
+ */
+ boolean smoothSlideTo(float slideOffset, int velocity) {
+ if (!mCanSlide) {
+ // Nothing to do.
+ return false;
+ }
+
+ final LayoutParams lp = (LayoutParams) mSlideableView.getLayoutParams();
+
+ int y;
+ int topBound = getPaddingTop() + lp.topMargin;
+ y = (int) (topBound + slideOffset * mSlideRange);
+
+ if (mDragHelper.smoothSlideViewTo(mSlideableView, mSlideableView.getLeft(), y)) {
+ setAllChildrenVisible();
+ ViewCompat.postInvalidateOnAnimation(this);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public void computeScroll() {
+ if (mDragHelper.continueSettling(true)) {
+ if (!mCanSlide) {
+ mDragHelper.abort();
+ return;
+ }
+
+ ViewCompat.postInvalidateOnAnimation(this);
+ }
+ }
+
+ private boolean isCapturableViewUnder(int x, int y) {
+ View capturableView = mCapturableView != null ? mCapturableView : mSlideableView;
+ if (capturableView == null) {
+ return false;
+ }
+ int[] viewLocation = new int[2];
+ capturableView.getLocationOnScreen(viewLocation);
+ int[] parentLocation = new int[2];
+ this.getLocationOnScreen(parentLocation);
+ int screenX = parentLocation[0] + x;
+ int screenY = parentLocation[1] + y;
+ return screenX >= viewLocation[0]
+ && screenX < viewLocation[0] + capturableView.getWidth()
+ && screenY >= viewLocation[1]
+ && screenY < viewLocation[1] + capturableView.getHeight();
+ }
+
+ @Override
+ protected ViewGroup.LayoutParams generateDefaultLayoutParams() {
+ return new LayoutParams();
+ }
+
+ @Override
+ protected ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams p) {
+ return p instanceof MarginLayoutParams
+ ? new LayoutParams((MarginLayoutParams) p)
+ : new LayoutParams(p);
+ }
+
+ @Override
+ protected boolean checkLayoutParams(ViewGroup.LayoutParams p) {
+ return p instanceof LayoutParams && super.checkLayoutParams(p);
+ }
+
+ @Override
+ public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs) {
+ return new LayoutParams(getContext(), attrs);
+ }
+
+ @Override
+ protected Parcelable onSaveInstanceState() {
+ Parcelable superState = super.onSaveInstanceState();
+
+ SavedState ss = new SavedState(superState);
+ ss.isOpen = isSlideable() ? isOpen() : mPreservedOpenState;
+
+ return ss;
+ }
+
+ @Override
+ protected void onRestoreInstanceState(Parcelable state) {
+ SavedState ss = (SavedState) state;
+ super.onRestoreInstanceState(ss.getSuperState());
+
+ if (ss.isOpen) {
+ openPane();
+ } else {
+ closePane();
+ }
+ mPreservedOpenState = ss.isOpen;
+ }
+
+ @Override
+ public boolean onStartNestedScroll(View child, View target, int nestedScrollAxes) {
+ final boolean startNestedScroll = (nestedScrollAxes & SCROLL_AXIS_VERTICAL) != 0;
+ if (startNestedScroll) {
+ mIsInNestedScroll = true;
+ mDragHelper.startNestedScroll(mSlideableView);
+ }
+ return startNestedScroll;
+ }
+
+ @Override
+ public void onNestedPreScroll(View target, int dx, int dy, int[] consumed) {
+ mDragHelper.processNestedScroll(mSlideableView, 0, dy, consumed);
+ }
+
+ @Override
+ public void onStopNestedScroll(View child) {
+ mDragHelper.stopNestedScroll(mSlideableView);
+ mIsInNestedScroll = false;
+ }
+
+ private class DragHelperCallback extends ViewDragHelper.Callback {
+
+ @Override
+ public boolean tryCaptureView(View child, int pointerId) {
+ if (mIsUnableToDrag) {
+ return false;
+ }
+
+ return ((LayoutParams) child.getLayoutParams()).slideable;
+ }
+
+ @Override
+ public void onViewDragStateChanged(int state) {
+ if (mDragHelper.getViewDragState() == ViewDragHelper.STATE_IDLE) {
+ if (mSlideOffset == 0) {
+ updateObscuredViewsVisibility(mSlideableView);
+ dispatchOnPanelClosed(mSlideableView);
+ mPreservedOpenState = false;
+ } else {
+ dispatchOnPanelOpened(mSlideableView);
+ mPreservedOpenState = true;
+ }
+ }
+ }
+
+ @Override
+ public void onViewCaptured(View capturedChild, int activePointerId) {
+ // Make all child views visible in preparation for sliding things around
+ setAllChildrenVisible();
+ }
+
+ @Override
+ public void onViewPositionChanged(View changedView, int left, int top, int dx, int dy) {
+ onPanelDragged(top);
+ invalidate();
+ }
+
+ @Override
+ public void onViewReleased(View releasedChild, float xvel, float yvel) {
+ final LayoutParams lp = (LayoutParams) releasedChild.getLayoutParams();
+
+ int top = getPaddingTop() + lp.topMargin;
+ if (yvel > 0 || (yvel == 0 && mSlideOffset > 0.5f)) {
+ top += mSlideRange;
+ }
+
+ mDragHelper.settleCapturedViewAt(releasedChild.getLeft(), top);
+ invalidate();
+ }
+
+ @Override
+ public int getViewVerticalDragRange(View child) {
+ return mSlideRange;
+ }
+
+ @Override
+ public int clampViewPositionHorizontal(View child, int left, int dx) {
+ // Make sure we never move views horizontally.
+ return child.getLeft();
+ }
+
+ @Override
+ public int clampViewPositionVertical(View child, int top, int dy) {
+ final LayoutParams lp = (LayoutParams) mSlideableView.getLayoutParams();
+
+ final int newTop;
+ int topBound = getPaddingTop() + lp.topMargin;
+ int bottomBound = topBound + mSlideRange;
+ newTop = Math.min(Math.max(top, topBound), bottomBound);
+
+ return newTop;
+ }
+
+ @Override
+ public void onEdgeDragStarted(int edgeFlags, int pointerId) {
+ mDragHelper.captureChildView(mSlideableView, pointerId);
+ }
+ }
+
+ public static class LayoutParams extends ViewGroup.MarginLayoutParams {
+ private static final int[] ATTRS = new int[] {
+ android.R.attr.layout_weight
+ };
+
+ /**
+ * The weighted proportion of how much of the leftover space
+ * this child should consume after measurement.
+ */
+ public float weight = 0;
+
+ /**
+ * True if this pane is the slideable pane in the layout.
+ */
+ boolean slideable;
+
+ public LayoutParams() {
+ super(FILL_PARENT, FILL_PARENT);
+ }
+
+ public LayoutParams(int width, int height) {
+ super(width, height);
+ }
+
+ public LayoutParams(android.view.ViewGroup.LayoutParams source) {
+ super(source);
+ }
+
+ public LayoutParams(MarginLayoutParams source) {
+ super(source);
+ }
+
+ public LayoutParams(LayoutParams source) {
+ super(source);
+ this.weight = source.weight;
+ }
+
+ public LayoutParams(Context c, AttributeSet attrs) {
+ super(c, attrs);
+
+ final TypedArray a = c.obtainStyledAttributes(attrs, ATTRS);
+ this.weight = a.getFloat(0, 0);
+ a.recycle();
+ }
+
+ }
+
+ static class SavedState extends BaseSavedState {
+ boolean isOpen;
+
+ SavedState(Parcelable superState) {
+ super(superState);
+ }
+
+ private SavedState(Parcel in) {
+ super(in);
+ isOpen = in.readInt() != 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel out, int flags) {
+ super.writeToParcel(out, flags);
+ out.writeInt(isOpen ? 1 : 0);
+ }
+
+ public static final Parcelable.Creator<SavedState> CREATOR =
+ new Parcelable.Creator<SavedState>() {
+ public SavedState createFromParcel(Parcel in) {
+ return new SavedState(in);
+ }
+
+ public SavedState[] newArray(int size) {
+ return new SavedState[size];
+ }
+ };
+ }
+
+ class AccessibilityDelegate extends AccessibilityDelegateCompat {
+ private final Rect mTmpRect = new Rect();
+
+ @Override
+ public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
+ final AccessibilityNodeInfoCompat superNode = AccessibilityNodeInfoCompat.obtain(info);
+ super.onInitializeAccessibilityNodeInfo(host, superNode);
+ copyNodeInfoNoChildren(info, superNode);
+ superNode.recycle();
+
+ info.setClassName(OverlappingPaneLayout.class.getName());
+ info.setSource(host);
+
+ final ViewParent parent = ViewCompat.getParentForAccessibility(host);
+ if (parent instanceof View) {
+ info.setParent((View) parent);
+ }
+
+ // This is a best-approximation of addChildrenForAccessibility()
+ // that accounts for filtering.
+ final int childCount = getChildCount();
+ for (int i = 0; i < childCount; i++) {
+ final View child = getChildAt(i);
+ if (child.getVisibility() == View.VISIBLE) {
+ // Force importance to "yes" since we can't read the value.
+ ViewCompat.setImportantForAccessibility(
+ child, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_YES);
+ info.addChild(child);
+ }
+ }
+ }
+
+ @Override
+ public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) {
+ super.onInitializeAccessibilityEvent(host, event);
+
+ event.setClassName(OverlappingPaneLayout.class.getName());
+ }
+
+ /**
+ * This should really be in AccessibilityNodeInfoCompat, but there unfortunately
+ * seem to be a few elements that are not easily cloneable using the underlying API.
+ * Leave it private here as it's not general-purpose useful.
+ */
+ private void copyNodeInfoNoChildren(AccessibilityNodeInfoCompat dest,
+ AccessibilityNodeInfoCompat src) {
+ final Rect rect = mTmpRect;
+
+ src.getBoundsInParent(rect);
+ dest.setBoundsInParent(rect);
+
+ src.getBoundsInScreen(rect);
+ dest.setBoundsInScreen(rect);
+
+ dest.setVisibleToUser(src.isVisibleToUser());
+ dest.setPackageName(src.getPackageName());
+ dest.setClassName(src.getClassName());
+ dest.setContentDescription(src.getContentDescription());
+
+ dest.setEnabled(src.isEnabled());
+ dest.setClickable(src.isClickable());
+ dest.setFocusable(src.isFocusable());
+ dest.setFocused(src.isFocused());
+ dest.setAccessibilityFocused(src.isAccessibilityFocused());
+ dest.setSelected(src.isSelected());
+ dest.setLongClickable(src.isLongClickable());
+
+ dest.addAction(src.getActions());
+
+ dest.setMovementGranularities(src.getMovementGranularities());
+ }
+ }
+}
diff --git a/src/com/android/dialer/widget/ViewDragHelper.java b/src/com/android/dialer/widget/ViewDragHelper.java
new file mode 100644
index 0000000..83e8707
--- /dev/null
+++ b/src/com/android/dialer/widget/ViewDragHelper.java
@@ -0,0 +1,1491 @@
+/*
+ * 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.dialer.widget;
+
+import android.content.Context;
+import android.support.v4.view.MotionEventCompat;
+import android.support.v4.view.VelocityTrackerCompat;
+import android.support.v4.view.ViewCompat;
+import android.support.v4.widget.ScrollerCompat;
+import android.view.MotionEvent;
+import android.view.VelocityTracker;
+import android.view.View;
+import android.view.ViewConfiguration;
+import android.view.ViewGroup;
+import android.view.animation.Interpolator;
+
+import java.util.Arrays;
+
+/**
+ * ViewDragHelper is a utility class for writing custom ViewGroups. It offers a number
+ * of useful operations and state tracking for allowing a user to drag and reposition
+ * views within their parent ViewGroup.
+ */
+public class ViewDragHelper {
+ private static final String TAG = "ViewDragHelper";
+
+ /**
+ * A null/invalid pointer ID.
+ */
+ public static final int INVALID_POINTER = -1;
+
+ /**
+ * A view is not currently being dragged or animating as a result of a fling/snap.
+ */
+ public static final int STATE_IDLE = 0;
+
+ /**
+ * A view is currently being dragged. The position is currently changing as a result
+ * of user input or simulated user input.
+ */
+ public static final int STATE_DRAGGING = 1;
+
+ /**
+ * A view is currently settling into place as a result of a fling or
+ * predefined non-interactive motion.
+ */
+ public static final int STATE_SETTLING = 2;
+
+ /**
+ * Edge flag indicating that the left edge should be affected.
+ */
+ public static final int EDGE_LEFT = 1 << 0;
+
+ /**
+ * Edge flag indicating that the right edge should be affected.
+ */
+ public static final int EDGE_RIGHT = 1 << 1;
+
+ /**
+ * Edge flag indicating that the top edge should be affected.
+ */
+ public static final int EDGE_TOP = 1 << 2;
+
+ /**
+ * Edge flag indicating that the bottom edge should be affected.
+ */
+ public static final int EDGE_BOTTOM = 1 << 3;
+
+ /**
+ * Edge flag set indicating all edges should be affected.
+ */
+ public static final int EDGE_ALL = EDGE_LEFT | EDGE_TOP | EDGE_RIGHT | EDGE_BOTTOM;
+
+ /**
+ * Indicates that a check should occur along the horizontal axis
+ */
+ public static final int DIRECTION_HORIZONTAL = 1 << 0;
+
+ /**
+ * Indicates that a check should occur along the vertical axis
+ */
+ public static final int DIRECTION_VERTICAL = 1 << 1;
+
+ /**
+ * Indicates that a check should occur along all axes
+ */
+ public static final int DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;
+
+ private static final int EDGE_SIZE = 20; // dp
+
+ private static final int BASE_SETTLE_DURATION = 256; // ms
+ private static final int MAX_SETTLE_DURATION = 600; // ms
+
+ // Current drag state; idle, dragging or settling
+ private int mDragState;
+
+ // Distance to travel before a drag may begin
+ private int mTouchSlop;
+
+ // Last known position/pointer tracking
+ private int mActivePointerId = INVALID_POINTER;
+ private float[] mInitialMotionX;
+ private float[] mInitialMotionY;
+ private float[] mLastMotionX;
+ private float[] mLastMotionY;
+ private int[] mInitialEdgesTouched;
+ private int[] mEdgeDragsInProgress;
+ private int[] mEdgeDragsLocked;
+ private int mPointersDown;
+
+ private VelocityTracker mVelocityTracker;
+ private float mMaxVelocity;
+ private float mMinVelocity;
+
+ private int mEdgeSize;
+ private int mTrackingEdges;
+
+ private ScrollerCompat mScroller;
+
+ private final Callback mCallback;
+
+ private View mCapturedView;
+ private boolean mReleaseInProgress;
+
+ private final ViewGroup mParentView;
+
+ /**
+ * A Callback is used as a communication channel with the ViewDragHelper back to the
+ * parent view using it. <code>on*</code>methods are invoked on siginficant events and several
+ * accessor methods are expected to provide the ViewDragHelper with more information
+ * about the state of the parent view upon request. The callback also makes decisions
+ * governing the range and draggability of child views.
+ */
+ public static abstract class Callback {
+ /**
+ * Called when the drag state changes. See the <code>STATE_*</code> constants
+ * for more information.
+ *
+ * @param state The new drag state
+ *
+ * @see #STATE_IDLE
+ * @see #STATE_DRAGGING
+ * @see #STATE_SETTLING
+ */
+ public void onViewDragStateChanged(int state) {}
+
+ /**
+ * Called when the captured view's position changes as the result of a drag or settle.
+ *
+ * @param changedView View whose position changed
+ * @param left New X coordinate of the left edge of the view
+ * @param top New Y coordinate of the top edge of the view
+ * @param dx Change in X position from the last call
+ * @param dy Change in Y position from the last call
+ */
+ public void onViewPositionChanged(View changedView, int left, int top, int dx, int dy) {}
+
+ /**
+ * Called when a child view is captured for dragging or settling. The ID of the pointer
+ * currently dragging the captured view is supplied. If activePointerId is
+ * identified as {@link #INVALID_POINTER} the capture is programmatic instead of
+ * pointer-initiated.
+ *
+ * @param capturedChild Child view that was captured
+ * @param activePointerId Pointer id tracking the child capture
+ */
+ public void onViewCaptured(View capturedChild, int activePointerId) {}
+
+ /**
+ * Called when the child view is no longer being actively dragged.
+ * The fling velocity is also supplied, if relevant. The velocity values may
+ * be clamped to system minimums or maximums.
+ *
+ * <p>Calling code may decide to fling or otherwise release the view to let it
+ * settle into place. It should do so using {@link #settleCapturedViewAt(int, int)}
+ * or {@link #flingCapturedView(int, int, int, int)}. If the Callback invokes
+ * one of these methods, the ViewDragHelper will enter {@link #STATE_SETTLING}
+ * and the view capture will not fully end until it comes to a complete stop.
+ * If neither of these methods is invoked before <code>onViewReleased</code> returns,
+ * the view will stop in place and the ViewDragHelper will return to
+ * {@link #STATE_IDLE}.</p>
+ *
+ * @param releasedChild The captured child view now being released
+ * @param xvel X velocity of the pointer as it left the screen in pixels per second.
+ * @param yvel Y velocity of the pointer as it left the screen in pixels per second.
+ */
+ public void onViewReleased(View releasedChild, float xvel, float yvel) {}
+
+ /**
+ * Called when one of the subscribed edges in the parent view has been touched
+ * by the user while no child view is currently captured.
+ *
+ * @param edgeFlags A combination of edge flags describing the edge(s) currently touched
+ * @param pointerId ID of the pointer touching the described edge(s)
+ * @see #EDGE_LEFT
+ * @see #EDGE_TOP
+ * @see #EDGE_RIGHT
+ * @see #EDGE_BOTTOM
+ */
+ public void onEdgeTouched(int edgeFlags, int pointerId) {}
+
+ /**
+ * Called when the given edge may become locked. This can happen if an edge drag
+ * was preliminarily rejected before beginning, but after {@link #onEdgeTouched(int, int)}
+ * was called. This method should return true to lock this edge or false to leave it
+ * unlocked. The default behavior is to leave edges unlocked.
+ *
+ * @param edgeFlags A combination of edge flags describing the edge(s) locked
+ * @return true to lock the edge, false to leave it unlocked
+ */
+ public boolean onEdgeLock(int edgeFlags) {
+ return false;
+ }
+
+ /**
+ * Called when the user has started a deliberate drag away from one
+ * of the subscribed edges in the parent view while no child view is currently captured.
+ *
+ * @param edgeFlags A combination of edge flags describing the edge(s) dragged
+ * @param pointerId ID of the pointer touching the described edge(s)
+ * @see #EDGE_LEFT
+ * @see #EDGE_TOP
+ * @see #EDGE_RIGHT
+ * @see #EDGE_BOTTOM
+ */
+ public void onEdgeDragStarted(int edgeFlags, int pointerId) {}
+
+ /**
+ * Called to determine the Z-order of child views.
+ *
+ * @param index the ordered position to query for
+ * @return index of the view that should be ordered at position <code>index</code>
+ */
+ public int getOrderedChildIndex(int index) {
+ return index;
+ }
+
+ /**
+ * Return the magnitude of a draggable child view's horizontal range of motion in pixels.
+ * This method should return 0 for views that cannot move horizontally.
+ *
+ * @param child Child view to check
+ * @return range of horizontal motion in pixels
+ */
+ public int getViewHorizontalDragRange(View child) {
+ return 0;
+ }
+
+ /**
+ * Return the magnitude of a draggable child view's vertical range of motion in pixels.
+ * This method should return 0 for views that cannot move vertically.
+ *
+ * @param child Child view to check
+ * @return range of vertical motion in pixels
+ */
+ public int getViewVerticalDragRange(View child) {
+ return 0;
+ }
+
+ /**
+ * Called when the user's input indicates that they want to capture the given child view
+ * with the pointer indicated by pointerId. The callback should return true if the user
+ * is permitted to drag the given view with the indicated pointer.
+ *
+ * <p>ViewDragHelper may call this method multiple times for the same view even if
+ * the view is already captured; this indicates that a new pointer is trying to take
+ * control of the view.</p>
+ *
+ * <p>If this method returns true, a call to {@link #onViewCaptured(android.view.View, int)}
+ * will follow if the capture is successful.</p>
+ *
+ * @param child Child the user is attempting to capture
+ * @param pointerId ID of the pointer attempting the capture
+ * @return true if capture should be allowed, false otherwise
+ */
+ public abstract boolean tryCaptureView(View child, int pointerId);
+
+ /**
+ * Restrict the motion of the dragged child view along the horizontal axis.
+ * The default implementation does not allow horizontal motion; the extending
+ * class must override this method and provide the desired clamping.
+ *
+ *
+ * @param child Child view being dragged
+ * @param left Attempted motion along the X axis
+ * @param dx Proposed change in position for left
+ * @return The new clamped position for left
+ */
+ public int clampViewPositionHorizontal(View child, int left, int dx) {
+ return 0;
+ }
+
+ /**
+ * Restrict the motion of the dragged child view along the vertical axis.
+ * The default implementation does not allow vertical motion; the extending
+ * class must override this method and provide the desired clamping.
+ *
+ *
+ * @param child Child view being dragged
+ * @param top Attempted motion along the Y axis
+ * @param dy Proposed change in position for top
+ * @return The new clamped position for top
+ */
+ public int clampViewPositionVertical(View child, int top, int dy) {
+ return 0;
+ }
+ }
+
+ /**
+ * Interpolator defining the animation curve for mScroller
+ */
+ private static final Interpolator sInterpolator = new Interpolator() {
+ public float getInterpolation(float t) {
+ t -= 1.0f;
+ return t * t * t * t * t + 1.0f;
+ }
+ };
+
+ private final Runnable mSetIdleRunnable = new Runnable() {
+ public void run() {
+ setDragState(STATE_IDLE);
+ }
+ };
+
+ /**
+ * Factory method to create a new ViewDragHelper.
+ *
+ * @param forParent Parent view to monitor
+ * @param cb Callback to provide information and receive events
+ * @return a new ViewDragHelper instance
+ */
+ public static ViewDragHelper create(ViewGroup forParent, Callback cb) {
+ return new ViewDragHelper(forParent.getContext(), forParent, cb);
+ }
+
+ /**
+ * Factory method to create a new ViewDragHelper.
+ *
+ * @param forParent Parent view to monitor
+ * @param sensitivity Multiplier for how sensitive the helper should be about detecting
+ * the start of a drag. Larger values are more sensitive. 1.0f is normal.
+ * @param cb Callback to provide information and receive events
+ * @return a new ViewDragHelper instance
+ */
+ public static ViewDragHelper create(ViewGroup forParent, float sensitivity, Callback cb) {
+ final ViewDragHelper helper = create(forParent, cb);
+ helper.mTouchSlop = (int) (helper.mTouchSlop * (1 / sensitivity));
+ return helper;
+ }
+
+ /**
+ * Apps should use ViewDragHelper.create() to get a new instance.
+ * This will allow VDH to use internal compatibility implementations for different
+ * platform versions.
+ *
+ * @param context Context to initialize config-dependent params from
+ * @param forParent Parent view to monitor
+ */
+ private ViewDragHelper(Context context, ViewGroup forParent, Callback cb) {
+ if (forParent == null) {
+ throw new IllegalArgumentException("Parent view may not be null");
+ }
+ if (cb == null) {
+ throw new IllegalArgumentException("Callback may not be null");
+ }
+
+ mParentView = forParent;
+ mCallback = cb;
+
+ final ViewConfiguration vc = ViewConfiguration.get(context);
+ final float density = context.getResources().getDisplayMetrics().density;
+ mEdgeSize = (int) (EDGE_SIZE * density + 0.5f);
+
+ mTouchSlop = vc.getScaledTouchSlop();
+ mMaxVelocity = vc.getScaledMaximumFlingVelocity();
+ mMinVelocity = vc.getScaledMinimumFlingVelocity();
+ mScroller = ScrollerCompat.create(context, sInterpolator);
+ }
+
+ /**
+ * Set the minimum velocity that will be detected as having a magnitude greater than zero
+ * in pixels per second. Callback methods accepting a velocity will be clamped appropriately.
+ *
+ * @param minVel Minimum velocity to detect
+ */
+ public void setMinVelocity(float minVel) {
+ mMinVelocity = minVel;
+ }
+
+ /**
+ * Return the currently configured minimum velocity. Any flings with a magnitude less
+ * than this value in pixels per second. Callback methods accepting a velocity will receive
+ * zero as a velocity value if the real detected velocity was below this threshold.
+ *
+ * @return the minimum velocity that will be detected
+ */
+ public float getMinVelocity() {
+ return mMinVelocity;
+ }
+
+ /**
+ * Retrieve the current drag state of this helper. This will return one of
+ * {@link #STATE_IDLE}, {@link #STATE_DRAGGING} or {@link #STATE_SETTLING}.
+ * @return The current drag state
+ */
+ public int getViewDragState() {
+ return mDragState;
+ }
+
+ /**
+ * Enable edge tracking for the selected edges of the parent view.
+ * The callback's {@link Callback#onEdgeTouched(int, int)} and
+ * {@link Callback#onEdgeDragStarted(int, int)} methods will only be invoked
+ * for edges for which edge tracking has been enabled.
+ *
+ * @param edgeFlags Combination of edge flags describing the edges to watch
+ * @see #EDGE_LEFT
+ * @see #EDGE_TOP
+ * @see #EDGE_RIGHT
+ * @see #EDGE_BOTTOM
+ */
+ public void setEdgeTrackingEnabled(int edgeFlags) {
+ mTrackingEdges = edgeFlags;
+ }
+
+ /**
+ * Return the size of an edge. This is the range in pixels along the edges of this view
+ * that will actively detect edge touches or drags if edge tracking is enabled.
+ *
+ * @return The size of an edge in pixels
+ * @see #setEdgeTrackingEnabled(int)
+ */
+ public int getEdgeSize() {
+ return mEdgeSize;
+ }
+
+ /**
+ * Capture a specific child view for dragging within the parent. The callback will be notified
+ * but {@link Callback#tryCaptureView(android.view.View, int)} will not be asked permission to
+ * capture this view.
+ *
+ * @param childView Child view to capture
+ * @param activePointerId ID of the pointer that is dragging the captured child view
+ */
+ public void captureChildView(View childView, int activePointerId) {
+ if (childView.getParent() != mParentView) {
+ throw new IllegalArgumentException("captureChildView: parameter must be a descendant " +
+ "of the ViewDragHelper's tracked parent view (" + mParentView + ")");
+ }
+
+ mCapturedView = childView;
+ mActivePointerId = activePointerId;
+ mCallback.onViewCaptured(childView, activePointerId);
+ setDragState(STATE_DRAGGING);
+ }
+
+ /**
+ * @return The currently captured view, or null if no view has been captured.
+ */
+ public View getCapturedView() {
+ return mCapturedView;
+ }
+
+ /**
+ * @return The ID of the pointer currently dragging the captured view,
+ * or {@link #INVALID_POINTER}.
+ */
+ public int getActivePointerId() {
+ return mActivePointerId;
+ }
+
+ /**
+ * @return The minimum distance in pixels that the user must travel to initiate a drag
+ */
+ public int getTouchSlop() {
+ return mTouchSlop;
+ }
+
+ /**
+ * The result of a call to this method is equivalent to
+ * {@link #processTouchEvent(android.view.MotionEvent)} receiving an ACTION_CANCEL event.
+ */
+ public void cancel() {
+ mActivePointerId = INVALID_POINTER;
+ clearMotionHistory();
+
+ if (mVelocityTracker != null) {
+ mVelocityTracker.recycle();
+ mVelocityTracker = null;
+ }
+ }
+
+ /**
+ * {@link #cancel()}, but also abort all motion in progress and snap to the end of any
+ * animation.
+ */
+ public void abort() {
+ cancel();
+ if (mDragState == STATE_SETTLING) {
+ final int oldX = mScroller.getCurrX();
+ final int oldY = mScroller.getCurrY();
+ mScroller.abortAnimation();
+ final int newX = mScroller.getCurrX();
+ final int newY = mScroller.getCurrY();
+ mCallback.onViewPositionChanged(mCapturedView, newX, newY, newX - oldX, newY - oldY);
+ }
+ setDragState(STATE_IDLE);
+ }
+
+ /**
+ * Animate the view <code>child</code> to the given (left, top) position.
+ * If this method returns true, the caller should invoke {@link #continueSettling(boolean)}
+ * on each subsequent frame to continue the motion until it returns false. If this method
+ * returns false there is no further work to do to complete the movement.
+ *
+ * <p>This operation does not count as a capture event, though {@link #getCapturedView()}
+ * will still report the sliding view while the slide is in progress.</p>
+ *
+ * @param child Child view to capture and animate
+ * @param finalLeft Final left position of child
+ * @param finalTop Final top position of child
+ * @return true if animation should continue through {@link #continueSettling(boolean)} calls
+ */
+ public boolean smoothSlideViewTo(View child, int finalLeft, int finalTop) {
+ mCapturedView = child;
+ mActivePointerId = INVALID_POINTER;
+
+ return forceSettleCapturedViewAt(finalLeft, finalTop, 0, 0);
+ }
+
+ /**
+ * Settle the captured view at the given (left, top) position.
+ * The appropriate velocity from prior motion will be taken into account.
+ * If this method returns true, the caller should invoke {@link #continueSettling(boolean)}
+ * on each subsequent frame to continue the motion until it returns false. If this method
+ * returns false there is no further work to do to complete the movement.
+ *
+ * @param finalLeft Settled left edge position for the captured view
+ * @param finalTop Settled top edge position for the captured view
+ * @return true if animation should continue through {@link #continueSettling(boolean)} calls
+ */
+ public boolean settleCapturedViewAt(int finalLeft, int finalTop) {
+ if (!mReleaseInProgress) {
+ throw new IllegalStateException("Cannot settleCapturedViewAt outside of a call to " +
+ "Callback#onViewReleased");
+ }
+
+ return forceSettleCapturedViewAt(finalLeft, finalTop,
+ (int) VelocityTrackerCompat.getXVelocity(mVelocityTracker, mActivePointerId),
+ (int) VelocityTrackerCompat.getYVelocity(mVelocityTracker, mActivePointerId));
+ }
+
+ /**
+ * Settle the captured view at the given (left, top) position.
+ *
+ * @param finalLeft Target left position for the captured view
+ * @param finalTop Target top position for the captured view
+ * @param xvel Horizontal velocity
+ * @param yvel Vertical velocity
+ * @return true if animation should continue through {@link #continueSettling(boolean)} calls
+ */
+ private boolean forceSettleCapturedViewAt(int finalLeft, int finalTop, int xvel, int yvel) {
+ final int startLeft = mCapturedView.getLeft();
+ final int startTop = mCapturedView.getTop();
+ final int dx = finalLeft - startLeft;
+ final int dy = finalTop - startTop;
+
+ if (dx == 0 && dy == 0) {
+ // Nothing to do. Send callbacks, be done.
+ mScroller.abortAnimation();
+ setDragState(STATE_IDLE);
+ return false;
+ }
+
+ final int duration = computeSettleDuration(mCapturedView, dx, dy, xvel, yvel);
+ mScroller.startScroll(startLeft, startTop, dx, dy, duration);
+
+ setDragState(STATE_SETTLING);
+ return true;
+ }
+
+ private int computeSettleDuration(View child, int dx, int dy, int xvel, int yvel) {
+ xvel = clampMag(xvel, (int) mMinVelocity, (int) mMaxVelocity);
+ yvel = clampMag(yvel, (int) mMinVelocity, (int) mMaxVelocity);
+ final int absDx = Math.abs(dx);
+ final int absDy = Math.abs(dy);
+ final int absXVel = Math.abs(xvel);
+ final int absYVel = Math.abs(yvel);
+ final int addedVel = absXVel + absYVel;
+ final int addedDistance = absDx + absDy;
+
+ final float xweight = xvel != 0 ? (float) absXVel / addedVel :
+ (float) absDx / addedDistance;
+ final float yweight = yvel != 0 ? (float) absYVel / addedVel :
+ (float) absDy / addedDistance;
+
+ int xduration = computeAxisDuration(dx, xvel, mCallback.getViewHorizontalDragRange(child));
+ int yduration = computeAxisDuration(dy, yvel, mCallback.getViewVerticalDragRange(child));
+
+ return (int) (xduration * xweight + yduration * yweight);
+ }
+
+ private int computeAxisDuration(int delta, int velocity, int motionRange) {
+ if (delta == 0) {
+ return 0;
+ }
+
+ final int width = mParentView.getWidth();
+ final int halfWidth = width / 2;
+ final float distanceRatio = Math.min(1f, (float) Math.abs(delta) / width);
+ final float distance = halfWidth + halfWidth *
+ distanceInfluenceForSnapDuration(distanceRatio);
+
+ int duration;
+ velocity = Math.abs(velocity);
+ if (velocity > 0) {
+ duration = 4 * Math.round(1000 * Math.abs(distance / velocity));
+ } else {
+ final float range = (float) Math.abs(delta) / motionRange;
+ duration = (int) ((range + 1) * BASE_SETTLE_DURATION);
+ }
+ return Math.min(duration, MAX_SETTLE_DURATION);
+ }
+
+ /**
+ * Clamp the magnitude of value for absMin and absMax.
+ * If the value is below the minimum, it will be clamped to zero.
+ * If the value is above the maximum, it will be clamped to the maximum.
+ *
+ * @param value Value to clamp
+ * @param absMin Absolute value of the minimum significant value to return
+ * @param absMax Absolute value of the maximum value to return
+ * @return The clamped value with the same sign as <code>value</code>
+ */
+ private int clampMag(int value, int absMin, int absMax) {
+ final int absValue = Math.abs(value);
+ if (absValue < absMin) return 0;
+ if (absValue > absMax) return value > 0 ? absMax : -absMax;
+ return value;
+ }
+
+ /**
+ * Clamp the magnitude of value for absMin and absMax.
+ * If the value is below the minimum, it will be clamped to zero.
+ * If the value is above the maximum, it will be clamped to the maximum.
+ *
+ * @param value Value to clamp
+ * @param absMin Absolute value of the minimum significant value to return
+ * @param absMax Absolute value of the maximum value to return
+ * @return The clamped value with the same sign as <code>value</code>
+ */
+ private float clampMag(float value, float absMin, float absMax) {
+ final float absValue = Math.abs(value);
+ if (absValue < absMin) return 0;
+ if (absValue > absMax) return value > 0 ? absMax : -absMax;
+ return value;
+ }
+
+ private float distanceInfluenceForSnapDuration(float f) {
+ f -= 0.5f; // center the values about 0.
+ f *= 0.3f * Math.PI / 2.0f;
+ return (float) Math.sin(f);
+ }
+
+ /**
+ * Settle the captured view based on standard free-moving fling behavior.
+ * The caller should invoke {@link #continueSettling(boolean)} on each subsequent frame
+ * to continue the motion until it returns false.
+ *
+ * @param minLeft Minimum X position for the view's left edge
+ * @param minTop Minimum Y position for the view's top edge
+ * @param maxLeft Maximum X position for the view's left edge
+ * @param maxTop Maximum Y position for the view's top edge
+ */
+ public void flingCapturedView(int minLeft, int minTop, int maxLeft, int maxTop) {
+ if (!mReleaseInProgress) {
+ throw new IllegalStateException("Cannot flingCapturedView outside of a call to " +
+ "Callback#onViewReleased");
+ }
+
+ mScroller.fling(mCapturedView.getLeft(), mCapturedView.getTop(),
+ (int) VelocityTrackerCompat.getXVelocity(mVelocityTracker, mActivePointerId),
+ (int) VelocityTrackerCompat.getYVelocity(mVelocityTracker, mActivePointerId),
+ minLeft, maxLeft, minTop, maxTop);
+
+ setDragState(STATE_SETTLING);
+ }
+
+ /**
+ * Move the captured settling view by the appropriate amount for the current time.
+ * If <code>continueSettling</code> returns true, the caller should call it again
+ * on the next frame to continue.
+ *
+ * @param deferCallbacks true if state callbacks should be deferred via posted message.
+ * Set this to true if you are calling this method from
+ * {@link android.view.View#computeScroll()} or similar methods
+ * invoked as part of layout or drawing.
+ * @return true if settle is still in progress
+ */
+ public boolean continueSettling(boolean deferCallbacks) {
+ if (mDragState == STATE_SETTLING) {
+ boolean keepGoing = mScroller.computeScrollOffset();
+ final int x = mScroller.getCurrX();
+ final int y = mScroller.getCurrY();
+ final int dx = x - mCapturedView.getLeft();
+ final int dy = y - mCapturedView.getTop();
+
+ if (dx != 0) {
+ mCapturedView.offsetLeftAndRight(dx);
+ }
+ if (dy != 0) {
+ mCapturedView.offsetTopAndBottom(dy);
+ }
+
+ if (dx != 0 || dy != 0) {
+ mCallback.onViewPositionChanged(mCapturedView, x, y, dx, dy);
+ }
+
+ if (keepGoing && x == mScroller.getFinalX() && y == mScroller.getFinalY()) {
+ // Close enough. The interpolator/scroller might think we're still moving
+ // but the user sure doesn't.
+ mScroller.abortAnimation();
+ keepGoing = mScroller.isFinished();
+ }
+
+ if (!keepGoing) {
+ if (deferCallbacks) {
+ mParentView.post(mSetIdleRunnable);
+ } else {
+ setDragState(STATE_IDLE);
+ }
+ }
+ }
+
+ return mDragState == STATE_SETTLING;
+ }
+
+ /**
+ * Like all callback events this must happen on the UI thread, but release
+ * involves some extra semantics. During a release (mReleaseInProgress)
+ * is the only time it is valid to call {@link #settleCapturedViewAt(int, int)}
+ * or {@link #flingCapturedView(int, int, int, int)}.
+ */
+ private void dispatchViewReleased(float xvel, float yvel) {
+ mReleaseInProgress = true;
+ mCallback.onViewReleased(mCapturedView, xvel, yvel);
+ mReleaseInProgress = false;
+
+ if (mDragState == STATE_DRAGGING) {
+ // onViewReleased didn't call a method that would have changed this. Go idle.
+ setDragState(STATE_IDLE);
+ }
+ }
+
+ private void clearMotionHistory() {
+ if (mInitialMotionX == null) {
+ return;
+ }
+ Arrays.fill(mInitialMotionX, 0);
+ Arrays.fill(mInitialMotionY, 0);
+ Arrays.fill(mLastMotionX, 0);
+ Arrays.fill(mLastMotionY, 0);
+ Arrays.fill(mInitialEdgesTouched, 0);
+ Arrays.fill(mEdgeDragsInProgress, 0);
+ Arrays.fill(mEdgeDragsLocked, 0);
+ mPointersDown = 0;
+ }
+
+ private void clearMotionHistory(int pointerId) {
+ if (mInitialMotionX == null) {
+ return;
+ }
+ mInitialMotionX[pointerId] = 0;
+ mInitialMotionY[pointerId] = 0;
+ mLastMotionX[pointerId] = 0;
+ mLastMotionY[pointerId] = 0;
+ mInitialEdgesTouched[pointerId] = 0;
+ mEdgeDragsInProgress[pointerId] = 0;
+ mEdgeDragsLocked[pointerId] = 0;
+ mPointersDown &= ~(1 << pointerId);
+ }
+
+ private void ensureMotionHistorySizeForId(int pointerId) {
+ if (mInitialMotionX == null || mInitialMotionX.length <= pointerId) {
+ float[] imx = new float[pointerId + 1];
+ float[] imy = new float[pointerId + 1];
+ float[] lmx = new float[pointerId + 1];
+ float[] lmy = new float[pointerId + 1];
+ int[] iit = new int[pointerId + 1];
+ int[] edip = new int[pointerId + 1];
+ int[] edl = new int[pointerId + 1];
+
+ if (mInitialMotionX != null) {
+ System.arraycopy(mInitialMotionX, 0, imx, 0, mInitialMotionX.length);
+ System.arraycopy(mInitialMotionY, 0, imy, 0, mInitialMotionY.length);
+ System.arraycopy(mLastMotionX, 0, lmx, 0, mLastMotionX.length);
+ System.arraycopy(mLastMotionY, 0, lmy, 0, mLastMotionY.length);
+ System.arraycopy(mInitialEdgesTouched, 0, iit, 0, mInitialEdgesTouched.length);
+ System.arraycopy(mEdgeDragsInProgress, 0, edip, 0, mEdgeDragsInProgress.length);
+ System.arraycopy(mEdgeDragsLocked, 0, edl, 0, mEdgeDragsLocked.length);
+ }
+
+ mInitialMotionX = imx;
+ mInitialMotionY = imy;
+ mLastMotionX = lmx;
+ mLastMotionY = lmy;
+ mInitialEdgesTouched = iit;
+ mEdgeDragsInProgress = edip;
+ mEdgeDragsLocked = edl;
+ }
+ }
+
+ private void saveInitialMotion(float x, float y, int pointerId) {
+ ensureMotionHistorySizeForId(pointerId);
+ mInitialMotionX[pointerId] = mLastMotionX[pointerId] = x;
+ mInitialMotionY[pointerId] = mLastMotionY[pointerId] = y;
+ mInitialEdgesTouched[pointerId] = getEdgesTouched((int) x, (int) y);
+ mPointersDown |= 1 << pointerId;
+ }
+
+ private void saveLastMotion(MotionEvent ev) {
+ final int pointerCount = MotionEventCompat.getPointerCount(ev);
+ for (int i = 0; i < pointerCount; i++) {
+ final int pointerId = MotionEventCompat.getPointerId(ev, i);
+ final float x = MotionEventCompat.getX(ev, i);
+ final float y = MotionEventCompat.getY(ev, i);
+ mLastMotionX[pointerId] = x;
+ mLastMotionY[pointerId] = y;
+ }
+ }
+
+ /**
+ * Check if the given pointer ID represents a pointer that is currently down (to the best
+ * of the ViewDragHelper's knowledge).
+ *
+ * <p>The state used to report this information is populated by the methods
+ * {@link #shouldInterceptTouchEvent(android.view.MotionEvent)} or
+ * {@link #processTouchEvent(android.view.MotionEvent)}. If one of these methods has not
+ * been called for all relevant MotionEvents to track, the information reported
+ * by this method may be stale or incorrect.</p>
+ *
+ * @param pointerId pointer ID to check; corresponds to IDs provided by MotionEvent
+ * @return true if the pointer with the given ID is still down
+ */
+ public boolean isPointerDown(int pointerId) {
+ return (mPointersDown & 1 << pointerId) != 0;
+ }
+
+ void setDragState(int state) {
+ if (mDragState != state) {
+ mDragState = state;
+ mCallback.onViewDragStateChanged(state);
+ if (state == STATE_IDLE) {
+ mCapturedView = null;
+ }
+ }
+ }
+
+ /**
+ * Attempt to capture the view with the given pointer ID. The callback will be involved.
+ * This will put us into the "dragging" state. If we've already captured this view with
+ * this pointer this method will immediately return true without consulting the callback.
+ *
+ * @param toCapture View to capture
+ * @param pointerId Pointer to capture with
+ * @return true if capture was successful
+ */
+ boolean tryCaptureViewForDrag(View toCapture, int pointerId) {
+ if (toCapture == mCapturedView && mActivePointerId == pointerId) {
+ // Already done!
+ return true;
+ }
+ if (toCapture != null && mCallback.tryCaptureView(toCapture, pointerId)) {
+ mActivePointerId = pointerId;
+ captureChildView(toCapture, pointerId);
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Tests scrollability within child views of v given a delta of dx.
+ *
+ * @param v View to test for horizontal scrollability
+ * @param checkV Whether the view v passed should itself be checked for scrollability (true),
+ * or just its children (false).
+ * @param dx Delta scrolled in pixels along the X axis
+ * @param dy Delta scrolled in pixels along the Y axis
+ * @param x X coordinate of the active touch point
+ * @param y Y coordinate of the active touch point
+ * @return true if child views of v can be scrolled by delta of dx.
+ */
+ protected boolean canScroll(View v, boolean checkV, int dx, int dy, int x, int y) {
+ if (v instanceof ViewGroup) {
+ final ViewGroup group = (ViewGroup) v;
+ final int scrollX = v.getScrollX();
+ final int scrollY = v.getScrollY();
+ final int count = group.getChildCount();
+ // Count backwards - let topmost views consume scroll distance first.
+ for (int i = count - 1; i >= 0; i--) {
+ // TODO: Add versioned support here for transformed views.
+ // This will not work for transformed views in Honeycomb+
+ final View child = group.getChildAt(i);
+ if (x + scrollX >= child.getLeft() && x + scrollX < child.getRight() &&
+ y + scrollY >= child.getTop() && y + scrollY < child.getBottom() &&
+ canScroll(child, true, dx, dy, x + scrollX - child.getLeft(),
+ y + scrollY - child.getTop())) {
+ return true;
+ }
+ }
+ }
+
+ return checkV && (ViewCompat.canScrollHorizontally(v, -dx) ||
+ ViewCompat.canScrollVertically(v, -dy));
+ }
+
+ /**
+ * Check if this event as provided to the parent view's onInterceptTouchEvent should
+ * cause the parent to intercept the touch event stream.
+ *
+ * @param ev MotionEvent provided to onInterceptTouchEvent
+ * @return true if the parent view should return true from onInterceptTouchEvent
+ */
+ public boolean shouldInterceptTouchEvent(MotionEvent ev) {
+ final int action = MotionEventCompat.getActionMasked(ev);
+ final int actionIndex = MotionEventCompat.getActionIndex(ev);
+
+ if (action == MotionEvent.ACTION_DOWN) {
+ // Reset things for a new event stream, just in case we didn't get
+ // the whole previous stream.
+ cancel();
+ }
+
+ if (mVelocityTracker == null) {
+ mVelocityTracker = VelocityTracker.obtain();
+ }
+ mVelocityTracker.addMovement(ev);
+
+ switch (action) {
+ case MotionEvent.ACTION_DOWN: {
+ final float x = ev.getX();
+ final float y = ev.getY();
+ final int pointerId = MotionEventCompat.getPointerId(ev, 0);
+ saveInitialMotion(x, y, pointerId);
+
+ final View toCapture = findTopChildUnder((int) x, (int) y);
+
+ // Catch a settling view if possible.
+ if (toCapture == mCapturedView && mDragState == STATE_SETTLING) {
+ tryCaptureViewForDrag(toCapture, pointerId);
+ }
+
+ final int edgesTouched = mInitialEdgesTouched[pointerId];
+ if ((edgesTouched & mTrackingEdges) != 0) {
+ mCallback.onEdgeTouched(edgesTouched & mTrackingEdges, pointerId);
+ }
+ break;
+ }
+
+ case MotionEventCompat.ACTION_POINTER_DOWN: {
+ final int pointerId = MotionEventCompat.getPointerId(ev, actionIndex);
+ final float x = MotionEventCompat.getX(ev, actionIndex);
+ final float y = MotionEventCompat.getY(ev, actionIndex);
+
+ saveInitialMotion(x, y, pointerId);
+
+ // A ViewDragHelper can only manipulate one view at a time.
+ if (mDragState == STATE_IDLE) {
+ final int edgesTouched = mInitialEdgesTouched[pointerId];
+ if ((edgesTouched & mTrackingEdges) != 0) {
+ mCallback.onEdgeTouched(edgesTouched & mTrackingEdges, pointerId);
+ }
+ } else if (mDragState == STATE_SETTLING) {
+ // Catch a settling view if possible.
+ final View toCapture = findTopChildUnder((int) x, (int) y);
+ if (toCapture == mCapturedView) {
+ tryCaptureViewForDrag(toCapture, pointerId);
+ }
+ }
+ break;
+ }
+
+ case MotionEvent.ACTION_MOVE: {
+ // First to cross a touch slop over a draggable view wins. Also report edge drags.
+ final int pointerCount = MotionEventCompat.getPointerCount(ev);
+ for (int i = 0; i < pointerCount; i++) {
+ final int pointerId = MotionEventCompat.getPointerId(ev, i);
+ final float x = MotionEventCompat.getX(ev, i);
+ final float y = MotionEventCompat.getY(ev, i);
+ final float dx = x - mInitialMotionX[pointerId];
+ final float dy = y - mInitialMotionY[pointerId];
+
+ reportNewEdgeDrags(dx, dy, pointerId);
+ if (mDragState == STATE_DRAGGING) {
+ // Callback might have started an edge drag
+ break;
+ }
+
+ final View toCapture = findTopChildUnder((int) x, (int) y);
+ if (toCapture != null && checkTouchSlop(toCapture, dx, dy) &&
+ tryCaptureViewForDrag(toCapture, pointerId)) {
+ break;
+ }
+ }
+ saveLastMotion(ev);
+ break;
+ }
+
+ case MotionEventCompat.ACTION_POINTER_UP: {
+ final int pointerId = MotionEventCompat.getPointerId(ev, actionIndex);
+ clearMotionHistory(pointerId);
+ break;
+ }
+
+ case MotionEvent.ACTION_UP:
+ case MotionEvent.ACTION_CANCEL: {
+ cancel();
+ break;
+ }
+ }
+
+ return mDragState == STATE_DRAGGING;
+ }
+
+ /**
+ * Process a touch event received by the parent view. This method will dispatch callback events
+ * as needed before returning. The parent view's onTouchEvent implementation should call this.
+ *
+ * @param ev The touch event received by the parent view
+ */
+ public void processTouchEvent(MotionEvent ev) {
+ final int action = MotionEventCompat.getActionMasked(ev);
+ final int actionIndex = MotionEventCompat.getActionIndex(ev);
+
+ if (action == MotionEvent.ACTION_DOWN) {
+ // Reset things for a new event stream, just in case we didn't get
+ // the whole previous stream.
+ cancel();
+ }
+
+ if (mVelocityTracker == null) {
+ mVelocityTracker = VelocityTracker.obtain();
+ }
+ mVelocityTracker.addMovement(ev);
+
+ switch (action) {
+ case MotionEvent.ACTION_DOWN: {
+ final float x = ev.getX();
+ final float y = ev.getY();
+ final int pointerId = MotionEventCompat.getPointerId(ev, 0);
+ final View toCapture = findTopChildUnder((int) x, (int) y);
+
+ saveInitialMotion(x, y, pointerId);
+
+ // Since the parent is already directly processing this touch event,
+ // there is no reason to delay for a slop before dragging.
+ // Start immediately if possible.
+ tryCaptureViewForDrag(toCapture, pointerId);
+
+ final int edgesTouched = mInitialEdgesTouched[pointerId];
+ if ((edgesTouched & mTrackingEdges) != 0) {
+ mCallback.onEdgeTouched(edgesTouched & mTrackingEdges, pointerId);
+ }
+ break;
+ }
+
+ case MotionEventCompat.ACTION_POINTER_DOWN: {
+ final int pointerId = MotionEventCompat.getPointerId(ev, actionIndex);
+ final float x = MotionEventCompat.getX(ev, actionIndex);
+ final float y = MotionEventCompat.getY(ev, actionIndex);
+
+ saveInitialMotion(x, y, pointerId);
+
+ // A ViewDragHelper can only manipulate one view at a time.
+ if (mDragState == STATE_IDLE) {
+ // If we're idle we can do anything! Treat it like a normal down event.
+
+ final View toCapture = findTopChildUnder((int) x, (int) y);
+ tryCaptureViewForDrag(toCapture, pointerId);
+
+ final int edgesTouched = mInitialEdgesTouched[pointerId];
+ if ((edgesTouched & mTrackingEdges) != 0) {
+ mCallback.onEdgeTouched(edgesTouched & mTrackingEdges, pointerId);
+ }
+ } else if (isCapturedViewUnder((int) x, (int) y)) {
+ // We're still tracking a captured view. If the same view is under this
+ // point, we'll swap to controlling it with this pointer instead.
+ // (This will still work if we're "catching" a settling view.)
+
+ tryCaptureViewForDrag(mCapturedView, pointerId);
+ }
+ break;
+ }
+
+ case MotionEvent.ACTION_MOVE: {
+ if (mDragState == STATE_DRAGGING) {
+ final int index = MotionEventCompat.findPointerIndex(ev, mActivePointerId);
+ final float x = MotionEventCompat.getX(ev, index);
+ final float y = MotionEventCompat.getY(ev, index);
+ final int idx = (int) (x - mLastMotionX[mActivePointerId]);
+ final int idy = (int) (y - mLastMotionY[mActivePointerId]);
+
+ dragTo(mCapturedView.getLeft() + idx, mCapturedView.getTop() + idy, idx, idy);
+
+ saveLastMotion(ev);
+ } else {
+ // Check to see if any pointer is now over a draggable view.
+ final int pointerCount = MotionEventCompat.getPointerCount(ev);
+ for (int i = 0; i < pointerCount; i++) {
+ final int pointerId = MotionEventCompat.getPointerId(ev, i);
+ final float x = MotionEventCompat.getX(ev, i);
+ final float y = MotionEventCompat.getY(ev, i);
+ final float dx = x - mInitialMotionX[pointerId];
+ final float dy = y - mInitialMotionY[pointerId];
+
+ reportNewEdgeDrags(dx, dy, pointerId);
+ if (mDragState == STATE_DRAGGING) {
+ // Callback might have started an edge drag.
+ break;
+ }
+
+ final View toCapture = findTopChildUnder((int) x, (int) y);
+ if (checkTouchSlop(toCapture, dx, dy) &&
+ tryCaptureViewForDrag(toCapture, pointerId)) {
+ break;
+ }
+ }
+ saveLastMotion(ev);
+ }
+ break;
+ }
+
+ case MotionEventCompat.ACTION_POINTER_UP: {
+ final int pointerId = MotionEventCompat.getPointerId(ev, actionIndex);
+ if (mDragState == STATE_DRAGGING && pointerId == mActivePointerId) {
+ // Try to find another pointer that's still holding on to the captured view.
+ int newActivePointer = INVALID_POINTER;
+ final int pointerCount = MotionEventCompat.getPointerCount(ev);
+ for (int i = 0; i < pointerCount; i++) {
+ final int id = MotionEventCompat.getPointerId(ev, i);
+ if (id == mActivePointerId) {
+ // This one's going away, skip.
+ continue;
+ }
+
+ final float x = MotionEventCompat.getX(ev, i);
+ final float y = MotionEventCompat.getY(ev, i);
+ if (findTopChildUnder((int) x, (int) y) == mCapturedView &&
+ tryCaptureViewForDrag(mCapturedView, id)) {
+ newActivePointer = mActivePointerId;
+ break;
+ }
+ }
+
+ if (newActivePointer == INVALID_POINTER) {
+ // We didn't find another pointer still touching the view, release it.
+ releaseViewForPointerUp();
+ }
+ }
+ clearMotionHistory(pointerId);
+ break;
+ }
+
+ case MotionEvent.ACTION_UP: {
+ if (mDragState == STATE_DRAGGING) {
+ releaseViewForPointerUp();
+ }
+ cancel();
+ break;
+ }
+
+ case MotionEvent.ACTION_CANCEL: {
+ if (mDragState == STATE_DRAGGING) {
+ dispatchViewReleased(0, 0);
+ }
+ cancel();
+ break;
+ }
+ }
+ }
+
+ private void reportNewEdgeDrags(float dx, float dy, int pointerId) {
+ int dragsStarted = 0;
+ if (checkNewEdgeDrag(dx, dy, pointerId, EDGE_LEFT)) {
+ dragsStarted |= EDGE_LEFT;
+ }
+ if (checkNewEdgeDrag(dy, dx, pointerId, EDGE_TOP)) {
+ dragsStarted |= EDGE_TOP;
+ }
+ if (checkNewEdgeDrag(dx, dy, pointerId, EDGE_RIGHT)) {
+ dragsStarted |= EDGE_RIGHT;
+ }
+ if (checkNewEdgeDrag(dy, dx, pointerId, EDGE_BOTTOM)) {
+ dragsStarted |= EDGE_BOTTOM;
+ }
+
+ if (dragsStarted != 0) {
+ mEdgeDragsInProgress[pointerId] |= dragsStarted;
+ mCallback.onEdgeDragStarted(dragsStarted, pointerId);
+ }
+ }
+
+ private boolean checkNewEdgeDrag(float delta, float odelta, int pointerId, int edge) {
+ final float absDelta = Math.abs(delta);
+ final float absODelta = Math.abs(odelta);
+
+ if ((mInitialEdgesTouched[pointerId] & edge) != edge || (mTrackingEdges & edge) == 0 ||
+ (mEdgeDragsLocked[pointerId] & edge) == edge ||
+ (mEdgeDragsInProgress[pointerId] & edge) == edge ||
+ (absDelta <= mTouchSlop && absODelta <= mTouchSlop)) {
+ return false;
+ }
+ if (absDelta < absODelta * 0.5f && mCallback.onEdgeLock(edge)) {
+ mEdgeDragsLocked[pointerId] |= edge;
+ return false;
+ }
+ return (mEdgeDragsInProgress[pointerId] & edge) == 0 && absDelta > mTouchSlop;
+ }
+
+ /**
+ * Check if we've crossed a reasonable touch slop for the given child view.
+ * If the child cannot be dragged along the horizontal or vertical axis, motion
+ * along that axis will not count toward the slop check.
+ *
+ * @param child Child to check
+ * @param dx Motion since initial position along X axis
+ * @param dy Motion since initial position along Y axis
+ * @return true if the touch slop has been crossed
+ */
+ private boolean checkTouchSlop(View child, float dx, float dy) {
+ if (child == null) {
+ return false;
+ }
+ final boolean checkHorizontal = mCallback.getViewHorizontalDragRange(child) > 0;
+ final boolean checkVertical = mCallback.getViewVerticalDragRange(child) > 0;
+
+ if (checkHorizontal && checkVertical) {
+ return dx * dx + dy * dy > mTouchSlop * mTouchSlop;
+ } else if (checkHorizontal) {
+ return Math.abs(dx) > mTouchSlop;
+ } else if (checkVertical) {
+ return Math.abs(dy) > mTouchSlop;
+ }
+ return false;
+ }
+
+ /**
+ * Check if any pointer tracked in the current gesture has crossed
+ * the required slop threshold.
+ *
+ * <p>This depends on internal state populated by
+ * {@link #shouldInterceptTouchEvent(android.view.MotionEvent)} or
+ * {@link #processTouchEvent(android.view.MotionEvent)}. You should only rely on
+ * the results of this method after all currently available touch data
+ * has been provided to one of these two methods.</p>
+ *
+ * @param directions Combination of direction flags, see {@link #DIRECTION_HORIZONTAL},
+ * {@link #DIRECTION_VERTICAL}, {@link #DIRECTION_ALL}
+ * @return true if the slop threshold has been crossed, false otherwise
+ */
+ public boolean checkTouchSlop(int directions) {
+ final int count = mInitialMotionX.length;
+ for (int i = 0; i < count; i++) {
+ if (checkTouchSlop(directions, i)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Check if the specified pointer tracked in the current gesture has crossed
+ * the required slop threshold.
+ *
+ * <p>This depends on internal state populated by
+ * {@link #shouldInterceptTouchEvent(android.view.MotionEvent)} or
+ * {@link #processTouchEvent(android.view.MotionEvent)}. You should only rely on
+ * the results of this method after all currently available touch data
+ * has been provided to one of these two methods.</p>
+ *
+ * @param directions Combination of direction flags, see {@link #DIRECTION_HORIZONTAL},
+ * {@link #DIRECTION_VERTICAL}, {@link #DIRECTION_ALL}
+ * @param pointerId ID of the pointer to slop check as specified by MotionEvent
+ * @return true if the slop threshold has been crossed, false otherwise
+ */
+ public boolean checkTouchSlop(int directions, int pointerId) {
+ if (!isPointerDown(pointerId)) {
+ return false;
+ }
+
+ final boolean checkHorizontal = (directions & DIRECTION_HORIZONTAL) == DIRECTION_HORIZONTAL;
+ final boolean checkVertical = (directions & DIRECTION_VERTICAL) == DIRECTION_VERTICAL;
+
+ final float dx = mLastMotionX[pointerId] - mInitialMotionX[pointerId];
+ final float dy = mLastMotionY[pointerId] - mInitialMotionY[pointerId];
+
+ if (checkHorizontal && checkVertical) {
+ return dx * dx + dy * dy > mTouchSlop * mTouchSlop;
+ } else if (checkHorizontal) {
+ return Math.abs(dx) > mTouchSlop;
+ } else if (checkVertical) {
+ return Math.abs(dy) > mTouchSlop;
+ }
+ return false;
+ }
+
+ /**
+ * Check if any of the edges specified were initially touched in the currently active gesture.
+ * If there is no currently active gesture this method will return false.
+ *
+ * @param edges Edges to check for an initial edge touch. See {@link #EDGE_LEFT},
+ * {@link #EDGE_TOP}, {@link #EDGE_RIGHT}, {@link #EDGE_BOTTOM} and
+ * {@link #EDGE_ALL}
+ * @return true if any of the edges specified were initially touched in the current gesture
+ */
+ public boolean isEdgeTouched(int edges) {
+ final int count = mInitialEdgesTouched.length;
+ for (int i = 0; i < count; i++) {
+ if (isEdgeTouched(edges, i)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Check if any of the edges specified were initially touched by the pointer with
+ * the specified ID. If there is no currently active gesture or if there is no pointer with
+ * the given ID currently down this method will return false.
+ *
+ * @param edges Edges to check for an initial edge touch. See {@link #EDGE_LEFT},
+ * {@link #EDGE_TOP}, {@link #EDGE_RIGHT}, {@link #EDGE_BOTTOM} and
+ * {@link #EDGE_ALL}
+ * @return true if any of the edges specified were initially touched in the current gesture
+ */
+ public boolean isEdgeTouched(int edges, int pointerId) {
+ return isPointerDown(pointerId) && (mInitialEdgesTouched[pointerId] & edges) != 0;
+ }
+
+ private void releaseViewForPointerUp() {
+ mVelocityTracker.computeCurrentVelocity(1000, mMaxVelocity);
+ final float xvel = clampMag(
+ VelocityTrackerCompat.getXVelocity(mVelocityTracker, mActivePointerId),
+ mMinVelocity, mMaxVelocity);
+ final float yvel = clampMag(
+ VelocityTrackerCompat.getYVelocity(mVelocityTracker, mActivePointerId),
+ mMinVelocity, mMaxVelocity);
+ dispatchViewReleased(xvel, yvel);
+ }
+
+ private void dragTo(int left, int top, int dx, int dy) {
+ int clampedX = left;
+ int clampedY = top;
+ final int oldLeft = mCapturedView.getLeft();
+ final int oldTop = mCapturedView.getTop();
+ if (dx != 0) {
+ clampedX = mCallback.clampViewPositionHorizontal(mCapturedView, left, dx);
+ mCapturedView.offsetLeftAndRight(clampedX - oldLeft);
+ }
+ if (dy != 0) {
+ clampedY = mCallback.clampViewPositionVertical(mCapturedView, top, dy);
+ mCapturedView.offsetTopAndBottom(clampedY - oldTop);
+ }
+
+ if (dx != 0 || dy != 0) {
+ final int clampedDx = clampedX - oldLeft;
+ final int clampedDy = clampedY - oldTop;
+ mCallback.onViewPositionChanged(mCapturedView, clampedX, clampedY,
+ clampedDx, clampedDy);
+ }
+ }
+
+ /**
+ * Determine if the currently captured view is under the given point in the
+ * parent view's coordinate system. If there is no captured view this method
+ * will return false.
+ *
+ * @param x X position to test in the parent's coordinate system
+ * @param y Y position to test in the parent's coordinate system
+ * @return true if the captured view is under the given point, false otherwise
+ */
+ public boolean isCapturedViewUnder(int x, int y) {
+ return isViewUnder(mCapturedView, x, y);
+ }
+
+ /**
+ * Determine if the supplied view is under the given point in the
+ * parent view's coordinate system.
+ *
+ * @param view Child view of the parent to hit test
+ * @param x X position to test in the parent's coordinate system
+ * @param y Y position to test in the parent's coordinate system
+ * @return true if the supplied view is under the given point, false otherwise
+ */
+ public boolean isViewUnder(View view, int x, int y) {
+ if (view == null) {
+ return false;
+ }
+ return x >= view.getLeft() &&
+ x < view.getRight() &&
+ y >= view.getTop() &&
+ y < view.getBottom();
+ }
+
+ /**
+ * Find the topmost child under the given point within the parent view's coordinate system.
+ * The child order is determined using {@link Callback#getOrderedChildIndex(int)}.
+ *
+ * @param x X position to test in the parent's coordinate system
+ * @param y Y position to test in the parent's coordinate system
+ * @return The topmost child view under (x, y) or null if none found.
+ */
+ public View findTopChildUnder(int x, int y) {
+ final int childCount = mParentView.getChildCount();
+ for (int i = childCount - 1; i >= 0; i--) {
+ final View child = mParentView.getChildAt(mCallback.getOrderedChildIndex(i));
+ if (x >= child.getLeft() && x < child.getRight() &&
+ y >= child.getTop() && y < child.getBottom()) {
+ return child;
+ }
+ }
+ return null;
+ }
+
+ private int getEdgesTouched(int x, int y) {
+ int result = 0;
+
+ if (x < mParentView.getLeft() + mEdgeSize) result |= EDGE_LEFT;
+ if (y < mParentView.getTop() + mEdgeSize) result |= EDGE_TOP;
+ if (x > mParentView.getRight() - mEdgeSize) result |= EDGE_RIGHT;
+ if (y > mParentView.getBottom() - mEdgeSize) result |= EDGE_BOTTOM;
+
+ return result;
+ }
+
+ /**
+ * Prepares the {@link ViewDragHelper} for the beginning of a nested scroll.
+ *
+ * @param target The child view that is dispatching the nested scroll.
+ */
+ public void startNestedScroll(View target) {
+ setDragState(STATE_DRAGGING);
+ mCapturedView = target;
+ }
+
+ /**
+ * Informs the {@link ViewDragHelper} that a nested scroll has ended.
+ *
+ * @param target The child view that is dispatching the nested scroll.
+ */
+ public void stopNestedScroll(View target) {
+ dispatchViewReleased(0, 0);
+ }
+
+ /**
+ * Update the {@link ViewDragHelper} with a new nested scrolling event.
+ *
+ * @param target The child view that is dispatching the nested scroll.
+ * @param dx The x distance scrolled on the child, in pixels.
+ * @param dy The y distance scroll on the child, in pixels.
+ * @param consumed An int array for the {@link ViewDragHelper} to report back the scroll
+ * deltas that it consumed.
+ */
+ public void processNestedScroll(View target, int dx, int dy, int[] consumed) {
+ final int targetX = mCapturedView.getLeft() + dx;
+ final int targetY = mCapturedView.getTop() + dy;
+ dragTo(targetX, targetY, dx, dy);
+ if (consumed != null) {
+ final int unconsumedX = targetX - mCapturedView.getLeft();
+ final int unconsumedY = targetY - mCapturedView.getTop();
+ consumed[0] = dx - unconsumedX;
+ consumed[1] = dy - unconsumedY;
+ }
+ }
+
+}
diff --git a/src/com/android/dialerbind/ObjectFactory.java b/src/com/android/dialerbind/ObjectFactory.java
index be91e33..9786311 100644
--- a/src/com/android/dialerbind/ObjectFactory.java
+++ b/src/com/android/dialerbind/ObjectFactory.java
@@ -21,6 +21,7 @@
import android.content.Context;
import com.android.dialer.calllog.CallLogAdapter;
+import com.android.dialer.calllog.CallLogAdapter.CallItemExpandedListener;
import com.android.dialer.calllog.ContactInfoHelper;
import com.android.dialer.service.CachedNumberLookupService;
@@ -39,15 +40,13 @@
* @param context The context to use.
* @param callFetcher Instance of call fetcher to use.
* @param contactInfoHelper Instance of contact info helper class to use.
- * @param hideSecondaryAction If true, secondary action will be hidden (ie call details
- * or play voicemail).
* @param isCallLog Is this call log adapter being used on the call log?
* @return Instance of CallLogAdapter.
*/
public static CallLogAdapter newCallLogAdapter(Context context, CallFetcher callFetcher,
- ContactInfoHelper contactInfoHelper, boolean hideSecondaryAction,
+ ContactInfoHelper contactInfoHelper, CallItemExpandedListener callItemExpandedListener,
boolean isCallLog) {
- return new CallLogAdapter(context, callFetcher, contactInfoHelper, hideSecondaryAction,
+ return new CallLogAdapter(context, callFetcher, contactInfoHelper, callItemExpandedListener,
isCallLog);
}
}
diff --git a/tests/src/com/android/dialer/PhoneCallDetailsHelperTest.java b/tests/src/com/android/dialer/PhoneCallDetailsHelperTest.java
index 9b7d9de..30fd0e2 100644
--- a/tests/src/com/android/dialer/PhoneCallDetailsHelperTest.java
+++ b/tests/src/com/android/dialer/PhoneCallDetailsHelperTest.java
@@ -111,9 +111,9 @@
public void testSetPhoneCallDetails_Normal() {
setPhoneCallDetailsWithNumber("14125551212",
Calls.PRESENTATION_ALLOWED, "1-412-555-1212");
- assertEquals("Yesterday", mViews.callTypeAndDate.getText().toString());
- assertEqualsHtml("<font color='#33b5e5'><b>Yesterday</b></font>",
- mViews.callTypeAndDate.getText());
+ assertTrue(mViews.callLocationAndDate.getText().toString().contains("Yesterday"));
+ assertTrue(mViews.callLocationAndDate.getText().toString().contains(
+ "<font color='#33b5e5'><b>Yesterday</b></font>"));
}
/** Asserts that a char sequence is actually a Spanned corresponding to the expected HTML. */
@@ -252,12 +252,12 @@
/** Asserts that the label text field contains the given string value. */
private void assertLabelEquals(String text) {
- assertEquals(text, mViews.labelView.getText().toString());
+ assertTrue(mViews.callLocationAndDate.getText().toString().contains(text));
}
/** Asserts that the date text field contains the given string value. */
private void assertDateEquals(String text) {
- assertEquals(text, mViews.callTypeAndDate.getText().toString());
+ assertTrue(mViews.callLocationAndDate.getText().toString().contains(text));
}
/** Asserts that the call type contains the images with the given drawables. */
@@ -268,7 +268,7 @@
assertEquals(id, mViews.callTypeIcons.getCallType(index));
}
assertEquals(View.VISIBLE, mViews.callTypeIcons.getVisibility());
- assertEquals("Yesterday", mViews.callTypeAndDate.getText().toString());
+ assertTrue(mViews.callLocationAndDate.getText().toString().contains("Yesterday"));
}
/**
@@ -282,7 +282,8 @@
assertEquals(id, mViews.callTypeIcons.getCallType(index));
}
assertEquals(View.VISIBLE, mViews.callTypeIcons.getVisibility());
- assertEquals(overflowText + " Yesterday", mViews.callTypeAndDate.getText().toString());
+ assertTrue(mViews.callLocationAndDate.getText().toString().contains(overflowText));
+ assertTrue(mViews.callLocationAndDate.getText().toString().contains("Yesterday"));
}
/** Sets the phone call details with default values and the given number. */
@@ -291,8 +292,8 @@
mHelper.setPhoneCallDetails(mViews,
new PhoneCallDetails(number, presentation, formattedNumber,
TEST_COUNTRY_ISO, TEST_GEOCODE,
- new int[]{ Calls.VOICEMAIL_TYPE }, TEST_DATE, TEST_DURATION),
- true);
+ new int[]{ Calls.VOICEMAIL_TYPE }, TEST_DATE, TEST_DURATION)
+ );
}
/** Sets the phone call details with default values and the given number. */
@@ -301,8 +302,8 @@
mHelper.setPhoneCallDetails(mViews,
new PhoneCallDetails(number, Calls.PRESENTATION_ALLOWED,
formattedNumber, TEST_COUNTRY_ISO, geocodedLocation,
- new int[]{ Calls.VOICEMAIL_TYPE }, TEST_DATE, TEST_DURATION),
- true);
+ new int[]{ Calls.VOICEMAIL_TYPE }, TEST_DATE, TEST_DURATION)
+ );
}
/** Sets the phone call details with default values and the given date. */
@@ -310,8 +311,8 @@
mHelper.setPhoneCallDetails(mViews,
new PhoneCallDetails(TEST_NUMBER, Calls.PRESENTATION_ALLOWED,
TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO, TEST_GEOCODE,
- new int[]{ Calls.INCOMING_TYPE }, date, TEST_DURATION),
- false);
+ new int[]{ Calls.INCOMING_TYPE }, date, TEST_DURATION)
+ );
}
/** Sets the phone call details with default values and the given call types using icons. */
@@ -319,8 +320,8 @@
mHelper.setPhoneCallDetails(mViews,
new PhoneCallDetails(TEST_NUMBER, Calls.PRESENTATION_ALLOWED,
TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO, TEST_GEOCODE,
- callTypes, TEST_DATE, TEST_DURATION),
- false);
+ callTypes, TEST_DATE, TEST_DURATION)
+ );
}
private void setCallDetailsHeaderWithNumber(String number, int presentation) {
diff --git a/tests/src/com/android/dialer/calllog/CallLogAdapterTest.java b/tests/src/com/android/dialer/calllog/CallLogAdapterTest.java
index 12cdb2b..8225d13 100644
--- a/tests/src/com/android/dialer/calllog/CallLogAdapterTest.java
+++ b/tests/src/com/android/dialer/calllog/CallLogAdapterTest.java
@@ -212,7 +212,7 @@
public TestCallLogAdapter(Context context, CallFetcher callFetcher,
ContactInfoHelper contactInfoHelper) {
- super(context, callFetcher, contactInfoHelper, false, false);
+ super(context, callFetcher, contactInfoHelper, null, false);
}
@Override
diff --git a/tests/src/com/android/dialer/calllog/CallLogFragmentTest.java b/tests/src/com/android/dialer/calllog/CallLogFragmentTest.java
index 25f5379..2c0fe0e 100644
--- a/tests/src/com/android/dialer/calllog/CallLogFragmentTest.java
+++ b/tests/src/com/android/dialer/calllog/CallLogFragmentTest.java
@@ -35,6 +35,7 @@
import android.test.ActivityInstrumentationTestCase2;
import android.test.suitebuilder.annotation.LargeTest;
import android.test.suitebuilder.annotation.MediumTest;
+import android.util.Log;
import android.view.View;
import android.widget.FrameLayout;
@@ -174,7 +175,6 @@
insertPrivate(NOW, 0);
View view = mAdapter.newGroupView(getActivity(), mParentView);
mAdapter.bindGroupView(view, getActivity(), mCursor, 3, false);
- assertNotNull(view.findViewById(R.id.secondary_action_icon));
}
@MediumTest
@@ -182,8 +182,7 @@
mCursor.moveToFirst();
insertPrivate(NOW, 0);
View view = mAdapter.newStandAloneView(getActivity(), mParentView);
- mAdapter.bindStandAloneView(view, getActivity(), mCursor);
- assertNotNull(view.findViewById(R.id.secondary_action_icon));
+ mAdapter.bindViewForTest(view, getActivity(), mCursor);
}
@MediumTest
@@ -192,7 +191,6 @@
insertPrivate(NOW, 0);
View view = mAdapter.newChildView(getActivity(), mParentView);
mAdapter.bindChildView(view, getActivity(), mCursor);
- assertNotNull(view.findViewById(R.id.secondary_action_icon));
}
@MediumTest
@@ -200,7 +198,7 @@
mCursor.moveToFirst();
insert(TEST_NUMBER, Calls.PRESENTATION_ALLOWED, NOW, 0, Calls.INCOMING_TYPE);
View view = mAdapter.newStandAloneView(getActivity(), mParentView);
- mAdapter.bindStandAloneView(view, getActivity(), mCursor);
+ mAdapter.bindViewForTest(view, getActivity(), mCursor);
CallLogListItemViews views = (CallLogListItemViews) view.getTag();
assertNameIs(views, TEST_NUMBER);
@@ -214,7 +212,7 @@
values[CallLogQuery.CACHED_FORMATTED_NUMBER] = TEST_FORMATTED_NUMBER;
insertValues(values);
View view = mAdapter.newStandAloneView(getActivity(), mParentView);
- mAdapter.bindStandAloneView(view, getActivity(), mCursor);
+ mAdapter.bindViewForTest(view, getActivity(), mCursor);
CallLogListItemViews views = (CallLogListItemViews) view.getTag();
assertNameIs(views, TEST_FORMATTED_NUMBER);
@@ -228,7 +226,7 @@
insertWithCachedValues(TEST_NUMBER, NOW, 0, Calls.INCOMING_TYPE,
"John Doe", Phone.TYPE_HOME, TEST_DEFAULT_CUSTOM_LABEL);
View view = mAdapter.newStandAloneView(getActivity(), mParentView);
- mAdapter.bindStandAloneView(view, getActivity(), mCursor);
+ mAdapter.bindViewForTest(view, getActivity(), mCursor);
CallLogListItemViews views = (CallLogListItemViews) view.getTag();
assertNameIs(views, "John Doe");
@@ -241,7 +239,7 @@
insertWithCachedValues("sip:johndoe@gmail.com", NOW, 0, Calls.INCOMING_TYPE,
"John Doe", Phone.TYPE_HOME, TEST_DEFAULT_CUSTOM_LABEL);
View view = mAdapter.newStandAloneView(getActivity(), mParentView);
- mAdapter.bindStandAloneView(view, getActivity(), mCursor);
+ mAdapter.bindViewForTest(view, getActivity(), mCursor);
CallLogListItemViews views = (CallLogListItemViews) view.getTag();
assertNameIs(views, "John Doe");
@@ -256,7 +254,7 @@
insertWithCachedValues(TEST_NUMBER, NOW, 0, Calls.INCOMING_TYPE,
"John Doe", Phone.TYPE_HOME, TEST_DEFAULT_CUSTOM_LABEL);
View view = mAdapter.newStandAloneView(getActivity(), mParentView);
- mAdapter.bindStandAloneView(view, getActivity(), mCursor);
+ mAdapter.bindViewForTest(view, getActivity(), mCursor);
CallLogListItemViews views = (CallLogListItemViews) view.getTag();
assertNameIs(views, "John Doe");
@@ -271,7 +269,7 @@
insertWithCachedValues(TEST_NUMBER, NOW, 0, Calls.INCOMING_TYPE,
"John Doe", Phone.TYPE_WORK, TEST_DEFAULT_CUSTOM_LABEL);
View view = mAdapter.newStandAloneView(getActivity(), mParentView);
- mAdapter.bindStandAloneView(view, getActivity(), mCursor);
+ mAdapter.bindViewForTest(view, getActivity(), mCursor);
CallLogListItemViews views = (CallLogListItemViews) view.getTag();
assertNameIs(views, "John Doe");
@@ -285,7 +283,7 @@
insertWithCachedValues(TEST_NUMBER, NOW, 0, Calls.INCOMING_TYPE,
"John Doe", Phone.TYPE_CUSTOM, numberLabel);
View view = mAdapter.newStandAloneView(getActivity(), mParentView);
- mAdapter.bindStandAloneView(view, getActivity(), mCursor);
+ mAdapter.bindViewForTest(view, getActivity(), mCursor);
CallLogListItemViews views = (CallLogListItemViews) view.getTag();
assertNameIs(views, "John Doe");
@@ -298,7 +296,7 @@
insertWithCachedValues(TEST_NUMBER, NOW, 0, Calls.INCOMING_TYPE,
"John Doe", Phone.TYPE_HOME, "");
View view = mAdapter.newStandAloneView(getActivity(), mParentView);
- mAdapter.bindStandAloneView(view, getActivity(), mCursor);
+ mAdapter.bindViewForTest(view, getActivity(), mCursor);
CallLogListItemViews views = (CallLogListItemViews) view.getTag();
assertTrue(views.quickContactView.isEnabled());
@@ -309,7 +307,7 @@
mCursor.moveToFirst();
insert(TEST_NUMBER, Calls.PRESENTATION_ALLOWED, NOW, 0, Calls.INCOMING_TYPE);
View view = mAdapter.newStandAloneView(getActivity(), mParentView);
- mAdapter.bindStandAloneView(view, getActivity(), mCursor);
+ mAdapter.bindViewForTest(view, getActivity(), mCursor);
CallLogListItemViews views = (CallLogListItemViews) view.getTag();
assertFalse(views.quickContactView.isEnabled());
@@ -320,7 +318,7 @@
mCursor.moveToFirst();
insert(TEST_NUMBER, Calls.PRESENTATION_ALLOWED, NOW, 0, Calls.INCOMING_TYPE);
View view = mAdapter.newStandAloneView(getActivity(), mParentView);
- mAdapter.bindStandAloneView(view, getActivity(), mCursor);
+ mAdapter.bindViewForTest(view, getActivity(), mCursor);
CallLogListItemViews views = (CallLogListItemViews) view.getTag();
@@ -328,7 +326,7 @@
// {@link com.android.dialer.calllog.CallLogAdapter#bindView} method. If it is possible
// to place a call to the phone number, a call intent will have been created for the
// primaryActionView.
- IntentProvider intentProvider = (IntentProvider) views.primaryActionView.getTag();
+ IntentProvider intentProvider = (IntentProvider) views.callBackButtonView.getTag();
Intent intent = intentProvider.getIntent(mActivity);
// Starts a call.
assertEquals(Intent.ACTION_CALL_PRIVILEGED, intent.getAction());
@@ -341,10 +339,10 @@
mCursor.moveToFirst();
insertVoicemail(TEST_NUMBER, Calls.PRESENTATION_ALLOWED, NOW, 0);
View view = mAdapter.newStandAloneView(getActivity(), mParentView);
- mAdapter.bindStandAloneView(view, getActivity(), mCursor);
+ mAdapter.bindViewForTest(view, getActivity(), mCursor);
CallLogListItemViews views = (CallLogListItemViews) view.getTag();
- IntentProvider intentProvider = (IntentProvider) views.secondaryActionButtonView.getTag();
+ IntentProvider intentProvider = (IntentProvider) views.voicemailButtonView.getTag();
Intent intent = intentProvider.getIntent(mActivity);
// Starts the call detail activity.
assertEquals(new ComponentName(mActivity, CallDetailActivity.class),
@@ -384,12 +382,12 @@
if (presentation == Calls.PRESENTATION_RESTRICTED ||
presentation == Calls.PRESENTATION_UNKNOWN) {
//If number is not callable, the primary action view should have a null tag.
- assertNull(mItem.primaryActionView.getTag());
+ assertNull(mItem.callBackButtonView.getTag());
} else {
//If the number is callable, the primary action view should have a non-null tag.
- assertNotNull(mItem.primaryActionView.getTag());
+ assertNotNull(mItem.callBackButtonView.getTag());
- IntentProvider intentProvider = (IntentProvider)mItem.primaryActionView.getTag();
+ IntentProvider intentProvider = (IntentProvider)mItem.callBackButtonView.getTag();
Intent callIntent = intentProvider.getIntent(mActivity);
//The intent should be to make the call
@@ -441,7 +439,7 @@
if (null == mList[i]) {
mList[i] = mAdapter.newStandAloneView(mActivity, mParentView);
}
- mAdapter.bindStandAloneView(mList[i], mActivity, mCursor);
+ mAdapter.bindViewForTest(mList[i], mActivity, mCursor);
mCursor.moveToPrevious();
i++;
}
@@ -650,10 +648,9 @@
/** Asserts that the label text view contains the given text. */
private void assertLabel(CallLogListItemViews views, CharSequence number,
CharSequence label) {
- assertEquals(label == null ? View.GONE : View.VISIBLE,
- views.phoneCallDetailsViews.labelView.getVisibility());
if (label != null) {
- assertEquals(label, views.phoneCallDetailsViews.labelView.getText().toString());
+ assertTrue(views.phoneCallDetailsViews.callLocationAndDate.getText().toString()
+ .contains(label));
}
}
}
diff --git a/tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java b/tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java
index 7e4736e..96eefbc 100644
--- a/tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java
+++ b/tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java
@@ -81,13 +81,7 @@
public void testSetPhoneCallDetails() {
setPhoneCallDetailsWithNumber("12125551234", Calls.PRESENTATION_ALLOWED,
"1-212-555-1234");
- assertEquals(View.VISIBLE, mViews.secondaryActionButtonView.getVisibility());
- }
-
- public void testSetPhoneCallDetailsInFavorites() {
- setPhoneCallDetailsWithNumberInFavorites("12125551234", Calls.PRESENTATION_ALLOWED,
- "1-212-555-1234");
- assertNoCallIntent();
+ assertEquals(View.VISIBLE, mViews.callBackButtonView.getVisibility());
}
public void testSetPhoneCallDetails_Unknown() {
@@ -95,73 +89,36 @@
assertNoCallIntent();
}
- public void testSetPhoneCallDetailsInFavorites_Unknown() {
- setPhoneCallDetailsWithNumberInFavorites("", Calls.PRESENTATION_UNKNOWN, "");
- assertNoCallIntent();
- }
-
public void testSetPhoneCallDetails_Private() {
setPhoneCallDetailsWithNumber("", Calls.PRESENTATION_RESTRICTED, "");
assertNoCallIntent();
}
- public void testSetPhoneCallDetailsInFavorites_Private() {
- setPhoneCallDetailsWithNumberInFavorites("", Calls.PRESENTATION_RESTRICTED, "");
- assertNoCallIntent();
- }
-
public void testSetPhoneCallDetails_Payphone() {
setPhoneCallDetailsWithNumber("", Calls.PRESENTATION_PAYPHONE, "");
assertNoCallIntent();
}
- public void testSetPhoneCallDetailsInFavorites_Payphone() {
- setPhoneCallDetailsWithNumberInFavorites("", Calls.PRESENTATION_PAYPHONE, "");
- assertNoCallIntent();
- }
-
public void testSetPhoneCallDetails_VoicemailNumber() {
setPhoneCallDetailsWithNumber(TEST_VOICEMAIL_NUMBER,
Calls.PRESENTATION_ALLOWED, TEST_VOICEMAIL_NUMBER);
- assertEquals(View.VISIBLE, mViews.secondaryActionButtonView.getVisibility());
+ assertEquals(View.VISIBLE, mViews.voicemailButtonView.getVisibility());
}
public void testSetPhoneCallDetails_ReadVoicemail() {
setPhoneCallDetailsWithTypes(Calls.VOICEMAIL_TYPE);
- assertEquals(View.VISIBLE, mViews.secondaryActionButtonView.getVisibility());
+ assertEquals(View.VISIBLE, mViews.voicemailButtonView.getVisibility());
}
public void testSetPhoneCallDetails_UnreadVoicemail() {
setUnreadPhoneCallDetailsWithTypes(Calls.VOICEMAIL_TYPE);
- assertEquals(View.VISIBLE, mViews.secondaryActionButtonView.getVisibility());
+ assertEquals(View.VISIBLE, mViews.voicemailButtonView.getVisibility());
}
public void testSetPhoneCallDetails_VoicemailFromUnknown() {
setPhoneCallDetailsWithNumberAndType("", Calls.PRESENTATION_UNKNOWN,
"", Calls.VOICEMAIL_TYPE);
- assertEquals(View.VISIBLE, mViews.secondaryActionButtonView.getVisibility());
- }
-
- public void testSetPhoneCallDetailsInFavorites_VoicemailNumber() {
- setPhoneCallDetailsWithNumberInFavorites(TEST_VOICEMAIL_NUMBER,
- Calls.PRESENTATION_ALLOWED, TEST_VOICEMAIL_NUMBER);
- assertNoCallIntent();
- }
-
- public void testSetPhoneCallDetailsInFavorites_ReadVoicemail() {
- setPhoneCallDetailsWithTypesInFavorites(Calls.VOICEMAIL_TYPE);
- assertEquals(View.VISIBLE, mViews.secondaryActionButtonView.getVisibility());
- }
-
- public void testSetPhoneCallDetailsInFavorites_UnreadVoicemail() {
- setUnreadPhoneCallDetailsWithTypesInFavorites(Calls.VOICEMAIL_TYPE);
- assertEquals(View.VISIBLE, mViews.secondaryActionButtonView.getVisibility());
- }
-
- public void testSetPhoneCallDetailsInFavorites_VoicemailFromUnknown() {
- setPhoneCallDetailsWithNumberAndTypeInFavorites("", Calls.PRESENTATION_UNKNOWN,
- "", Calls.VOICEMAIL_TYPE);
- assertEquals(View.VISIBLE, mViews.secondaryActionButtonView.getVisibility());
+ assertEquals(View.VISIBLE, mViews.voicemailButtonView.getVisibility());
}
/**
@@ -172,7 +129,7 @@
PhoneCallDetails details = new PhoneCallDetails("", Calls.PRESENTATION_UNKNOWN, "",
TEST_COUNTRY_ISO, TEST_GEOCODE,
new int[]{Calls.INCOMING_TYPE}, TEST_DATE, TEST_DURATION);
- assertEquals(R.string.description_unknown_answered_call,
+ assertEquals(R.string.description_incoming_answered_call,
mHelper.getCallDescriptionStringID(details));
}
@@ -184,7 +141,7 @@
PhoneCallDetails details = new PhoneCallDetails("", Calls.PRESENTATION_UNKNOWN, "",
TEST_COUNTRY_ISO, TEST_GEOCODE,
new int[]{Calls.MISSED_TYPE}, TEST_DATE, TEST_DURATION);
- assertEquals(R.string.description_unknown_missed_call,
+ assertEquals(R.string.description_incoming_missed_call,
mHelper.getCallDescriptionStringID(details));
}
@@ -196,7 +153,7 @@
PhoneCallDetails details = new PhoneCallDetails("", Calls.PRESENTATION_UNKNOWN, "",
TEST_COUNTRY_ISO, TEST_GEOCODE,
new int[]{Calls.VOICEMAIL_TYPE}, TEST_DATE, TEST_DURATION);
- assertEquals(R.string.description_unknown_missed_call,
+ assertEquals(R.string.description_incoming_missed_call,
mHelper.getCallDescriptionStringID(details));
}
@@ -209,7 +166,7 @@
TEST_FORMATTED_NUMBER,
TEST_COUNTRY_ISO, TEST_GEOCODE,
new int[]{Calls.INCOMING_TYPE}, TEST_DATE, TEST_DURATION);
- assertEquals(R.string.description_return_answered_call,
+ assertEquals(R.string.description_incoming_answered_call,
mHelper.getCallDescriptionStringID(details));
}
@@ -222,7 +179,7 @@
TEST_FORMATTED_NUMBER,
TEST_COUNTRY_ISO, TEST_GEOCODE,
new int[]{Calls.MISSED_TYPE}, TEST_DATE, TEST_DURATION);
- assertEquals(R.string.description_return_missed_call,
+ assertEquals(R.string.description_incoming_missed_call,
mHelper.getCallDescriptionStringID(details));
}
@@ -235,7 +192,7 @@
TEST_FORMATTED_NUMBER,
TEST_COUNTRY_ISO, TEST_GEOCODE,
new int[]{Calls.VOICEMAIL_TYPE}, TEST_DATE, TEST_DURATION);
- assertEquals(R.string.description_return_missed_call,
+ assertEquals(R.string.description_incoming_missed_call,
mHelper.getCallDescriptionStringID(details));
}
@@ -249,7 +206,7 @@
TEST_FORMATTED_NUMBER,
TEST_COUNTRY_ISO, TEST_GEOCODE,
new int[]{Calls.OUTGOING_TYPE}, TEST_DATE, TEST_DURATION);
- assertEquals(R.string.description_call_last,
+ assertEquals(R.string.description_outgoing_call,
mHelper.getCallDescriptionStringID(details));
}
@@ -263,7 +220,7 @@
TEST_FORMATTED_NUMBER,
TEST_COUNTRY_ISO, TEST_GEOCODE,
new int[]{Calls.OUTGOING_TYPE, Calls.OUTGOING_TYPE}, TEST_DATE, TEST_DURATION);
- assertEquals(R.string.description_call_last_multiple,
+ assertEquals(R.string.description_outgoing_call,
mHelper.getCallDescriptionStringID(details));
}
@@ -370,31 +327,14 @@
formattedNumber, Calls.INCOMING_TYPE);
}
- /** Sets the details of a phone call in the favorite screen using the specified phone number. */
- private void setPhoneCallDetailsWithNumberInFavorites(String number,
- int presentation, String formattedNumber) {
- setPhoneCallDetailsWithNumberAndTypeInFavorites(number, presentation,
- formattedNumber, Calls.INCOMING_TYPE);
- }
-
/** Sets the details of a phone call using the specified phone number. */
private void setPhoneCallDetailsWithNumberAndType(String number,
int presentation, String formattedNumber, int callType) {
mHelper.setPhoneCallDetails(mViews,
new PhoneCallDetails(number, presentation, formattedNumber,
TEST_COUNTRY_ISO, TEST_GEOCODE,
- new int[]{ callType }, TEST_DATE, TEST_DURATION),
- false, false);
- }
-
- /** Sets the details of a phone call in the favorite screen using the specified phone number. */
- private void setPhoneCallDetailsWithNumberAndTypeInFavorites(String number,
- int presentation, String formattedNumber, int callType) {
- mHelper.setPhoneCallDetails(mViews,
- new PhoneCallDetails(number, presentation, formattedNumber,
- TEST_COUNTRY_ISO, TEST_GEOCODE,
- new int[]{ callType }, TEST_DATE, TEST_DURATION),
- false, true);
+ new int[]{ callType }, TEST_DATE, TEST_DURATION)
+ );
}
/** Sets the details of a phone call using the specified call type. */
@@ -402,17 +342,8 @@
mHelper.setPhoneCallDetails(mViews,
new PhoneCallDetails(TEST_NUMBER, Calls.PRESENTATION_ALLOWED,
TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO, TEST_GEOCODE,
- types, TEST_DATE, TEST_DURATION),
- false, false);
- }
-
- /** Sets the details of a phone call in the favorite screen using the specified call type. */
- private void setPhoneCallDetailsWithTypesInFavorites(int... types) {
- mHelper.setPhoneCallDetails(mViews,
- new PhoneCallDetails(TEST_NUMBER, Calls.PRESENTATION_ALLOWED,
- TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO, TEST_GEOCODE,
- types, TEST_DATE, TEST_DURATION),
- false, true);
+ types, TEST_DATE, TEST_DURATION)
+ );
}
/** Sets the details of an unread phone call using the specified call type. */
@@ -420,18 +351,7 @@
mHelper.setPhoneCallDetails(mViews,
new PhoneCallDetails(TEST_NUMBER, Calls.PRESENTATION_ALLOWED,
TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO, TEST_GEOCODE,
- types, TEST_DATE, TEST_DURATION),
- true, false);
- }
-
- /** Sets the details of an unread phone call in the favorite screen using the specified call
- * type.
- */
- private void setUnreadPhoneCallDetailsWithTypesInFavorites(int... types) {
- mHelper.setPhoneCallDetails(mViews,
- new PhoneCallDetails(TEST_NUMBER, Calls.PRESENTATION_ALLOWED,
- TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO, TEST_GEOCODE,
- types, TEST_DATE, TEST_DURATION),
- true, true);
+ types, TEST_DATE, TEST_DURATION)
+ );
}
}