diff --git a/res/anim/slide_in.xml b/res/anim/slide_in.xml
index b2ebf7d..9f9c4d4 100644
--- a/res/anim/slide_in.xml
+++ b/res/anim/slide_in.xml
@@ -13,10 +13,8 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
+<translate 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="666" />
\ No newline at end of file
+    android:duration="666"
+    android:fromYDelta="67%p"
+    android:toYDelta="0" />
\ No newline at end of file
diff --git a/res/anim/slide_out.xml b/res/anim/slide_out.xml
index d3b92e3..e77bcde 100644
--- a/res/anim/slide_out.xml
+++ b/res/anim/slide_out.xml
@@ -13,10 +13,8 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
+<translate xmlns:android="http://schemas.android.com/apk/res/android"
     android:interpolator="@android:interpolator/fast_out_slow_in"
-    android:valueFrom="0"
-    android:valueTo="0.8"
-    android:valueType="floatType"
-    android:propertyName="yFraction"
-    android:duration="429" />
\ No newline at end of file
+    android:duration="429"
+    android:fromYDelta="0"
+    android:toYDelta="80%p" />
\ No newline at end of file
diff --git a/res/drawable-hdpi/ic_menu_overflow_dk.png b/res/drawable-hdpi/ic_menu_overflow_dk.png
deleted file mode 100644
index e9b0523..0000000
--- a/res/drawable-hdpi/ic_menu_overflow_dk.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_overflow_lt.png b/res/drawable-hdpi/ic_menu_overflow_lt.png
deleted file mode 100644
index 57db353..0000000
--- a/res/drawable-hdpi/ic_menu_overflow_lt.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_overflow_dk.png b/res/drawable-mdpi/ic_menu_overflow_dk.png
deleted file mode 100644
index 67f281d..0000000
--- a/res/drawable-mdpi/ic_menu_overflow_dk.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_overflow_lt.png b/res/drawable-mdpi/ic_menu_overflow_lt.png
deleted file mode 100644
index c699374..0000000
--- a/res/drawable-mdpi/ic_menu_overflow_lt.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_overflow_dk.png b/res/drawable-xhdpi/ic_menu_overflow_dk.png
deleted file mode 100644
index ec50c22..0000000
--- a/res/drawable-xhdpi/ic_menu_overflow_dk.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_overflow_lt.png b/res/drawable-xhdpi/ic_menu_overflow_lt.png
deleted file mode 100644
index e538b98..0000000
--- a/res/drawable-xhdpi/ic_menu_overflow_lt.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_menu_overflow_dk.png b/res/drawable-xxhdpi/ic_menu_overflow_dk.png
deleted file mode 100644
index 004f26b..0000000
--- a/res/drawable-xxhdpi/ic_menu_overflow_dk.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_menu_overflow_lt.png b/res/drawable-xxhdpi/ic_menu_overflow_lt.png
deleted file mode 100644
index 7f3f733..0000000
--- a/res/drawable-xxhdpi/ic_menu_overflow_lt.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/action_bar_tab.xml b/res/drawable/action_bar_tab.xml
deleted file mode 100644
index 8a3ea7a..0000000
--- a/res/drawable/action_bar_tab.xml
+++ /dev/null
@@ -1,38 +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.
--->
-<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/layout/call_log_fragment.xml b/res/layout/call_log_fragment.xml
index b4714a3..7b6aa28 100644
--- a/res/layout/call_log_fragment.xml
+++ b/res/layout/call_log_fragment.xml
@@ -61,13 +61,18 @@
     <FrameLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent">
+        <!-- clipChildren=true is required to ensure shadows on elevated call log entries are not
+             clipped.-->
         <ListView android:id="@android:id/list"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:fadingEdge="none"
             android:scrollbarStyle="outsideOverlay"
+            android:background="@color/background_dialer_list_items"
             android:divider="@null"
-            android:nestedScrollingEnabled="true" />
+            android:nestedScrollingEnabled="true"
+            android:clipChildren="false"
+        />
         <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 6068bd8..9182bd7 100644
--- a/res/layout/call_log_list_item.xml
+++ b/res/layout/call_log_list_item.xml
@@ -19,23 +19,29 @@
     class="com.android.dialer.calllog.CallLogListItemView"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
+    android:paddingBottom="@dimen/call_log_outer_margin"
     android:id="@+id/call_log_list_item"
     android:orientation="vertical"
+    android:clipChildren="false"
 >
-    <!--
-        This layout may represent either a call log item or one of the
-        headers in the call log.
-
-        The former will make the @id/call_log_item visible and the
-        @id/call_log_header gone.
-
-        The latter will make the @id/call_log_header visible and the
-        @id/call_log_item gone
-    -->
-
+    <!-- Day group heading. Used to show a "today", "yesterday", "last week" or "other" heading
+         above a group of call log entries. -->
+    <TextView
+        android:id="@+id/call_log_day_group_label"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="@dimen/call_log_outer_margin"
+        android:layout_marginEnd="@dimen/call_log_outer_margin"
+        android:textColor="?attr/call_log_secondary_text_color"
+        android:textSize="@dimen/call_log_secondary_text_size"
+        android:paddingTop="@dimen/call_log_day_group_padding"
+        android:paddingBottom="0dp"
+        />
     <!-- Linear layout to separate the primary area containing the contact badge and caller
          information and the secondary action (call details / play voicemail). -->
     <LinearLayout
+        android:id="@+id/call_log_row"
+        android:background="@color/background_dialer_list_items"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:baselineAligned="false"
@@ -49,7 +55,9 @@
             android:background="@drawable/call_log_background"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:padding="@dimen/call_log_outer_margin"
+            android:paddingLeft="@dimen/call_log_outer_margin"
+            android:paddingRight="@dimen/call_log_outer_margin"
+            android:paddingTop="@dimen/call_log_outer_margin"
             android:orientation="horizontal"
             android:gravity="center_vertical"
             android:focusable="true"
@@ -127,18 +135,9 @@
                   android:layout_width="match_parent"
                   android:layout_height="wrap_content"/>
     </LinearLayout>
-    <TextView
-        android:id="@+id/call_log_header"
-        style="@style/ContactListSeparatorTextViewStyle"
-        android:layout_marginStart="@dimen/call_log_outer_margin"
-        android:layout_marginEnd="@dimen/call_log_outer_margin"
-        android:paddingTop="@dimen/call_log_inner_margin"
-        android:paddingBottom="@dimen/call_log_inner_margin" />
-
     <!-- Displays the extra link section -->
     <ViewStub android:id="@+id/link_stub"
               android:layout="@layout/call_log_list_item_extra"
               android:layout_width="match_parent"
               android:layout_height="wrap_content"/>
-
 </view>
diff --git a/res/layout/call_log_list_item_actions.xml b/res/layout/call_log_list_item_actions.xml
index eb4aea2..d4e98d0 100644
--- a/res/layout/call_log_list_item_actions.xml
+++ b/res/layout/call_log_list_item_actions.xml
@@ -42,7 +42,8 @@
             android:textSize="@dimen/call_log_secondary_text_size"
             android:nextFocusLeft="@+id/primary_action_view"
             android:nextFocusRight="@+id/voicemail_action"
-            android:focusable="true"/>
+            android:focusable="true"
+            android:singleLine="true"/>
         <TextView
             android:id="@+id/voicemail_action"
             android:background="@drawable/action_button_background"
@@ -57,7 +58,8 @@
             android:textSize="@dimen/call_log_secondary_text_size"
             android:nextFocusLeft="@+id/call_back_action"
             android:nextFocusRight="@+id/delete_action"
-            android:focusable="true"/>
+            android:focusable="true"
+            android:singleLine="true"/>
         <TextView
             android:id="@+id/delete_action"
             android:background="@drawable/action_button_background"
@@ -71,7 +73,24 @@
             android:textColor="@color/call_log_action_delete_text"
             android:textSize="@dimen/call_log_secondary_text_size"
             android:nextFocusLeft="@+id/voicemail_action"
+            android:nextFocusRight="@+id/details_action"
+            android:focusable="true"
+            android:singleLine="true"/>
+        <TextView
+            android:id="@+id/details_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_details"
+            android:textColor="?attr/call_log_secondary_text_color"
+            android:textSize="@dimen/call_log_secondary_text_size"
+            android:nextFocusLeft="@+id/delete_action"
             android:nextFocusRight="@+id/primary_action_view"
-            android:focusable="true"/>
+            android:focusable="true"
+            android:singleLine="true"/>
     </LinearLayout>
 </FrameLayout>
diff --git a/res/layout/search_edittext.xml b/res/layout/search_edittext.xml
index 236d2bf..a20935f 100644
--- a/res/layout/search_edittext.xml
+++ b/res/layout/search_edittext.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout
+<view class="com.android.dialer.widget.SearchEditTextLayout"
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
@@ -45,4 +45,12 @@
         android:clickable="true"
         android:contentDescription="@string/description_start_voice_search"
         android:background="?android:attr/selectableItemBackground" />
-</LinearLayout>
\ No newline at end of file
+    <ImageButton
+        android:id="@+id/dialtacts_options_menu_button"
+        android:layout_width="@dimen/search_box_icon_size"
+        android:layout_height="@dimen/search_box_icon_size"
+        android:padding="@dimen/search_box_icon_padding"
+        android:background="?android:attr/selectableItemBackground"
+        android:src="@drawable/ic_overflow_menu"
+        android:tint="@color/searchbox_options_menu_color" />
+</view>
\ No newline at end of file
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 8804035..d2eccaa 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -161,6 +161,17 @@
     <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">"Maak toe"</string>
     <string name="remove_contact" msgid="1080555335283662961">"Verwyder"</string>
+    <string name="wifi_no_signal_no_problem" msgid="5905489120009368358">"Geen sein nie? Geen probleem nie."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Aktiveer Google-Wi-Fi-oproepe"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Wanneer aan \'n sterk Wi-Fi-sein gekoppel is:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Gebruik altyd Wi-Fi om oproepe te maak"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Vra altyd"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Moet nooit Wi-Fi gebruik om oproepe te maak nie"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Volgende"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Terug"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Lekker. Wi-Fi-oproepe is heeltemal opgestel. Jy kan te eniger tyd in instellings jou voorkeure verander of dit afskakel."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"OK, het dit"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Belinstellings"</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>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 58fa24a..7b32de4 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -161,6 +161,17 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"ሁሉንም ቁጥሮች ለማየት ምስሉን መታ ያድርጉ ወይም ቅደም ተከተላቸውን ለማስተካከል ተጭነው ይያዙ"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"አሰናብት"</string>
     <string name="remove_contact" msgid="1080555335283662961">"አስወግድ"</string>
+    <string name="wifi_no_signal_no_problem" msgid="5905489120009368358">"ምልክት የለም? ችግር የለውም።"</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Google Wi-Fi መደወልን አንቃ"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"ከጠንካራ የWi-Fi ምልክት ጋር ሲገናኝ፦"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"ጥሪዎችን ለማድረግ ሁልጊዜ Wi-Fi ተጠቀም"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"ሁልጊዜ ጠይቅ"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"ጥሪዎችን ለማድረግ Wi-Fiን በጭራሽ አትጠቀም"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"ቀጣይ"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"ተመለስ"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"ቡው። Wi-Fi መደወል ተዋቅሯል። በማንኛውም ጊዜ በቅንብሮች ውስጥ ምርጫዎችዎን መቀየር ወይም እሱን ማጥፋት ይችላሉ።"</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"እሺ፣ ገባኝ"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"የጥሪ ቅንብሮች"</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>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index cbabb89..dba3db1 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -161,6 +161,17 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"انقر على الصورة للاطلاع على كل الأرقام أو اضغط مع الاستمرار لإعادة الترتيب"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"تجاهل"</string>
     <string name="remove_contact" msgid="1080555335283662961">"إزالة"</string>
+    <string name="wifi_no_signal_no_problem" msgid="5905489120009368358">"ألا توجد إشارة؟ ليست هناك مشكلة."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"‏تمكين الاتصال عبر شبكة Wi-Fi من Google"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"‏عند الاتصال بشبكة Wi-Fi ذات إشارة قوية:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"‏استخدام شبكة Wi-Fi دائمًا لإجراء المكالمات"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"السؤال دائمًا"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"‏عدم استخدام شبكة Wi-Fi أبدًا لإجراء المكالمات"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"التالي"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"رجوع"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"‏حسنًا. تم الانتهاء من إعداد الاتصال عبر شبكة Wi-Fi. يمكنك تغيير تفضيلاتك أو إيقافها في أي وقت في الإعدادات."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"موافق، حسنًا"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"إعدادات الاتصال"</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>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index cff8c1d..e432615 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -161,6 +161,28 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"Докоснете изображението, за да видите всички номера, или натиснете и задръжте, за да пренаредите"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"Отхвърляне"</string>
     <string name="remove_contact" msgid="1080555335283662961">"Премахване"</string>
+    <!-- no translation found for wifi_no_signal_no_problem (5905489120009368358) -->
+    <skip />
+    <!-- no translation found for wifi_enable_google_wifi_calling (889688113802116339) -->
+    <skip />
+    <!-- no translation found for wifi_when_connected_to_a_signal (1380410417434941662) -->
+    <skip />
+    <!-- no translation found for wifi_always_use_wifi (5090531595867169067) -->
+    <skip />
+    <!-- no translation found for wifi_ask_use_wifi (2530040568117536243) -->
+    <skip />
+    <!-- no translation found for wifi_never_use_wifi (8523176164034184009) -->
+    <skip />
+    <!-- no translation found for wifi_next_setup_screen (6468744966620746912) -->
+    <skip />
+    <!-- no translation found for wifi_previous_setup_screen (8525707359376859298) -->
+    <skip />
+    <!-- no translation found for wifi_setup_completed (2823266959975201512) -->
+    <skip />
+    <!-- no translation found for wifi_setup_ok (7801061518697115555) -->
+    <skip />
+    <!-- no translation found for wifi_setup_settings_shortcut (278329876445606742) -->
+    <skip />
     <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>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 82e1ccb..74da6b4 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"No hi ha senyal? Cap problema."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Activa les trucades mitjançant Google Wi-Fi"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"En connectar-se a una senyal de Wi-Fi potent:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Utilitza sempre la Wi-Fi per fer trucades"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Demana-ho sempre"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"No utilitzis mai la Wi-Fi per fer trucades"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Següent"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Enrere"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Les trucades per Wi-Fi ja s\'han configurat. Pots canviar les preferències o desactivar-les en qualsevol moment des de la configuració."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"D\'acord"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Configuració de trucades"</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>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 42fa820..22785f3 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Nemáte signál? Nevadí."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Aktivovat volání Google přes Wi-Fi"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Při připojení k silnému signálu Wi-Fi:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Hovory vždy uskutečňovat přes Wi-Fi"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Vždy se zeptat"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Hovory nikdy neuskutečňovat přes Wi-Fi"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Další"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Zpět"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"A je to. Nastavení volání přes Wi-Fi je dokončeno. V nastavení ho můžete kdykoli vypnout nebo změnit své předvolby."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"OK, rozumím"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Nastavení hovorů"</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>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 1bcdf11..0f7062f 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -161,6 +161,17 @@
     <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">"Annuller"</string>
     <string name="remove_contact" msgid="1080555335283662961">"Fjern"</string>
+    <string name="wifi_no_signal_no_problem" msgid="5905489120009368358">"Har du intet signal? Det er ikke noget problem."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Aktivér Google Wi-Fi Calling"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Når der er oprettet forbindelse til et stærkt Wi-Fi-netværk:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Brug altid Wi-Fi til at foretage opkald"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Spørg altid"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Brug aldrig Wi-Fi til at foretage opkald"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Næste"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Tilbage"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Sådan! Så er Wi-Fi Calling konfiguret. Du kan til enhver tid ændre dine præferencer eller slå tjenesten fra i indstillingerne."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"OK, forstået"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Indstillinger for opkald"</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>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 2419010..9ea7ffb 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Kein Signal? Kein Problem"</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"WLAN-Anrufe mit Google aktivieren"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Bei Verbindung mit einem starken WLAN-Signal:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Für Anrufe immer WLAN verwenden"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Immer nachfragen"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Für Anrufe niemals WLAN verwenden"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Weiter"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Zurück"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"WLAN-Anrufe sind nun eingerichtet. Sie können Ihre Einstellungen ändern oder die Funktion jederzeit in Ihren Einstellungen deaktivieren."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"OK"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Anrufeinstellungen"</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>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index a6a1036..7d3cb59 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -161,6 +161,17 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"Πατήστε την εικόνα για να δείτε όλους τους αριθμούς ή πατήστε παρατεταμένα για αναδιάταξη"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"Παράβλεψη"</string>
     <string name="remove_contact" msgid="1080555335283662961">"Κατάργηση"</string>
+    <string name="wifi_no_signal_no_problem" msgid="5905489120009368358">"Δεν υπάρχει σήμα; Κανένα πρόβλημα."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Ενεργοποίηση Google Wi-Fi Calling"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Κατά τη σύνδεση σε ισχυρό σήμα Wi-Fi:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Να χρησιμοποιείται πάντα το Wi-Fi για την πραγματοποίηση κλήσεων"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Πάντα ερώτηση"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Να μην χρησιμοποιείται ποτέ το Wi-Fi για την πραγματοποίηση κλήσεων"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Επόμενο"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Πίσω"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Τέλεια. To Wi-Fi Calling ρυθμίστηκε. Μπορείτε να αλλάξετε τις προτιμήσεις σας ή να το απενεργοποιήσετε ανά πάσα στιγμή στις ρυθμίσεις."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"Εντάξει, το κατάλαβα"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Ρυθμίσεις κλήσεων"</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>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 803ad8e..b906aad 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"No Signal? No Problem."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Enable Google Wi-Fi Calling"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"When connected to a strong Wi-Fi signal:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Always use Wi-Fi to make calls"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Always ask"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Never use Wi-Fi to make calls"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Next"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Back"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Boom. Wi-Fi calling is all set up. You can change your preferences or turn it off anytime in settings."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"OK, got it"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Call settings"</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>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 803ad8e..b906aad 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"No Signal? No Problem."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Enable Google Wi-Fi Calling"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"When connected to a strong Wi-Fi signal:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Always use Wi-Fi to make calls"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Always ask"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Never use Wi-Fi to make calls"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Next"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Back"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Boom. Wi-Fi calling is all set up. You can change your preferences or turn it off anytime in settings."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"OK, got it"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Call settings"</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>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 9fa4ee0..507c185 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"¿Sin señal? No hay problema."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Habilitar llamadas Wi-Fi de Google"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Al conectarte a una señal Wi-Fi estable:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Siempre usar Wi-Fi para hacer llamadas"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Preguntar siempre"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Nunca usar Wi-Fi para hacer llamadas"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Siguiente"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Atrás"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Listo, ya se configuraron las llamadas Wi-Fi. Puedes cambiar las preferencias o desactivarlas en cualquier momento desde la configuración."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"Entendido"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Configuración de llamadas"</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>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index acf13d1..f03be77 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"¿No tienes cobertura? No pasa nada."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Habilitar llamadas Wi-Fi de Google"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Cuando estés conectado a una señal Wi-Fi estable:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Siempre usar Wi-Fi para hacer llamadas"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Preguntar siempre"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"No utilizar Wi-Fi para hacer llamadas"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Siguiente"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Volver"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Ya están configuradas las llamadas Wi-Fi. Puedes cambiar tus preferencias o desactivarlas en cualquier momento en Ajustes."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"Entendido"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Ajustes de llamada"</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>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index 7d36838..f62027a 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Kas signaali pole? See ei ole probleem."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Luba Google\'i WiFi-helistamine"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Kui WiFi-signaal on tugev:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Kasuta helistamiseks alati WiFi-t"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Küsi alati"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Ära kasuta WiFi-t kunagi helistamiseks"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Järgmine"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Tagasi"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Korras! WiFi-helistamine on seadistatud. Saate eelistusi muuta või selle igal ajal seadetes välja lülitada."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"Ok, selge"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Kõneseaded"</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>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index e3659db..ab5826b 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -161,6 +161,17 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"برای مشاهده همه شماره‌ها روی تصویر ضربه بزنید یا برای مرتب‌سازی مجدد فشار دهید و نگه‌دارید"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"رد کردن"</string>
     <string name="remove_contact" msgid="1080555335283662961">"حذف"</string>
+    <string name="wifi_no_signal_no_problem" msgid="5905489120009368358">"سیگنال وجود ندارد؟ مشکلی نیست."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"‏فعال کردن تماس Google Wi-Fi"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"‏هنگام اتصال به سیگنال Wi-Fi قوی:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"‏برای تماس گرفتن همیشه از Wi-Fi استفاده شود"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"همیشه پرسیده شود"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"‏برای تماس گرفتن هرگز از Wi-Fi استفاده نشود"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"بعدی"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"برگشت"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"‏بم. تماس Wi-Fi تنظیم شد. می‌توانید تنظیمات برگزیده‌تان را تغییر دهید یا هر وقت خواستید در تنظیمات، آن را خاموش کنید."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"بسیار خوب، متوجه شدم"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"تنظیمات تماس"</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>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 1d4e2b6..e1b9e58 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -161,6 +161,28 @@
     <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>
+    <!-- no translation found for wifi_no_signal_no_problem (5905489120009368358) -->
+    <skip />
+    <!-- no translation found for wifi_enable_google_wifi_calling (889688113802116339) -->
+    <skip />
+    <!-- no translation found for wifi_when_connected_to_a_signal (1380410417434941662) -->
+    <skip />
+    <!-- no translation found for wifi_always_use_wifi (5090531595867169067) -->
+    <skip />
+    <!-- no translation found for wifi_ask_use_wifi (2530040568117536243) -->
+    <skip />
+    <!-- no translation found for wifi_never_use_wifi (8523176164034184009) -->
+    <skip />
+    <!-- no translation found for wifi_next_setup_screen (6468744966620746912) -->
+    <skip />
+    <!-- no translation found for wifi_previous_setup_screen (8525707359376859298) -->
+    <skip />
+    <!-- no translation found for wifi_setup_completed (2823266959975201512) -->
+    <skip />
+    <!-- no translation found for wifi_setup_ok (7801061518697115555) -->
+    <skip />
+    <!-- no translation found for wifi_setup_settings_shortcut (278329876445606742) -->
+    <skip />
     <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>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index b797056..b90287f 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Pas de signal? Pas de problème."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Activer la fonctionnalité d\'appels par Wi-Fi de Google"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Lorsque l\'appareil est connecté à un réseau Wi-Fi dont le signal est puissant :"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Toujours utiliser le Wi-Fi pour faire des appels"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Toujours demander"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Ne jamais utiliser le Wi-Fi pour faire des appels"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Suivante"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Précédent"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Et voilà, la fonctionnalité d\'appel par Wi-Fi est configurée. Vous pouvez modifier vos préférences ou la désactiver à tout moment dans les paramètres."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"OK, j\'ai compris"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Paramètres d\'appel"</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>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 84814cd..f0db291 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Pas de signal ? Aucun problème."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Activer la fonctionnalité Google permettant de passer des appels via le Wi-Fi"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Lorsque l\'appareil est connecté à un réseau Wi-Fi dont le signal est puissant :"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Toujours utiliser le Wi-Fi pour passer des appels"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Toujours demander"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Ne jamais utiliser le Wi-Fi pour passer des appels"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Suivant"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Précédent"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Et voilà, la fonctionnalité d\'appel via le Wi-Fi est configurée. Vous pouvez modifier vos préférences ou la désactiver à tout moment dans les paramètres."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"OK"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Paramètres d\'appel"</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>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 4b0cd1f..75aa795 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -161,6 +161,17 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"सभी नंबर देखने के लिए चित्र को टैप करें या पुनः क्रमित करने के लिए दबाए रखें"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"ख़ारिज करें"</string>
     <string name="remove_contact" msgid="1080555335283662961">"निकालें"</string>
+    <string name="wifi_no_signal_no_problem" msgid="5905489120009368358">"कोई सिग्नल नहीं है? कोई समस्या नहीं."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Google Wi-Fi कॉल करना सक्षम करें"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"सशक्त Wi-Fi सिग्नल से कनेक्ट होने पर:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"कॉल करने के लिए हमेशा Wi-Fi उपयोग करें"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"हमेशा पूछें"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"कॉल करने के लिए कभी भी Wi-Fi उपयोग न करें"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"अगला"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"पीछे वाला कैमरा"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"वाह. Wi-Fi कॉल करना सेट हो गया है. आप कभी भी सेटिंग में अपनी प्राथमिकताएं बदल सकते हैं या उसे बंद कर सकते हैं."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"ठीक है, समझ लिया!"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"कॉल सेटिंग"</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>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 96158c3..5ef05f6 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -161,6 +161,28 @@
     <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>
+    <!-- no translation found for wifi_no_signal_no_problem (5905489120009368358) -->
+    <skip />
+    <!-- no translation found for wifi_enable_google_wifi_calling (889688113802116339) -->
+    <skip />
+    <!-- no translation found for wifi_when_connected_to_a_signal (1380410417434941662) -->
+    <skip />
+    <!-- no translation found for wifi_always_use_wifi (5090531595867169067) -->
+    <skip />
+    <!-- no translation found for wifi_ask_use_wifi (2530040568117536243) -->
+    <skip />
+    <!-- no translation found for wifi_never_use_wifi (8523176164034184009) -->
+    <skip />
+    <!-- no translation found for wifi_next_setup_screen (6468744966620746912) -->
+    <skip />
+    <!-- no translation found for wifi_previous_setup_screen (8525707359376859298) -->
+    <skip />
+    <!-- no translation found for wifi_setup_completed (2823266959975201512) -->
+    <skip />
+    <!-- no translation found for wifi_setup_ok (7801061518697115555) -->
+    <skip />
+    <!-- no translation found for wifi_setup_settings_shortcut (278329876445606742) -->
+    <skip />
     <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>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 1a7bccb..325736b 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Nincs hálózat? Semmi gond."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Google Wi-Fin keresztüli hívás engedélyezése"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Ha stabil Wi-Fi-hálózathoz csatlakozik:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Mindig Wi-Fit használjon híváshoz"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Mindig kérdezzen rá"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Soha ne használja a Wi-Fit híváshoz"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Következő"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Vissza"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Kész! A Wi-Fi-alapú hívást sikerült beállítani. A beállításokban bármikor módosíthatja a részleteket, vagy kikapcsolhatja a funkciót."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"Rendben, értem"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Hívásbeállítások"</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>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index c9c8e45..9d7be1b 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -87,8 +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>
-    <!-- no translation found for add_contact (8875804371377471164) -->
-    <skip />
+    <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>
@@ -162,6 +161,28 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"Հպեք նկարին՝ բոլոր համարները տեսնելու, կամ հպեք ու պահեք՝ վերադասավորելու համար:"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"Անտեսել"</string>
     <string name="remove_contact" msgid="1080555335283662961">"Հեռացնել"</string>
+    <!-- no translation found for wifi_no_signal_no_problem (5905489120009368358) -->
+    <skip />
+    <!-- no translation found for wifi_enable_google_wifi_calling (889688113802116339) -->
+    <skip />
+    <!-- no translation found for wifi_when_connected_to_a_signal (1380410417434941662) -->
+    <skip />
+    <!-- no translation found for wifi_always_use_wifi (5090531595867169067) -->
+    <skip />
+    <!-- no translation found for wifi_ask_use_wifi (2530040568117536243) -->
+    <skip />
+    <!-- no translation found for wifi_never_use_wifi (8523176164034184009) -->
+    <skip />
+    <!-- no translation found for wifi_next_setup_screen (6468744966620746912) -->
+    <skip />
+    <!-- no translation found for wifi_previous_setup_screen (8525707359376859298) -->
+    <skip />
+    <!-- no translation found for wifi_setup_completed (2823266959975201512) -->
+    <skip />
+    <!-- no translation found for wifi_setup_ok (7801061518697115555) -->
+    <skip />
+    <!-- no translation found for wifi_setup_settings_shortcut (278329876445606742) -->
+    <skip />
     <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>
@@ -172,6 +193,6 @@
     <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>
+    <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-in/strings.xml b/res/values-in/strings.xml
index be1316a..59173ab 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -161,6 +161,28 @@
     <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>
+    <!-- no translation found for wifi_no_signal_no_problem (5905489120009368358) -->
+    <skip />
+    <!-- no translation found for wifi_enable_google_wifi_calling (889688113802116339) -->
+    <skip />
+    <!-- no translation found for wifi_when_connected_to_a_signal (1380410417434941662) -->
+    <skip />
+    <!-- no translation found for wifi_always_use_wifi (5090531595867169067) -->
+    <skip />
+    <!-- no translation found for wifi_ask_use_wifi (2530040568117536243) -->
+    <skip />
+    <!-- no translation found for wifi_never_use_wifi (8523176164034184009) -->
+    <skip />
+    <!-- no translation found for wifi_next_setup_screen (6468744966620746912) -->
+    <skip />
+    <!-- no translation found for wifi_previous_setup_screen (8525707359376859298) -->
+    <skip />
+    <!-- no translation found for wifi_setup_completed (2823266959975201512) -->
+    <skip />
+    <!-- no translation found for wifi_setup_ok (7801061518697115555) -->
+    <skip />
+    <!-- no translation found for wifi_setup_settings_shortcut (278329876445606742) -->
+    <skip />
     <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>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index d9d9e50..a2438c0 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Nessun segnale? Non è un problema."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Abilita le chiamate Wi-Fi di Google"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Con connessione a un segnale Wi-Fi forte:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Utilizza sempre Wi-Fi per effettuare chiamate"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Chiedi sempre"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Non utilizzare mai il Wi-Fi per effettuare chiamate"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Avanti"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Indietro"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Boom. Le chiamate Wi-Fi sono state configurate. Puoi disattivarle o modificare le tue preferenze in qualsiasi momento nelle impostazioni."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"OK"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Impostazioni chiamate"</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>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 8b8c5f2..deeb6f6 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -161,6 +161,17 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"הקש על תמונה כדי לראות את כל המספרים, או לחץ והחזק כדי לשנות את הסדר"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"סגור"</string>
     <string name="remove_contact" msgid="1080555335283662961">"הסר"</string>
+    <string name="wifi_no_signal_no_problem" msgid="5905489120009368358">"אין אות? אין בעיה."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"‏הפעל התקשרות Google בחיבור Wi-Fi"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"‏בעת חיבור לאות Wi-Fi חזק:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"‏השתמש תמיד בחיבור Wi-Fi לביצוע שיחות"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"שאל תמיד"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"‏לעולם אל תשתמש בחיבור Wi-Fi לביצוע שיחות"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"הבא"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"הקודם"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"‏זהו. ההתקשרות בחיבור Wi-Fi הוגדרה. בכל עת תוכל לשנות את ההעדפות שלך או להשבית את החיבור בהגדרות."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"בסדר, הבנתי"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"הגדרות שיחה"</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>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index f11fc21..0ce2d48 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -161,6 +161,17 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"画像をタップするとすべての番号を表示でき、押し続けると並び替えることができます"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"閉じる"</string>
     <string name="remove_contact" msgid="1080555335283662961">"削除"</string>
+    <string name="wifi_no_signal_no_problem" msgid="5905489120009368358">"電波がなくても問題ありません。"</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Google Wi-Fi発信を有効にする"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"強力なWi-Fiの電波に接続したとき:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"常にWi-Fiを使用して発信する"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"常に確認する"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Wi-Fiを使用して発信しない"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"次へ"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"戻る"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Wi-Fi発信のセットアップを完了しました。いつでも[設定]で設定を変更したりオフにしたりできます。"</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"OK"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"通話設定"</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>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index 5b5088a..9e07b3d 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -87,8 +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>
-    <!-- no translation found for add_contact (8875804371377471164) -->
-    <skip />
+    <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>
@@ -162,6 +161,28 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"შეეხეთ სურათს ყველა ნომრის სანახავად, ან შეეხეთ და დააყოვნეთ მიმდევრობის შესაცვლელად"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"დახურვა"</string>
     <string name="remove_contact" msgid="1080555335283662961">"ამოშლა"</string>
+    <!-- no translation found for wifi_no_signal_no_problem (5905489120009368358) -->
+    <skip />
+    <!-- no translation found for wifi_enable_google_wifi_calling (889688113802116339) -->
+    <skip />
+    <!-- no translation found for wifi_when_connected_to_a_signal (1380410417434941662) -->
+    <skip />
+    <!-- no translation found for wifi_always_use_wifi (5090531595867169067) -->
+    <skip />
+    <!-- no translation found for wifi_ask_use_wifi (2530040568117536243) -->
+    <skip />
+    <!-- no translation found for wifi_never_use_wifi (8523176164034184009) -->
+    <skip />
+    <!-- no translation found for wifi_next_setup_screen (6468744966620746912) -->
+    <skip />
+    <!-- no translation found for wifi_previous_setup_screen (8525707359376859298) -->
+    <skip />
+    <!-- no translation found for wifi_setup_completed (2823266959975201512) -->
+    <skip />
+    <!-- no translation found for wifi_setup_ok (7801061518697115555) -->
+    <skip />
+    <!-- no translation found for wifi_setup_settings_shortcut (278329876445606742) -->
+    <skip />
     <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>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index 9f78231..b8425a3 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -161,6 +161,17 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"ប៉ះ​រូបភាព ដើម្បី​មើល​លេខ​ទាំងអស់ ឬ​ចុច និង​សង្កត់​ដើម្បី​តម្រៀប​ឡើងវិញ"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"បដិសេធ"</string>
     <string name="remove_contact" msgid="1080555335283662961">"លុបចេញ"</string>
+    <string name="wifi_no_signal_no_problem" msgid="5905489120009368358">"គ្មាន​សញ្ញា? គ្មាន​បញ្ហា។"</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"បើក​ការ​ហៅ​តាម Google វ៉ាយហ្វាយ"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"នៅ​ពេល​បាន​ភ្ជាប់​ទៅ​សញ្ញា​វ៉ាយហ្វាយ​ខ្លាំង៖"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"ប្រើ​វ៉ាយហ្វាយ​ជា​និច្ច​ដើម្បី​ហៅ​"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"សួរ​ជានិច្ច"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"កុំ​ប្រើ​វ៉ាយហ្វាយ​​ដើើម្បី​​ហៅ"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"បន្ទាប់"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"ថយក្រោយ"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"ការ​ហៅ​តាម​វ៉ាយហ្វាយ​ត្រូវ​បាន​រៀបចំ​ទាំង​អស់។ ​អ្នក​អាច​ប្ដូរ​ចំណូល​ចិត្ត ឬ​បិទ​វា​នៅ​ពេល​ណា​មួយ​ក្នុង​ការ​កំណត់។"</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"យល់​ព្រម យល់​ហើយ"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"កំណត់​ការ​ហៅ"</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>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index d3c103e..fd100f1 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -161,6 +161,28 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"이미지를 탭하여 모든 번호를 확인하거나 길게 눌러 재정렬합니다."</string>
     <string name="description_dismiss" msgid="2146276780562549643">"닫기"</string>
     <string name="remove_contact" msgid="1080555335283662961">"삭제"</string>
+    <!-- no translation found for wifi_no_signal_no_problem (5905489120009368358) -->
+    <skip />
+    <!-- no translation found for wifi_enable_google_wifi_calling (889688113802116339) -->
+    <skip />
+    <!-- no translation found for wifi_when_connected_to_a_signal (1380410417434941662) -->
+    <skip />
+    <!-- no translation found for wifi_always_use_wifi (5090531595867169067) -->
+    <skip />
+    <!-- no translation found for wifi_ask_use_wifi (2530040568117536243) -->
+    <skip />
+    <!-- no translation found for wifi_never_use_wifi (8523176164034184009) -->
+    <skip />
+    <!-- no translation found for wifi_next_setup_screen (6468744966620746912) -->
+    <skip />
+    <!-- no translation found for wifi_previous_setup_screen (8525707359376859298) -->
+    <skip />
+    <!-- no translation found for wifi_setup_completed (2823266959975201512) -->
+    <skip />
+    <!-- no translation found for wifi_setup_ok (7801061518697115555) -->
+    <skip />
+    <!-- no translation found for wifi_setup_settings_shortcut (278329876445606742) -->
+    <skip />
     <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>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index 07be5ba..a65f658 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -161,6 +161,17 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"ແຕະຮູບ​ພາບ​ເພື່ອເບິ່ງຈໍານວນຮູບພາບທັງໝົດ ຫຼືແຕະຄ້າງໄວ້ເພື່ອຈັດຮຽງໃໝ່"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"ເຂົ້າໃຈແລ້ວ"</string>
     <string name="remove_contact" msgid="1080555335283662961">"​ລຶບ​ອອກ"</string>
+    <string name="wifi_no_signal_no_problem" msgid="5905489120009368358">"ບໍ່​ມີ​ສັນ​ຍາ? ບໍ່​ມີ​ບັນ​ຫາ."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"ເປີດ​ນຳ​ໃຊ້ Google Wi-Fi Calling"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"ເມື່ອ​ເຊື່ອມ​ຕໍ່​ກັບ​ເຄືອ​ຂ່າຍ Wi-Fi ທີ່​ສັນ​ຍານ​ແຮງ:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"ໃຊ້ Wi-Fi ​ທຸກ​ຄັ້ງ​ເພື່ອ​ໂທ"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"ຖາມ​ທຸກ​ຄັ້ງ"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"ບໍ່​ໃຊ້ Wi-Fi ເພື່ອ​ໂທ​ອອກ"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"ຕໍ່ໄປ"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"ກັບຄືນ"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"ບູມ. ການ​ໂທ​ດ້ວຍ Wi-Fi ​ຖືກ​ຕັ້ງ​ຄ່າ​ຮຽບ​ຮ້ອຍ​ແລ້ວ. ທ່ານ​ສາ​ມາດ​ປັ​ບ​ປ່ຽນຄ່າ​ ຫຼື​ປິດ​ມັນ​ໄດ້​ທຸກ​ເວ​ລາ​ໃນ​ເມ​ນູ​ການ​ຕັ້ງ​ຄ່າ."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"ໂອ​ເຄ, ເຂົ້າ​ໃຈ​ແລ້ວ"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"​ການ​ຕັ້ງ​ຄ່າ​ການ​ໂທ"</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>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 90a531e..32406d3 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Nėra signalo? Jokių problemų."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Įgalinti „Google Wi-Fi“ skambinimą"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Kai yra stiprus „Wi-Fi“ signalas:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Skambinant visada naudoti „Wi-Fi“"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Visada klausti"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Skambinant niekada nenaudoti „Wi-Fi“"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Kitas"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Atgal"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Viskas. „Wi-Fi“ skambinimo funkcija visiškai nustatyta. Nustatymuose bet kada galite keisti savo nuostatas ar išjungti šią funkciją."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"Gerai, supratau"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Skambučių nustatymai"</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>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 6309952..69ed0fb 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Vai nav signāla? Tā nav problēma."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Iespējot Google Wi-Fi zvanus"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Ja ir izveidots savienojums ar spēcīga signāla Wi-Fi tīklu:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Vienmēr izmantot Wi-Fi savienojumu zvanu veikšanai"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Vienmēr jautāt"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Nekad neizmantot Wi-Fi savienojumu zvanu veikšanai"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Tālāk"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Atpakaļ"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Wi-Fi zvani ir iestatīti. Jebkurā laikā varat mainīt to preferences vai izslēgt tos iestatījumos."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"Labi, sapratu!"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Zvanu iestatījumi"</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>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index ee424fa..16e7258 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -161,6 +161,17 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"Бүх тоог харахын тулд зургийг товших буюу дахин захиалахын тулд дараад барина уу"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"Хаах"</string>
     <string name="remove_contact" msgid="1080555335283662961">"Хасах"</string>
+    <string name="wifi_no_signal_no_problem" msgid="5905489120009368358">"Дохио байхгүй юу? Ямар ч асуудалгүй."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Google-ийн Wi-Fi дуудлагыг идэвхжүүлэх"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Хүчтэй Wi-Fi дохиотой холбогдсон үед:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Дуудлага хийхэд үргэлж Wi-Fi ашиглах"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Үргэлж асуух"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Дуудлага хийхэд хэзээ ч Wi-Fi ашиглахгүй"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Дараах"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Буцах"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"За. Wi-Fi дуудлагыг тохируулчихлаа. Та дуртай үедээ тохиргоон дотроос сонголтоо өөрчлөх буюу унтраах боломжтой."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"Тийм, ойлголоо"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Дуудлагын тохиргоо"</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>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index 327920d..fa448a6 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -87,8 +87,7 @@
     <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_contact" msgid="8875804371377471164">"Tambah kenalan"</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>
@@ -162,6 +161,28 @@
     <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>
+    <!-- no translation found for wifi_no_signal_no_problem (5905489120009368358) -->
+    <skip />
+    <!-- no translation found for wifi_enable_google_wifi_calling (889688113802116339) -->
+    <skip />
+    <!-- no translation found for wifi_when_connected_to_a_signal (1380410417434941662) -->
+    <skip />
+    <!-- no translation found for wifi_always_use_wifi (5090531595867169067) -->
+    <skip />
+    <!-- no translation found for wifi_ask_use_wifi (2530040568117536243) -->
+    <skip />
+    <!-- no translation found for wifi_never_use_wifi (8523176164034184009) -->
+    <skip />
+    <!-- no translation found for wifi_next_setup_screen (6468744966620746912) -->
+    <skip />
+    <!-- no translation found for wifi_previous_setup_screen (8525707359376859298) -->
+    <skip />
+    <!-- no translation found for wifi_setup_completed (2823266959975201512) -->
+    <skip />
+    <!-- no translation found for wifi_setup_ok (7801061518697115555) -->
+    <skip />
+    <!-- no translation found for wifi_setup_settings_shortcut (278329876445606742) -->
+    <skip />
     <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>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 6661d5f..982864f 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Har du ikke signal? Ikke noe problem."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Aktiver ringing med Google Wi-Fi"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Når tilkoblet et sterkt Wi-Fi-signal:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Bruk alltid Wi-Fi for å ringe"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Spør alltid"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Bruk aldri Wi-Fi for å ringe"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Neste"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Tilbake"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Vips! Ringing via Wi-Fi er konfigurert. Du kan endre innstillingene dine eller slå funksjonen av i innstillingene."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"OK, skjønner"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Samtaleinnstillinger"</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>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 7ffc8bb..4e5a194 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Geen signaal? Geen probleem."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Google Bellen via wifi inschakelen"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Bij verbinding met een sterk wifi-signaal:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Altijd wifi gebruiken voor oproepen"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Altijd vragen"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Nooit wifi gebruiken voor oproepen"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Volgende"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Terug"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Bellen via wifi is helemaal ingesteld. U kunt op elk gewenst moment uw voorkeuren wijzigen of de functie uitschakelen via \'Instellingen\'."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"OK"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Oproepinstellingen"</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>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index df8d718..4d827b9 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Nie masz sygnału? Żaden problem."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Włącz połączenia telefoniczne Google przez Wi-Fi"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Gdy masz dobre połączenie z Wi-Fi:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Zawsze używaj Wi-Fi dla połączeń telefonicznych"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Zawsze pytaj"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Nigdy nie używaj Wi-Fi dla połączeń telefonicznych"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Dalej"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Wróć"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Voilà, połączenia telefoniczne przez Wi-Fi są teraz skonfigurowane. W ustawieniach możesz w dowolnym czasie dostosować opcje lub wyłączyć tę funkcję."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"OK"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Ustawienia połączeń"</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>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 87f48e0..e3b2aef 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Sem sinal? Não há problema."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Ativar o Google Wi-Fi Calling"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Quando ligado ao Wi-Fi com uma boa intensidade do sinal:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Utilizar sempre o Wi-Fi para efetuar chamadas"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Perguntar sempre"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Nunca utilizar o Wi-Fi para efetuar chamadas"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Seguinte"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Anterior"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Pronto! As chamadas por Wi-Fi já estão configuradas. Pode alterar as suas preferências ou desativar esta opção nas definições em qualquer altura."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"OK, compreendi"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Definições de chamadas"</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>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index e97721c..a082941 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -161,6 +161,28 @@
     <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>
+    <!-- no translation found for wifi_no_signal_no_problem (5905489120009368358) -->
+    <skip />
+    <!-- no translation found for wifi_enable_google_wifi_calling (889688113802116339) -->
+    <skip />
+    <!-- no translation found for wifi_when_connected_to_a_signal (1380410417434941662) -->
+    <skip />
+    <!-- no translation found for wifi_always_use_wifi (5090531595867169067) -->
+    <skip />
+    <!-- no translation found for wifi_ask_use_wifi (2530040568117536243) -->
+    <skip />
+    <!-- no translation found for wifi_never_use_wifi (8523176164034184009) -->
+    <skip />
+    <!-- no translation found for wifi_next_setup_screen (6468744966620746912) -->
+    <skip />
+    <!-- no translation found for wifi_previous_setup_screen (8525707359376859298) -->
+    <skip />
+    <!-- no translation found for wifi_setup_completed (2823266959975201512) -->
+    <skip />
+    <!-- no translation found for wifi_setup_ok (7801061518697115555) -->
+    <skip />
+    <!-- no translation found for wifi_setup_settings_shortcut (278329876445606742) -->
+    <skip />
     <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>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index b6cd048..35ff0b2 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -251,6 +251,28 @@
     <skip />
     <!-- no translation found for remove_contact (1080555335283662961) -->
     <skip />
+    <!-- no translation found for wifi_no_signal_no_problem (5905489120009368358) -->
+    <skip />
+    <!-- no translation found for wifi_enable_google_wifi_calling (889688113802116339) -->
+    <skip />
+    <!-- no translation found for wifi_when_connected_to_a_signal (1380410417434941662) -->
+    <skip />
+    <!-- no translation found for wifi_always_use_wifi (5090531595867169067) -->
+    <skip />
+    <!-- no translation found for wifi_ask_use_wifi (2530040568117536243) -->
+    <skip />
+    <!-- no translation found for wifi_never_use_wifi (8523176164034184009) -->
+    <skip />
+    <!-- no translation found for wifi_next_setup_screen (6468744966620746912) -->
+    <skip />
+    <!-- no translation found for wifi_previous_setup_screen (8525707359376859298) -->
+    <skip />
+    <!-- no translation found for wifi_setup_completed (2823266959975201512) -->
+    <skip />
+    <!-- no translation found for wifi_setup_ok (7801061518697115555) -->
+    <skip />
+    <!-- no translation found for wifi_setup_settings_shortcut (278329876445606742) -->
+    <skip />
     <!-- no translation found for favorites_menu_speed_dial (3832518092014707628) -->
     <skip />
     <!-- no translation found for favorites_menu_all_contacts (992506284449891186) -->
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 8da161f..630c2aa 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -87,8 +87,7 @@
     <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_contact" msgid="8875804371377471164">"Adăugați o persoană de contact"</string>
     <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>
@@ -162,6 +161,28 @@
     <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>
+    <!-- no translation found for wifi_no_signal_no_problem (5905489120009368358) -->
+    <skip />
+    <!-- no translation found for wifi_enable_google_wifi_calling (889688113802116339) -->
+    <skip />
+    <!-- no translation found for wifi_when_connected_to_a_signal (1380410417434941662) -->
+    <skip />
+    <!-- no translation found for wifi_always_use_wifi (5090531595867169067) -->
+    <skip />
+    <!-- no translation found for wifi_ask_use_wifi (2530040568117536243) -->
+    <skip />
+    <!-- no translation found for wifi_never_use_wifi (8523176164034184009) -->
+    <skip />
+    <!-- no translation found for wifi_next_setup_screen (6468744966620746912) -->
+    <skip />
+    <!-- no translation found for wifi_previous_setup_screen (8525707359376859298) -->
+    <skip />
+    <!-- no translation found for wifi_setup_completed (2823266959975201512) -->
+    <skip />
+    <!-- no translation found for wifi_setup_ok (7801061518697115555) -->
+    <skip />
+    <!-- no translation found for wifi_setup_settings_shortcut (278329876445606742) -->
+    <skip />
     <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>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 8944600..212133e 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -161,6 +161,28 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"Нажмите на фото, чтобы посмотреть информацию о контакте. Чтобы переставить контакт в списке, нажмите на него и передвиньте на нужное место."</string>
     <string name="description_dismiss" msgid="2146276780562549643">"Закрыть"</string>
     <string name="remove_contact" msgid="1080555335283662961">"Удалить"</string>
+    <!-- no translation found for wifi_no_signal_no_problem (5905489120009368358) -->
+    <skip />
+    <!-- no translation found for wifi_enable_google_wifi_calling (889688113802116339) -->
+    <skip />
+    <!-- no translation found for wifi_when_connected_to_a_signal (1380410417434941662) -->
+    <skip />
+    <!-- no translation found for wifi_always_use_wifi (5090531595867169067) -->
+    <skip />
+    <!-- no translation found for wifi_ask_use_wifi (2530040568117536243) -->
+    <skip />
+    <!-- no translation found for wifi_never_use_wifi (8523176164034184009) -->
+    <skip />
+    <!-- no translation found for wifi_next_setup_screen (6468744966620746912) -->
+    <skip />
+    <!-- no translation found for wifi_previous_setup_screen (8525707359376859298) -->
+    <skip />
+    <!-- no translation found for wifi_setup_completed (2823266959975201512) -->
+    <skip />
+    <!-- no translation found for wifi_setup_ok (7801061518697115555) -->
+    <skip />
+    <!-- no translation found for wifi_setup_settings_shortcut (278329876445606742) -->
+    <skip />
     <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>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 8484e9c..d638b72 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -161,6 +161,17 @@
     <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">"Zatvoriť"</string>
     <string name="remove_contact" msgid="1080555335283662961">"Odstrániť"</string>
+    <string name="wifi_no_signal_no_problem" msgid="5905489120009368358">"Žiadny signál? Žiadny problém."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Povoliť volanie prostredníctvom siete Wi-Fi od spoločnosti Google"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Pri silnom pripojení k sieti Wi-Fi:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Na volanie vždy používať sieť Wi-Fi"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Vždy sa opýtať"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Na volanie nikdy nepoužívať sieť Wi-Fi"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Ďalej"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Späť"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Výborne, volanie prostredníctvom siete Wi-Fi je nastavené. V Nastaveniach môžete zmeniť predvoľby alebo túto funkciu volania vypnúť."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"OK, rozumiem"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Nastavenia hovorov"</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>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 63bdf92..b6d3ac9 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Ni signala? Ne skrbite."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Omogoči klicanje prek storitve Google Wi-Fi"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Ko je vzpostavljena povezava z močnim signalom Wi-Fi:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Vedno uporabi povezavo Wi-Fi za klicanje"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Vedno vprašaj"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Nikoli ne uporabi povezave Wi-Fi za klicanje"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Naprej"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Nazaj"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Tako. Klicanje prek povezave Wi-Fi je nastavljeno. V nastavitvah lahko kadar koli spremenite nastavitve klicanja ali ga izklopite."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"V redu, razumem"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Klicne nastavitve"</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>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 8d6c91d..fc4fa88 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -161,6 +161,28 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"Додирните слику да бисте видели све бројеве или притисните и задржите да бисте променили распоред"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"Одбаци"</string>
     <string name="remove_contact" msgid="1080555335283662961">"Уклони"</string>
+    <!-- no translation found for wifi_no_signal_no_problem (5905489120009368358) -->
+    <skip />
+    <!-- no translation found for wifi_enable_google_wifi_calling (889688113802116339) -->
+    <skip />
+    <!-- no translation found for wifi_when_connected_to_a_signal (1380410417434941662) -->
+    <skip />
+    <!-- no translation found for wifi_always_use_wifi (5090531595867169067) -->
+    <skip />
+    <!-- no translation found for wifi_ask_use_wifi (2530040568117536243) -->
+    <skip />
+    <!-- no translation found for wifi_never_use_wifi (8523176164034184009) -->
+    <skip />
+    <!-- no translation found for wifi_next_setup_screen (6468744966620746912) -->
+    <skip />
+    <!-- no translation found for wifi_previous_setup_screen (8525707359376859298) -->
+    <skip />
+    <!-- no translation found for wifi_setup_completed (2823266959975201512) -->
+    <skip />
+    <!-- no translation found for wifi_setup_ok (7801061518697115555) -->
+    <skip />
+    <!-- no translation found for wifi_setup_settings_shortcut (278329876445606742) -->
+    <skip />
     <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>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 314fea1..88bb014 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Ingen signal? Inga problem."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Aktivera Wi-Fi-samtal via Google"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Vid anslutning till en stark Wi-Fi-signal:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Använd alltid Wi-Fi för att ringa"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Fråga alltid"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Använd aldrig Wi-Fi för att ringa"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Nästa"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Föregående"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Så där. Nu har samtal via Wi-Fi konfigurerats. Du kan ändra inställningarna eller inaktivera dem när som helst under Inställningar."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"OK, jag förstår"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Samtalsinställningar"</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>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 4ed4a5f..5028e8a 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Hakuna Mawimbi? Hakuna Tatizo."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Washa Upigaji simu kwa kutumia Google Wi-Fi"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Inapounganishwa kwenye mawimbi thabiti ya Wi-FI:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Tumia Wi-Fi kupiga simu wakati wote"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Uliza wakati wote"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Usitumie Wi-Fi kupiga simu kamwe"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Inayofuata"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Nyuma"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Boom. Upigaji simu kupitia Wi-Fi umesanidiwa. Unaweza kubadilisha mapendeleo yako au kuzima wakati wowote katika mipangilio."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"Sawa, nimeelewa"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Mipangilio ya simu"</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>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 73b12bc..856845f 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -161,6 +161,28 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"แตะรูปภาพเพื่อดูหมายเลขทั้งหมด หรือกดค้างเพื่อจัดลำดับใหม่"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"ปิด"</string>
     <string name="remove_contact" msgid="1080555335283662961">"นำออก"</string>
+    <!-- no translation found for wifi_no_signal_no_problem (5905489120009368358) -->
+    <skip />
+    <!-- no translation found for wifi_enable_google_wifi_calling (889688113802116339) -->
+    <skip />
+    <!-- no translation found for wifi_when_connected_to_a_signal (1380410417434941662) -->
+    <skip />
+    <!-- no translation found for wifi_always_use_wifi (5090531595867169067) -->
+    <skip />
+    <!-- no translation found for wifi_ask_use_wifi (2530040568117536243) -->
+    <skip />
+    <!-- no translation found for wifi_never_use_wifi (8523176164034184009) -->
+    <skip />
+    <!-- no translation found for wifi_next_setup_screen (6468744966620746912) -->
+    <skip />
+    <!-- no translation found for wifi_previous_setup_screen (8525707359376859298) -->
+    <skip />
+    <!-- no translation found for wifi_setup_completed (2823266959975201512) -->
+    <skip />
+    <!-- no translation found for wifi_setup_ok (7801061518697115555) -->
+    <skip />
+    <!-- no translation found for wifi_setup_settings_shortcut (278329876445606742) -->
+    <skip />
     <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>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 162487a..4c113e6 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -161,6 +161,28 @@
     <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>
+    <!-- no translation found for wifi_no_signal_no_problem (5905489120009368358) -->
+    <skip />
+    <!-- no translation found for wifi_enable_google_wifi_calling (889688113802116339) -->
+    <skip />
+    <!-- no translation found for wifi_when_connected_to_a_signal (1380410417434941662) -->
+    <skip />
+    <!-- no translation found for wifi_always_use_wifi (5090531595867169067) -->
+    <skip />
+    <!-- no translation found for wifi_ask_use_wifi (2530040568117536243) -->
+    <skip />
+    <!-- no translation found for wifi_never_use_wifi (8523176164034184009) -->
+    <skip />
+    <!-- no translation found for wifi_next_setup_screen (6468744966620746912) -->
+    <skip />
+    <!-- no translation found for wifi_previous_setup_screen (8525707359376859298) -->
+    <skip />
+    <!-- no translation found for wifi_setup_completed (2823266959975201512) -->
+    <skip />
+    <!-- no translation found for wifi_setup_ok (7801061518697115555) -->
+    <skip />
+    <!-- no translation found for wifi_setup_settings_shortcut (278329876445606742) -->
+    <skip />
     <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>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 9e5944b..7000fdc 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Sinyal yok mu? Sorun değil."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Google Wi-Fi Calling özelliğini etkinleştir"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Güçlü bir Kablosuz sinyale bağlandığında:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Telefon etmek için her zaman Kablosuz bağlantıyı kullan"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Her zaman sor"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Telefon etmek için Kablosuz bağlantıyı hiçbir zaman kullanma"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"İleri"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Geri"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"İşte oldu. Kablosuz çağrı özelliği kuruldu. İstediğiniz zaman ayarlardan tercihlerinizi değiştirebilir veya bu özelliği kapatabilirsiniz."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"Tamam, anladım"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Çağrı ayarları"</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>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 483fdd5..31c0078 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -161,6 +161,17 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"Торкніться зображення, щоб побачити всі номери, або натисніть і утримуйте, щоб змінити порядок"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"Закрити"</string>
     <string name="remove_contact" msgid="1080555335283662961">"Видалити"</string>
+    <string name="wifi_no_signal_no_problem" msgid="5905489120009368358">"Немає сигналу? Не хвилюйтеся."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Увімкнути дзвінки через Wi-Fi від Google"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Коли є потужний сигнал Wi-Fi…"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Завжди телефонувати через Wi-Fi"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Завжди запитувати"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Ніколи не телефонувати через Wi-Fi"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Далі"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Назад"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Дзвінки через Wi-Fi налаштовано. Ви можете будь-коли змінити параметри або вимкнути дзвінки через Wi-Fi у налаштуваннях."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"Зрозуміло"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Налаштування дзвінків"</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>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 208b13d..ab4a5c2 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Không có tín hiệu? Không vấn đề gì."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Bật Gọi bằng Wi-Fi của Google"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Khi kết nối với tín hiệu Wi-Fi mạnh:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Luôn sử dụng Wi-Fi để thực hiện cuộc gọi"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Luôn hỏi"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Không bao giờ sử dụng Wi-Fi để thực hiện cuộc gọi"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Tiếp theo"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Quay lại"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Gọi bằng Wi-Fi đã được thiết lập. Bạn có thể thay đổi tùy chọn của mình hoặc tắt tùy chọn bất cứ lúc nào trong cài đặt."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"OK"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Cài đặt cuộc gọi"</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>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 5dee4ca..f1af9b4 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -87,8 +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>
-    <!-- no translation found for add_contact (8875804371377471164) -->
-    <skip />
+    <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>
@@ -162,6 +161,28 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"点按图片可查看所有号码，按住图片可重新排序"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"关闭"</string>
     <string name="remove_contact" msgid="1080555335283662961">"移除"</string>
+    <!-- no translation found for wifi_no_signal_no_problem (5905489120009368358) -->
+    <skip />
+    <!-- no translation found for wifi_enable_google_wifi_calling (889688113802116339) -->
+    <skip />
+    <!-- no translation found for wifi_when_connected_to_a_signal (1380410417434941662) -->
+    <skip />
+    <!-- no translation found for wifi_always_use_wifi (5090531595867169067) -->
+    <skip />
+    <!-- no translation found for wifi_ask_use_wifi (2530040568117536243) -->
+    <skip />
+    <!-- no translation found for wifi_never_use_wifi (8523176164034184009) -->
+    <skip />
+    <!-- no translation found for wifi_next_setup_screen (6468744966620746912) -->
+    <skip />
+    <!-- no translation found for wifi_previous_setup_screen (8525707359376859298) -->
+    <skip />
+    <!-- no translation found for wifi_setup_completed (2823266959975201512) -->
+    <skip />
+    <!-- no translation found for wifi_setup_ok (7801061518697115555) -->
+    <skip />
+    <!-- no translation found for wifi_setup_settings_shortcut (278329876445606742) -->
+    <skip />
     <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>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 90f5928..7d05eff 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -161,6 +161,17 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"輕按相片可查看所有號碼，按住則可重新排序"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"關閉"</string>
     <string name="remove_contact" msgid="1080555335283662961">"移除"</string>
+    <string name="wifi_no_signal_no_problem" msgid="5905489120009368358">"沒有訊號嗎？沒問題。"</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"啟用 Google Wi-Fi 通話功能"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"當連接穩定的 Wi-Fi 訊號時："</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"一律使用 Wi-Fi 撥打電話"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"一律詢問"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"永不使用 Wi-Fi 撥打電話"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"下一步"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"返回"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"準備就緒！系統已經完成設定 Wi-Fi 通話功能。您可以隨時在設定中變更偏好或關閉這項功能。"</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"好，我明白了"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"通話設定"</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>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 5aaf726..a1f3222 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -161,6 +161,28 @@
     <string name="contact_tooltip" msgid="7817483485692282287">"輕按圖片即可查看所有號碼，按住圖片則可重新排序"</string>
     <string name="description_dismiss" msgid="2146276780562549643">"關閉"</string>
     <string name="remove_contact" msgid="1080555335283662961">"移除"</string>
+    <!-- no translation found for wifi_no_signal_no_problem (5905489120009368358) -->
+    <skip />
+    <!-- no translation found for wifi_enable_google_wifi_calling (889688113802116339) -->
+    <skip />
+    <!-- no translation found for wifi_when_connected_to_a_signal (1380410417434941662) -->
+    <skip />
+    <!-- no translation found for wifi_always_use_wifi (5090531595867169067) -->
+    <skip />
+    <!-- no translation found for wifi_ask_use_wifi (2530040568117536243) -->
+    <skip />
+    <!-- no translation found for wifi_never_use_wifi (8523176164034184009) -->
+    <skip />
+    <!-- no translation found for wifi_next_setup_screen (6468744966620746912) -->
+    <skip />
+    <!-- no translation found for wifi_previous_setup_screen (8525707359376859298) -->
+    <skip />
+    <!-- no translation found for wifi_setup_completed (2823266959975201512) -->
+    <skip />
+    <!-- no translation found for wifi_setup_ok (7801061518697115555) -->
+    <skip />
+    <!-- no translation found for wifi_setup_settings_shortcut (278329876445606742) -->
+    <skip />
     <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>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 343d128..e5b974a 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -161,6 +161,17 @@
     <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="wifi_no_signal_no_problem" msgid="5905489120009368358">"Ayikho isiginali? Ayikho inkinga."</string>
+    <string name="wifi_enable_google_wifi_calling" msgid="889688113802116339">"Nika amandla ukushaya kwe-Google Wi-Fi"</string>
+    <string name="wifi_when_connected_to_a_signal" msgid="1380410417434941662">"Uma ixhunywe kusiginali enamandla ye-Wi-Fi:"</string>
+    <string name="wifi_always_use_wifi" msgid="5090531595867169067">"Njalo sebenzisa i-Wi-Fi ukuze wenze amakholi"</string>
+    <string name="wifi_ask_use_wifi" msgid="2530040568117536243">"Cela njalo"</string>
+    <string name="wifi_never_use_wifi" msgid="8523176164034184009">"Ungalokothi usebenzise i-Wi-Fi ukuze wenze amakholi"</string>
+    <string name="wifi_next_setup_screen" msgid="6468744966620746912">"Okulandelayo"</string>
+    <string name="wifi_previous_setup_screen" msgid="8525707359376859298">"Phindela emuva"</string>
+    <string name="wifi_setup_completed" msgid="2823266959975201512">"Bhumu. Ukushaya kwe-Wi-Fi sokusethwe konke. Ungaguqula okuncamelayo noma ukuvale noma kunini kuzilungiselelo."</string>
+    <string name="wifi_setup_ok" msgid="7801061518697115555">"Kulungile, ngiyitholile"</string>
+    <string name="wifi_setup_settings_shortcut" msgid="278329876445606742">"Izilungiselelo zekholi"</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>
diff --git a/res/values/animation_constants.xml b/res/values/animation_constants.xml
index 4e4bc36..7863060 100644
--- a/res/values/animation_constants.xml
+++ b/res/values/animation_constants.xml
@@ -27,4 +27,16 @@
     <dimen name="min_swipe">0dip</dimen>
     <dimen name="min_vert">10dip</dimen>
     <dimen name="min_lock">20dip</dimen>
+
+    <!-- Expand/collapse of call log entry duration. -->
+    <integer name="call_log_expand_collapse_duration">200</integer>
+
+    <!-- Start delay for the fade in of the call log actions. -->
+    <integer name="call_log_actions_fade_start">150</integer>
+
+    <!-- Duration of the fade in of the call log actions. -->
+    <integer name="call_log_actions_fade_in_duration">200</integer>
+
+    <!-- Duration of the fade out of the call log actions. -->
+    <integer name="call_log_actions_fade_out_duration">20</integer>
 </resources>
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index f734aae..23f639f 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -31,4 +31,6 @@
         <attr name="call_log_voicemail_status_action_text_color" format="color" />
     </declare-styleable>
 
+    <declare-styleable name="SearchEditTextLayout" />
+
 </resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 4874e1f..301d416 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -59,6 +59,7 @@
     <color name="searchbox_text_color">#000000</color>
     <!-- Text color of the search box hint text  -->
     <color name="searchbox_hint_text_color">#d3d3d3</color>
+    <color name="searchbox_options_menu_color">#d5d5d5</color>
 
     <!-- Color of the contact name in favorite tiles -->
     <color name="contact_tile_name_color">#ffffff</color>
@@ -105,11 +106,6 @@
     <!-- 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_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>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 89bd592..93b98ef 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -113,7 +113,6 @@
 
     <!-- Size of text in tabs. -->
     <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>
@@ -130,4 +129,6 @@
     <dimen name="call_log_action_height">48dp</dimen>
     <!-- Elevation of expanded call log items. -->
     <dimen name="call_log_expanded_elevation">4dp</dimen>
+    <!-- Padding above call log day group headers. -->
+    <dimen name="call_log_day_group_padding">16dp</dimen>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index d6d4766..0f66131 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -429,13 +429,6 @@
     -->
     <string name="description_contact_details">Contact details for <xliff:g id="nameOrNumber">%1$s</xliff:g></string>
 
-    <!-- String describing the button to access call details in the call log.
-
-        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_details">Call details</string>
-
     <!-- String indicating a call log entry has an associated voicemail.
 
     Note: AccessibilityServices use this attribute to announce what the view represents.
@@ -664,10 +657,6 @@
          Do not translate. -->
     <string name="search_font_family">sans-serif</string>
 
-    <!-- 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] -->
@@ -684,6 +673,12 @@
          [CHAR LIMIT=30] -->
     <string name="call_log_action_voicemail">LISTEN</string>
 
+    <!-- Button text for the "DETAILS" button displayed underneath an entry in the call log.
+         Tapping navigates the user to the call details screen where the user can view details for
+         the call log entry.
+         [CHAR LIMIT=30] -->
+    <string name="call_log_action_details">DETAILS</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] -->
@@ -718,6 +713,21 @@
          [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 describing the "details" action for an entry in the call log.  The details action
+         displays the call details screen for an entry in the call log.  This shows the calls to
+         and from the specified number associated with the call log entry.
+         [CHAR LIMIT=NONE] -->
+    <string name="description_details_action">Call details for <xliff:g id="nameOrNumber" example="John Smith">%1$s</xliff:g></string>
+
+    <!-- Toast message which appears when a call log entry is deleted.
+         [CHAR LIMIT=NONE] -->
     <string name="toast_entry_removed">Call log entry deleted.</string>
+
+    <!-- String used as a header in the call log above calls which occurred last week.
+         [CHAR LIMIT=65] -->
+    <string name="call_log_header_last_week">Last week</string>
+
+    <!-- String used as a header in the call log above calls which ocurred more than a week ago.
+         [CHAR LIMIT=65] -->
+    <string name="call_log_header_other">Other</string>
 </resources>
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index 8d14f01..6fdf549 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -40,15 +40,18 @@
 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.KeyEvent;
 import android.view.Menu;
-import android.view.MenuInflater;
 import android.view.MenuItem;
+import android.view.MotionEvent;
 import android.view.View;
 import android.view.View.OnDragListener;
 import android.view.animation.AccelerateInterpolator;
+import android.view.animation.Animation;
+import android.view.animation.Animation.AnimationListener;
+import android.view.animation.AnimationUtils;
 import android.view.animation.DecelerateInterpolator;
 import android.view.animation.Interpolator;
 import android.view.inputmethod.InputMethodManager;
@@ -81,6 +84,7 @@
 import com.android.dialer.list.RemoveView;
 import com.android.dialer.list.SearchFragment;
 import com.android.dialer.list.SmartDialSearchFragment;
+import com.android.dialer.widget.SearchEditTextLayout;
 import com.android.dialerbind.DatabaseHelperManager;
 import com.android.internal.telephony.ITelephony;
 
@@ -96,8 +100,9 @@
         DialpadFragment.HostInterface,
         ListsFragment.HostInterface,
         SpeedDialFragment.HostInterface,
-        OnDragDropListener, View.OnLongClickListener,
+        OnDragDropListener,
         OnPhoneNumberPickerActionListener,
+        PopupMenu.OnMenuItemClickListener,
         ViewPager.OnPageChangeListener {
     private static final String TAG = "DialtactsActivity";
 
@@ -157,13 +162,11 @@
     private View mFloatingActionButtonContainer;
     private ImageButton mFloatingActionButton;
 
-    private View mFragmentsFrame;
-
     private int mActionBarHeight;
     private boolean mInDialpadSearch;
     private boolean mInRegularSearch;
     private boolean mClearSearchOnPause;
-    private boolean isDialpadShown;
+    private boolean mIsDialpadShown;
 
     /**
      * The position of the currently selected tab in the attached {@link ListsFragment}.
@@ -189,6 +192,7 @@
     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
@@ -203,11 +207,8 @@
     private DialerDatabaseHelper mDialerDatabaseHelper;
     private DragDropController mDragDropController;
 
-    private int mDialerBackgroundColor;
-    private int mContactListBackgroundColor;
-
-    private class OverflowPopupMenu extends PopupMenu {
-        public OverflowPopupMenu(Context context, View anchor) {
+    private class OptionsPopupMenu extends PopupMenu {
+        public OptionsPopupMenu(Context context, View anchor) {
             super(context, anchor);
         }
 
@@ -215,8 +216,9 @@
         public void show() {
             final Menu menu = getMenu();
             final MenuItem clearFrequents = menu.findItem(R.id.menu_clear_frequents);
-            // TODO: Check mSpeedDialFragment.hasFrequents()
-            clearFrequents.setVisible(true);
+            clearFrequents.setVisible(mListsFragment != null &&
+                    mListsFragment.getSpeedDialFragment() != null &&
+                    mListsFragment.getSpeedDialFragment().hasFrequents());
             super.show();
         }
     }
@@ -240,60 +242,82 @@
      * Listener used to send search queries to the phone search fragment.
      */
     private final TextWatcher mPhoneSearchQueryTextListener = new TextWatcher() {
-            @Override
-            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
-            }
+        @Override
+        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+        }
 
-            @Override
-            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;
-                }
-                mSearchQuery = newText;
-                if (DEBUG) {
-                    Log.d(TAG, "onTextChange for mSearchView called with new query: " + newText);
-                }
-                final boolean dialpadSearch = isDialpadShowing();
-
-                // Show search result with non-empty text. Show a bare list otherwise.
-                if (TextUtils.isEmpty(newText) && getInSearchUi()) {
-                    exitSearchUi();
-                    mSearchViewCloseButton.setVisibility(View.GONE);
-                    mVoiceSearchButton.setVisibility(View.VISIBLE);
-                    return;
-                } else if (!TextUtils.isEmpty(newText)) {
-                    final boolean sameSearchMode = (dialpadSearch && mInDialpadSearch) ||
-                            (!dialpadSearch && mInRegularSearch);
-                    if (!sameSearchMode) {
-                        // call enterSearchUi only if we are switching search modes, or entering
-                        // search ui for the first time
-                        enterSearchUi(dialpadSearch, newText);
-                    }
-
-                    if (dialpadSearch && mSmartDialSearchFragment != null) {
-                            mSmartDialSearchFragment.setQueryString(newText, false);
-                    } else if (mRegularSearchFragment != null) {
-                        mRegularSearchFragment.setQueryString(newText, false);
-                    }
-                    mSearchViewCloseButton.setVisibility(View.VISIBLE);
-                    mVoiceSearchButton.setVisibility(View.GONE);
-                    return;
-                }
+        @Override
+        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;
             }
-
-            @Override
-            public void afterTextChanged(Editable s) {
+            mSearchQuery = newText;
+            if (DEBUG) {
+                Log.d(TAG, "onTextChange for mSearchView called with new query: " + newText);
             }
+
+            // Show search fragment only when the query string is changed to non-empty text.
+            if (!TextUtils.isEmpty(newText)) {
+                // Call enterSearchUi only if we are switching search modes, or showing a search
+                // fragment for the first time.
+                final boolean sameSearchMode = (mIsDialpadShown && mInDialpadSearch) ||
+                        (!mIsDialpadShown && mInRegularSearch);
+                if (!sameSearchMode) {
+                    enterSearchUi(mIsDialpadShown, mSearchQuery);
+                }
+            }
+
+            if (mIsDialpadShown && mSmartDialSearchFragment != null) {
+                mSmartDialSearchFragment.setQueryString(mSearchQuery, false /* delaySelection */);
+            } else if (mRegularSearchFragment != null) {
+                mRegularSearchFragment.setQueryString(mSearchQuery, false /* delaySelection */);
+            }
+
+            if (TextUtils.isEmpty(newText)) {
+                mSearchViewCloseButton.setVisibility(View.GONE);
+                mVoiceSearchButton.setVisibility(View.VISIBLE);
+            } else {
+                mSearchViewCloseButton.setVisibility(View.VISIBLE);
+                mVoiceSearchButton.setVisibility(View.GONE);
+            }
+        }
+
+        @Override
+        public void afterTextChanged(Editable s) {
+        }
     };
 
-    private boolean isDialpadShowing() {
-        return mDialpadFragment != null && mDialpadFragment.isVisible();
-    }
+
+    /**
+     * Open the search UI when the user touches the search text view.
+     */
+    private final View.OnTouchListener mSearchViewOnTouchListener = new View.OnTouchListener() {
+        @Override
+        public boolean onTouch(View v, MotionEvent event) {
+            if (!isInSearchUi()) {
+                enterSearchUi(false /* smartDialSearch */, mSearchView.getText().toString());
+            }
+            return false;
+        }
+    };
+
+    /**
+     * If the search term is empty and the user closes the soft keyboard, close the search UI.
+     */
+    private final View.OnKeyListener mSearchEditTextLayoutListener = new View.OnKeyListener() {
+        @Override
+        public boolean onKey(View v, int keyCode, KeyEvent event) {
+            if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN &&
+                    TextUtils.isEmpty(mSearchView.getText().toString())) {
+                onBackPressed();
+            }
+            return false;
+        }
+    };
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -307,14 +331,22 @@
         actionBar.setCustomView(R.layout.search_edittext);
         actionBar.setDisplayShowCustomEnabled(true);
 
-        final View customView = actionBar.getCustomView();
+        SearchEditTextLayout actionBarView = (SearchEditTextLayout) actionBar.getCustomView();
+        actionBarView.setPreImeKeyListener(mSearchEditTextLayoutListener);
 
-        mSearchView = (EditText) customView.findViewById(R.id.search_view);
+        mSearchView = (EditText) actionBarView.findViewById(R.id.search_view);
         mSearchView.addTextChangedListener(mPhoneSearchQueryTextListener);
+        mSearchView.setOnTouchListener(mSearchViewOnTouchListener);
 
-        mSearchViewCloseButton = customView.findViewById(R.id.search_close_button);
+        mSearchViewCloseButton = actionBarView.findViewById(R.id.search_close_button);
         mSearchViewCloseButton.setOnClickListener(this);
 
+        ImageButton optionsMenuButton =
+                (ImageButton) actionBarView.findViewById(R.id.dialtacts_options_menu_button);
+        optionsMenuButton.setOnClickListener(this);
+        final OptionsPopupMenu optionsMenu = buildOptionsMenu(optionsMenuButton);
+        optionsMenuButton.setOnTouchListener(optionsMenu.getDragToOpenListener());
+
         final TypedArray styledAttributes = getTheme().obtainStyledAttributes(
                 new int[] { android.R.attr.actionBarSize });
         mActionBarHeight = (int) styledAttributes.getDimension(0, 0);
@@ -338,12 +370,6 @@
         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);
-
         mFloatingActionButtonContainer = findViewById(R.id.floating_action_button_container);
         ViewUtil.setupFloatingActionButton(mFloatingActionButtonContainer, getResources());
 
@@ -398,15 +424,9 @@
         } else if (fragment instanceof SmartDialSearchFragment) {
             mSmartDialSearchFragment = (SmartDialSearchFragment) fragment;
             mSmartDialSearchFragment.setOnPhoneNumberPickerActionListener(this);
-            if (mFragmentsFrame != null) {
-                mFragmentsFrame.setAlpha(1.0f);
-            }
         } else if (fragment instanceof SearchFragment) {
             mRegularSearchFragment = (RegularSearchFragment) fragment;
             mRegularSearchFragment.setOnPhoneNumberPickerActionListener(this);
-            if (mFragmentsFrame != null) {
-                mFragmentsFrame.setAlpha(1.0f);
-            }
         } else if (fragment instanceof ListsFragment) {
             mListsFragment = (ListsFragment) fragment;
             mListsFragment.addOnPageChangeListener(this);
@@ -426,7 +446,7 @@
     public void onClick(View view) {
         switch (view.getId()) {
             case R.id.floating_action_button:
-                if (!isDialpadShown) {
+                if (!mIsDialpadShown) {
                     mInCallDialpadUp = false;
                     showDialpadFragment(true);
                 } else {
@@ -450,6 +470,9 @@
                             Toast.LENGTH_SHORT).show();
                 }
                 break;
+            case R.id.dialtacts_options_menu_button:
+                buildOptionsMenu(view).show();
+                break;
             default: {
                 Log.wtf(TAG, "Unexpected onClick event from " + view);
                 break;
@@ -458,7 +481,7 @@
     }
 
     @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
+    public boolean onMenuItemClick(MenuItem item) {
         switch (item.getItemId()) {
             case R.id.menu_history:
                 showCallHistory();
@@ -482,8 +505,6 @@
                         DialtactsActivity.class);
                 return true;
             case R.id.menu_clear_frequents:
-                // TODO: This should be enabled/disabled based on
-                // SpeedDialFragment.hasFrequents
                 ClearFrequentsDialog.show(getFragmentManager());
                 return true;
             case R.id.menu_call_settings:
@@ -494,22 +515,6 @@
     }
 
     @Override
-    public boolean onLongClick(View view) {
-        switch (view.getId()) {
-            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;
-    }
-
-    @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (requestCode == ACTIVITY_REQUEST_CODE_VOICE_SEARCH) {
             if (resultCode == RESULT_OK) {
@@ -528,35 +533,103 @@
         super.onActivityResult(requestCode, resultCode, data);
     }
 
+    /**
+     * Initiates a fragment transaction to show the dialpad fragment. Animations and other visual
+     * updates are handled by a callback which is invoked after the dialpad fragment is shown.
+     * @see #onDialpadShown
+     */
     private void showDialpadFragment(boolean animate) {
+        if (mIsDialpadShown) {
+            return;
+        }
+        mIsDialpadShown = true;
         mDialpadFragment.setAnimate(animate);
 
         final FragmentTransaction ft = getFragmentManager().beginTransaction();
-        if (animate) {
-            ft.setCustomAnimations(R.anim.slide_in, 0);
+        ft.show(mDialpadFragment);
+        ft.commit();
+
+        if (!isInSearchUi()) {
+            enterSearchUi(true /* isSmartDial */, mSearchQuery);
+        }
+    }
+
+    /**
+     * Callback from child DialpadFragment when the dialpad is shown.
+     */
+    public void onDialpadShown() {
+        updateFloatingActionButton();
+        if (mDialpadFragment.getAnimate()) {
+            Animation slideIn = AnimationUtils.loadAnimation(this, R.anim.slide_in);
+            mDialpadFragment.getView().startAnimation(slideIn);
         } else {
             mDialpadFragment.setYFraction(0);
         }
-        ft.show(mDialpadFragment);
-        ft.commit();
+
+        updateSearchFragmentPosition();
+        getActionBar().hide();
     }
 
+    /**
+     * Initiates animations and other visual updates to hide the dialpad. The fragment is hidden in
+     * a callback after the hide animation ends.
+     * @see #commitDialpadFragmentHide
+     */
     public void hideDialpadFragment(boolean animate, boolean clearDialpad) {
-        if (mDialpadFragment == null) return;
+        if (mDialpadFragment == null) {
+            return;
+        }
         if (clearDialpad) {
             mDialpadFragment.clearDialpad();
         }
-        if (!mDialpadFragment.isVisible()) return;
-        mDialpadFragment.setAnimate(animate);
-        final FragmentTransaction ft = getFragmentManager().beginTransaction();
-        if (animate) {
-            ft.setCustomAnimations(0, R.anim.slide_out);
+        if (!mIsDialpadShown) {
+            return;
         }
+        mIsDialpadShown = false;
+        mDialpadFragment.setAnimate(animate);
+
+        updateSearchFragmentPosition();
+        updateFloatingActionButton();
+        if (animate) {
+            Animation slideOut = AnimationUtils.loadAnimation(this, R.anim.slide_out);
+            slideOut.setAnimationListener(new ActivityAnimationListener() {
+                @Override
+                public void onAnimationEnd(Animation animation) {
+                    commitDialpadFragmentHide();
+                }
+            });
+            mDialpadFragment.getView().startAnimation(slideOut);
+        } else {
+            commitDialpadFragmentHide();
+        }
+
+        mListsFragment.maybeShowActionBar();
+    }
+
+    /**
+     * Finishes hiding the dialpad fragment after any animations are completed.
+     */
+    private void commitDialpadFragmentHide() {
+        final FragmentTransaction ft = getFragmentManager().beginTransaction();
         ft.hide(mDialpadFragment);
         ft.commit();
     }
 
-    private boolean getInSearchUi() {
+    private void updateSearchFragmentPosition() {
+        int translationValue = mIsDialpadShown ?  -mActionBarHeight : 0;
+        SearchFragment fragment = null;
+        if (mSmartDialSearchFragment != null && mSmartDialSearchFragment.isVisible()) {
+            fragment = mSmartDialSearchFragment;
+        } else if (mRegularSearchFragment != null && mRegularSearchFragment.isVisible()) {
+            fragment = mRegularSearchFragment;
+        }
+        if (fragment != null && fragment.isVisible()) {
+            fragment.getView().animate().translationY(translationValue)
+                    .setInterpolator(hideActionBarInterpolator).setDuration(ANIMATION_DURATION);
+        }
+    }
+
+    private boolean isInSearchUi() {
         return mInDialpadSearch || mInRegularSearch;
     }
 
@@ -570,64 +643,6 @@
         hideDialpadFragment(false, true);
     }
 
-    /**
-     * Callback from child DialpadFragment when the dialpad is shown.
-     */
-    public void onDialpadShown() {
-        isDialpadShown = true;
-        mFloatingActionButton.setImageResource(R.drawable.fab_ic_call);
-        mFloatingActionButton.setContentDescription(
-                getResources().getString(R.string.description_dial_button));
-
-        SearchFragment fragment = null;
-        if (mInDialpadSearch) {
-            fragment = mSmartDialSearchFragment;
-        } else if (mInRegularSearch) {
-            fragment = mRegularSearchFragment;
-        }
-        if (fragment != null && fragment.isVisible()) {
-            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() {
-        isDialpadShown = false;
-        mFloatingActionButton.setImageResource(R.drawable.fab_ic_dial);
-        mFloatingActionButton.setContentDescription(
-                getResources().getString(R.string.action_menu_dialpad_button));
-
-        SearchFragment fragment = null;
-        if (mInDialpadSearch) {
-            fragment = mSmartDialSearchFragment;
-        } else if (mInRegularSearch) {
-            fragment = mRegularSearchFragment;
-        }
-        if (fragment != null && fragment.isVisible()) {
-            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) {
         final InputMethodManager imm = (InputMethodManager) getSystemService(
                 Context.INPUT_METHOD_SERVICE);
@@ -647,19 +662,20 @@
         }
     }
 
+    private OptionsPopupMenu buildOptionsMenu(View invoker) {
+        final OptionsPopupMenu popupMenu = new OptionsPopupMenu(this, invoker);
+        popupMenu.inflate(R.menu.dialtacts_options);
+        popupMenu.setOnMenuItemClickListener(this);
+        return popupMenu;
+    }
+
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
-        if (DEBUG) {
-            Log.d(TAG, "onCreateOptionsMenu");
-        }
-        MenuInflater inflater = getMenuInflater();
-        inflater.inflate(R.menu.dialtacts_options, menu);
-
         if (mPendingSearchViewQuery != null) {
             mSearchView.setText(mPendingSearchViewQuery);
             mPendingSearchViewQuery = null;
         }
-        return super.onCreateOptionsMenu(menu);
+        return false;
     }
 
     /**
@@ -759,8 +775,6 @@
         }
 
         final FragmentTransaction transaction = getFragmentManager().beginTransaction();
-
-        SearchFragment fragment;
         if (mInDialpadSearch && mSmartDialSearchFragment != null) {
             transaction.remove(mSmartDialSearchFragment);
         } else if (mInRegularSearch && mRegularSearchFragment != null) {
@@ -776,20 +790,26 @@
         mInDialpadSearch = smartDialSearch;
         mInRegularSearch = !smartDialSearch;
 
-        fragment = (SearchFragment) getFragmentManager().findFragmentByTag(tag);
+        SearchFragment fragment = (SearchFragment) getFragmentManager().findFragmentByTag(tag);
+        transaction.setCustomAnimations(android.R.animator.fade_in, 0);
         if (fragment == null) {
             if (smartDialSearch) {
                 fragment = new SmartDialSearchFragment();
             } else {
                 fragment = new RegularSearchFragment();
             }
+            transaction.add(R.id.dialtacts_frame, fragment, tag);
+        } else {
+            transaction.show(fragment);
         }
+
         // DialtactsActivity will provide the options menu
         fragment.setHasOptionsMenu(false);
-        transaction.replace(R.id.dialtacts_frame, fragment, tag);
-        transaction.addToBackStack(null);
-        fragment.setQueryString(query, false);
+        fragment.setShowEmptyListForNullQuery(true);
+        fragment.setQueryString(query, false /* delaySelection */);
         transaction.commit();
+
+        mListsFragment.getView().animate().alpha(0).withLayer();
     }
 
     /**
@@ -800,14 +820,23 @@
         if (getFragmentManager().isDestroyed()) {
             return;
         }
-        // Go all the way back to the favorites fragment, regardless of how many times we
-        // transitioned between search fragments
-        getFragmentManager().popBackStack(0, FragmentManager.POP_BACK_STACK_INCLUSIVE);
+
+        mSearchView.setText(null);
+        mDialpadFragment.clearDialpad();
         setNotInSearchUi();
 
-        if (isDialpadShowing()) {
-            mFragmentsFrame.setAlpha(0);
+        final FragmentTransaction transaction = getFragmentManager().beginTransaction();
+        transaction.setCustomAnimations(0, android.R.animator.fade_out);
+
+        if (mSmartDialSearchFragment != null) {
+            transaction.remove(mSmartDialSearchFragment);
         }
+        if (mRegularSearchFragment != null) {
+            transaction.remove(mRegularSearchFragment);
+        }
+        transaction.commit();
+
+        mListsFragment.getView().animate().alpha(1).withLayer();
     }
 
     /** Returns an Intent to launch Call Settings screen */
@@ -820,11 +849,13 @@
 
     @Override
     public void onBackPressed() {
-        if (mDialpadFragment != null && mDialpadFragment.isVisible()) {
+        if (mIsDialpadShown) {
+            if (TextUtils.isEmpty(mSearchQuery)) {
+                exitSearchUi();
+            }
             hideDialpadFragment(true, false);
-        } else if (getInSearchUi()) {
-            mSearchView.setText(null);
-            mDialpadFragment.clearDialpad();
+        } else if (isInSearchUi()) {
+            exitSearchUi();
         } else {
             super.onBackPressed();
         }
@@ -867,7 +898,7 @@
 
     @Override
     public void onListFragmentScroll(int firstVisibleItem, int visibleItemCount,
-            int totalItemCount) {
+                                     int totalItemCount) {
         // TODO: No-op for now. This should eventually show/hide the actionBar based on
         // interactions with the ListsFragments.
     }
@@ -946,7 +977,7 @@
         // 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());
+                DialtactsActivity.this, dataUri, getCallOrigin());
         mClearSearchOnPause = true;
     }
 
@@ -980,7 +1011,7 @@
     public void onPageSelected(int position) {
         mCurrentTabPosition = position;
         // If the dialpad is showing, the floating action button should always be middle aligned.
-        if (!isDialpadShowing()) {
+        if (!mIsDialpadShown) {
             alignFloatingActionButtonByTab(mCurrentTabPosition);
         }
     }
@@ -989,6 +1020,20 @@
     public void onPageScrollStateChanged(int state) {
     }
 
+    private void updateFloatingActionButton() {
+        if (mIsDialpadShown) {
+            mFloatingActionButton.setImageResource(R.drawable.fab_ic_call);
+            mFloatingActionButton.setContentDescription(
+                    getResources().getString(R.string.description_dial_button));
+            alignFloatingActionButtonMiddle();
+        } else {
+            mFloatingActionButton.setImageResource(R.drawable.fab_ic_dial);
+            mFloatingActionButton.setContentDescription(
+                    getResources().getString(R.string.action_menu_dialpad_button));
+            alignFloatingActionButtonByTab(mCurrentTabPosition);
+        }
+    }
+
     private void alignFloatingActionButtonByTab(int position) {
         if (position == ListsFragment.TAB_INDEX_SPEED_DIAL) {
             alignFloatingActionButtonMiddle();
@@ -1012,4 +1057,21 @@
         params.addRule(RelativeLayout.CENTER_HORIZONTAL);
         mFloatingActionButtonContainer.setLayoutParams(params);
     }
+
+    /**
+     * Convenience class which implements AnimationListener interface as null-op methods.
+     */
+    private class ActivityAnimationListener implements AnimationListener {
+        @Override
+        public void onAnimationStart(Animation animation) {
+        }
+
+        @Override
+        public void onAnimationEnd(Animation animation) {
+        }
+
+        @Override
+        public void onAnimationRepeat(Animation animation) {
+        }
+    }
 }
diff --git a/src/com/android/dialer/calllog/CallLogAdapter.java b/src/com/android/dialer/calllog/CallLogAdapter.java
index 0aca913..e1c0acf 100644
--- a/src/com/android/dialer/calllog/CallLogAdapter.java
+++ b/src/com/android/dialer/calllog/CallLogAdapter.java
@@ -40,6 +40,7 @@
 import com.android.common.widget.GroupingListAdapter;
 import com.android.contacts.common.ContactPhotoManager;
 import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
+import com.android.contacts.common.util.DateUtils;
 import com.android.contacts.common.util.UriUtils;
 import com.android.dialer.PhoneCallDetails;
 import com.android.dialer.PhoneCallDetailsHelper;
@@ -60,7 +61,6 @@
 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,
@@ -117,6 +117,12 @@
     /** The size of the cache of contact info. */
     private static final int CONTACT_INFO_CACHE_SIZE = 100;
 
+    /** Localized string representing the word "Today". */
+    private static final CharSequence TODAY_LABEL = DateUtils.getTodayString();
+
+    /** Localized string representing the word "Yesterday". */
+    private static final CharSequence YESTERDAY_LABEL = DateUtils.getYesterdayString();
+
     protected final Context mContext;
     private final ContactInfoHelper mContactInfoHelper;
     private final CallFetcher mCallFetcher;
@@ -139,6 +145,20 @@
     private HashMap<Long,Boolean> mIsExpanded = new HashMap<Long,Boolean>();
 
     /**
+     *  Hashmap, keyed by call Id, used to track the day group for a call.  As call log entries are
+     *  put into the primary call groups in {@link com.android.dialer.calllog.CallLogGroupBuilder},
+     *  they are also assigned a secondary "day group".  This hashmap tracks the day group assigned
+     *  to all calls in the call log.  This information is used to trigger the display of a day
+     *  group header above the call log entry at the start of a day group.
+     *  Note: Multiple calls are grouped into a single primary "call group" in the call log, and
+     *  the cursor used to bind rows includes all of these calls.  When determining if a day group
+     *  change has occurred it is necessary to look at the last entry in the call log to determine
+     *  its day group.  This hashmap provides a means of determining the previous day group without
+     *  having to reverse the cursor to the start of the previous day call log entry.
+     */
+    private HashMap<Long,Integer> mDayGroups = new HashMap<Long, Integer>();
+
+    /**
      * A request for contact details for the given number.
      */
     private static final class ContactInfoRequest {
@@ -589,7 +609,6 @@
 
         // Default case: an item in the call log.
         views.primaryActionView.setVisibility(View.VISIBLE);
-        views.listHeaderTextView.setVisibility(View.GONE);
 
         final String number = c.getString(CallLogQuery.NUMBER);
         final int numberPresentation = c.getInt(CallLogQuery.NUMBER_PRESENTATION);
@@ -600,6 +619,21 @@
         final long rowId = c.getLong(CallLogQuery.ID);
         views.rowId = rowId;
 
+        // For entries in the call log, check if the day group has changed and display a header
+        // if necessary.
+        if (mIsCallLog) {
+            int currentGroup = getDayGroupForCall(rowId);
+            int previousGroup = getPreviousDayGroup(c);
+            if (currentGroup != previousGroup) {
+                views.dayGroupHeader.setVisibility(View.VISIBLE);
+                views.dayGroupHeader.setText(getGroupDescription(currentGroup));
+            } else {
+                views.dayGroupHeader.setVisibility(View.GONE);
+            }
+        } else {
+            views.dayGroupHeader.setVisibility(View.GONE);
+        }
+
         // Store some values used when the actions ViewStub is inflated on expansion of the actions
         // section.
         views.number = number;
@@ -607,7 +641,7 @@
         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);
+        views.callIds = getCallIds(c, count);
 
         final ContactInfo cachedContactInfo = getContactInfoFromCallLog(c);
 
@@ -738,6 +772,38 @@
     }
 
     /**
+     * Retrieves the day group of the previous call in the call log.  Used to determine if the day
+     * group has changed and to trigger display of the day group text.
+     *
+     * @param cursor The call log cursor.
+     * @return The previous day group, or DAY_GROUP_NONE if this is the first call.
+     */
+    private int getPreviousDayGroup(Cursor cursor) {
+        // We want to restore the position in the cursor at the end.
+        int startingPosition = cursor.getPosition();
+        int dayGroup = CallLogGroupBuilder.DAY_GROUP_NONE;
+        if (cursor.moveToPrevious()) {
+            long previousRowId = cursor.getLong(CallLogQuery.ID);
+            dayGroup = getDayGroupForCall(previousRowId);
+        }
+        cursor.moveToPosition(startingPosition);
+        return dayGroup;
+    }
+
+    /**
+     * Given a call Id, look up the day group that the call belongs to.  The day group data is
+     * populated in {@link com.android.dialer.calllog.CallLogGroupBuilder}.
+     *
+     * @param callId The call to retrieve the day group for.
+     * @return The day group for the call.
+     */
+    private int getDayGroupForCall(long callId) {
+        if (mDayGroups.containsKey(callId)) {
+            return mDayGroups.get(callId);
+        }
+        return CallLogGroupBuilder.DAY_GROUP_NONE;
+    }
+    /**
      * 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
@@ -779,9 +845,9 @@
             inflateActionViewStub(callLogItem);
 
             views.actionsView.setVisibility(View.VISIBLE);
-            callLogItem.setBackgroundColor(
+            views.callLogEntryView.setBackgroundColor(
                     callLogItem.getResources().getColor(R.color.background_dialer_light));
-            callLogItem.setElevation(
+            views.callLogEntryView.setElevation(
                     callLogItem.getResources().getDimension(R.dimen.call_log_expanded_elevation));
 
             // Attempt to give accessibility focus to one of the action buttons.
@@ -791,7 +857,8 @@
             // block and block further attempts to set focus.
             boolean focused = views.callBackButtonView.requestAccessibilityFocus() ||
                     views.voicemailButtonView.requestAccessibilityFocus() ||
-                    views.deleteButtonView.requestAccessibilityFocus();
+                    views.deleteButtonView.requestAccessibilityFocus() ||
+                    views.detailsButtonView.requestAccessibilityFocus();
         } else {
             // When recycling a view, it is possible the actionsView ViewStub was previously
             // inflated so we should hide it in this case.
@@ -799,9 +866,9 @@
                 views.actionsView.setVisibility(View.GONE);
             }
 
-            callLogItem.setBackgroundColor(
+            views.callLogEntryView.setBackgroundColor(
                     callLogItem.getResources().getColor(R.color.background_dialer_list_items));
-            callLogItem.setElevation(0);
+            views.callLogEntryView.setElevation(0);
         }
     }
 
@@ -828,10 +895,14 @@
             views.voicemailButtonView = (TextView)views.actionsView.findViewById(R.id.voicemail_action);
         }
 
-        if ( views.deleteButtonView == null) {
+        if (views.deleteButtonView == null) {
             views.deleteButtonView = (TextView)views.actionsView.findViewById(R.id.delete_action);
         }
 
+        if (views.detailsButtonView == null) {
+            views.detailsButtonView = (TextView)views.actionsView.findViewById(R.id.details_action);
+        }
+
         bindActionButtons(views);
     }
 
@@ -861,9 +932,18 @@
                     IntentProvider.getPlayVoicemailIntentProvider(
                             views.rowId, views.voicemailUri));
             views.voicemailButtonView.setVisibility(View.VISIBLE);
+
+            views.detailsButtonView.setVisibility(View.GONE);
         } else {
             views.voicemailButtonView.setTag(null);
             views.voicemailButtonView.setVisibility(View.GONE);
+
+            views.detailsButtonView.setOnClickListener(mActionListener);
+            views.detailsButtonView.setTag(
+                    IntentProvider.getCallDetailIntentProvider(
+                            views.rowId, views.callIds, null)
+            );
+
         }
 
         views.deleteButtonView.setOnClickListener(this.mDeleteListener);
@@ -1138,6 +1218,27 @@
         super.addGroup(cursorPosition, size, expanded);
     }
 
+    /**
+     * Stores the day group associated with a call in the call log.
+     *
+     * @param rowId The row Id of the current call.
+     * @param dayGroup The day group the call belongs in.
+     */
+    @Override
+    public void setDayGroup(long rowId, int dayGroup) {
+        if (!mDayGroups.containsKey(rowId)) {
+            mDayGroups.put(rowId, dayGroup);
+        }
+    }
+
+    /**
+     * Clears the day group associations on re-bind of the call log.
+     */
+    @Override
+    public void clearDayGroups() {
+        mDayGroups.clear();
+    }
+
     /*
      * Get the number from the Contacts, if available, since sometimes
      * the number provided by caller id may not be formatted properly
@@ -1181,11 +1282,10 @@
      * 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) {
+    private long[] getCallIds(final Cursor cursor, final int groupSize) {
         // We want to restore the position in the cursor at the end.
         int startingPosition = cursor.getPosition();
         long[] ids = new long[groupSize];
@@ -1199,6 +1299,24 @@
     }
 
     /**
+     * Determines the description for a day group.
+     *
+     * @param group The day group to retrieve the description for.
+     * @return The day group description.
+     */
+    private CharSequence getGroupDescription(int group) {
+       if (group == CallLogGroupBuilder.DAY_GROUP_TODAY) {
+           return TODAY_LABEL;
+       } else if (group == CallLogGroupBuilder.DAY_GROUP_YESTERDAY) {
+           return YESTERDAY_LABEL;
+       } else if (group == CallLogGroupBuilder.DAY_GROUP_LAST_WEEK) {
+           return mContext.getResources().getString(R.string.call_log_header_last_week);
+       } else {
+           return mContext.getResources().getString(R.string.call_log_header_other);
+       }
+    }
+
+    /**
      * Retrieves an instance of the asynchronous task executor, creating one if required.
      * @return The {@link com.android.dialer.util.AsyncTaskExecutor}
      */
diff --git a/src/com/android/dialer/calllog/CallLogFragment.java b/src/com/android/dialer/calllog/CallLogFragment.java
index 2b2d43c..6caa25c 100644
--- a/src/com/android/dialer/calllog/CallLogFragment.java
+++ b/src/com/android/dialer/calllog/CallLogFragment.java
@@ -17,6 +17,8 @@
 package com.android.dialer.calllog;
 
 import android.animation.Animator;
+import android.animation.AnimatorSet;
+import android.animation.ArgbEvaluator;
 import android.animation.ValueAnimator;
 import android.animation.Animator.AnimatorListener;
 import android.app.Activity;
@@ -541,9 +543,33 @@
                 if (!isExpand) {
                     viewHolder.actionsView.setVisibility(View.VISIBLE);
                 }
+
+                // Set up the fade effect for the action buttons.
+                if (isExpand) {
+                    int fadeDuration = getResources().getInteger(
+                            R.integer.call_log_actions_fade_in_duration);
+                    int startDelay = getResources().getInteger(
+                            R.integer.call_log_actions_fade_start);
+                    // Start the fade in after the expansion has partly completed, otherwise it
+                    // will be mostly over before the expansion completes.
+                    viewHolder.actionsView.setAlpha(0f);
+                    viewHolder.actionsView.animate()
+                            .alpha(1f)
+                            .setStartDelay(startDelay)
+                            .setDuration(fadeDuration)
+                            .start();
+                } else {
+                    int fadeDuration = getResources().getInteger(
+                            R.integer.call_log_actions_fade_out_duration);
+                    viewHolder.actionsView.setAlpha(1f);
+                    viewHolder.actionsView.animate()
+                            .alpha(0f)
+                            .setDuration(fadeDuration)
+                            .start();
+                }
                 view.requestLayout();
 
-                // Set up the animator to animate the expansion.
+                // Set up the animator to animate the expansion and shadow depth.
                 ValueAnimator animator = isExpand ? ValueAnimator.ofFloat(0f, 1f)
                         : ValueAnimator.ofFloat(1f, 0f);
 
@@ -555,7 +581,8 @@
                         // 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);
+                        viewHolder.callLogEntryView
+                                .setElevation(mExpandedItemElevation * value);
                         view.requestLayout();
                     }
                 });
@@ -564,6 +591,7 @@
                     @Override
                     public void onAnimationEnd(Animator animation) {
                         view.getLayoutParams().height = LayoutParams.WRAP_CONTENT;
+
                         if (!isExpand) {
                             viewHolder.actionsView.setVisibility(View.GONE);
                         }
@@ -576,6 +604,11 @@
                     @Override
                     public void onAnimationStart(Animator animation) { }
                 });
+
+                final int expandCollapseDuration = getResources().getInteger(
+                        R.integer.call_log_expand_collapse_duration);
+
+                animator.setDuration(expandCollapseDuration);
                 animator.start();
 
                 // Return false so this draw does not occur to prevent the final frame from
diff --git a/src/com/android/dialer/calllog/CallLogGroupBuilder.java b/src/com/android/dialer/calllog/CallLogGroupBuilder.java
index 0b2edf0..50cf054 100644
--- a/src/com/android/dialer/calllog/CallLogGroupBuilder.java
+++ b/src/com/android/dialer/calllog/CallLogGroupBuilder.java
@@ -19,22 +19,74 @@
 import android.database.Cursor;
 import android.provider.CallLog.Calls;
 import android.telephony.PhoneNumberUtils;
+import android.text.format.Time;
 
 import com.android.common.widget.GroupingListAdapter;
+import com.android.contacts.common.util.DateUtils;
 import com.android.contacts.common.util.PhoneNumberHelper;
 
 import com.google.common.annotations.VisibleForTesting;
 
 /**
- * Groups together calls in the call log.
+ * Groups together calls in the call log.  The primary grouping attempts to group together calls
+ * to and from the same number into a single row on the call log.
+ * A secondary grouping assigns calls, grouped via the primary grouping, to "day groups".  The day
+ * groups provide a means of identifying the calls which occurred "Today", "Yesterday", "Last week",
+ * or "Other".
  * <p>
  * This class is meant to be used in conjunction with {@link GroupingListAdapter}.
  */
 public class CallLogGroupBuilder {
     public interface GroupCreator {
+
+        /**
+         * Defines the interface for adding a group to the call log.
+         * The primary group for a call log groups the calls together based on the number which was
+         * dialed.
+         * @param cursorPosition The starting position of the group in the cursor.
+         * @param size The size of the group.
+         * @param expanded Whether the group is expanded; always false for the call log.
+         */
         public void addGroup(int cursorPosition, int size, boolean expanded);
+
+        /**
+         * Defines the interface for tracking the day group each call belongs to.  Calls in a call
+         * group are assigned the same day group as the first call in the group.  The day group
+         * assigns calls to the buckets: Today, Yesterday, Last week, and Other
+         *
+         * @param rowId The row Id of the current call.
+         * @param dayGroup The day group the call belongs in.
+         */
+        public void setDayGroup(long rowId, int dayGroup);
+
+        /**
+         * Defines the interface for clearing the day groupings information on rebind/regroup.
+         */
+        public void clearDayGroups();
     }
 
+    /**
+     * Day grouping for call log entries used to represent no associated day group.  Used primarily
+     * when retrieving the previous day group, but there is no previous day group (i.e. we are at
+     * the start of the list).
+     */
+    public static final int DAY_GROUP_NONE = -1;
+
+    /** Day grouping for calls which occurred today. */
+    public static final int DAY_GROUP_TODAY = 0;
+
+    /** Day grouping for calls which occurred yesterday. */
+    public static final int DAY_GROUP_YESTERDAY = 1;
+
+    /** Day grouping for calls which occurred last week. */
+    public static final int DAY_GROUP_LAST_WEEK = 2;
+
+    /** Day grouping for calls which occurred before last week. */
+    public static final int DAY_GROUP_OTHER = 3;
+
+    /** Instance of the time object used for time calculations. */
+    private static final Time TIME = new Time();
+
     /** The object on which the groups are created. */
     private final GroupCreator mGroupCreator;
 
@@ -59,18 +111,33 @@
             return;
         }
 
+        // Clear any previous day grouping information.
+        mGroupCreator.clearDayGroups();
+
+        // Get current system time, used for calculating which day group calls belong to.
+        long currentTime = System.currentTimeMillis();
+
         int currentGroupSize = 1;
         cursor.moveToFirst();
         // The number of the first entry in the group.
         String firstNumber = cursor.getString(CallLogQuery.NUMBER);
         // This is the type of the first call in the group.
         int firstCallType = cursor.getInt(CallLogQuery.CALL_TYPE);
+
+        // Determine the day group for the first call in the cursor.
+        final long firstDate = cursor.getLong(CallLogQuery.DATE);
+        final long firstRowId = cursor.getLong(CallLogQuery.ID);
+        int currentGroupDayGroup = getDayGroup(firstDate, currentTime);
+        mGroupCreator.setDayGroup(firstRowId, currentGroupDayGroup);
+
         while (cursor.moveToNext()) {
             // The number of the current row in the cursor.
             final String currentNumber = cursor.getString(CallLogQuery.NUMBER);
             final int callType = cursor.getInt(CallLogQuery.CALL_TYPE);
             final boolean sameNumber = equalNumbers(firstNumber, currentNumber);
             final boolean shouldGroup;
+            final long currentCallId = cursor.getLong(CallLogQuery.ID);
+            final long date = cursor.getLong(CallLogQuery.DATE);
 
             if (!sameNumber) {
                 // Should only group with calls from the same number.
@@ -88,6 +155,11 @@
                 // the group until we find a call that does not match.
                 currentGroupSize++;
             } else {
+                // The call group has changed, so determine the day group for the new call group.
+                // This ensures all calls grouped together in the call log are assigned the same
+                // day group.
+                currentGroupDayGroup = getDayGroup(date, currentTime);
+
                 // Create a group for the previous set of calls, excluding the current one, but do
                 // not create a group for a single call.
                 if (currentGroupSize > 1) {
@@ -99,6 +171,9 @@
                 firstNumber = currentNumber;
                 firstCallType = callType;
             }
+
+            // Save the day group associated with the current call.
+            mGroupCreator.setDayGroup(currentCallId, currentGroupDayGroup);
         }
         // If the last set of calls at the end of the call log was itself a group, create it now.
         if (currentGroupSize > 1) {
@@ -154,4 +229,25 @@
 
         return userinfo1.equals(userinfo2) && rest1.equalsIgnoreCase(rest2);
     }
+
+    /**
+     * Given a call date and the current date, determine which date group the call belongs in.
+     *
+     * @param date The call date.
+     * @param now The current date.
+     * @return The date group the call belongs in.
+     */
+    private int getDayGroup(long date, long now) {
+        int days = DateUtils.getDayDifference(TIME, date, now);
+
+        if (days == 0) {
+            return DAY_GROUP_TODAY;
+        } else if (days == 1) {
+            return DAY_GROUP_YESTERDAY;
+        } else if (days > 1 && days <=7) {
+            return DAY_GROUP_LAST_WEEK;
+        } else {
+            return DAY_GROUP_OTHER;
+        }
+    }
 }
diff --git a/src/com/android/dialer/calllog/CallLogListItemHelper.java b/src/com/android/dialer/calllog/CallLogListItemHelper.java
index 976726d..baeb382 100644
--- a/src/com/android/dialer/calllog/CallLogListItemHelper.java
+++ b/src/com/android/dialer/calllog/CallLogListItemHelper.java
@@ -82,6 +82,9 @@
 
         views.deleteButtonView.setContentDescription(
                 mResources.getString(R.string.description_delete_action, views.nameOrNumber));
+
+        views.detailsButtonView.setContentDescription(
+                mResources.getString(R.string.description_details_action, views.nameOrNumber));
     }
 
     /**
diff --git a/src/com/android/dialer/calllog/CallLogListItemViews.java b/src/com/android/dialer/calllog/CallLogListItemViews.java
index 333769d..474b478 100644
--- a/src/com/android/dialer/calllog/CallLogListItemViews.java
+++ b/src/com/android/dialer/calllog/CallLogListItemViews.java
@@ -36,8 +36,10 @@
     public final View primaryActionView;
     /** The details of the phone call. */
     public final PhoneCallDetailsViews phoneCallDetailsViews;
-    /** The text of the header of a section. */
-    public final TextView listHeaderTextView;
+    /** The text of the header for a day grouping. */
+    public final TextView dayGroupHeader;
+    /** The view containing the details for the call log row, including the action buttons. */
+    public final View callLogEntryView;
     /** 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. */
@@ -46,6 +48,8 @@
     public TextView deleteButtonView;
     /** The "voicemail" action button - assigned only when the action section is expanded. */
     public TextView voicemailButtonView;
+    /** The "details" action button - assigned only when the action section is expanded. */
+    public TextView detailsButtonView;
 
     /**
      * The row Id for the first call associated with the call log entry.  Used as a key for the
@@ -91,12 +95,13 @@
     public CharSequence nameOrNumber;
 
     private CallLogListItemViews(QuickContactBadge quickContactView, View primaryActionView,
-            PhoneCallDetailsViews phoneCallDetailsViews,
-            TextView listHeaderTextView) {
+            PhoneCallDetailsViews phoneCallDetailsViews, View callLogEntryView,
+            TextView dayGroupHeader) {
         this.quickContactView = quickContactView;
         this.primaryActionView = primaryActionView;
         this.phoneCallDetailsViews = phoneCallDetailsViews;
-        this.listHeaderTextView = listHeaderTextView;
+        this.callLogEntryView = callLogEntryView;
+        this.dayGroupHeader = dayGroupHeader;
     }
 
     public static CallLogListItemViews fromView(View view) {
@@ -104,7 +109,8 @@
                 (QuickContactBadge) view.findViewById(R.id.quick_contact_photo),
                 view.findViewById(R.id.primary_action_view),
                 PhoneCallDetailsViews.fromView(view),
-                (TextView) view.findViewById(R.id.call_log_header));
+                view.findViewById(R.id.call_log_row),
+                (TextView) view.findViewById(R.id.call_log_day_group_label));
     }
 
     @NeededForTesting
@@ -113,10 +119,12 @@
                 new QuickContactBadge(context),
                 new View(context),
                 PhoneCallDetailsViews.createForTest(context),
+                new View(context),
                 new TextView(context));
         views.callBackButtonView = new TextView(context);
         views.deleteButtonView = new TextView(context);
         views.voicemailButtonView = new TextView(context);
+        views.detailsButtonView = new TextView(context);
         views.actionsView = new View(context);
         return views;
     }
diff --git a/src/com/android/dialer/calllog/IntentProvider.java b/src/com/android/dialer/calllog/IntentProvider.java
index da0c69d..96020be 100644
--- a/src/com/android/dialer/calllog/IntentProvider.java
+++ b/src/com/android/dialer/calllog/IntentProvider.java
@@ -65,39 +65,29 @@
         };
     }
 
+    /**
+     * Retrieves the call details intent provider for an entry in the call log.
+     *
+     * @param id The call ID of the first call in the call group.
+     * @param extraIds The call ID of the other calls grouped together with the call.
+     * @param voicemailUri If call log entry is for a voicemail, the voicemail URI.
+     * @return The call details intent provider.
+     */
     public static IntentProvider getCallDetailIntentProvider(
-            final Cursor cursor, final int position, final long id, final int groupSize) {
+            final long id, final long[] extraIds, final String voicemailUri) {
         return new IntentProvider() {
             @Override
             public Intent getIntent(Context context) {
-                if (cursor.isClosed()) {
-                    // There are reported instances where the cursor is already closed.
-                    // b/10937133
-                    // When causes a crash when it's accessed here.
-                    Log.e(TAG, "getCallDetailIntentProvider() cursor is already closed.");
-                    return null;
-                }
-
-                cursor.moveToPosition(position);
-
                 Intent intent = new Intent(context, CallDetailActivity.class);
                 // Check if the first item is a voicemail.
-                String voicemailUri = cursor.getString(CallLogQuery.VOICEMAIL_URI);
                 if (voicemailUri != null) {
                     intent.putExtra(CallDetailActivity.EXTRA_VOICEMAIL_URI,
                             Uri.parse(voicemailUri));
                 }
                 intent.putExtra(CallDetailActivity.EXTRA_VOICEMAIL_START_PLAYBACK, false);
 
-                if (groupSize > 1) {
-                    // We want to restore the position in the cursor at the end.
-                    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();
-                    }
-                    intent.putExtra(CallDetailActivity.EXTRA_CALL_LOG_IDS, ids);
+                if (extraIds != null && extraIds.length > 0) {
+                    intent.putExtra(CallDetailActivity.EXTRA_CALL_LOG_IDS, extraIds);
                 } else {
                     // If there is a single item, use the direct URI for it.
                     intent.setData(ContentUris.withAppendedId(
diff --git a/src/com/android/dialer/dialpad/DialpadFragment.java b/src/com/android/dialer/dialpad/DialpadFragment.java
index 4557bd4..418d54a 100644
--- a/src/com/android/dialer/dialpad/DialpadFragment.java
+++ b/src/com/android/dialer/dialpad/DialpadFragment.java
@@ -347,29 +347,6 @@
                 false);
         fragmentView.buildLayer();
 
-        final ViewTreeObserver vto = fragmentView.getViewTreeObserver();
-        // Adjust the translation of the DialpadFragment in a preDrawListener instead of in
-        // DialtactsActivity, because at the point in time when the DialpadFragment is added,
-        // its views have not been laid out yet.
-        final OnPreDrawListener preDrawListener = new OnPreDrawListener() {
-
-            @Override
-            public boolean onPreDraw() {
-
-                if (isHidden()) return true;
-                if (mAnimate && fragmentView.getTranslationY() == 0) {
-                    ((DialpadSlidingLinearLayout) fragmentView).setYFraction(
-                            DIALPAD_SLIDE_FRACTION);
-                }
-                final ViewTreeObserver vto = fragmentView.getViewTreeObserver();
-                vto.removeOnPreDrawListener(this);
-                return true;
-            }
-
-        };
-
-        vto.addOnPreDrawListener(preDrawListener);
-
         Resources r = getResources();
 
         mDialpadView = (DialpadView) fragmentView.findViewById(R.id.dialpad_view);
@@ -1593,9 +1570,7 @@
         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 (!hidden) {
             if (mAnimate) {
                 dialpadView.animateShow();
             }
@@ -1608,6 +1583,10 @@
         mAnimate = value;
     }
 
+    public boolean getAnimate() {
+        return mAnimate;
+    }
+
     public void setYFraction(float yFraction) {
         ((DialpadSlidingLinearLayout) getView()).setYFraction(yFraction);
     }
diff --git a/src/com/android/dialer/list/ListsFragment.java b/src/com/android/dialer/list/ListsFragment.java
index 18fa531..f2be6ab 100644
--- a/src/com/android/dialer/list/ListsFragment.java
+++ b/src/com/android/dialer/list/ListsFragment.java
@@ -89,6 +89,8 @@
     private CallLogAdapter mCallLogAdapter;
     private CallLogQueryHandler mCallLogQueryHandler;
 
+    private boolean mIsPanelOpen = true;
+
     /**
      * Call shortcuts older than this date (persisted in shared preferences) will not show up in
      * at the top of the screen
@@ -143,15 +145,21 @@
                 final int availableActionBarHeight =
                         Math.min(mActionBar.getHeight(), topPaneHeight);
                 mActionBar.setHideOffset(mActionBar.getHeight() - availableActionBarHeight);
+
+                if (!mActionBar.isShowing()) {
+                    mActionBar.show();
+                }
             }
         }
 
         @Override
         public void onPanelOpened(View panel) {
+            mIsPanelOpen = true;
         }
 
         @Override
         public void onPanelClosed(View panel) {
+            mIsPanelOpen = false;
         }
     };
 
@@ -335,6 +343,15 @@
         }
     }
 
+    public void maybeShowActionBar() {
+        // TODO: Try to show the action bar regardless of whether the panel is open, and then update
+        // the offset to show/hide the action bar, instead of updating the whether the action bar is
+        // shown in onPanelSlide.
+        if (mIsPanelOpen && mActionBar != null) {
+            mActionBar.show();
+        }
+    }
+
     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.
@@ -347,4 +364,8 @@
         // height changes.
         transition.enableTransitionType(LayoutTransition.CHANGING);
     }
+
+    public SpeedDialFragment getSpeedDialFragment() {
+        return mSpeedDialFragment;
+    }
 }
diff --git a/src/com/android/dialer/widget/SearchEditTextLayout.java b/src/com/android/dialer/widget/SearchEditTextLayout.java
new file mode 100644
index 0000000..40a4e43
--- /dev/null
+++ b/src/com/android/dialer/widget/SearchEditTextLayout.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.dialer.widget;
+
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.KeyEvent;
+import android.widget.LinearLayout;
+
+public class SearchEditTextLayout extends LinearLayout {
+    private OnKeyListener mPreImeKeyListener;
+
+    public SearchEditTextLayout(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    public void setPreImeKeyListener(OnKeyListener listener) {
+        mPreImeKeyListener = listener;
+    }
+
+    @Override
+    public boolean dispatchKeyEventPreIme(KeyEvent event) {
+        if (mPreImeKeyListener != null) {
+            if (mPreImeKeyListener.onKey(this, event.getKeyCode(), event)) {
+                return true;
+            }
+        }
+        return super.dispatchKeyEventPreIme(event);
+    }
+}
\ No newline at end of file
diff --git a/tests/src/com/android/dialer/calllog/CallLogGroupBuilderTest.java b/tests/src/com/android/dialer/calllog/CallLogGroupBuilderTest.java
index cef717f..891f068 100644
--- a/tests/src/com/android/dialer/calllog/CallLogGroupBuilderTest.java
+++ b/tests/src/com/android/dialer/calllog/CallLogGroupBuilderTest.java
@@ -297,5 +297,15 @@
         public void addGroup(int cursorPosition, int size, boolean expanded) {
             groups.add(new GroupSpec(cursorPosition, size, expanded));
         }
+
+        @Override
+        public void setDayGroup(long rowId, int dayGroup) {
+            //No-op
+        }
+
+        @Override
+        public void clearDayGroups() {
+            //No-op
+        }
     }
 }
