Merge remote-tracking branch 'goog/mirror-m-wireless-internal-release'
diff --git a/Android.mk b/Android.mk
index 414ea2f..696caf1 100644
--- a/Android.mk
+++ b/Android.mk
@@ -35,8 +35,7 @@
     android-support-v13 \
     android-support-v4 \
     android-ex-variablespeed \
-    libphonenumber \
-    libgeocoding
+    libphonenumber
 
 LOCAL_REQUIRED_MODULES := libvariablespeed
 
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 07b7fa9..638c2c4 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -274,15 +274,6 @@
                   android:screenOrientation="nosensor" >
         </activity>
 
-        <activity android:name="com.android.incallui.CircularRevealActivity"
-                  android:theme="@style/Theme.CircularRevealAnimation"
-                  android:exported="false"
-                  android:configChanges="keyboardHidden|orientation"
-                  android:launchMode="singleInstance"
-                  android:noHistory="true"
-                  android:excludeFromRecents="true"
-                  android:screenOrientation="nosensor" />
-
         <!-- BroadcastReceiver for receiving Intents from Notification mechanism. -->
         <receiver android:name="com.android.incallui.InCallApp$NotificationBroadcastReceiver"
                   android:exported="false">
diff --git a/res/color/settings_text_color_primary.xml b/res/color/settings_text_color_primary.xml
new file mode 100644
index 0000000..862d8a2
--- /dev/null
+++ b/res/color/settings_text_color_primary.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_enabled="false" android:color="@color/setting_disabled_color" />
+    <item android:color="@color/setting_primary_color" />
+</selector>
diff --git a/res/color/settings_text_color_secondary.xml b/res/color/settings_text_color_secondary.xml
new file mode 100644
index 0000000..0b00e46
--- /dev/null
+++ b/res/color/settings_text_color_secondary.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_enabled="false" android:color="@color/setting_disabled_color" />
+    <item android:color="@color/setting_secondary_color" />
+</selector>
diff --git a/res/drawable-hdpi/ic_grade_24dp.png b/res/drawable-hdpi/ic_grade_24dp.png
new file mode 100644
index 0000000..86eecdd
--- /dev/null
+++ b/res/drawable-hdpi/ic_grade_24dp.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_people_24dp.png b/res/drawable-hdpi/ic_people_24dp.png
new file mode 100644
index 0000000..ff698af
--- /dev/null
+++ b/res/drawable-hdpi/ic_people_24dp.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_schedule_24dp.png b/res/drawable-hdpi/ic_schedule_24dp.png
new file mode 100644
index 0000000..f3581d1
--- /dev/null
+++ b/res/drawable-hdpi/ic_schedule_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_grade_24dp.png b/res/drawable-mdpi/ic_grade_24dp.png
new file mode 100644
index 0000000..d2cbe4c
--- /dev/null
+++ b/res/drawable-mdpi/ic_grade_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_people_24dp.png b/res/drawable-mdpi/ic_people_24dp.png
new file mode 100644
index 0000000..270e4de
--- /dev/null
+++ b/res/drawable-mdpi/ic_people_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_schedule_24dp.png b/res/drawable-mdpi/ic_schedule_24dp.png
new file mode 100644
index 0000000..501ee84
--- /dev/null
+++ b/res/drawable-mdpi/ic_schedule_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_grade_24dp.png b/res/drawable-xhdpi/ic_grade_24dp.png
new file mode 100644
index 0000000..d65f39d
--- /dev/null
+++ b/res/drawable-xhdpi/ic_grade_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_people_24dp.png b/res/drawable-xhdpi/ic_people_24dp.png
new file mode 100644
index 0000000..323981c
--- /dev/null
+++ b/res/drawable-xhdpi/ic_people_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_schedule_24dp.png b/res/drawable-xhdpi/ic_schedule_24dp.png
new file mode 100644
index 0000000..2e27936
--- /dev/null
+++ b/res/drawable-xhdpi/ic_schedule_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_grade_24dp.png b/res/drawable-xxhdpi/ic_grade_24dp.png
new file mode 100644
index 0000000..aa58792
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_grade_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_people_24dp.png b/res/drawable-xxhdpi/ic_people_24dp.png
new file mode 100644
index 0000000..6c68435
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_people_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_schedule_24dp.png b/res/drawable-xxhdpi/ic_schedule_24dp.png
new file mode 100644
index 0000000..bfc7273
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_schedule_24dp.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_grade_24dp.png b/res/drawable-xxxhdpi/ic_grade_24dp.png
new file mode 100644
index 0000000..7f38d09
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_grade_24dp.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_people_24dp.png b/res/drawable-xxxhdpi/ic_people_24dp.png
new file mode 100644
index 0000000..5676f70
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_people_24dp.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_schedule_24dp.png b/res/drawable-xxxhdpi/ic_schedule_24dp.png
new file mode 100644
index 0000000..b94f4df
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_schedule_24dp.png
Binary files differ
diff --git a/res/values/ids.xml b/res/drawable/tab_contacts.xml
similarity index 60%
rename from res/values/ids.xml
rename to res/drawable/tab_contacts.xml
index 2b09504..ed3f86b 100644
--- a/res/values/ids.xml
+++ b/res/drawable/tab_contacts.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
-  ~ Copyright (C) 2012 The Android Open Source Project
+  ~ Copyright (C) 2014 The Android Open Source Project
   ~
   ~ Licensed under the Apache License, Version 2.0 (the "License");
   ~ you may not use this file except in compliance with the License.
@@ -14,9 +14,17 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License
   -->
-<resources>
-    <item type="id"
-        name="is_swipeable_tag" />
-    <item type="id"
-        name="contact_entry_index_tag" />
-</resources>
\ No newline at end of file
+
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+    android:color="@color/tab_ripple_color">
+
+    <item>
+        <bitmap android:src="@drawable/ic_people_24dp"
+            android:gravity="center" />
+    </item>
+
+    <item android:id="@android:id/mask">
+        <color android:color="@android:color/white" />
+    </item>
+
+</ripple>
diff --git a/res/drawable/tab_recents.xml b/res/drawable/tab_recents.xml
new file mode 100644
index 0000000..b1a5318
--- /dev/null
+++ b/res/drawable/tab_recents.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2014 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License
+  -->
+
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+    android:color="@color/tab_ripple_color">
+
+    <item>
+        <bitmap android:src="@drawable/ic_schedule_24dp"
+            android:gravity="center" />
+    </item>
+
+    <item android:id="@android:id/mask">
+        <color android:color="@android:color/white" />
+    </item>
+
+</ripple>
diff --git a/res/values/ids.xml b/res/drawable/tab_speed_dial.xml
similarity index 60%
copy from res/values/ids.xml
copy to res/drawable/tab_speed_dial.xml
index 2b09504..c9c4820 100644
--- a/res/values/ids.xml
+++ b/res/drawable/tab_speed_dial.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
-  ~ Copyright (C) 2012 The Android Open Source Project
+  ~ Copyright (C) 2014 The Android Open Source Project
   ~
   ~ Licensed under the Apache License, Version 2.0 (the "License");
   ~ you may not use this file except in compliance with the License.
@@ -14,9 +14,17 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License
   -->
-<resources>
-    <item type="id"
-        name="is_swipeable_tag" />
-    <item type="id"
-        name="contact_entry_index_tag" />
-</resources>
\ No newline at end of file
+
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+    android:color="@color/tab_ripple_color">
+
+    <item>
+        <bitmap android:src="@drawable/ic_grade_24dp"
+            android:gravity="center" />
+    </item>
+
+    <item android:id="@android:id/mask">
+        <color android:color="@android:color/white" />
+    </item>
+
+</ripple>
diff --git a/res/layout/call_detail.xml b/res/layout/call_detail.xml
index 35c41c0..522c698 100644
--- a/res/layout/call_detail.xml
+++ b/res/layout/call_detail.xml
@@ -100,18 +100,4 @@
 
 
     </LinearLayout>
-    <!--
-         Used to hide the UI when playing a voicemail and the proximity sensor
-         is detecting something near the screen.
-      -->
-    <View
-        android:id="@+id/blank"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="@android:color/black"
-        android:visibility="gone"
-        android:clickable="true"
-        android:layout_alignParentStart="true"
-        android:layout_alignParentTop="true"
-        />
 </RelativeLayout>
diff --git a/res/layout/dialer_preferences.xml b/res/layout/dialer_preferences.xml
deleted file mode 100644
index 023b122..0000000
--- a/res/layout/dialer_preferences.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Layout of a header item in PreferenceActivity. This is modified from the platform
-     preference_header_item-->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:minHeight="48dp"
-    android:background="?android:attr/activatedBackgroundIndicator"
-    android:gravity="center_vertical"
-    android:paddingEnd="?android:attr/scrollbarSize">
-
-    <RelativeLayout
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="@dimen/preference_side_margin"
-        android:layout_marginEnd="@dimen/preference_side_margin"
-        android:layout_weight="1"
-        android:paddingTop="@dimen/preference_padding_top"
-        android:paddingBottom="@dimen/preference_padding_bottom">
-
-        <TextView android:id="@+id/title"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:singleLine="true"
-            android:textAppearance="?android:attr/textAppearance"
-            android:textSize="16sp"
-            android:textColor="@color/setting_primary_color"
-            android:ellipsize="marquee"
-            android:fadingEdge="horizontal" />
-
-        <TextView android:id="@+id/summary"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_below="@id/title"
-            android:layout_alignStart="@id/title"
-            android:textAppearance="?android:attr/textAppearanceSmall"
-            android:textColor="@color/setting_secondary_color"
-            android:lineSpacingExtra="@dimen/preference_summary_line_spacing_extra"
-            android:ellipsize="end"
-            android:maxLines="2" />
-
-    </RelativeLayout>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/lists_fragment.xml b/res/layout/lists_fragment.xml
index face20e..98a1422 100644
--- a/res/layout/lists_fragment.xml
+++ b/res/layout/lists_fragment.xml
@@ -14,87 +14,79 @@
      limitations under the License.
 -->
 
-<com.android.dialer.widget.OverlappingPaneLayout
+<FrameLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/lists_frame"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:animateLayoutChanges="true" >
 
-    <ListView
-        android:id="@+id/shortcut_card_list"
+    <LinearLayout
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:paddingTop="@dimen/action_bar_height_large"
-        android:background="@color/actionbar_background_color"
-        android:clipToPadding="false"
-        android:fadingEdge="none"
-        android:divider="@null" />
+        android:layout_height="match_parent"
+        android:orientation="vertical">
 
-    <FrameLayout
+        <!-- TODO: Apply background color to ActionBar instead of a FrameLayout. For now, this is
+             the easiest way to preserve correct pane scrolling and searchbar collapse/expand
+             behaviors. -->
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/action_bar_height_large"
+            android:background="@color/actionbar_background_color" />
+
+        <com.android.contacts.common.list.ViewPagerTabs
+            android:id="@+id/lists_pager_header"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/tab_height"
+            android:textAllCaps="true"
+            android:orientation="horizontal"
+            android:layout_gravity="top"
+            android:elevation="@dimen/tab_elevation"
+            style="@style/DialtactsActionBarTabTextStyle" />
+
+        <android.support.v4.view.ViewPager
+            android:id="@+id/lists_pager"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1" />
+
+    </LinearLayout>
+
+    <com.android.dialer.list.RemoveView
+        android:id="@+id/remove_view"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="@dimen/tab_height"
+        android:layout_alignParentTop="true" >
 
         <LinearLayout
-            android:layout_width="match_parent"
+            android:id="@+id/remove_view_content"
             android:layout_height="match_parent"
-            android:orientation="vertical">
+            android:layout_width="match_parent"
+            android:background="@color/actionbar_background_color"
+            android:gravity="center"
+            android:orientation="horizontal"
+            android:visibility="gone" >
 
-            <com.android.contacts.common.list.ViewPagerTabs
-                android:id="@+id/lists_pager_header"
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/tab_height"
-                android:textAllCaps="true"
-                android:orientation="horizontal"
-                android:layout_gravity="top"
-                android:elevation="@dimen/tab_elevation"
-                style="@style/DialtactsActionBarTabTextStyle" />
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="8dp"
+                android:layout_marginBottom="8dp"
+                android:id="@+id/remove_view_icon"
+                android:src="@drawable/ic_remove"
+                android:contentDescription="@string/remove_contact"
+                android:tint="@color/remove_text_color" />
 
-            <android.support.v4.view.ViewPager
-                android:id="@+id/lists_pager"
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:layout_weight="1" />
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:id="@+id/remove_view_text"
+                android:textSize="@dimen/remove_text_size"
+                android:textColor="@color/remove_text_color"
+                android:text="@string/remove_contact" />
 
         </LinearLayout>
 
-        <com.android.dialer.list.RemoveView
-            android:id="@+id/remove_view"
-            android:layout_width="match_parent"
-            android:layout_height="@dimen/tab_height"
-            android:layout_alignParentTop="true" >
+    </com.android.dialer.list.RemoveView >
 
-            <LinearLayout
-                android:id="@+id/remove_view_content"
-                android:layout_height="match_parent"
-                android:layout_width="match_parent"
-                android:background="@color/actionbar_background_color"
-                android:gravity="center"
-                android:orientation="horizontal"
-                android:visibility="gone" >
-
-                <ImageView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="8dp"
-                    android:layout_marginBottom="8dp"
-                    android:id="@+id/remove_view_icon"
-                    android:src="@drawable/ic_remove"
-                    android:contentDescription="@string/remove_contact"
-                    android:tint="@color/remove_text_color" />
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:id="@+id/remove_view_text"
-                    android:textSize="@dimen/remove_text_size"
-                    android:textColor="@color/remove_text_color"
-                    android:text="@string/remove_contact" />
-
-            </LinearLayout>
-
-        </com.android.dialer.list.RemoveView >
-
-    </FrameLayout>
-
-</com.android.dialer.widget.OverlappingPaneLayout>
+</FrameLayout>
diff --git a/res/layout/speed_dial_fragment.xml b/res/layout/speed_dial_fragment.xml
index 58a7b24..1882049 100644
--- a/res/layout/speed_dial_fragment.xml
+++ b/res/layout/speed_dial_fragment.xml
@@ -14,13 +14,10 @@
      limitations under the License.
 -->
 
-<!-- Use LinearLayout + FrameLayout, just to rely on android:divider and android:showDividers -->
-<RelativeLayout
+<FrameLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:divider="?android:attr/dividerHorizontal"
-    android:showDividers="end"
     android:clipChildren="false">
 
     <FrameLayout
@@ -51,4 +48,4 @@
         layout="@layout/empty_list_view"
         android:visibility="gone"/>
 
-</RelativeLayout>
+</FrameLayout>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 2c08a27..867ef25 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Vee oproepgeskiedenis uit?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Dit sal alle oproepe uit jou geskiedenis vee"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Vee tans oproepgeskiedenis uit …"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Stemboodskap"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> stemboodskappe"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> Stemboodskappe </item>
+      <item quantity="one">Stemboodskap</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Speel"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nuwe stemboodskap van <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Speel stadiger."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Begin of laat wag speel."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Algemeen"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Opsies vir wys van kontakte"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Klanke en vibreer"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Vertoonopsies"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Klanke en vibrasie"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Toeganklikheid"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Foon-luitoon"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibreer ook vir oproepe"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Belbladklanke"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Ander"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Vinnige antwoorde"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Oproepe"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Oproeprekeninge"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index f2e6548..e5fc1a2 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"የጥሪ ታሪክ ይጽዳ?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"ይሄ ሁሉንም ጥሪዎች ከታሪክዎ ይሰርዛቸዋል"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"የጥሪ ታሪክን በማጽዳት ላይ…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"የድምፅ መልዕክት"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> የድምፅ መልዕክቶች"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> የድምፅ መልዕክቶች </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> የድምፅ መልዕክቶች </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"አጫውት"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>፤<xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"ከ<xliff:g id="CALLER">%1$s</xliff:g> አዲስ የድምፅመልዕክት"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"በዝግታ አጫውት።"</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"መልሰህ አጫውትን አስጀምር ወይም ለአፍታ አቁም።"</string>
     <string name="list_delimeter" msgid="4571593167738725100">"፣ "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"አጠቃላይ"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"የእውቂያ ማሳያ አማራጮች"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"ድምጾች እና ንዝረት"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"የማሳያ አማራጮች"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"ድምጾች እና ንዝረት"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"ተደራሽነት"</string>
     <string name="ringtone_title" msgid="760362035635084653">"የስልክ ጥሪ ቅላጼ"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"እንዲሁም ለጥሪዎችም ንዘር"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"የመደወያ ሰሌዳ ቅላጼዎች"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"ሌላ"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"ፈጣን ምላሾች"</string>
     <string name="call_settings_label" msgid="313434211353070209">"ጥሪዎች"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"የመደወያ መለያዎች"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 16e4d5b..f081c1b 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -33,10 +33,14 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"هل تريد محو سجل المكالمات؟"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"سيؤدي ذلك إلى حذف جميع المكالمات من السجل"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"جارٍ محو سجل المكالمات…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"البريد الصوتي"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> من رسائل البريد الصوتي"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="zero">لا تتوفر رسائل بريد صوتي (<xliff:g id="COUNT">%1$d</xliff:g>) </item>
+      <item quantity="two">رسالتا بريد صوتي (<xliff:g id="COUNT">%1$d</xliff:g>) </item>
+      <item quantity="few"> <xliff:g id="COUNT">%1$d</xliff:g> رسائل بريد صوتي </item>
+      <item quantity="many"> <xliff:g id="COUNT">%1$d</xliff:g> رسالة بريد صوتي </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> من رسائل البريد الصوتي </item>
+      <item quantity="one">رسالة بريد صوتي</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"تشغيل"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>، <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"بريد صوتي جديد من <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -121,8 +125,8 @@
     <string name="contact_list_loading" msgid="5488620820563977329">"جارٍ التحميل..."</string>
     <string name="imei" msgid="3045126336951684285">"IMEI"</string>
     <string name="meid" msgid="6210568493746275750">"MEID"</string>
-    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"‏جارٍ التحميل من بطاقة SIM…"</string>
-    <string name="simContacts_title" msgid="27341688347689769">"‏بطاقة SIM وجهات الاتصال"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"‏جارٍ التحميل من شريحة SIM…"</string>
+    <string name="simContacts_title" msgid="27341688347689769">"‏شريحة SIM وجهات الاتصال"</string>
     <string name="add_contact_not_available" msgid="5547311613368004859">"لا يتوفر تطبيق لجهات الاتصال"</string>
     <string name="voice_search_not_available" msgid="2977719040254285301">"البحث الصوتي غير متاح"</string>
     <string name="call_not_available" msgid="8941576511946492225">"يتعذر إجراء مكالمة هاتفية نظرًا لأنه تم تعطيل تطبيق الهاتف."</string>
@@ -178,13 +182,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"تشغيل أقل سرعة."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"بدء التشغيل أو إيقافه مؤقتًا."</string>
     <string name="list_delimeter" msgid="4571593167738725100">"، "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"عام"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"خيارات عرض جهات الاتصال"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"الأصوات والاهتزاز"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"خيارات العرض"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"الأصوات والاهتزاز"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"إمكانية الوصول"</string>
     <string name="ringtone_title" msgid="760362035635084653">"نغمة رنين الهاتف"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"الاهتزاز أيضًا مع المكالمات"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"نغمات لوحة الاتصال"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"غير ذلك"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"الردود السريعة"</string>
     <string name="call_settings_label" msgid="313434211353070209">"المكالمات"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"حسابات الاتصال"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index bf53a9d..e26a90e 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Да се изчисти ли историята на обажд.?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Така ще се изтрият всички обаждания от историята ви"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Историята на обажд. се изчиства…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Гласова поща"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> гл. съобщения"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> гласови съобщения </item>
+      <item quantity="one">Гласово съобщение</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Пускане"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Нова гласова поща от <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"По-бавно възпроизвеждане."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Стартиране или поставяне на пауза на възпроизвеждането."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Общи"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Опции за показване на контактите"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Звуци и вибриране"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Опции за показване"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Звуци и вибриране"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"Мелодия на телефона"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Вибриране и при обаждания"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Клавиат. за набиране: Мелодии"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Други"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Бързи отговори"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Обаждания"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Профили за обаждане"</string>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index 26d99ae..53a6b20 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"কল ইতিহাস সাফ করবেন?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"এটি আপনার ইতিহাস থেকে সমস্ত কল মুছে দেবে"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"কল ইতিহাস সাফ করা হচ্ছে…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"ভয়েসমেল"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g>টি ভয়েসমেল"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g>টি ভয়েসমেল </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g>টি ভয়েসমেল </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"শুনুন"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> এর থেকে নতুন ভয়েসমেল"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"ধীরে প্লে করুন৷"</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"প্লেব্যাক শুরু করুন বা বিরতি দিন৷"</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"সাধারণ"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"পরিচিতি প্রদর্শনের বিকল্পগুলি"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"শব্দ ও কম্পন"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"প্রদর্শনের বিকল্পগুলি"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"শব্দ এবং কম্পন"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"ফোন রিংটোন"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"এছাড়াও কল এলে কম্পিত করুন"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ডায়ালপ্যাড টোনগুলি"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"অন্যান্য"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"দ্রুত প্রতিক্রিয়াগুলি"</string>
     <string name="call_settings_label" msgid="313434211353070209">"কল"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"কলিং অ্যাকাউন্টগুলি"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index fec76b7..5ecab8d 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Esborrar l\'historial de trucades?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Amb aquesta acció se suprimiran totes les trucades de l\'historial."</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Esborrant historial de trucades..."</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Missatge de veu"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> missatges de veu"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> bústies de veu </item>
+      <item quantity="one">Bústia de veu</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Reprodueix"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nou missatge de veu de <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Reprodueix més lentament."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Inicia la reproducció o la posa en pausa."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"General"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Opcions de visualització de contactes"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Sons i vibració"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Opcions de visualització"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Sons i vibració"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Accessibilitat"</string>
     <string name="ringtone_title" msgid="760362035635084653">"So de trucada"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibra també per a les trucades"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Tons del teclat"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Altres"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Respostes ràpides"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Trucades"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Comptes per a trucades"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index b15fe65..51a6268 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -33,10 +33,12 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Vymazat historii volání?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Tímto z historie smažete všechna volání."</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Mazání historie volání…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Hlasová schránka"</item>
-    <item quantity="other" msgid="5513481419205061254">"Hlasové zprávy: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="few"> <xliff:g id="COUNT">%1$d</xliff:g> hlasové zprávy </item>
+      <item quantity="many"> <xliff:g id="COUNT">%1$d</xliff:g> hlasové zprávy </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> hlasových zpráv </item>
+      <item quantity="one">Hlasová zpráva</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Přehrát"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nová hlasová zpráva – <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +180,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Přehrávat pomaleji."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Spustit nebo pozastavit přehrávání."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Obecné"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Možnosti zobrazení kontaktů"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Zvuky a vibrace"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Možnosti zobrazení"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Zvuky a vibrace"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"Vyzváněcí tón telefonu"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibrovat také u volání"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Tóny číselníku"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Další"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Rychlé odpovědi"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Volání"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Účty pro volání"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index c277310..bdd66db 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Vil du rydde opkaldshistorikken?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Dette vil slette alle opkald fra din historik"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Opkaldshistorik ryddes..."</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Telefonsvarer"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> telefonsvarerbeskeder"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"><xliff:g id="COUNT">%1$d</xliff:g> talebeskeder </item>
+      <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> talebeskeder </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Spil"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nye besked fra <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Afspil langsommere."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Start afspilningen, eller sæt den på pause."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Generelt"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Indstillinger for visning af kontaktpersoner"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Lyde og vibration"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Valgmuligheder for visning"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Lyde og vibration"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Hjælpefunktioner"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Ringetone for opkald"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibrer også ved opkald"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Toner for numerisk tastatur"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Andre"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Hurtigt svar"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Opkald"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Opkaldskonti"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index f11e0cc..d223de2 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Anrufliste löschen?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Alle Anrufe werden aus Ihrem Verlauf gelöscht."</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Anrufliste wird gelöscht…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Mailbox-Nachricht"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Mailbox-Nachrichten"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> Mailbox-Nachrichten </item>
+      <item quantity="one">Mailbox-Nachricht</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Anhören"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Neue Mailbox-Nachricht von <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Langsamer wiedergeben"</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Wiedergabe starten oder pausieren"</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Allgemein"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Anzeigeoptionen für Kontakte"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Töne und Vibration"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Anzeigeoptionen"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Töne und Vibration"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"Klingelton"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Bei Anrufen auch vibrieren"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Wähltastentöne"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Sonstige"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Kurzantworten"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Anrufe"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Anrufkonten"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 3d80835..9574924 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Διαγραφή ιστορικού κλήσεων;"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Αυτό θα διαγράψει όλες τις κλήσεις από το ιστορικό σας"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Διαγραφή ιστορικού κλήσεων…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Αυτόματος τηλεφωνητής"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> μηνύμ. αυτόμ. τηλεφωνητή"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> Μηνύματα αυτόμ. τηλεφωνητή </item>
+      <item quantity="one">Μήνυμα αυτόματου τηλεφωνητή</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Αναπαραγωγή"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Νέα μην. αυτ. τηλεφ. από <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -86,7 +86,7 @@
     <string name="dialer_settings_label" msgid="4305043242594150479">"Ρυθμίσεις"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Νέα επαφή"</string>
     <string name="menu_allContacts" msgid="6948308384034051670">"Όλες οι επαφές"</string>
-    <string name="callDetailTitle" msgid="5340227785196217938">"Λεπτομέρειες κλήσης"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"Στοιχ. κλήσης"</string>
     <string name="toast_call_detail_error" msgid="6947041258280380832">"Οι λεπτομέρειες δεν είναι διαθέσιμες"</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Χρησιμοποιήστε το πληκτρολόγιο αφής ηχητικών τόνων"</string>
     <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Επιστροφή στην κλήση που βρίσκεται σε εξέλιξη"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Αναπαραγωγή πιο αργά."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Έναρξη ή παύση αναπαραγωγής."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Γενικά"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Επιλογές εμφάνισης επαφών"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Ήχοι και δόνηση"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Επιλογές εμφάνισης"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Ήχοι και δόνηση"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Προσβασιμότητα"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Ήχος κλήσης τηλεφώνου"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Επίσης δόνηση για κλήσεις"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Τόνοι πληκτρολογίου κλήσης"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Άλλο"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Γρήγορες απαντήσεις"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Κλήσεις"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Λογαριασμοί κλήσης"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index b185321..91e7ffd 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Clear call history?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"This will delete all calls from your history"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Clearing call history…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Voicemail"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Voicemails"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> Voicemails </item>
+      <item quantity="one">Voicemail</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Play"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"New voicemail from <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Play slower."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Start or pause playback."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"General"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Contact display options"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Sounds and vibrate"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Display options"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Sounds and vibration"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Accessibility"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Phone ringtone"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Also vibrate for calls"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Dialpad tones"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Other"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Quick responses"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Calls"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Calling accounts"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index b185321..91e7ffd 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Clear call history?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"This will delete all calls from your history"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Clearing call history…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Voicemail"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Voicemails"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> Voicemails </item>
+      <item quantity="one">Voicemail</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Play"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"New voicemail from <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Play slower."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Start or pause playback."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"General"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Contact display options"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Sounds and vibrate"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Display options"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Sounds and vibration"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Accessibility"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Phone ringtone"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Also vibrate for calls"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Dialpad tones"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Other"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Quick responses"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Calls"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Calling accounts"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index db506b2..f53fd8a 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"¿Eliminar el historial de llamadas?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Esta acción eliminará todas las llamadas del historial"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Eliminando historial de llamadas…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Mensaje de voz"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> mensajes de voz"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> mensajes de voz </item>
+      <item quantity="one">mensaje de voz</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Reproducir"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nuevo mensaje de voz de <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Disminuir velocidad de reproducción"</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Iniciar o pausar la reproducción"</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"General"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Opciones de visualización de contactos"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Sonidos y vibración"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Opciones de visualización"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Sonidos y vibración"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Accesibilidad"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Tono del teléfono"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibrar también en llamadas"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Tonos del teclado"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Otro"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Respuestas rápidas"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Llamadas"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Cuentas telefónicas"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index b396d02..83f1b0d 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"¿Borrar historial de llamadas?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Se eliminarán todas las llamadas del historial"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Borrando historial de llamadas…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Mensaje de voz"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> mensajes de voz"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> mensajes de voz </item>
+      <item quantity="one"> mensaje de voz</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Reproducir"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nuevo mensaje de voz de <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Reproducir más lento."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Iniciar o pausar reproducción."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Generales"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Opciones para mostrar contactos"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Sonido y vibración"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Opciones de visualización"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Sonido y vibración"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Accesibilidad"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Tono del teléfono"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibrar también en llamadas"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Tonos del teclado"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Otros"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Respuestas rápidas"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Llamadas"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Cuentas de llamadas"</string>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index a926184..8611cc6 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Kas kustutada kõneajalugu?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"See kustutab ajaloost kõik kõned"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Kõneajaloo kustutamine ..."</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Kõnepost"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> kõnepostisõnumit"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> kõneposti teadet </item>
+      <item quantity="one">Kõneposti teade</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Esitamine"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Uus kõnepostisõnum kasutajalt <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Aeglasem esitus."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Esituse alustamine või peatamine."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Üldine"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Kontaktide kuvavalikud"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Helid ja vibreerimine"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Kuvamisvalikud"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Helid ja vibratsioon"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"Telefoni helin"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibreeri ka kõnede puhul"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Valimisklahvistiku toonid"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Muu"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Kiirvastused"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Kõned"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Helistamiskontod"</string>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index 8decea8..470e9c9 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Deien historia garbitu nahi duzu?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Historiako dei guztiak ezabatuko dira"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Deien historia garbitzen…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Erantzungailua"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ahots-mezu erantzungailuan"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> Erantzungailuko <xliff:g id="COUNT">%1$d</xliff:g> mezu </item>
+      <item quantity="one">Erantzungailuko mezua</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Erreproduzitu"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> deitzailearen ahots-mezu berria"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Erreproduzitu mantsoago."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Hasi edo gelditu erreprodukzioa."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Orokorra"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Kontaktuak bistaratzeko aukerak"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Soinuak eta dardara"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Bistaratze-aukerak"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Soinuak eta dardara"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Erabilerraztasuna"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Telefonoaren tonua"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Dardara deiak jasotzean ere"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Markagailuaren tonuak"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Beste batzuk"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Erantzun bizkorrak"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Deiak"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Deiak egiteko kontuak"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 45f0ac0..6ff2a64 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"سابقه تماس پاک شود؟"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"این کار همه تماس‌ها را از سابقه شما حذف می‌کند"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"در حال پاک کردن سابقه تماس..."</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"پست صوتی"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> پست صوتی"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> پست صوتی </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> پست صوتی </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"پخش"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>، <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"پست صوتی جدید از <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"پخش آهسته‌تر."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"شروع یا توقف موقت بازپخش."</string>
     <string name="list_delimeter" msgid="4571593167738725100">"، "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"عمومی"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"گزینه‌های نمایش تماس"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"صدا و لرزش"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"گزینه‌های نمایش"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"صدا و لرزش"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"آهنگ زنگ تلفن"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"تماس‌‌ها لرزش هم داشته باشند"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"صداهای صفحه شماره‌گیری"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"موارد دیگر"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"پاسخ‌های سریع"</string>
     <string name="call_settings_label" msgid="313434211353070209">"تماس‌ها"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"حساب‌های تماس اینترنتی"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index b7a6b0c..8360c33 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Tyhjennetäänkö soittohistoria?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Kaikki soittohistorian tiedot poistetaan"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Tyhjennetään soittohistoriaa…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Vastaaja"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> vastaajaviestiä"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> vastaajaviestiä </item>
+      <item quantity="one">Vastaajaviesti</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Toista"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Uusi vastaajaviesti: <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Toista hitaammin."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Aloita tai keskeytä toisto."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Yleiset"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Yhteystietojen näyttöasetukset"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Äänet ja värinä"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Näyttöasetukset"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Äänet ja värinä"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Esteettömyys"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Puhelimen soittoääni"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Värinä myös puheluille"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Näppäimistön äänet"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Muut"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Pikavastaukset"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Puhelut"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Puhelutilit"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index f858e1d..cb44a42 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Effacer l\'historique des appels?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Tous les appels seront supprimés de votre historique."</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Suppression historique des appels…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Messagerie vocale"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> messages vocaux"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"><xliff:g id="COUNT">%1$d</xliff:g> message vocal </item>
+      <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> messages vocaux </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Lire"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nouveau message vocal de <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -119,7 +119,7 @@
     <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"Pour configurer la messagerie vocale, accédez à Menu &gt; Paramètres."</string>
     <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"Veuillez désactiver le mode Avion avant d\'appeler la messagerie vocale."</string>
     <string name="contact_list_loading" msgid="5488620820563977329">"Chargement en cours..."</string>
-    <string name="imei" msgid="3045126336951684285">"Code IMEI"</string>
+    <string name="imei" msgid="3045126336951684285">"Code IIEM"</string>
     <string name="meid" msgid="6210568493746275750">"MEID"</string>
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Chargement depuis la carte SIM..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Contacts de carte SIM"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Lire moins vite."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Lancer ou interrompre la lecture."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Général"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Options d\'affichage des contacts"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Sons et vibrations"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Options d\'affichage"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Sons et vibrations"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Accessibilité"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Sonnerie du téléphone"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibrer aussi pour les appels"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Tonalités du clavier"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Autre"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Réponses rapides"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Appels"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Comptes d\'appel"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 7e56068..faff324 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Supprimer l\'historique des appels ?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Tous les appels seront supprimés de votre historique."</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Suppression historique des appels…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Messages vocaux"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> messages vocaux"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> message vocal </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> messages vocaux </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Lire"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nouveau message vocal de <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Lire moins vite"</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Lancer ou suspendre la lecture"</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Général"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Options d\'affichage des contacts"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Sons et vibreur"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Options d\'affichage"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Sons et vibreur"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"Sonnerie du téléphone"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibreur aussi pour les appels"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Son du clavier"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Autre"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Réponses rapides"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Appels"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Comptes téléphoniques"</string>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index 7104da6..f175700 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Borrar o historial de chamadas?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Esta acción eliminará todas as chamadas do teu historial"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Borrando historial de chamadas…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Correo de voz"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> correos de voz"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> correos de voz </item>
+      <item quantity="one">Correo de voz</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Reproducir"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Novo correo de voz de <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Reproducir máis lento."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Iniciar ou pausar a reprodución."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Xeral"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Opcións de visualización de contactos"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Sons e vibración"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Opcións de visualización"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Sons e vibración"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Accesibilidade"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Ton de chamada do teléfono"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibrar tamén nas chamadas"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Tons do teclado de marcación"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Outra"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Respostas rápidas"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Chamadas"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Contas de chamadas"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 4f353e8..0055aa1 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"कॉल इतिहास साफ़ करें?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"इससे आपके इतिहास से सभी कॉल हटा दिए जाएंगे"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"कॉल इतिहास साफ़ किया जा रहा है…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"वॉयस मेल"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ध्‍वनिमेल"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> वॉइसमेल </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> वॉइसमेल </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"चलाएं"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> की ओर से नया ध्‍वनिमेल"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"धीरे चलाएं."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"प्लेबैक प्रारंभ करें या रोकें."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"सामान्य"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"संपर्क प्रदर्शन के विकल्प"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"ध्वनि और कंपन"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"प्रदर्शन विकल्प"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"ध्‍वनि और कंपन"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"फ़ोन रिंगटोन"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"कॉल के लिए भी कंपन"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"डायलपैड टोन"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"अन्य"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"झटपट उत्तर"</string>
     <string name="call_settings_label" msgid="313434211353070209">"कॉल"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"कॉलिंग खाते"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 23d7477..8ca362d 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -33,10 +33,11 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Želite li izbrisati povijest poziva?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Izbrisat će se svi pozivi iz vaše povijesti"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Brisanje povijesti poziva…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Govorna pošta"</item>
-    <item quantity="other" msgid="5513481419205061254">"Br. govornih pošta: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> poruka govorne pošte </item>
+      <item quantity="few"> <xliff:g id="COUNT">%1$d</xliff:g> poruke govorne pošte </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> poruka govorne pošte </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Reproduciraj"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nova govorna pošta od kontakta <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +179,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Sporija reprodukcija."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Pokretanje ili pauziranje reprodukcije."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Općenito"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Opcije prikaza kontakata"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Zvukovi i vibracija"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Opcije prikaza"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Zvukovi i vibracije"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Pristupačnost"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Melodija zvona telefona"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibracija i za pozive"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Tonovi biranja brojeva"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Ostalo"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Brzi odgovori"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Pozivi"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Pozivanje računa"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index e666d56..a5de42c 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Törli a híváslistát?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Ezzel törli az összes hívást az előzmények közül"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Híváslista törlése…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Hangposta"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> hangüzenet"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> hangpostaüzenet </item>
+      <item quantity="one">Hangpostaüzenet</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Lejátszás"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Új hangüzenet tőle: <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Lassabb lejátszás."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Lejátszás indítása vagy szüneteltetése."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Általános"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Névjegy megjelenítési lehetőségei"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Hangok és rezgés"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Megjelenítési beállítások"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Hangok és rezgés"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Kisegítő lehetőségek"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Telefon csengőhangja"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Rezgés a hívásoknál is"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Tárcsázó hangjai"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Egyéb"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Gyors válaszok"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Hívások"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Telefonos fiókok"</string>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index b45b74d..afaf1e3 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Մաքրե՞լ զանգերի պատմությունը:"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Այս գործողությունը ամբողջովին կջնջի զանգերի պատմությունը"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Զանգերի պատմության մաքրում…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Ձայնային փոստ"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ձայնային փոստ"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> ձայնային փոստ </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> ձայնային փոստ </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Նվագարկել"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Նոր ձայնային փոստ <xliff:g id="CALLER">%1$s</xliff:g>-ից"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Նվագարկել ավելի դանդաղ:"</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Սկսել կամ դադարեցնել նվագարկումը:"</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Ընդհանուր"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Կոնտակտի ցուցադրման ընտրանքները"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Զանգերանգ և թրթռազանգ"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Ցուցադրման ընտրանքներ"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Ձայներ և թրթռում"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"Հեռախոսի զանգերանգ"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Նաև թրթռալ զանգերի ժամանակ"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Թվաշարի ձայներանգներ"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Այլ"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Արագ պատասխաններ"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Զանգեր"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Հաշիվներ զանգերի համար"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 1dc32de..add56a6 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Hapus riwayat panggilan?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Tindakan ini akan menghapus semua panggilan telepon dari riwayat"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Menghapus riwayat panggilan..."</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Pesan suara"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Pesan suara"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> Pesan suara </item>
+      <item quantity="one">Pesan suara</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Putar"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Pesan suara baru dari <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,14 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Putar lebih lambat."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Mulai atau jeda pemutaran."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Umum"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Opsi tampilan kontak"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Suara dan getaran"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Opsi tampilan"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Suara dan getaran"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Aksesibilitas"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Nada dering ponsel"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Juga getar saat ada panggilan"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Nada tombol nomor"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Lainnya"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Respons cepat"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Panggilan telepon"</string>
-    <string name="phone_account_settings_label" msgid="5864322009841175294">"Akun yang menelepon"</string>
+    <string name="phone_account_settings_label" msgid="5864322009841175294">"Akun panggilan"</string>
 </resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index c987007..f226c33 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Hreinsa símtalaferil?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Þetta eyðir öllum símtölum af ferlinum"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Hreinsar símtalaferil…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Talhólfsskilaboð"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> talhólfsskilaboð"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> talhólfsskilaboð </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> talhólfsskilaboð </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Spila"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Ný talhólfsskilaboð frá <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Spila hægar."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Hefja eða gera hlé á spilun."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Almennt"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Birtingarkostir fyrir tengiliði"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Hljóð og titringur"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Birtingarvalkostir"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Hljóð og titringur"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Aðgengi"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Hringitónn síma"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Titra líka fyrir símtöl"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Tónar takkaborðs"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Annað"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Snarsvör"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Símtöl"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Símtalareikningar"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 38289fc..1e501da 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Cancellare la cronologia chiamate?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Verranno eliminate tutte le chiamate dalla cronologia"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Cancellazione cronologia chiamate…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Segreteria"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> messaggi vocali"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> messaggi in segreteria </item>
+      <item quantity="one">Messaggio in segreteria</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Riproduci"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nuovo messaggio vocale da <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Riproduci più lentamente."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Avvia o metti in pausa la riproduzione."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Generali"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Opzioni di visualizzazione dei contatti"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Suoni e vibrazione"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Opzioni di visualizzazione"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Suoni e vibrazione"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Accessibilità"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Suoneria telefono"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibrazione anche per chiamate"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Toni tastierino"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Altro"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Risposte rapide"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Chiamate"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Account chiamate"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 7daddc0..0b54a7e 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -33,10 +33,12 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"האם לנקות את היסטוריית השיחות?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"פעולה זו תמחק את כל השיחות מההיסטוריה שלך"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"מנקה היסטוריית שיחות…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"דואר קולי"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> הודעות קוליות"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="two"> <xliff:g id="COUNT">%1$d</xliff:g> הודעות דואר קולי </item>
+      <item quantity="many"> <xliff:g id="COUNT">%1$d</xliff:g> הודעות דואר קולי </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> הודעות דואר קולי </item>
+      <item quantity="one">הודעת דואר קולי</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"הפעל"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"דואר קולי חדש מאת <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +180,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"הפעל לאט יותר."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"התחל או השהה הפעלה."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"כללי"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"אפשרויות להצגת אנשי קשר"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"צלילים ורטט"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"אפשרויות תצוגה"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"צלילים ורטט"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"נגישות"</string>
     <string name="ringtone_title" msgid="760362035635084653">"רינגטון של טלפון"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"הפעל רטט גם עבור שיחות"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"צלילי לוח החיוג"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"אחר"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"תגובות מהירות"</string>
     <string name="call_settings_label" msgid="313434211353070209">"שיחות"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"חשבונות לביצוע שיחות"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 2bc0466..4b5f82a 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"通話履歴を消去しますか?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"消去すると、すべての通話が履歴から削除されます"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"通話履歴の消去中…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"ボイスメール"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g>件のボイスメール"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g>件のボイスメール</item>
+      <item quantity="one">1件のボイスメール</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"再生"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>、<xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g>から新着ボイスメール"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"遅く再生します。"</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"再生を開始または一時停止します。"</string>
     <string name="list_delimeter" msgid="4571593167738725100">"、 "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"全般"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"連絡先表示オプション"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"音とバイブレーション"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"表示オプション"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"音とバイブレーション"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"着信音"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"着信時もバイブレーションON"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ダイヤルパッドの音"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"その他"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"クイック返信"</string>
     <string name="call_settings_label" msgid="313434211353070209">"通話"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"通話アカウント"</string>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index 1acc159..b97bc5f 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"გასუფთავდეს ზარის ისტორია?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"ეს წაშლის ყველა ზარს თქვენი ისტორიიდან"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"მიმდ. ზარ. ისტ. გასუფთავება…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"ხმოვანი ფოსტა"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ხმოვანი ფოსტა"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> ხმოვანი ფოსტა </item>
+      <item quantity="one">ხმოვანი ფოსტა</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"დაკვრა"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"ახალი ხმოვანი ფოსტა <xliff:g id="CALLER">%1$s</xliff:g>-ისგან"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"დაკვრის შენელება."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"დაკვრის დაწყება ან პაუზა."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"ზოგადი"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"კონტაქტის ჩვენების ვარიანტები"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"ხმები და ვიბრაცია"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"ეკრანის პარამეტრები"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"კინო და ვიბრაცია"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"ტელეფონის ზარი"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"ზარებზე ასევე ვიბრირება"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ციფერბლატის ტონები"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"სხვა"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"სწრაფი პასუხი"</string>
     <string name="call_settings_label" msgid="313434211353070209">"ზარები"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"ანგარიშების გამოძახება"</string>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index 4c86c5b..73a53ad 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Қоңыраулар тарихын тазалау керек пе?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Бұл тарихтан барлық қоңырауларды жояды"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Қоңыраулар тарихы тазалануда…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Дауыс-хабар"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> дауыс-хабарлар"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> дауыстық хабар </item>
+      <item quantity="one">Дауыстық хабар</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Ойнау"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> жіберген жаңа дауыс-хабар"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Баяуырақ ойнату."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Ойнатуды бастау немесе кідірту."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Жалпы"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Контактілерді көрсету опциялары"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Дыбыстар және дірілдеу"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Дисплей опциялары"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Дыбыстар мен діріл"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"Телефон қоңырау әуені"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Сондай-ақ, қоңыраулар үшін дірілдету"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Теру тақтасының үндері"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Басқа"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Жылдам жауаптар"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Қоңыраулар"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Есептік жазбаларға қоңыр. шалу"</string>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index f0610a3..04c342c 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"ជម្រះប្រវត្តិហៅ?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"វានឹងលុបការហៅទាំងអស់ចេញពីប្រវត្តិរបស់អ្នក"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"កំពុងជម្រះប្រវត្តិហៅ…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"សារ​ជា​សំឡេង"</item>
-    <item quantity="other" msgid="5513481419205061254">"សារ​ជា​សំឡេង <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other">សារជាសម្លេង <xliff:g id="COUNT">%1$d</xliff:g> </item>
+      <item quantity="one">សារជាសម្លេង</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"ចាក់"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"សារ​ជា​សំឡេង​ថ្មី​ពី <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"ចាក់​កាន់តែ​យឺត។"</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"ចាប់ផ្ដើម ឬ​ផ្អាក​ការ​ចាក់​ឡើងវិញ។"</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"ទូទៅ"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"ជម្រើស​បង្ហាញ​ទំនាក់ទំនង"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"សំឡេង​ និង​ញ័រ"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"ជម្រើសបង្ហាញ"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"សម្លេង និងភាពរំញ័រ"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"សំឡេង​រោទ៍​ទូរស័ព្ទ"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"ញ័រ​សម្រាប់​ការ​ហៅ​ផងដែរ"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"សំឡេង​បន្ទះ​លេខ"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"ផ្សេងៗ"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"ឆ្លើយតប​រហ័ស"</string>
     <string name="call_settings_label" msgid="313434211353070209">"ការហៅ"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"គណនីហៅទូរស័ព្ទ"</string>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index 09e9e1e..0829196 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"ಕರೆ ಇತಿಹಾಸವನ್ನು ತೆರವುಗೊಳಿಸುವುದೇ?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"ಇದು ನಿಮ್ಮ ಇತಿಹಾಸದಿಂದ ಎಲ್ಲಾ ಕರೆಗಳನ್ನು ಅಳಿಸುತ್ತದೆ"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"ಕರೆ ಇತಿಹಾಸವನ್ನು ತೆರವುಗೊಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"ಧ್ವನಿಮೇಲ್"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ಧ್ವನಿಮೇಲ್‌ಗಳು"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> ಧ್ವನಿಮೇಲ್‌ಗಳು </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> ಧ್ವನಿಮೇಲ್‌ಗಳು </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"ಪ್ಲೇ ಮಾಡು"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> ಇವರಿಂದ ಹೊಸ ಧ್ವನಿಮೇಲ್‌"</string>
@@ -179,13 +179,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"ನಿಧಾನವಾಗಿ ಪ್ಲೇ ಮಾಡಿ."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"ಪ್ಲೇಬ್ಯಾಕ್‌ ಪ್ರಾರಂಭಿಸಿ ಅಥವಾ ವಿರಾಮಗೊಳಿಸಿ."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"ಸಾಮಾನ್ಯ"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"ಸಂಪರ್ಕ ಪ್ರದರ್ಶನ ಆಯ್ಕೆಗಳು"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"ಧ್ವನಿಗಳು ಹಾಗೂ ವೈಬ್ರೇಟ್‌"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"ಪ್ರದರ್ಶನ ಆಯ್ಕೆಗಳು"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"ಧ್ವನಿ ಮತ್ತು ವೈಬ್ರೇಷನ್‌"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"ಫೋನ್ ರಿಂಗ್‌ಟೋನ್"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"ಕರೆಗಳಿಗೂ ಸಹ ವೈಬ್ರೇಟ್‌"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ಡಯಲ್‌ಪ್ಯಾಡ್‌ ಧ್ವನಿಗಳು"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"ಇತರೆ"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"ತ್ವರಿತ ಪ್ರತಿಕ್ರಿಯೆಗಳು"</string>
     <string name="call_settings_label" msgid="313434211353070209">"ಕರೆಗಳು"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"ಕರೆ ಮಾಡುವ ಖಾತೆಗಳು"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 0c7bd3f..d34e2d3 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"통화 기록을 삭제하시겠습니까?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"모든 통화가 기록에서 삭제됩니다."</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"통화 기록을 삭제하는 중…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"음성사서함"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g>개의 음성사서함"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other">음성메일 <xliff:g id="COUNT">%1$d</xliff:g>개</item>
+      <item quantity="one">음성메일</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"재생"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g>님이 보낸 새 음성사서함"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"더 느리게 재생합니다."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"재생을 시작하거나 일시중지합니다."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"일반"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"연락처 표시 옵션"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"소리와 진동"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"표시 옵션"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"소리 및 진동"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"전화 벨소리"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"전화 올 때 벨소리와 함께 진동"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"다이얼패드 신호음"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"기타"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"빠른 응답"</string>
     <string name="call_settings_label" msgid="313434211353070209">"통화"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"통화 계정"</string>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
index 42ca068..0cfe519 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -37,10 +37,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Чалуулар таржымалы тазалансынбы?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Ушуну менен бул таржымалдагы бардык чалуулар жок болот"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Чалуулар таржымалы тазаланууда…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Үнкат"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Үнкат"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> Үн каты </item>
+      <item quantity="one">Үн каты</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Угуу"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> жаңы үнкат калтырды"</string>
@@ -205,13 +205,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Жайыраак ойнотуу."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Ойнотуп баштоо же бир азга токтотуу"</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Жалпы"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Байланышты көрсөтүү параметрлери"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Добуштар жана дирилдөө"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Параметрлерди көрсөтүү"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Үндөр жана титирөө"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"Телефондун шыңгыры"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Чалуулар үчүн дагы дирилдесин"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Тергичтин үндөрү"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Башка"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Тез жооптор"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Чалуулар"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Чалуу каттоо эсептери"</string>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index 662e773..87543c9 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"ລຶບ​ປະ​ຫວັດ​ການ​ໂທ​ບໍ?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"ອັນ​ນີ້​ຈະ​ລຶບ​ທຸກ​ສາຍ​ໂທ​ຈາກ​ປະ​ຫວັດ​ຂອງ​ທ່ານ"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"ກຳ​ລັງ​ລຶບ​ປະ​ຫວັດ​ການ​ໂທ…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"ຂໍ້ຄວາມສຽງ"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ຂໍ້ຄວາມສຽງ"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> ຂໍ້ຄວາມສຽງ </item>
+      <item quantity="one">ຂໍ້ຄວາມສຽງ</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"ຫຼິ້ນ"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"ບໍ່ມີຂໍ້ຄວາມສຽງຈາກ <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"ຫຼິ້ນຊ້າລົງ."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"ເລີ່ມຫຼືຢຸດ​ການ​ຫຼິ້ນຊົ່ວຄາວ."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"ທົ່ວໄປ"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"​ໂຕ​ເລືອກ​ການ​ສະ​ແດງ​ລາຍ​ຊື່​ຜູ່​ຕິດ​ຕໍ່"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"​ສຽງ ແລະ​ການ​ສັ່ນ​ເຕືອນ"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"ຕົວເລືອກການສະແດງຜົນ"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"ສຽງ ແລະ​ສັ່ນ"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"ຣິງໂທນໂທລະສັບ"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"ສັ່ນ​ເຕືອນ​ເມື່ອ​ມີ​ການ​ໂທ​ເຂົ້າ"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ສຽງ​ກົດ​ປຸ່ມ​ໂທ"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"ອື່ນໆ"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"ການຕອບແບບວ່ອງໄວ"</string>
     <string name="call_settings_label" msgid="313434211353070209">"​ການ​ໂທ"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"ບັນ​ຊີ​ໂທ"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 8252d85..af587b9 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -33,10 +33,12 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Išvalyti skambučių istoriją?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Bus ištrinti visi skambučiai iš istorijos"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Išvaloma skambučių istorija..."</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Balso paštas"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> balso pašto pranešim."</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> balso pašto pranešimas </item>
+      <item quantity="few"> <xliff:g id="COUNT">%1$d</xliff:g> balso pašto pranešimai </item>
+      <item quantity="many"> <xliff:g id="COUNT">%1$d</xliff:g> balso pašto pranešimo </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> balso pašto pranešimų </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Paleisti"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nauji b. pašto pran. iš <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +180,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Leisti lėčiau."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Pradėti arba pristabdyti atkūrimą."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Bendrieji"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Kontaktų rodymo parinktys"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Garsai ir vibravimas"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Pateikties parinktys"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Garsai ir vibravimas"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Pritaikymas neįgaliesiems"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Telefono skambėjimo tonas"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Taip pat vibruoti, kai skamb."</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Skambinimo skydelio garsai"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Kita"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Greiti atsakai"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Skambučiai"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Skambinimo paskyros"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 19c030e..238075c 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -33,10 +33,11 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Vai dzēst zvanu vēsturi?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Tiks dzēsti visi vēsturē saglabātie zvani."</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Notiek zvanu vēstures dzēšana…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Balss pasts"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> balss pasta ziņojums(-i)"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="zero"><xliff:g id="COUNT">%1$d</xliff:g> balss pasta ziņojumi </item>
+      <item quantity="one"><xliff:g id="COUNT">%1$d</xliff:g> balss pasta ziņojums </item>
+      <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> balss pasta ziņojumi </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Atskaņot"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Jauns b. pasta ziņ. no: <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +179,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Atskaņot lēnāk."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Sākt vai apturēt atskaņošanu."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Vispārīgi"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Kontaktpersonu rādīšanas opcijas"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Skaņas un vibrācija"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Attēlojuma opcijas"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Skaņas un vibrācija"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Pieejamība"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Tālruņa zvana signāls"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Izmantot vibrozvanu zvaniem"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Numura sast. tastatūras toņi"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Citi"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Ātrās atbildes"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Zvani"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Zvanu konti"</string>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index f999c0b..0b4e77c 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Избришете историја на повици?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Ова ќе ги избрише сите повици од историјата"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Се чисти историјата на повици…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Говорна пошта"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> говорни пораки"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> говорна порака </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> говорни пораки </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Пушти"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Нова говорна пошта од <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Репродуцирајте побавно."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Запрете ја или паузирајте ја репродукцијата."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Општо"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Опции за прикажување контакт"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Звуци и вибрации"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Опции за екран"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Звуци и вибрации"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Пристапност"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Мелодија на телефон"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Вибрации и за повици"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Тонови на подлогата за бирање"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Друго"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Брзи одговори"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Повици"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Сметки за повикување"</string>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index 2cd2999..a4c2d15 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"കോൾ ചരിത്രം മായ്‌ക്കണോ?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"ഇത് നിങ്ങളുടെ ചരിത്രത്തിൽ നിന്ന് എല്ലാ കോളുകളും ഇല്ലാതാക്കും"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"കോൾ ചരിത്രം മായ്‌ക്കുന്നു..."</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"വോയ്‌സ്‌മെയിൽ"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> വോയ്‌സ്മെയിലുകൾ"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> വോയ്‌സ്‌മെയിലുകൾ </item>
+      <item quantity="one">വോയ്‌സ്‌മെയിൽ</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"പ്ലേ ചെയ്യുക"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> എന്നയാളിൽ നിന്നുള്ള പുതിയ വോയ്‌സ്‌മെയിൽ"</string>
@@ -178,14 +178,18 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"കുറഞ്ഞവേഗതയിൽ പ്ലേചെയ്യുക."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"പ്ലേബാക്ക് ആരംഭിക്കുകയോ താൽക്കാലികമായി നിർത്തുകയോ ചെയ്യുക."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"പൊതുവായത്"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"കോൺടാക്‌റ്റ് ഡിസ്പ്ലേ ഓപ്ഷനുകൾ"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"ശബ്‌ദങ്ങളും വൈബ്രേറ്റുചെയ്യലും"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"ഡിസ്‌പ്ലേ ഓപ്‌ഷനുകൾ"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"ശബ്‌ദവും വൈബ്രേഷനും"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"ഫോൺ റിംഗ്ടോൺ"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"കോളുകൾക്കായും വൈബ്രേറ്റ് ചെയ്യും"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ഡയൽപാഡ് ടോണുകൾ"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"മറ്റുള്ളവ"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"ദ്രുത പ്രതികരണങ്ങൾ"</string>
     <string name="call_settings_label" msgid="313434211353070209">"കോളുകൾ"</string>
-    <string name="phone_account_settings_label" msgid="5864322009841175294">"കോൾ ചെയ്യാനുള്ള അക്കൗണ്ടുകൾ"</string>
+    <string name="phone_account_settings_label" msgid="5864322009841175294">"കോളുചെയ്യാനുള്ള അക്കൗണ്ട്"</string>
 </resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index 855e45f..8607462 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Дуудлагын түүхийг устгах уу?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Энэ нь таны хийсэн бүх дуудлагыг түүхээс устгана."</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Дуудлагын түүхийг устгаж байна..."</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Дуут шуудан"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Дуут шуудан"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> Дуут шуудан </item>
+      <item quantity="one">Дуут шуудан</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Тоглуулах"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g>-с ирсэн шинэ дуут шуудан"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Удаан тоглуулах."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Тоглуулахыг эхлүүлэх буюу түр зогсоох."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Ерөнхий"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Харилцагчийн харагдах сонголт"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Хонхны ая болон чичиргээ"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Сонголтуудыг харуулах"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Дуу болон чичиргээ"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"Утасны хонхны ая"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Дуудлагад бас чичрэх"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Диалпадын ая"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Бусад"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Шуурхай хариунууд"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Дуудлага"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Дуудах акаунт"</string>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index efdb5c9..41e4a36 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"कॉल इतिहास साफ करायचा?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"हे आपल्या कॉल इतिहासातून सर्व कॉल हटवेल"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"कॉल इतिहास साफ करत आहे…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"व्हॉइसमेल"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> व्‍हॉइसमेल"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> व्हॉइसमेल </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> व्हॉइसमेल </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"प्ले करा"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> कडील नवीन व्हॉइसमेल"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"अधिक धीमे प्ले करा."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"प्लेबॅक प्रारंभ करा किंवा त्यास विराम द्या."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"सामान्य"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"संपर्क प्रदर्शन पर्याय"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"ध्वनी आणि कंपन"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"पर्याय प्रदर्शित करा"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"ध्वनी आणि कंपने"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"फोन रिंगटोन"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"कॉल साठी कंपन देखील करा"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"डायलपॅड टोन"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"अन्य"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"द्रुत प्रतिसाद"</string>
     <string name="call_settings_label" msgid="313434211353070209">"कॉल"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"कॉल करण्याची खाती"</string>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index 874e30c..0a2017d 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Kosongkan sejarah panggilan?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Langkah ini akan memadamkan semua panggilan dari sejarah anda"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Mengosongkan sejarah panggilan..."</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Mel suara"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Mel suara"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> Mel suara </item>
+      <item quantity="one">Mel suara</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Main"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Mel suara baru daripada <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Main lebih perlahan."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Mulakan atau jeda main balik."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Umum"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Pilihan paparan kenalan"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Bunyi dan getaran"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Pilihan paparan"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Bunyi dan getaran"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"Nada dering telefon"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Juga bergetar untuk panggilan"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Nada pad dail"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Lain-lain"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Respons pantas"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Panggilan"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Akaun panggilan"</string>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index dde4b25..ecd39e2 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"ခေါ်ဆိုမှု မှတ်တမ်းကို ရှင်းပစ်ရမလား?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"ဒါက သင့် မှတ်တမ်းထဲက ခေါ်ဆိုမှုများ  အားလုံးကို ဖျက်ပစ်မည်"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"ခေါ်ဆိုမှု မှတ်တမ်းကို ရှင်းနေ…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"အသံစာပို့စနစ်"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> အသံစာများ"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> အသံမေးလ်များ </item>
+      <item quantity="one"> အသံမေးလ်</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"နားထောင်သည်"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> ဆီမှ အသံစာ အသစ်"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"ပိုနှေးစွာ ကစားရန်"</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"ဖွင့်မှု စတင် သို့မဟုတ် ဆိုင်းငံ့ရန်"</string>
     <string name="list_delimeter" msgid="4571593167738725100">"၊ "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"အထွေထွေ"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"အဆက်အသွယ် ပြသမှု ရွေးစရာများ"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"အသံနှင့် တုန်ခါမှု"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"ပြသမှုအတွက်ရွေးစရာများ"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"အသံများနှင့် တုန်ခါမှု"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"ရယူသုံးနိုင်မှု"</string>
     <string name="ringtone_title" msgid="760362035635084653">"ဖုန်း သံစဉ်"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"ဖုန်းဝင်လျှင် တုန်ခါရန်"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ဖုန်းဒိုင်ခွက် အသံ"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"အခြား"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"အမြန် တုံ့ပြန်ချက်များ"</string>
     <string name="call_settings_label" msgid="313434211353070209">"ခေါ်ဆိုမှုများ"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"ခေါ်ဆိုသော အကောင့်များ"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 70ce879..347bd5c 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Vil du slette anropsloggen?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Dette sletter alle anrop fra loggen"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Sletter anropsloggen …"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Talepostkasse"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> talemeldinger"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> talemeldinger </item>
+      <item quantity="one">talemelding</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Spill av"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nye talemeldinger fra <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Spill av saktere."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Start eller stopp avspillingen."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Generelt"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Visningsalternativer for kontakter"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Lyder og vibrering"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Visningsalternativer"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Lyder og vibrasjon"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Tilgjengelighet"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Telefonringetone"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibrer også når det ringer"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Tastetoner for tastaturet"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Annet"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Hurtigsvar"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Anrop"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Ringe kontoer"</string>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index d1d19c1..e1c339a 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"कल इतिहास हटाउने हो?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"यस कार्यले तपाईँको इतिहासबाट सबै कल मेट्नेछ"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"कल इतिहास हाटउँदै..."</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"भ्वाइसमेल"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> भ्वाइसमेलहरू"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> भ्वाइसमेलहरू </item>
+      <item quantity="one">भ्वाइसमेल</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"बजाउनुहोस्"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g> , <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> बाट नयाँ भ्वाइसमेल"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"ढिलो चलाउनुहोस्।"</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"दोहर्याउने सुरु गर्नुहोस् वा रोक्नुहोस्।"</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"सामान्य"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"सम्पर्क प्रदर्शन विकल्पहरू"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"ध्वनि र कम्पन"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"विकल्पहरू प्रदर्शन गर्नुहोस्"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"ध्वनि र कम्पन"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"पहुँचता"</string>
     <string name="ringtone_title" msgid="760362035635084653">"फोन रिङटोन"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"कलका लागि कम्पन पनि गर्नुहोस्"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"डायलप्याड ध्वनि"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"अन्य"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"द्रुत प्रतिक्रियाहरू"</string>
     <string name="call_settings_label" msgid="313434211353070209">"कलहरू"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"खाता कलिङ"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 715e2a5..d8986a6 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Oproepgeschiedenis wissen?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Hiermee worden alle oproepen uit uw geschiedenis verwijderd"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Oproepgeschiedenis wissen…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Voicemail"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> voicemails"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> voicemails </item>
+      <item quantity="one">Voicemail</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Afspelen"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nieuwe voicemail van <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -117,7 +117,7 @@
     <string name="callDetailsDurationFormat" msgid="6061406028764382234">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sec."</string>
     <string name="dialog_phone_call_prohibited_message" msgid="5730565540182492608">"Kan dit nummer niet bellen"</string>
     <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"Voor het instellen van voicemail, gaat u naar \'Menu\' &gt; \'Instellingen\'."</string>
-    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"Als u uw voicemail wilt bellen, moet u eerst de Vliegmodus uitschakelen."</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"Als u uw voicemail wilt bellen, moet u eerst de Vliegtuigmodus uitschakelen."</string>
     <string name="contact_list_loading" msgid="5488620820563977329">"Laden..."</string>
     <string name="imei" msgid="3045126336951684285">"IMEI-nummer"</string>
     <string name="meid" msgid="6210568493746275750">"MEID"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Langzamer afspelen."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Afspelen starten of onderbreken."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Algemeen"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Weegaveopties voor contacten"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Geluiden en trillen"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Weergaveopties"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Geluiden en trillingen"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Toegankelijkheid"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Beltoon telefoon"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Ook trillen voor oproepen"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Tonen bij toetsaanslag"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Anders"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Snelle reacties"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Oproepen"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Oproepaccounts"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 8f63daf..2d1d38c 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -33,10 +33,12 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Wyczyścić historię połączeń?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Spowoduje to usunięcie wszystkich połączeń z historii"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Czyszczę historię połączeń…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Poczta głosowa"</item>
-    <item quantity="other" msgid="5513481419205061254">"Wiadomości głosowe: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="few"> <xliff:g id="COUNT">%1$d</xliff:g> wiadomości głosowe </item>
+      <item quantity="many"> <xliff:g id="COUNT">%1$d</xliff:g> wiadomości głosowych </item>
+      <item quantity="other"> Wiadomości głosowe: <xliff:g id="COUNT">%1$d</xliff:g> </item>
+      <item quantity="one">Wiadomość głosowa</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Odtwórz"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nowa poczta głosowa od: <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +180,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Odtwarzaj wolniej."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Rozpocznij lub wstrzymaj odtwarzanie."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Ogólne"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Opcje wyświetlania kontaktów"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Dźwięki i wibracje"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Opcje wyświetlania"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Dźwięki i wibracje"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Ułatwienia dostępu"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Dzwonek telefonu"</string>
-    <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Wibracja podczas połączeń"</string>
+    <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Wibracja przy połączeniach"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Dźwięki klawiatury"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Inne"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Szybkie odpowiedzi"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Połączenia"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Konta telefoniczne"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 07a9916..4ebd492 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Limpar histórico de chamadas?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Todas as chamadas serão eliminadas do histórico"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"A limpar histórico de chamadas…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Correio de voz"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Mensagens de correio de voz"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> mensagens de correio de voz </item>
+      <item quantity="one">Mensagem de correio de voz</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Reproduzir"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g> , <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nova msg de correio de voz de <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Reproduzir mais lento."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Iniciar ou interromper a reprodução."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Geral"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Opções de visualização de contactos"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Sons e vibração"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Opções de visualização"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Sons e vibração"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Acessibilidade"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Toque do telemóvel"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibrar também para chamadas"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Tons do teclado"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Outras"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Respostas rápidas"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Chamadas"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Contas de chamadas"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 13672ee..8019ef3 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Limpar histórico de chamadas?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Esta ação excluirá todas as chamadas do seu histórico"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Limpando histórico de chamadas…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Mensagem de voz"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> mensagens de voz"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> Correios de voz </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> Correios de voz </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Reproduzir"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nova mensagem de voz de <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Reprodução mais lenta."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Inicie ou pause a reprodução."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Geral"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Opções de exibição de contato"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Sons e vibração"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Opções de exibição"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Sons e vibração"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Acessibilidade"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Toque do telefone"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Também vibrar para chamadas"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Tons de teclado"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Outras"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Respostas rápidas"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Chamadas"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Contas de chamadas"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 0a84b98..a45e208 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -33,10 +33,11 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Ștergeți istoricul apelurilor?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Astfel vor fi șterse toate apelurile din istoric"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Se șterge istoricul apelurilor…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Mesaj vocal"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> (de) mesaje vocale"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="few"> <xliff:g id="COUNT">%1$d</xliff:g> mesaje vocale </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> de mesaje vocale </item>
+      <item quantity="one">Mesaj vocal</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Redaţi"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Mesaj vocal nou de la <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -81,10 +82,10 @@
     <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>
     <string name="add_contact" msgid="4579643070374941999">"Adăugați în Agendă"</string>
-    <string name="add_2sec_pause" msgid="9214012315201040129">"Pauză 2 secunde"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"Adăugați o pauză de 2 secunde"</string>
     <string name="add_wait" msgid="3360818652790319634">"Adăugaţi interval de aşteptare"</string>
     <string name="dialer_settings_label" msgid="4305043242594150479">"Setări"</string>
-    <string name="menu_newContact" msgid="1209922412763274638">"Persoană nouă în agendă"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"Intrare nouă în agendă"</string>
     <string name="menu_allContacts" msgid="6948308384034051670">"Toată agenda"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Detaliile apelului"</string>
     <string name="toast_call_detail_error" msgid="6947041258280380832">"Nu sunt disponibile detalii"</string>
@@ -134,7 +135,7 @@
     <string name="call_log_activity_title" msgid="4612824396355272023">"Istoric"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Toate"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Nepreluate"</string>
-    <string name="call_log_voicemail_title" msgid="940422274047025948">"Mes. vocal"</string>
+    <string name="call_log_voicemail_title" msgid="940422274047025948">"Mesagerie vocală"</string>
     <string name="tab_speed_dial" msgid="7552166276545648893">"Apelare rapidă"</string>
     <string name="tab_recents" msgid="929949073851377206">"Recente"</string>
     <string name="tab_all_contacts" msgid="1410922767166533690">"Agendă"</string>
@@ -178,13 +179,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Jucați mai lent."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Porniți sau întrerupeți redarea."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Generale"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Opțiuni de afișare a agendei"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Sunete și vibrații"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Opțiuni de afișare"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Sunete și vibrații"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"Ton de apel al telefonului"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibrează și pentru apeluri"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Tonuri pt. tastatura numerică"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Altele"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Răspunsuri rapide"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Apeluri"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Conturi pentru apelare"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 1247be8..c5d77ce 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -26,17 +26,19 @@
     <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Изменить номер и вызвать"</string>
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Добавить в контакты"</string>
     <string name="recentCalls_removeFromRecentList" msgid="5551148439199439404">"Удалить из журнала звонков"</string>
-    <string name="recentCalls_deleteAll" msgid="5157887960461979812">"Очистить журнал звонков"</string>
+    <string name="recentCalls_deleteAll" msgid="5157887960461979812">"Очистить историю звонков"</string>
     <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Удалить голосовое сообщение"</string>
     <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Поделиться"</string>
     <string name="recentCalls_empty" msgid="8555115547405030734">"Вызовов нет."</string>
-    <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Очистить журнал звонков?"</string>
+    <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Очистить историю звонков?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"История звонков будет удалена."</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Очистка журнала звонков…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Голосовая почта"</item>
-    <item quantity="other" msgid="5513481419205061254">"Голосовые сообщения: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> голосовое сообщение </item>
+      <item quantity="few"> <xliff:g id="COUNT">%1$d</xliff:g> голосовых сообщения </item>
+      <item quantity="many"> <xliff:g id="COUNT">%1$d</xliff:g> голосовых сообщений </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> голосового сообщения </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Прослушать"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Новое гол. сообщение: <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -86,7 +88,7 @@
     <string name="dialer_settings_label" msgid="4305043242594150479">"Настройки"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Новый контакт"</string>
     <string name="menu_allContacts" msgid="6948308384034051670">"Все контакты"</string>
-    <string name="callDetailTitle" msgid="5340227785196217938">"Сведения о вызове"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"Вызов"</string>
     <string name="toast_call_detail_error" msgid="6947041258280380832">"Данные недоступны"</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Использовать тональный набор"</string>
     <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Вернуться к ожидающему вызову"</string>
@@ -178,13 +180,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Уменьшить скорость воспроизведения."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Начать или приостановить воспроизведение."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Общие"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Отображение контактов"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Звук и вибросигнал"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Упорядочить"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Звуки и вибрация"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Специальные возможности"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Рингтон"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Вибросигнал при вызове"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Звук при наборе номера"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Другие настройки"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Быстрые ответы"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Вызовы"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Аккаунты для звонков"</string>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
index 2d862cb..ccfecba 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"ඇමතුම් ඉතිහාසය හිස් කරන්නද?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"මෙය ඔබේ ඉතිහාසයෙන් සියලු ඇමතුම් මකනු ඇත"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"ඇමතුම් ඉතිහාසය හිස් කරමින්…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"හඬ තැපෑල"</item>
-    <item quantity="other" msgid="5513481419205061254">"හඬ තැපැල් <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one">හඬ තැපැල් <xliff:g id="COUNT">%1$d</xliff:g> </item>
+      <item quantity="other">හඬ තැපැල් <xliff:g id="COUNT">%1$d</xliff:g> </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"ධාවනය කරන්න"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> වෙතින් නව හඬ තැපැලක්"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"හෙමින් ධාවනය කරන්න."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"නැවත ධාවනයෙදී ආරම්භ කරන්න හෝ විරාමය කරන්න."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"පොදු"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"සම්බන්ධතා දර්ශනය කිරීමේ විකල්ප"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"හඬ සහ කම්පන"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"විකල්ප පෙන්වන්න"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"ශබ්ද සහ කම්පන"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"දුරකථන රිගින්ටෝනය"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"ඇමතුම් සඳහා කම්පනයද කරන්න"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ඩයල්පෑඩ ස්පර්ශක හඬ"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"වෙනත්"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"ක්ෂණික ප්‍රතිචාර"</string>
     <string name="call_settings_label" msgid="313434211353070209">"ඇමතුම්"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"ගිණුම් ඇමතීම"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 1cbb44a..afb35b7 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -33,10 +33,12 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Chcete vymazať históriu hovorov?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Týmto sa z histórie odstránia všetky hovory"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Vymazáva sa história hovorov..."</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Hlasová správa"</item>
-    <item quantity="other" msgid="5513481419205061254">"Počet hlasových správ: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="few"> <xliff:g id="COUNT">%1$d</xliff:g> odkazy v hlasovej schránke </item>
+      <item quantity="many"> <xliff:g id="COUNT">%1$d</xliff:g> odkazu v hlasovej schránke </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> odkazov v hlasovej schránke </item>
+      <item quantity="one">Odkaz v hlasovej schránke</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Prehrať"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nová hlasová správa – <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +180,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Prehrať pomalšie"</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Spustiť alebo pozastaviť prehrávanie"</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Všeobecné"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Možnosti zobrazenia kontaktov"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Zvuky a vibrovanie"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Možnosti zobrazenia"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Zvuky a vibrovanie"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Dostupnosť"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Tón zvonenia telefónu"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibrovať aj pri hovoroch"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Tóny číselnej klávesnice"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Ďalšie"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Rýchle odpovede"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Hovory"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Telefónne účty"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index b291b5a..20bf232 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -33,10 +33,12 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Želite izbrisati zgodovino klicev?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"S tem boste iz zgodovine izbrisali vse klice"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Izbris zgodovine klicev …"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Sporočila glasovne pošte"</item>
-    <item quantity="other" msgid="5513481419205061254">"Št. sporočil glasovne pošte: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> sporočilo v odzivniku </item>
+      <item quantity="two"> <xliff:g id="COUNT">%1$d</xliff:g> sporočili v odzivniku </item>
+      <item quantity="few"> <xliff:g id="COUNT">%1$d</xliff:g> sporočila v odzivniku </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> sporočil v odzivniku </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Predvajaj"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g> , <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nova glasovna pošta od <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +180,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Predvajaj počasneje."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Začni ali zaustavi predvajanje."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Splošno"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Možnosti prikaza stikov"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Zvoki in vibriranje"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Možnosti prikaza"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Zvoki in vibriranje"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Funkcije za ljudi s posebnimi potrebami"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Ton zvonjenja telefona"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibriranje tudi za klice"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Toni tipkovnice"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Drugo"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Hitri odgovori"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Klici"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Računi za klicanje"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 92b6eb0..60190ea 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -33,10 +33,11 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Желите да обришете историју позива?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Ово ће избрисати све позиве из историје"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Брише се историја позива…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Говорна пошта"</item>
-    <item quantity="other" msgid="5513481419205061254">"Говорних порука: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> говорна порука </item>
+      <item quantity="few"> <xliff:g id="COUNT">%1$d</xliff:g> говорне поруке </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> говорних порука </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Пусти"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Нова говорна порука од <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +179,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Спорија репродукција."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Започните или паузирајте репродукцију."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Опште"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Опције приказивања контаката"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Звуци и вибрација"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Опције приказа"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Звуци и вибрација"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Приступачност"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Звук звона телефона"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Вибрирај и за позиве"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Звуци нумеричке тастатуре"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Друго"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Брзи одговори"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Позиви"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Налози за позивање"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 5dc0587..59ce00c 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Vill du rensa samtalshistoriken?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Alla samtal raderas från historiken"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Rensar samtalshistoriken ..."</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Röstmeddelanden"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> röstmeddelanden"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> röstmeddelanden </item>
+      <item quantity="one">röstmeddelande</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Spela upp"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nytt röstmeddelande från <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Spela upp långsammare."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Starta eller pausa uppspelning."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Allmänt"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Visningsalternativ för kontakter"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Ljud och vibrationer"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Visningsalternativ"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Ljud och vibration"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Tillgänglighet"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Ringsignal"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Vibrera också vid samtal"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Knappsatsljud"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Övrigt"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Snabbsvar"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Samtal"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Konton för samtal"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 78e8a41..d5ee879 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Je, ungependa kufuta rekodi ya simu zilizopigwa?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Hii itafuta simu zote kutoka rekodi zako"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Inafuta rekodi ya simu zilizopigwa..."</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Ujumbe wa sauti"</item>
-    <item quantity="other" msgid="5513481419205061254">"Barua za sauti <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other">Ujumbe <xliff:g id="COUNT">%1$d</xliff:g> wa sauti </item>
+      <item quantity="one">Ujumbe wa sauti</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Cheza"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Barua mpya ya sauti kutoka <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Cheza polepole."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Anzisha au usitishe kucheza."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Jumla"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Chaguo za onyesho la anwani"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Sauti na mtetemo"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Chaguo za onyesho"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Sauti na mtetemo"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Zana za walio na matatizo ya kuona au kusikia"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Mlio wa simu"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Tetema simu zinapoingia pia"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Milio ya vitufe vya kupiga simu"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Nyingine"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Majibu ya haraka"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Simu zilizopigwa"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Akaunti za simu"</string>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index 813ebfd..ff501fd 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"அழைப்பு வரலாற்றை அழிக்கவா?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"வரலாற்றிலிருந்து இது எல்லா அழைப்புகளையும் நீக்கும்"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"அழைப்பு வரலாற்றை அழிக்கிறது…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"குரலஞ்சல்"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> குரலஞ்சல்கள்"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> குரலஞ்சல்கள் </item>
+      <item quantity="one">குரலஞ்சல்</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"இயக்கு"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> இன் புதிய குரலஞ்சல்"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"மெதுவாக இயக்கு."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"பிளேபேக்கைத் தொடங்கு அல்லது இடைநிறுத்து."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"பொது"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"தொடர்பின் காட்சி விருப்பங்கள்"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"ஒலிகளும் அதிர்வுறுதலும்"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"திரை விருப்பங்கள்"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"ஒலிகளும் அதிர்வும்"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"மொபைலின் ரிங்டோன்"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"அழைப்புகளுக்கும் அதிர்வுறு"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"டயல்பேட் ஒலிகள்"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"பிற"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"விரைவு பதில்கள்"</string>
     <string name="call_settings_label" msgid="313434211353070209">"அழைப்புகள்"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"அழைப்பு கணக்குகள்"</string>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index 49a1787..6b80651 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"కాల్ చరిత్రను క్లియర్ చేయాలా?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"దీని వలన మీ చరిత్ర నుండి అన్ని కాల్‌లు తొలగించబడతాయి"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"కాల్ చరిత్రను క్లియర్ చేస్తోంది…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"వాయిస్ మెయిల్"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> వాయిస్ మెయిల్‌లు"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> వాయిస్ మెయిల్‌లు </item>
+      <item quantity="one">వాయిస్ మెయిల్</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"ప్లే చేయి"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> నుండి కొత్త వాయిస్ మెయిల్"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"నెమ్మదిగా ప్లే చేయి."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"ప్లేబ్యాక్‌ను ప్రారంభించు లేదా పాజ్ చేయి."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"సాధారణం"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"పరిచయ ప్రదర్శన ఎంపికలు"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"ధ్వనులు మరియు వైబ్రేట్"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"ప్రదర్శన ఎంపికలు"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"ధ్వనులు మరియు వైబ్రేషన్"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"ప్రాప్యత సామర్థ్యం"</string>
     <string name="ringtone_title" msgid="760362035635084653">"ఫోన్ రింగ్‌టోన్"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"కాల్‌ల కోసం వైబ్రేట్ కూడా చేయి"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"డయల్‌ప్యాడ్ టోన్‌లు"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"ఇతరం"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"శీఘ్ర ప్రతిస్పందనలు"</string>
     <string name="call_settings_label" msgid="313434211353070209">"కాల్‌లు"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"కాల్ చేసే ఖాతాలు"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 91816b8..75717c0 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"ล้างประวัติการโทรไหม"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"การดำเนินการนี้จะลบการโทรทั้งหมดออกจากประวัติของคุณ"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"กำลังล้างประวัติการโทร…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"ข้อความเสียง"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ข้อความเสียง"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> ข้อความเสียง </item>
+      <item quantity="one">ข้อความเสียง</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"เล่น"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"ข้อความเสียงใหม่จาก <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"เล่นช้าลง"</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"เริ่มหรือหยุดเล่นชั่วคราว"</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"ทั่วไป"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"ตัวเลือกการแสดงรายชื่อติดต่อ"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"เสียงและสั่น"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"ตัวเลือกการแสดง"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"เสียงและการสั่น"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"เสียงเรียกเข้า"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"สั่นเมื่อมีสายเรียกเข้าด้วย"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"เสียงแป้นหมายเลข"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"อื่นๆ"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"คำตอบด่วน"</string>
     <string name="call_settings_label" msgid="313434211353070209">"การโทร"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"บัญชีการโทร"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 20c4b1f..6573262 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"I-clear ang history ng tawag?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Ide-delete nito ang lahat ng tawag mula sa iyong history"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Kini-clear ang history ng tawag…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Voicemail"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> (na) Voicemail"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> Voicemail </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> na Voicemail </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"I-play"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Bagong voicemail mula kay <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -71,7 +71,7 @@
     <string name="description_playback_seek" msgid="4509404274968530055">"Hanapin ang posisyon ng playback"</string>
     <string name="description_rate_decrease" msgid="3161652589401708284">"Bagalan ang playback"</string>
     <string name="description_rate_increase" msgid="6324606574127052385">"Bilisan ang playback"</string>
-    <string name="action_menu_call_history_description" msgid="9018442816219748968">"Kasaysayan ng Tawag"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"History ng Tawag"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Higit pang mga pagpipilian"</string>
     <string name="action_menu_dialpad_button" msgid="1425910318049008136">"dial pad"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopyahin"</string>
@@ -131,7 +131,7 @@
     <string name="recentMissed_empty" msgid="4901789420356796156">"Walang mga tawag"</string>
     <string name="recentVoicemails_empty" msgid="8582424947259156664">"Walang mga kamakailang voicemail"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Mga paborito lang ang ipakita"</string>
-    <string name="call_log_activity_title" msgid="4612824396355272023">"Kasaysayan"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"History"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Lahat"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Di nasagot"</string>
     <string name="call_log_voicemail_title" msgid="940422274047025948">"Voicemail"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Mag-play nang mas mabagal."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Simulan o i-pause ang pag-playback."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Pangkalahatan"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Mga opsyon ng display ng contact"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Mga tunog at pag-vibrate"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Mga opsyon sa pagpapakita"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Tunog at pag-vibrate"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"Ringtone ng telepono"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Mag-vibrate din para sa tawag"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Mga dialpad tone"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Iba pa"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Mga mabilisang tugon"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Mga Tawag"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Mga account sa pagtawag"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 2d9463a..48e431e 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Çağrı geçmişi temizlensin mi?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Bu işlem, geçmişinizdeki bütün çağrıları silecek"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Çağrı geçmişi temizleniyor…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Sesli mesaj"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Sesli mesaj"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> Sesli Mesaj </item>
+      <item quantity="one">Sesli Mesaj</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Oynat"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Yeni sesli mesj gönderen: <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Daha yavaş çalın."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Çalmayı başlatın veya duraklatın."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Genel"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Kişi görüntüleme seçenekleri"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Sesler ve titreşim"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Görüntüleme seçenekleri"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Ses ve titreşim"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"Telefon zil sesi"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Çağrılarda ayrıca titret"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Tuş takımı tonları"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Diğer"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Hızlı yanıtlar"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Çağrılar"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Çağrı hesapları"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 6fe2f8b..5c3e980 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -24,7 +24,7 @@
     <string name="menu_sendTextMessage" msgid="8682056943960339239">"Надіслати SMS"</string>
     <string name="recentCalls_callNumber" msgid="1756372533999226126">"Набрати <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Редаг. номер перед викл."</string>
-    <string name="recentCalls_addToContact" msgid="1429899535546487008">"Дод. до контактів"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"Додати в контакти"</string>
     <string name="recentCalls_removeFromRecentList" msgid="5551148439199439404">"Видалити з історії дзвінків"</string>
     <string name="recentCalls_deleteAll" msgid="5157887960461979812">"Очистити історію дзвінків"</string>
     <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Видалити голосову пошту"</string>
@@ -33,10 +33,12 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Очистити історію дзвінків?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"З історії буде видалено всі дзвінки"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Очищення історії дзвінків…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Голосова пошта"</item>
-    <item quantity="other" msgid="5513481419205061254">"Повідомлень голос. пошти: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> голосове повідомлення </item>
+      <item quantity="few"> <xliff:g id="COUNT">%1$d</xliff:g> голосові повідомлення </item>
+      <item quantity="many"> <xliff:g id="COUNT">%1$d</xliff:g> голосових повідомлень </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> голосових повідомлень </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Відтворити"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Нова голосова пошта від <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,14 +180,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Відтворювати повільніше."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Почати або призупинити відтворення."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Загальні налаштування"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Параметри відображення контактів"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Звуки та вібросигнал"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Параметри відображення"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Звуки та вібрація"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Спеціальні можливості"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Сигнал дзвінка телефона"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Також вібрувати для дзвінків"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Звуки цифрової клавіатури"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Інше"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Швидкі відповіді"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Дзвінки"</string>
-    <string name="phone_account_settings_label" msgid="5864322009841175294">"Облікові записи для дзвінків"</string>
+    <string name="phone_account_settings_label" msgid="5864322009841175294">"Обл. записи для дзвінків"</string>
 </resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index e825624..e4ed9bf 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"کال کی سرگزشت صاف کریں؟"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"یہ آپ کی سرگزشت سے سبھی کالز کو حذف کر دے گا"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"کال کی سرگزشت صاف کی جا رہی ہے…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"صوتی میل"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> صوتی میلز"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> صوتی میلز </item>
+      <item quantity="one">صوتی میل</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"چلائیں"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>، <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> کی جانب سے نیا صوتی میل"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"آہستہ چلائیں۔"</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"پلے بیک شروع یا موقوف کریں۔"</string>
     <string name="list_delimeter" msgid="4571593167738725100">"، "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"عام"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"رابطہ کے ڈسپلے کے اختیارات"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"آوازیں اور وائبریٹ"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"ڈسپلے کے اختیارات"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"آوازیں اور وائبریشن"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"فون رِنگ ٹون"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"کالز کیلئے وائبریٹ بھی کرے"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ڈائل پیڈ ٹونز"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"دیگر"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"فوری جوابات"</string>
     <string name="call_settings_label" msgid="313434211353070209">"کالز"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"کالنگ اکاؤنٹس"</string>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index e054bc9..52199f6 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Qo‘ng‘iroqlar tarixi tozalansinmi?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Bu barcha qo‘ng‘iroqlar tarixini o‘chirib tashlaydi"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Qo‘ng‘iroqlar tarixi tozalanmoqda…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Ovozli xabar"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ta ovozli xabar"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> ta ovozli xabar </item>
+      <item quantity="one">Ovozli xabar</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Tinglash"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g>dan yangi ovozli xabar"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Sekinroq ijro etish."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Ijroni boshlash yoki to‘xtatish"</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Umumiy"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Kontaktlarni ko‘rsatish uchun tanlamalar"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Ovoz va tebranish"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Ko‘rsatish sozlamalari"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Ovozlar va tebranish"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"Telefon uchun rington"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Qo‘ng‘iroq vaqtida tebranish"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Tugmalar tovushi"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Boshqa"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Tezkor javoblar"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Qo‘ng‘iroqlar"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Qo‘ng‘iroq uchun hisoblar"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 4e46eaa..744086f 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Xóa nhật ký cuộc gọi?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Thao tác này sẽ xóa tất cả cuộc gọi khỏi nhật ký của bạn"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Đang xóa nhật ký cuộc gọi…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Thư thoại"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Thư thoại"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> Thư thoại </item>
+      <item quantity="one">Thư thoại</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Phát"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Thư thoại mới từ <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Phát chậm hơn."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Bắt đầu hoặc tạm dừng phát lại."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Chung"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Tùy chọn hiển thị liên hệ"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Âm thanh và rung"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Tùy chọn hiển thị"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Âm thanh và rung"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"Nhạc chuông điện thoại"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Đồng thời rung khi có cuộc gọi"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Âm bàn phím số"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Khác"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Trả lời nhanh"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Cuộc gọi"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Tài khoản gọi"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index b4d2d63..36925d8 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"要清除通话记录吗?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"这会删除您的所有通话记录"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"正在清除通话记录…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"语音邮件"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> 封语音邮件"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> 封语音邮件</item>
+      <item quantity="one">1 封语音邮件</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"播放"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>,<xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"来自<xliff:g id="CALLER">%1$s</xliff:g>的新语音邮件"</string>
@@ -121,7 +121,7 @@
     <string name="contact_list_loading" msgid="5488620820563977329">"正在加载..."</string>
     <string name="imei" msgid="3045126336951684285">"移动通信国际识别码"</string>
     <string name="meid" msgid="6210568493746275750">"MEID"</string>
-    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"正从SIM卡中加载..."</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"正从 SIM 卡中加载..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"SIM卡联系人"</string>
     <string name="add_contact_not_available" msgid="5547311613368004859">"没有可用的通讯录应用"</string>
     <string name="voice_search_not_available" msgid="2977719040254285301">"无法使用语音搜索"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"慢放。"</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"开始或暂停播放。"</string>
     <string name="list_delimeter" msgid="4571593167738725100">"、 "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"常规"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"联系人显示选项"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"提示音和振动"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"显示选项"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"提示音和振动"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"手机铃声"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"有来电时响铃并振动"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"拨号键盘提示音"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"其他"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"快速回复"</string>
     <string name="call_settings_label" msgid="313434211353070209">"通话"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"通话帐户"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 2f492a7..f5a885b 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"要清除通話記錄嗎?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"這會刪除所有通話記錄"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"正在清除通話記錄…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"話音留言"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> 個語音留言"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> 個留言</item>
+      <item quantity="one">留言</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"播放"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g> , <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"來自<xliff:g id="CALLER">%1$s</xliff:g>的新語音留言"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"放慢播放速度。"</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"開始或暫停播放。"</string>
     <string name="list_delimeter" msgid="4571593167738725100">"、 "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"一般"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"聯絡人顯示選項"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"音效和震動"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"顯示選項"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"聲音和震動"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"手機鈴聲"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"來電時同時震動"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"撥號盤音效"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"其他"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"快速回應"</string>
     <string name="call_settings_label" msgid="313434211353070209">"通話"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"通話帳戶"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 322309e..bb57f84 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"清除通話紀錄?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"這項操作會將所有通話從您的紀錄中刪除"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"正在清除通話紀錄…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"語音留言"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> 則語音留言"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> 則語音留言</item>
+      <item quantity="one">語音留言</item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"播放"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>、<xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"最新語音留言者:<xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,17 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"放慢播放速度。"</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"開始或暫停播放。"</string>
     <string name="list_delimeter" msgid="4571593167738725100">"、 "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"一般"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"聯絡人顯示選項"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"音效和震動"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"顯示選項"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"音效與振動"</string>
+    <!-- no translation found for accessibility_settings_title (6068141142874046249) -->
+    <skip />
     <string name="ringtone_title" msgid="760362035635084653">"手機鈴聲"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"來電時同時震動"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"撥號鍵盤音效"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"其他"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"快速回應"</string>
     <string name="call_settings_label" msgid="313434211353070209">"通話"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"通話帳戶"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index b49ceb5..e20ab8a 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -33,10 +33,10 @@
     <string name="clearCallLogConfirmation_title" msgid="801753155679372984">"Sula umlando wekholi?"</string>
     <string name="clearCallLogConfirmation" msgid="7899552396101432827">"Lokhu kuzosusa wonke amakholi kusukela kumlando wakho"</string>
     <string name="clearCallLogProgress_title" msgid="3372471156216306132">"Isula umlando wekholi…"</string>
-  <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Ivoyisimeyili"</item>
-    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ama-meyli ezwi"</item>
-  </plurals>
+    <plurals name="notification_voicemail_title" formatted="false" msgid="9088953961148324851">
+      <item quantity="one"> <xliff:g id="COUNT">%1$d</xliff:g> Amavoyisimeyili </item>
+      <item quantity="other"> <xliff:g id="COUNT">%1$d</xliff:g> Amavoyisimeyili </item>
+    </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Dlala"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"I-imeyli entsha esuka ku <xliff:g id="CALLER">%1$s</xliff:g>"</string>
@@ -178,13 +178,16 @@
     <string name="voicemail_play_slower" msgid="4544796503902818832">"Dlala ngokungasheshi."</string>
     <string name="voicemail_play_start_pause" msgid="3687447935787768983">"Qala noma misa isikhashana ukudlala."</string>
     <string name="list_delimeter" msgid="4571593167738725100">", "</string>
-    <string name="general_settings_label" msgid="5748319557716674189">"Okujwayelekile"</string>
-    <string name="contact_display_options_category_title" msgid="5719485933817512769">"Izinketho zokubonisa oxhumana naye"</string>
-    <string name="sounds_and_vibrate_category_title" msgid="7589787045192519254">"Imisindo nokudlidliza"</string>
+    <string name="display_options_title" msgid="7812852361055667468">"Izinketho zokubukeka"</string>
+    <string name="sounds_and_vibration_title" msgid="1692290115642160845">"Imisindo nokudlidliza"</string>
+    <string name="accessibility_settings_title" msgid="6068141142874046249">"Ukufinyeleleka"</string>
     <string name="ringtone_title" msgid="760362035635084653">"Ithoni yokukhala yefoni"</string>
     <string name="vibrate_on_ring_title" msgid="3362916460327555241">"Iyadlidliza futhi ngamakholi"</string>
     <string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Ukukhala kwephedi yokudayela"</string>
-    <string name="other_settings_title" msgid="7976283601445863248">"Okunye"</string>
+    <!-- no translation found for dtmf_tone_length_title (8581125689808919460) -->
+    <skip />
+    <!-- no translation found for dtmf_tone_length_entries:0 (1036113889050195575) -->
+    <!-- no translation found for dtmf_tone_length_entries:1 (6177579030803486015) -->
     <string name="respond_via_sms_setting_title" msgid="1318281521087951580">"Izimpendulo ezisheshayo"</string>
     <string name="call_settings_label" msgid="313434211353070209">"Amakholi"</string>
     <string name="phone_account_settings_label" msgid="5864322009841175294">"Ama-akhawunti wokushaya"</string>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 6e44f8b..cd3a804 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -26,6 +26,7 @@
     <color name="setting_primary_color">@color/dialtacts_primary_text_color</color>
     <!-- Color for the setting description text. -->
     <color name="setting_secondary_color">@color/dialtacts_secondary_text_color</color>
+    <color name="setting_disabled_color">#aaaaaa</color>
     <color name="setting_background_color">#ffffff</color>
     <color name="setting_button_color">#eee</color>
 
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index b8b93cb..e4097e3 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -64,18 +64,6 @@
     <dimen name="favorites_row_end_padding">0dp</dimen>
     <dimen name="favorites_row_undo_text_side_padding">32dp</dimen>
 
-    <!-- Dimensions for most recent call shortcut cards -->
-    <dimen name="recent_call_log_item_translation_z">3dp</dimen>
-    <dimen name="recent_call_log_item_margin_horizontal">8dp</dimen>
-    <dimen name="recent_call_log_item_margin_top">4dp</dimen>
-    <dimen name="recent_call_log_item_margin_bottom">6dp</dimen>
-
-    <!-- The maximum amount to clip on the left and right of the recent call shortcut card -->
-    <dimen name="recent_call_log_item_horizontal_clip_limit">20dp</dimen>
-    <dimen name="recent_call_log_item_padding_start">8dp</dimen>
-    <dimen name="recent_call_log_item_padding_top">12dp</dimen>
-    <dimen name="recent_call_log_item_padding_bottom">11dp</dimen>
-
     <dimen name="call_log_item_extra_padding_vertical">4dp</dimen>
 
 
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 5d06852..78b74e6 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -690,16 +690,17 @@
 
     <!-- Dialer settings related strings-->
 
-    <!-- Label for the general dialer settings section [CHAR LIMIT=30]-->
-    <string name="general_settings_label">General</string>
+    <!-- Title for "Display options" category, which controls how contacts are shown.
+         [CHAR LIMIT=40] -->
+    <string name="display_options_title">Display options</string>
 
-    <!-- Title for "Contact display options" category, which is shown above options which
-         manipulate how contacts are shown. [CHAR LIMIT=40] -->
-    <string name="contact_display_options_category_title">Contact display options</string>
+    <!-- Title for the "Sounds and vibration" settings control settings related to ringtones,
+         dialpad tones, and vibration for incoming calls. [CHAR LIMIT=40] -->
+    <string name="sounds_and_vibration_title">Sounds and vibration</string>
 
-    <!-- Title for the category "sounds", which is shown above sounds and vibration related
-         settings. [CHAR LIMIT=30] -->
-    <string name="sounds_and_vibrate_category_title">Sounds and vibrate</string>
+    <!-- Title for "Accessibility" category, which controls settings such as TTY mode and hearing
+         aid compatability. [CHAR LIMIT=40] -->
+    <string name="accessibility_settings_title">Accessibility</string>
 
     <!-- Setting option name to pick ringtone (a list dialog comes up). [CHAR LIMIT=30] -->
     <string name="ringtone_title">Phone ringtone</string>
@@ -710,9 +711,18 @@
 
     <!-- Setting option name to enable or disable DTMF tone sound [CHAR LIMIT=30] -->
     <string name="dtmf_tone_enable_title">Dialpad tones</string>
-
-    <!-- Label for section of general call settings where miscellaneous settings are listed. -->
-    <string name="other_settings_title">Other</string>
+    <!-- Label for setting to adjust the length of DTMF tone sounds. [CHAR LIMIT=40] -->
+    <string name="dtmf_tone_length_title">Dialpad tone length</string>
+    <!-- Options displayed for the length of DTMF tone sounds. [CHAR LIMIT=40] -->
+    <string-array name="dtmf_tone_length_entries">
+      <item>Normal</item>
+      <item>Long</item>
+    </string-array>
+    <!-- Do not translate. -->
+    <string-array name="dtmf_tone_length_entry_values" translatable="false">
+       <item>0</item>
+       <item>1</item>
+    </string-array>
 
     <!-- Title of settings screen for managing the "Respond via SMS" feature. [CHAR LIMIT=30] -->
     <string name="respond_via_sms_setting_title">Quick responses</string>
@@ -722,4 +732,13 @@
 
     <!-- Label for the phone account settings [CHAR LIMIT=30] -->
     <string name="phone_account_settings_label">Calling accounts</string>
+
+    <!-- DO NOT TRANSLATE. Internal key for ringtone preference. -->
+    <string name="ringtone_preference_key" translatable="false">button_ringtone_key</string>
+    <!-- DO NOT TRANSLATE. Internal key for vibrate when ringing preference. -->
+    <string name="vibrate_on_preference_key" translatable="false">button_vibrate_on_ring</string>
+    <!-- DO NOT TRANSLATE. Internal key for vibrate when ringing preference. -->
+    <string name="play_dtmf_preference_key" translatable="false">button_play_dtmf_tone</string>
+    <!-- DO NOT TRANSLATE. Internal key for DTMF tone length preference. -->
+    <string name="dtmf_tone_length_preference_key" translatable="false">button_dtmf_settings</string>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 82df4ec..8bd5f9d 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -166,9 +166,9 @@
     <!-- Style applied to the "Settings" screen.  Keep in sync with SettingsLight in Telephony. -->
     <style name="SettingsStyle" parent="DialtactsThemeWithoutActionBarOverlay">
         <!-- Setting text. -->
-        <item name="android:textColor">@color/setting_primary_color</item>
+        <item name="android:textColorPrimary">@color/settings_text_color_primary</item>
         <!-- Setting description. -->
-        <item name="android:textColorSecondary">@color/setting_secondary_color</item>
+        <item name="android:textColorSecondary">@color/settings_text_color_secondary</item>
         <item name="android:windowBackground">@color/setting_background_color</item>
         <item name="android:colorAccent">@color/dialtacts_theme_color</item>
         <item name="android:textColorLink">@color/dialtacts_theme_color</item>
diff --git a/res/xml/display_options_settings.xml b/res/xml/display_options_settings.xml
new file mode 100644
index 0000000..07aadf7
--- /dev/null
+++ b/res/xml/display_options_settings.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  ~ Copyright (C) 2015 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
+  -->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <com.android.contacts.common.preference.SortOrderPreference
+        android:key="sortOrder"
+        android:title="@string/display_options_sort_list_by"
+        android:dialogTitle="@string/display_options_sort_list_by" />
+
+    <com.android.contacts.common.preference.DisplayOrderPreference
+        android:key="displayOrder"
+        android:title="@string/display_options_view_names_as"
+        android:dialogTitle="@string/display_options_view_names_as" />
+
+</PreferenceScreen>
diff --git a/res/xml/general_settings.xml b/res/xml/general_settings.xml
deleted file mode 100644
index b1a78c1..0000000
--- a/res/xml/general_settings.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  ~ Copyright (C) 2014 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License
-  -->
-
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <PreferenceCategory
-        android:key="dialer_contact_display_options_category_key"
-        android:title="@string/contact_display_options_category_title"
-        android:persistent="false">
-
-        <com.android.contacts.common.preference.SortOrderPreference
-            android:key="sortOrder"
-            android:title="@string/display_options_sort_list_by"
-            android:dialogTitle="@string/display_options_sort_list_by" />
-
-        <com.android.contacts.common.preference.DisplayOrderPreference
-            android:key="displayOrder"
-            android:title="@string/display_options_view_names_as"
-            android:dialogTitle="@string/display_options_view_names_as" />
-
-    </PreferenceCategory>
-
-    <PreferenceCategory
-        android:key="dialer_general_sounds_category_key"
-        android:title="@string/sounds_and_vibrate_category_title"
-        android:persistent="false">
-
-        <com.android.dialer.settings.DefaultRingtonePreference
-            android:key="button_ringtone_key"
-            android:title="@string/ringtone_title"
-            android:dialogTitle="@string/ringtone_title"
-            android:persistent="false"
-            android:ringtoneType="ringtone" />
-
-        <CheckBoxPreference
-            android:key="button_play_dtmf_tone"
-            android:title="@string/dtmf_tone_enable_title"
-            android:persistent="false"
-            android:defaultValue="true" />
-
-        <CheckBoxPreference
-            android:key="button_vibrate_on_ring"
-            android:title="@string/vibrate_on_ring_title"
-            android:persistent="false"
-            android:defaultValue="false" />
-
-    </PreferenceCategory>
-
-    <PreferenceCategory
-        android:key="dialer_general_other_settings_category_key"
-        android:title="@string/other_settings_title"
-        android:persistent="false" >
-
-        <PreferenceScreen
-            android:key="button_respond_via_sms_key"
-            android:title="@string/respond_via_sms_setting_title"
-            android:persistent="false">
-
-            <intent
-                android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.server.telecom"
-                android:targetClass="com.android.server.telecom.RespondViaSmsSettings$Settings" />
-
-        </PreferenceScreen>
-
-    </PreferenceCategory>
-
-</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/sound_settings.xml b/res/xml/sound_settings.xml
new file mode 100644
index 0000000..80fad62
--- /dev/null
+++ b/res/xml/sound_settings.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  ~ Copyright (C) 2014 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License
+  -->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <com.android.dialer.settings.DefaultRingtonePreference
+        android:key="@string/ringtone_preference_key"
+        android:title="@string/ringtone_title"
+        android:dialogTitle="@string/ringtone_title"
+        android:persistent="false"
+        android:ringtoneType="ringtone" />
+
+    <CheckBoxPreference
+        android:key="@string/vibrate_on_preference_key"
+        android:title="@string/vibrate_on_ring_title"
+        android:persistent="false"
+        android:defaultValue="false" />
+
+    <CheckBoxPreference
+        android:key="@string/play_dtmf_preference_key"
+        android:title="@string/dtmf_tone_enable_title"
+        android:persistent="false"
+        android:defaultValue="true" />
+
+    <ListPreference
+        android:key="@string/dtmf_tone_length_preference_key"
+        android:title="@string/dtmf_tone_length_title"
+        android:entries="@array/dtmf_tone_length_entries"
+        android:entryValues="@array/dtmf_tone_length_entry_values" />
+
+</PreferenceScreen>
diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java
index 6c57650..69242d3 100644
--- a/src/com/android/dialer/CallDetailActivity.java
+++ b/src/com/android/dialer/CallDetailActivity.java
@@ -27,6 +27,7 @@
 import android.net.Uri;
 import android.os.AsyncTask;
 import android.os.Bundle;
+import android.os.PowerManager;
 import android.provider.CallLog;
 import android.provider.CallLog.Calls;
 import android.provider.ContactsContract.CommonDataKinds.Phone;
@@ -50,9 +51,9 @@
 import android.widget.Toast;
 
 import com.android.contacts.common.ContactPhotoManager;
-import com.android.contacts.common.CallUtil;
 import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
 import com.android.contacts.common.GeoUtil;
+import com.android.contacts.common.CallUtil;
 import com.android.dialer.calllog.CallDetailHistoryAdapter;
 import com.android.dialer.calllog.CallTypeHelper;
 import com.android.dialer.calllog.ContactInfo;
@@ -62,6 +63,7 @@
 import com.android.dialer.calllog.PhoneNumberUtilsWrapper;
 import com.android.dialer.util.AsyncTaskExecutor;
 import com.android.dialer.util.AsyncTaskExecutors;
+import com.android.dialer.util.PrivilegedCallUtil;
 import com.android.dialer.util.DialerUtils;
 import com.android.dialer.voicemail.VoicemailPlaybackFragment;
 import com.android.dialer.voicemail.VoicemailStatusHelper;
@@ -82,11 +84,6 @@
     private static final char LEFT_TO_RIGHT_EMBEDDING = '\u202A';
     private static final char POP_DIRECTIONAL_FORMATTING = '\u202C';
 
-    /** The time to wait before enabling the blank the screen due to the proximity sensor. */
-    private static final long PROXIMITY_BLANK_DELAY_MILLIS = 100;
-    /** The time to wait before disabling the blank the screen due to the proximity sensor. */
-    private static final long PROXIMITY_UNBLANK_DELAY_MILLIS = 500;
-
     /** The enumeration of {@link AsyncTask} objects used in this class. */
     public enum Tasks {
         MARK_VOICEMAIL_READ,
@@ -143,59 +140,7 @@
     /** Whether we should show "remove from call log" in the options menu. */
     private boolean mHasRemoveFromCallLogOption;
 
-    private ProximitySensorManager mProximitySensorManager;
-    private final ProximitySensorListener mProximitySensorListener = new ProximitySensorListener();
-
-    /** Listener to changes in the proximity sensor state. */
-    private class ProximitySensorListener implements ProximitySensorManager.Listener {
-        /** Used to show a blank view and hide the action bar. */
-        private final Runnable mBlankRunnable = new Runnable() {
-            @Override
-            public void run() {
-                View blankView = findViewById(R.id.blank);
-                blankView.setVisibility(View.VISIBLE);
-                getActionBar().hide();
-            }
-        };
-        /** Used to remove the blank view and show the action bar. */
-        private final Runnable mUnblankRunnable = new Runnable() {
-            @Override
-            public void run() {
-                View blankView = findViewById(R.id.blank);
-                blankView.setVisibility(View.GONE);
-                getActionBar().show();
-            }
-        };
-
-        @Override
-        public synchronized void onNear() {
-            clearPendingRequests();
-            postDelayed(mBlankRunnable, PROXIMITY_BLANK_DELAY_MILLIS);
-        }
-
-        @Override
-        public synchronized void onFar() {
-            clearPendingRequests();
-            postDelayed(mUnblankRunnable, PROXIMITY_UNBLANK_DELAY_MILLIS);
-        }
-
-        /** Removed any delayed requests that may be pending. */
-        public synchronized void clearPendingRequests() {
-            View blankView = findViewById(R.id.blank);
-            blankView.removeCallbacks(mBlankRunnable);
-            blankView.removeCallbacks(mUnblankRunnable);
-        }
-
-        /** Post a {@link Runnable} with a delay on the main thread. */
-        private synchronized void postDelayed(Runnable runnable, long delayMillis) {
-            // Post these instead of executing immediately so that:
-            // - They are guaranteed to be executed on the main thread.
-            // - If the sensor values changes rapidly for some time, the UI will not be
-            //   updated immediately.
-            View blankView = findViewById(R.id.blank);
-            blankView.postDelayed(runnable, delayMillis);
-        }
-    }
+    private PowerManager.WakeLock mProximityWakeLock;
 
     static final String[] CALL_LOG_PROJECTION = new String[] {
         CallLog.Calls.DATE,
@@ -244,12 +189,20 @@
 
         mQuickContactBadge = (QuickContactBadge) findViewById(R.id.quick_contact_photo);
         mQuickContactBadge.setOverlay(null);
+        mQuickContactBadge.setPrioritizedMimeType(Phone.CONTENT_ITEM_TYPE);
         mCallerName = (TextView) findViewById(R.id.caller_name);
         mCallerNumber = (TextView) findViewById(R.id.caller_number);
         mAccountLabel = (TextView) findViewById(R.id.phone_account_label);
         mDefaultCountryIso = GeoUtil.getCurrentCountryIso(this);
         mContactPhotoManager = ContactPhotoManager.getInstance(this);
-        mProximitySensorManager = new ProximitySensorManager(this, mProximitySensorListener);
+        final PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
+        if (powerManager.isWakeLockLevelSupported(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK)) {
+            mProximityWakeLock = powerManager.newWakeLock(
+                    PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK, TAG);
+        } else {
+            mProximityWakeLock = null;
+        }
+
         mContactInfoHelper = new ContactInfoHelper(this, GeoUtil.getCurrentCountryIso(this));
         getActionBar().setDisplayHomeAsUpEnabled(true);
 
@@ -364,8 +317,8 @@
                         getSystemService(Context.TELEPHONY_SERVICE);
                 if (tm.getCallState() == TelephonyManager.CALL_STATE_IDLE) {
                     DialerUtils.startActivityWithErrorToast(this,
-                            CallUtil.getCallIntent(Uri.fromParts(PhoneAccount.SCHEME_TEL, mNumber,
-                                    null)), R.string.call_not_available);
+                            PrivilegedCallUtil.getCallIntent(Uri.fromParts(PhoneAccount.SCHEME_TEL,
+                                    mNumber, null)), R.string.call_not_available);
                     return true;
                 }
             }
@@ -750,18 +703,34 @@
     protected void onPause() {
         // Immediately stop the proximity sensor.
         disableProximitySensor(false);
-        mProximitySensorListener.clearPendingRequests();
         super.onPause();
     }
 
     @Override
     public void enableProximitySensor() {
-        mProximitySensorManager.enable();
+        if (mProximityWakeLock == null) {
+            return;
+        }
+        if (!mProximityWakeLock.isHeld()) {
+            Log.i(TAG, "Acquiring proximity wake lock");
+            mProximityWakeLock.acquire();
+        } else {
+            Log.i(TAG, "Proximity wake lock already acquired");
+        }
     }
 
     @Override
     public void disableProximitySensor(boolean waitForFarState) {
-        mProximitySensorManager.disable(waitForFarState);
+        if (mProximityWakeLock == null) {
+            return;
+        }
+        if (mProximityWakeLock.isHeld()) {
+            Log.i(TAG, "Releasing proximity wake lock");
+            int flags = (waitForFarState ? PowerManager.RELEASE_FLAG_WAIT_FOR_NO_PROXIMITY : 0);
+            mProximityWakeLock.release(flags);
+        } else {
+            Log.i(TAG, "Proximity wake lock already released");
+        }
     }
 
     private void closeSystemDialogs() {
diff --git a/src/com/android/dialer/DialerApplication.java b/src/com/android/dialer/DialerApplication.java
index c645308..45457c6 100644
--- a/src/com/android/dialer/DialerApplication.java
+++ b/src/com/android/dialer/DialerApplication.java
@@ -17,6 +17,7 @@
 package com.android.dialer;
 
 import android.app.Application;
+import android.os.Trace;
 
 import com.android.contacts.common.ContactPhotoManager;
 import com.android.contacts.common.extensions.ExtensionsFactory;
@@ -24,13 +25,20 @@
 
 public class DialerApplication extends Application {
 
+    private static final String TAG = "DialerApplication";
     private ContactPhotoManager mContactPhotoManager;
 
     @Override
     public void onCreate() {
+        Trace.beginSection(TAG + " onCreate");
         super.onCreate();
+        Trace.beginSection(TAG + " ExtensionsFactory initialization");
         ExtensionsFactory.init(getApplicationContext());
+        Trace.endSection();
+        Trace.beginSection(TAG + " Analytics initialization");
         AnalyticsUtil.initialize(this);
+        Trace.endSection();
+        Trace.endSection();
     }
 
     @Override
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index 95b7215..61aeed5 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -28,6 +28,7 @@
 import android.content.res.Resources;
 import android.net.Uri;
 import android.os.Bundle;
+import android.os.Trace;
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.Intents;
 import android.speech.RecognizerIntent;
@@ -58,7 +59,6 @@
 import android.widget.PopupMenu;
 import android.widget.Toast;
 
-import com.android.contacts.common.CallUtil;
 import com.android.contacts.common.activity.TransactionSafeActivity;
 import com.android.contacts.common.dialog.ClearFrequentsDialog;
 import com.android.contacts.common.interactions.ImportExportDialogFragment;
@@ -82,6 +82,7 @@
 import com.android.dialer.list.SmartDialSearchFragment;
 import com.android.dialer.list.SpeedDialFragment;
 import com.android.dialer.settings.DialerSettingsActivity;
+import com.android.dialer.util.PrivilegedCallUtil;
 import com.android.dialer.util.DialerUtils;
 import com.android.dialer.widget.ActionBarController;
 import com.android.dialer.widget.SearchEditTextLayout;
@@ -90,6 +91,8 @@
 import com.android.phone.common.animation.AnimUtils;
 import com.android.phone.common.animation.AnimationListenerAdapter;
 
+import junit.framework.Assert;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -350,27 +353,30 @@
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
+        Trace.beginSection(TAG + " onCreate");
         super.onCreate(savedInstanceState);
         mFirstLaunch = true;
 
         final Resources resources = getResources();
         mActionBarHeight = resources.getDimensionPixelSize(R.dimen.action_bar_height_large);
 
+        Trace.beginSection(TAG + " setContentView");
         setContentView(R.layout.dialtacts_activity);
+        Trace.endSection();
         getWindow().setBackgroundDrawable(null);
 
+        Trace.beginSection(TAG + " setup Views");
         final ActionBar actionBar = getActionBar();
         actionBar.setCustomView(R.layout.search_edittext);
         actionBar.setDisplayShowCustomEnabled(true);
         actionBar.setBackgroundDrawable(null);
 
-        mActionBarController = new ActionBarController(this,
-                (SearchEditTextLayout) actionBar.getCustomView());
-
         SearchEditTextLayout searchEditTextLayout =
-                (SearchEditTextLayout) actionBar.getCustomView();
+                (SearchEditTextLayout) actionBar.getCustomView().findViewById(R.id.search_view_container);
         searchEditTextLayout.setPreImeKeyListener(mSearchEditTextLayoutListener);
 
+        mActionBarController = new ActionBarController(this, searchEditTextLayout);
+
         mSearchView = (EditText) searchEditTextLayout.findViewById(R.id.search_view);
         mSearchView.addTextChangedListener(mPhoneSearchQueryTextListener);
         mVoiceSearchButton = searchEditTextLayout.findViewById(R.id.voice_search_button);
@@ -401,12 +407,11 @@
         mOverflowMenu = buildOptionsMenu(searchEditTextLayout);
         optionsMenuButton.setOnTouchListener(mOverflowMenu.getDragToOpenListener());
 
-        // Add the favorites fragment, and the dialpad fragment, but only if savedInstanceState
-        // is null. Otherwise the fragment manager takes care of recreating these fragments.
+        // Add the favorites fragment but only if savedInstanceState is null. Otherwise the
+        // fragment manager is responsible for recreating it.
         if (savedInstanceState == null) {
             getFragmentManager().beginTransaction()
                     .add(R.id.dialtacts_frame, new ListsFragment(), TAG_FAVORITES_FRAGMENT)
-                    .add(R.id.dialtacts_container, new DialpadFragment(), TAG_DIALPAD_FRAGMENT)
                     .commit();
         } else {
             mSearchQuery = savedInstanceState.getString(KEY_SEARCH_QUERY);
@@ -453,8 +458,13 @@
 
         setupActivityOverlay();
 
+        Trace.endSection();
+
+        Trace.beginSection(TAG + " initialize smart dialing");
         mDialerDatabaseHelper = DatabaseHelperManager.getDatabaseHelper(this);
         SmartDialPrefix.initializeNanpSettings(this);
+        Trace.endSection();
+        Trace.endSection();
     }
 
     private void setupActivityOverlay() {
@@ -472,6 +482,7 @@
 
     @Override
     protected void onResume() {
+        Trace.beginSection(TAG + " onResume");
         super.onResume();
         mStateSaved = false;
         if (mFirstLaunch) {
@@ -506,6 +517,7 @@
         prepareVoiceSearchButton();
         mDialerDatabaseHelper.startSmartDialUpdateThread();
         updateFloatingActionButtonControllerAlignment(false /* animate */);
+        Trace.endSection();
     }
 
     @Override
@@ -542,7 +554,7 @@
     public void onAttachFragment(Fragment fragment) {
         if (fragment instanceof DialpadFragment) {
             mDialpadFragment = (DialpadFragment) fragment;
-            if (!mShowDialpadOnResume) {
+            if (!mIsDialpadShown && !mShowDialpadOnResume) {
                 final FragmentTransaction transaction = getFragmentManager().beginTransaction();
                 transaction.hide(mDialpadFragment);
                 transaction.commit();
@@ -655,12 +667,19 @@
             return;
         }
         mIsDialpadShown = true;
-        mDialpadFragment.setAnimate(animate);
+
         mListsFragment.setUserVisibleHint(false);
-        AnalyticsUtil.sendScreenView(mDialpadFragment);
 
         final FragmentTransaction ft = getFragmentManager().beginTransaction();
-        ft.show(mDialpadFragment);
+        if (mDialpadFragment == null) {
+            mDialpadFragment = new DialpadFragment();
+            ft.add(R.id.dialtacts_container, mDialpadFragment, TAG_DIALPAD_FRAGMENT);
+        } else {
+            ft.show(mDialpadFragment);
+        }
+
+        mDialpadFragment.setAnimate(animate);
+        AnalyticsUtil.sendScreenView(mDialpadFragment);
         ft.commit();
 
         if (animate) {
@@ -679,6 +698,7 @@
      * Callback from child DialpadFragment when the dialpad is shown.
      */
     public void onDialpadShown() {
+        Assert.assertNotNull(mDialpadFragment);
         if (mDialpadFragment.getAnimate()) {
             mDialpadFragment.getView().startAnimation(mSlideIn);
         } else {
@@ -730,7 +750,7 @@
      * Finishes hiding the dialpad fragment after any animations are completed.
      */
     private void commitDialpadFragmentHide() {
-        if (!mStateSaved && !mDialpadFragment.isHidden()) {
+        if (!mStateSaved && mDialpadFragment != null && !mDialpadFragment.isHidden()) {
             final FragmentTransaction ft = getFragmentManager().beginTransaction();
             ft.hide(mDialpadFragment);
             ft.commit();
@@ -838,14 +858,12 @@
             return;
         }
 
-        if (mDialpadFragment != null) {
-            final boolean phoneIsInUse = phoneIsInUse();
-            if (phoneIsInUse || (intent.getData() !=  null && isDialIntent(intent))) {
-                mDialpadFragment.setStartedFromNewIntent(true);
-                if (phoneIsInUse && !mDialpadFragment.isVisible()) {
-                    mInCallDialpadUp = true;
-                }
-                showDialpadFragment(false);
+        final boolean phoneIsInUse = phoneIsInUse();
+        if (phoneIsInUse || (intent.getData() !=  null && isDialIntent(intent))) {
+            showDialpadFragment(false);
+            mDialpadFragment.setStartedFromNewIntent(true);
+            if (phoneIsInUse && !mDialpadFragment.isVisible()) {
+                mInCallDialpadUp = true;
             }
         }
     }
@@ -947,7 +965,11 @@
         }
 
         mSearchView.setText(null);
-        mDialpadFragment.clearDialpad();
+
+        if (mDialpadFragment != null) {
+            mDialpadFragment.clearDialpad();
+        }
+
         setNotInSearchUi();
 
         final FragmentTransaction transaction = getFragmentManager().beginTransaction();
@@ -960,7 +982,8 @@
         transaction.commit();
 
         mListsFragment.getView().animate().alpha(1).withLayer();
-        if (!mDialpadFragment.isVisible()) {
+
+        if (mDialpadFragment == null || !mDialpadFragment.isVisible()) {
             // If the dialpad fragment wasn't previously visible, then send a screen view because
             // we are exiting regular search. Otherwise, the screen view will be sent by
             // {@link #hideDialpadFragment}.
@@ -1090,9 +1113,6 @@
      */
     @Override
     public void onDragStarted(int x, int y, PhoneFavoriteSquareTileView view) {
-        if (mListsFragment.isPaneOpen()) {
-            mActionBarController.setAlpha(ListsFragment.REMOVE_VIEW_SHOWN_ALPHA);
-        }
         mListsFragment.showRemoveView(true);
     }
 
@@ -1105,9 +1125,6 @@
      */
     @Override
     public void onDragFinished(int x, int y) {
-        if (mListsFragment.isPaneOpen()) {
-            mActionBarController.setAlpha(ListsFragment.REMOVE_VIEW_HIDDEN_ALPHA);
-        }
         mListsFragment.showRemoveView(false);
     }
 
@@ -1141,8 +1158,8 @@
     @Override
     public void onCallNumberDirectly(String phoneNumber, boolean isVideoCall) {
         Intent intent = isVideoCall ?
-                CallUtil.getVideoCallIntent(phoneNumber, getCallOrigin()) :
-                CallUtil.getCallIntent(phoneNumber, getCallOrigin());
+                PrivilegedCallUtil.getVideoCallIntent(phoneNumber, getCallOrigin()) :
+                PrivilegedCallUtil.getCallIntent(phoneNumber, getCallOrigin());
         DialerUtils.startActivityWithErrorToast(this, intent);
         mClearSearchOnPause = true;
     }
diff --git a/src/com/android/dialer/PhoneCallDetailsHelper.java b/src/com/android/dialer/PhoneCallDetailsHelper.java
index b4e8171..7855a1d 100644
--- a/src/com/android/dialer/PhoneCallDetailsHelper.java
+++ b/src/com/android/dialer/PhoneCallDetailsHelper.java
@@ -28,7 +28,6 @@
 import android.view.View;
 import android.widget.TextView;
 
-import com.android.contacts.common.CallUtil;
 import com.android.contacts.common.testing.NeededForTesting;
 import com.android.contacts.common.util.PhoneNumberHelper;
 import com.android.dialer.calllog.ContactInfo;
diff --git a/src/com/android/dialer/ProximitySensorManager.java b/src/com/android/dialer/ProximitySensorManager.java
deleted file mode 100644
index 42d740f..0000000
--- a/src/com/android/dialer/ProximitySensorManager.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dialer;
-
-import android.content.Context;
-import android.hardware.Sensor;
-import android.hardware.SensorEvent;
-import android.hardware.SensorEventListener;
-import android.hardware.SensorManager;
-
-import javax.annotation.concurrent.GuardedBy;
-
-/**
- * Manages the proximity sensor and notifies a listener when enabled.
- */
-public class ProximitySensorManager {
-    /**
-     * Listener of the state of the proximity sensor.
-     * <p>
-     * This interface abstracts two possible states for the proximity sensor, near and far.
-     * <p>
-     * The actual meaning of these states depends on the actual sensor.
-     */
-    public interface Listener {
-        /** Called when the proximity sensor transitions from the far to the near state. */
-        public void onNear();
-        /** Called when the proximity sensor transitions from the near to the far state. */
-        public void onFar();
-    }
-
-    public static enum State {
-        NEAR, FAR
-    }
-
-    private final ProximitySensorEventListener mProximitySensorListener;
-
-    /**
-     * The current state of the manager, i.e., whether it is currently tracking the state of the
-     * sensor.
-     */
-    private boolean mManagerEnabled;
-
-    /**
-     * The listener to the state of the sensor.
-     * <p>
-     * Contains most of the logic concerning tracking of the sensor.
-     * <p>
-     * After creating an instance of this object, one should call {@link #register()} and
-     * {@link #unregister()} to enable and disable the notifications.
-     * <p>
-     * Instead of calling unregister, one can call {@link #unregisterWhenFar()} to unregister the
-     * listener the next time the sensor reaches the {@link State#FAR} state if currently in the
-     * {@link State#NEAR} state.
-     */
-    private static class ProximitySensorEventListener implements SensorEventListener {
-        private static final float FAR_THRESHOLD = 5.0f;
-
-        private final SensorManager mSensorManager;
-        private final Sensor mProximitySensor;
-        private final float mMaxValue;
-        private final Listener mListener;
-
-        /**
-         * The last state of the sensor.
-         * <p>
-         * Before registering and after unregistering we are always in the {@link State#FAR} state.
-         */
-        @GuardedBy("this") private State mLastState;
-        /**
-         * If this flag is set to true, we are waiting to reach the {@link State#FAR} state and
-         * should notify the listener and unregister when that happens.
-         */
-        @GuardedBy("this") private boolean mWaitingForFarState;
-
-        public ProximitySensorEventListener(SensorManager sensorManager, Sensor proximitySensor,
-                Listener listener) {
-            mSensorManager = sensorManager;
-            mProximitySensor = proximitySensor;
-            mMaxValue = proximitySensor.getMaximumRange();
-            mListener = listener;
-            // Initialize at far state.
-            mLastState = State.FAR;
-            mWaitingForFarState = false;
-        }
-
-        @Override
-        public void onSensorChanged(SensorEvent event) {
-            // Make sure we have a valid value.
-            if (event.values == null) return;
-            if (event.values.length == 0) return;
-            float value = event.values[0];
-            // Convert the sensor into a NEAR/FAR state.
-            State state = getStateFromValue(value);
-            synchronized (this) {
-                // No change in state, do nothing.
-                if (state == mLastState) return;
-                // Keep track of the current state.
-                mLastState = state;
-                // If we are waiting to reach the far state and we are now in it, unregister.
-                if (mWaitingForFarState && mLastState == State.FAR) {
-                    unregisterWithoutNotification();
-                }
-            }
-            // Notify the listener of the state change.
-            switch (state) {
-                case NEAR:
-                    mListener.onNear();
-                    break;
-
-                case FAR:
-                    mListener.onFar();
-                    break;
-            }
-        }
-
-        @Override
-        public void onAccuracyChanged(Sensor sensor, int accuracy) {
-            // Nothing to do here.
-        }
-
-        /** Returns the state of the sensor given its current value. */
-        private State getStateFromValue(float value) {
-            // Determine if the current value corresponds to the NEAR or FAR state.
-            // Take case of the case where the proximity sensor is binary: if the current value is
-            // equal to the maximum, we are always in the FAR state.
-            return (value > FAR_THRESHOLD || value == mMaxValue) ? State.FAR : State.NEAR;
-        }
-
-        /**
-         * Unregister the next time the sensor reaches the {@link State#FAR} state.
-         */
-        public synchronized void unregisterWhenFar() {
-            if (mLastState == State.FAR) {
-                // We are already in the far state, just unregister now.
-                unregisterWithoutNotification();
-            } else {
-                mWaitingForFarState = true;
-            }
-        }
-
-        /** Register the listener and call the listener as necessary. */
-        public synchronized void register() {
-            // It is okay to register multiple times.
-            mSensorManager.registerListener(this, mProximitySensor, SensorManager.SENSOR_DELAY_UI);
-            // We should no longer be waiting for the far state if we are registering again.
-            mWaitingForFarState = false;
-        }
-
-        public void unregister() {
-            State lastState;
-            synchronized (this) {
-                unregisterWithoutNotification();
-                lastState = mLastState;
-                // Always go back to the FAR state. That way, when we register again we will get a
-                // transition when the sensor gets into the NEAR state.
-                mLastState = State.FAR;
-            }
-            // Notify the listener if we changed the state to FAR while unregistering.
-            if (lastState != State.FAR) {
-                mListener.onFar();
-            }
-        }
-
-        @GuardedBy("this")
-        private void unregisterWithoutNotification() {
-            mSensorManager.unregisterListener(this);
-            mWaitingForFarState = false;
-        }
-    }
-
-    public ProximitySensorManager(Context context, Listener listener) {
-        SensorManager sensorManager =
-                (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
-        Sensor proximitySensor = sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
-        if (proximitySensor == null) {
-            // If there is no sensor, we should not do anything.
-            mProximitySensorListener = null;
-        } else {
-            mProximitySensorListener =
-                    new ProximitySensorEventListener(sensorManager, proximitySensor, listener);
-        }
-    }
-
-    /**
-     * Enables the proximity manager.
-     * <p>
-     * The listener will start getting notifications of events.
-     * <p>
-     * This method is idempotent.
-     */
-    public void enable() {
-        if (mProximitySensorListener != null && !mManagerEnabled) {
-            mProximitySensorListener.register();
-            mManagerEnabled = true;
-        }
-    }
-
-    /**
-     * Disables the proximity manager.
-     * <p>
-     * The listener will stop receiving notifications of events, possibly after receiving a last
-     * {@link Listener#onFar()} callback.
-     * <p>
-     * If {@code waitForFarState} is true, if the sensor is not currently in the {@link State#FAR}
-     * state, the listener will receive a {@link Listener#onFar()} callback the next time the sensor
-     * actually reaches the {@link State#FAR} state.
-     * <p>
-     * If {@code waitForFarState} is false, the listener will receive a {@link Listener#onFar()}
-     * callback immediately if the sensor is currently not in the {@link State#FAR} state.
-     * <p>
-     * This method is idempotent.
-     */
-    public void disable(boolean waitForFarState) {
-        if (mProximitySensorListener != null && mManagerEnabled) {
-            if (waitForFarState) {
-                mProximitySensorListener.unregisterWhenFar();
-            } else {
-                mProximitySensorListener.unregister();
-            }
-            mManagerEnabled = false;
-        }
-    }
-}
diff --git a/src/com/android/dialer/calllog/CallLogAdapter.java b/src/com/android/dialer/calllog/CallLogAdapter.java
index 225d349..914520e 100644
--- a/src/com/android/dialer/calllog/CallLogAdapter.java
+++ b/src/com/android/dialer/calllog/CallLogAdapter.java
@@ -19,7 +19,6 @@
 import android.content.ContentValues;
 import android.content.Context;
 import android.content.Intent;
-import android.content.Loader;
 import android.content.res.Resources;
 import android.database.Cursor;
 import android.database.sqlite.SQLiteFullException;
@@ -28,6 +27,7 @@
 import android.os.Message;
 import android.provider.CallLog.Calls;
 import android.provider.ContactsContract;
+import android.provider.ContactsContract.CommonDataKinds.Phone;
 import android.provider.ContactsContract.PhoneLookup;
 import android.telecom.PhoneAccountHandle;
 import android.telephony.PhoneNumberUtils;
@@ -48,7 +48,6 @@
 import com.android.contacts.common.CallUtil;
 import com.android.contacts.common.ContactPhotoManager;
 import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
-import com.android.contacts.common.util.PhoneNumberHelper;
 import com.android.contacts.common.model.Contact;
 import com.android.contacts.common.model.ContactLoader;
 import com.android.contacts.common.util.UriUtils;
@@ -822,6 +821,7 @@
         } else {
             setPhoto(views, photoId, lookupUri, nameForDefaultImage, lookupKey, contactType);
         }
+        views.quickContactView.setPrioritizedMimeType(Phone.CONTENT_ITEM_TYPE);
 
         // Listen for the first draw
         if (mViewTreeObserver == null) {
@@ -1169,6 +1169,10 @@
                 values.put(Calls.CACHED_PHOTO_ID, updatedInfo.photoId);
                 needsUpdate = true;
             }
+            if (!UriUtils.areEqual(updatedInfo.photoUri, callLogInfo.photoUri)) {
+                values.put(Calls.CACHED_PHOTO_URI, UriUtils.uriToString(updatedInfo.photoUri));
+                needsUpdate = true;
+            }
             if (!TextUtils.equals(updatedInfo.formattedNumber, callLogInfo.formattedNumber)) {
                 values.put(Calls.CACHED_FORMATTED_NUMBER, updatedInfo.formattedNumber);
                 needsUpdate = true;
@@ -1182,6 +1186,7 @@
             values.put(Calls.CACHED_MATCHED_NUMBER, updatedInfo.number);
             values.put(Calls.CACHED_NORMALIZED_NUMBER, updatedInfo.normalizedNumber);
             values.put(Calls.CACHED_PHOTO_ID, updatedInfo.photoId);
+            values.put(Calls.CACHED_PHOTO_URI, UriUtils.uriToString(updatedInfo.photoUri));
             values.put(Calls.CACHED_FORMATTED_NUMBER, updatedInfo.formattedNumber);
             needsUpdate = true;
         }
@@ -1214,7 +1219,7 @@
         info.number = matchedNumber == null ? c.getString(CallLogQuery.NUMBER) : matchedNumber;
         info.normalizedNumber = c.getString(CallLogQuery.CACHED_NORMALIZED_NUMBER);
         info.photoId = c.getLong(CallLogQuery.CACHED_PHOTO_ID);
-        info.photoUri = null;  // We do not cache the photo URI.
+        info.photoUri = UriUtils.parseUriOrNull(c.getString(CallLogQuery.CACHED_PHOTO_URI));
         info.formattedNumber = c.getString(CallLogQuery.CACHED_FORMATTED_NUMBER);
         return info;
     }
@@ -1352,7 +1357,7 @@
         } else {
             try {
                 Cursor phonesCursor = mContext.getContentResolver().query(
-                        Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, number),
+                        Uri.withAppendedPath(PhoneLookup.ENTERPRISE_CONTENT_FILTER_URI, number),
                         PhoneQuery._PROJECTION, null, null, null);
                 if (phonesCursor != null) {
                     try {
diff --git a/src/com/android/dialer/calllog/CallLogQuery.java b/src/com/android/dialer/calllog/CallLogQuery.java
index 0ae4cda..2b43c28 100644
--- a/src/com/android/dialer/calllog/CallLogQuery.java
+++ b/src/com/android/dialer/calllog/CallLogQuery.java
@@ -45,7 +45,8 @@
             Calls.PHONE_ACCOUNT_ID,             // 19
             Calls.FEATURES,                     // 20
             Calls.DATA_USAGE,                   // 21
-            Calls.TRANSCRIPTION                 // 22
+            Calls.TRANSCRIPTION,                // 22
+            Calls.CACHED_PHOTO_URI              // 23
     };
 
     public static final int ID = 0;
@@ -71,4 +72,5 @@
     public static final int FEATURES = 20;
     public static final int DATA_USAGE = 21;
     public static final int TRANSCRIPTION = 22;
+    public static final int CACHED_PHOTO_URI = 23;
 }
diff --git a/src/com/android/dialer/calllog/ContactInfo.java b/src/com/android/dialer/calllog/ContactInfo.java
index 7b6014d..effe142 100644
--- a/src/com/android/dialer/calllog/ContactInfo.java
+++ b/src/com/android/dialer/calllog/ContactInfo.java
@@ -27,6 +27,11 @@
  */
 public class ContactInfo {
     public Uri lookupUri;
+
+    /**
+     * Contact lookup key.  Note this may be a lookup key for a corp contact, in which case
+     * "lookup by lookup key" doesn't work on the personal profile.
+     */
     public String lookupKey;
     public String name;
     public int type;
diff --git a/src/com/android/dialer/calllog/ContactInfoHelper.java b/src/com/android/dialer/calllog/ContactInfoHelper.java
index 01749fc..da03b07 100644
--- a/src/com/android/dialer/calllog/ContactInfoHelper.java
+++ b/src/com/android/dialer/calllog/ContactInfoHelper.java
@@ -64,6 +64,9 @@
      * @param countryIso the country associated with this number
      */
     public ContactInfo lookupNumber(String number, String countryIso) {
+        if (TextUtils.isEmpty(number)) {
+            return null;
+        }
         final ContactInfo info;
 
         // Determine the contact info.
@@ -149,6 +152,9 @@
      * value.
      */
     private ContactInfo lookupContactFromUri(Uri uri) {
+        if (uri == null) {
+            return null;
+        }
         final ContactInfo info;
         Cursor phonesCursor =
                 mContext.getContentResolver().query(uri, PhoneQuery._PROJECTION, null, null, null);
@@ -193,10 +199,13 @@
      * If the lookup fails for some other reason, it returns null.
      */
     private ContactInfo queryContactInfoForSipAddress(String sipAddress) {
+        if (TextUtils.isEmpty(sipAddress)) {
+            return null;
+        }
         final ContactInfo info;
 
         // "contactNumber" is a SIP address, so use the PhoneLookup table with the SIP parameter.
-        Uri.Builder uriBuilder = PhoneLookup.CONTENT_FILTER_URI.buildUpon();
+        Uri.Builder uriBuilder = PhoneLookup.ENTERPRISE_CONTENT_FILTER_URI.buildUpon();
         uriBuilder.appendPath(Uri.encode(sipAddress));
         uriBuilder.appendQueryParameter(PhoneLookup.QUERY_PARAMETER_SIP_ADDRESS, "1");
         return lookupContactFromUri(uriBuilder.build());
@@ -212,6 +221,9 @@
      * If the lookup fails for some other reason, it returns null.
      */
     private ContactInfo queryContactInfoForPhoneNumber(String number, String countryIso) {
+        if (TextUtils.isEmpty(number)) {
+            return null;
+        }
         String contactNumber = number;
         if (!TextUtils.isEmpty(countryIso)) {
             // Normalize the number: this is needed because the PhoneLookup query below does not
@@ -224,7 +236,8 @@
         }
 
         // The "contactNumber" is a regular phone number, so use the PhoneLookup table.
-        Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(contactNumber));
+        Uri uri = Uri.withAppendedPath(PhoneLookup.ENTERPRISE_CONTENT_FILTER_URI,
+                Uri.encode(contactNumber));
         ContactInfo info = lookupContactFromUri(uri);
         if (info != null && info != ContactInfo.EMPTY) {
             info.formattedNumber = formatPhoneNumber(number, null, countryIso);
diff --git a/src/com/android/dialer/calllog/IntentProvider.java b/src/com/android/dialer/calllog/IntentProvider.java
index 3084e24..8e96da7 100644
--- a/src/com/android/dialer/calllog/IntentProvider.java
+++ b/src/com/android/dialer/calllog/IntentProvider.java
@@ -23,8 +23,8 @@
 import android.provider.CallLog.Calls;
 import android.telecom.PhoneAccountHandle;
 
-import com.android.contacts.common.CallUtil;
 import com.android.dialer.CallDetailActivity;
+import com.android.dialer.util.PrivilegedCallUtil;
 
 /**
  * Used to create an intent to attach to an action in the call log.
@@ -46,7 +46,7 @@
         return new IntentProvider() {
             @Override
             public Intent getIntent(Context context) {
-                return CallUtil.getCallIntent(number, accountHandle);
+                return PrivilegedCallUtil.getCallIntent(number, accountHandle);
             }
         };
     }
@@ -60,7 +60,7 @@
         return new IntentProvider() {
             @Override
             public Intent getIntent(Context context) {
-                return CallUtil.getVideoCallIntent(number, accountHandle);
+                return PrivilegedCallUtil.getVideoCallIntent(number, accountHandle);
             }
         };
     }
@@ -69,7 +69,7 @@
         return new IntentProvider() {
             @Override
             public Intent getIntent(Context context) {
-                return CallUtil.getVoicemailIntent();
+                return PrivilegedCallUtil.getVoicemailIntent();
             }
         };
     }
diff --git a/src/com/android/dialer/dialpad/DialpadFragment.java b/src/com/android/dialer/dialpad/DialpadFragment.java
index f1112f1..fbf862f 100644
--- a/src/com/android/dialer/dialpad/DialpadFragment.java
+++ b/src/com/android/dialer/dialpad/DialpadFragment.java
@@ -36,6 +36,7 @@
 import android.media.ToneGenerator;
 import android.net.Uri;
 import android.os.Bundle;
+import android.os.Trace;
 import android.provider.Contacts.People;
 import android.provider.Contacts.Phones;
 import android.provider.Contacts.PhonesColumns;
@@ -44,13 +45,10 @@
 import android.telecom.PhoneAccountHandle;
 import android.telecom.TelecomManager;
 import android.telephony.PhoneNumberUtils;
-import android.telephony.PhoneStateListener;
 import android.telephony.TelephonyManager;
 import android.text.Editable;
-import android.text.SpannableString;
 import android.text.TextUtils;
 import android.text.TextWatcher;
-import android.text.style.RelativeSizeSpan;
 import android.util.AttributeSet;
 import android.util.Log;
 import android.view.KeyEvent;
@@ -70,7 +68,6 @@
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
-import com.android.contacts.common.CallUtil;
 import com.android.contacts.common.ContactsUtils;
 import com.android.contacts.common.GeoUtil;
 import com.android.contacts.common.util.PhoneNumberFormatter;
@@ -81,6 +78,7 @@
 import com.android.dialer.R;
 import com.android.dialer.SpecialCharSequenceMgr;
 import com.android.dialer.calllog.PhoneAccountUtils;
+import com.android.dialer.util.PrivilegedCallUtil;
 import com.android.dialer.util.DialerUtils;
 import com.android.phone.common.CallLogAsync;
 import com.android.phone.common.HapticFeedback;
@@ -102,7 +100,7 @@
         AdapterView.OnItemClickListener, TextWatcher,
         PopupMenu.OnMenuItemClickListener,
         DialpadKeyButton.OnPressedListener {
-    private static final String TAG = DialpadFragment.class.getSimpleName();
+    private static final String TAG = "DialpadFragment";
 
     /**
      * LinearLayout with getter and setter methods for the translationY property using floats,
@@ -315,8 +313,11 @@
 
     @Override
     public void onCreate(Bundle state) {
+        Trace.beginSection(TAG + " onCreate");
         super.onCreate(state);
-        mFirstLaunch = true;
+
+        mFirstLaunch = state == null;
+
         mCurrentCountryIso = GeoUtil.getCurrentCountryIso(getActivity());
 
         try {
@@ -341,15 +342,21 @@
             mCallStateReceiver = new CallStateReceiver();
             ((Context) getActivity()).registerReceiver(mCallStateReceiver, callStateIntentFilter);
         }
+        Trace.endSection();
     }
 
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedState) {
+        Trace.beginSection(TAG + " onCreateView");
+        Trace.beginSection(TAG + " inflate view");
         final View fragmentView = inflater.inflate(R.layout.dialpad_fragment, container,
                 false);
+        Trace.endSection();
+        Trace.beginSection(TAG + " buildLayer");
         fragmentView.buildLayer();
+        Trace.endSection();
 
-        Resources r = getResources();
+        Trace.beginSection(TAG + " setup views");
 
         mDialpadView = (DialpadView) fragmentView.findViewById(R.id.dialpad_view);
         mDialpadView.setCanDigitsBeEdited(true);
@@ -399,7 +406,8 @@
         floatingActionButton.setOnClickListener(this);
         mFloatingActionButtonController = new FloatingActionButtonController(getActivity(),
                 floatingActionButtonContainer, floatingActionButton);
-
+        Trace.endSection();
+        Trace.endSection();
         return fragmentView;
     }
 
@@ -582,6 +590,7 @@
 
     @Override
     public void onStart() {
+        Trace.beginSection(TAG + " onStart");
         super.onStart();
         // if the mToneGenerator creation fails, just continue without it.  It is
         // a local audio signal, and is not as important as the dtmf tone itself.
@@ -600,10 +609,12 @@
         if (total > 50) {
             Log.i(TAG, "Time for ToneGenerator creation: " + total);
         }
+        Trace.endSection();
     };
 
     @Override
     public void onResume() {
+        Trace.beginSection(TAG + " onResume");
         super.onResume();
 
         final DialtactsActivity activity = (DialtactsActivity) getActivity();
@@ -641,8 +652,6 @@
             showDialpadChooser(false);
         }
 
-        mFirstLaunch = false;
-
         stopWatch.lap("hnt");
 
         updateDeleteButtonEnabledState();
@@ -661,6 +670,15 @@
         mOverflowMenuButton.setOnTouchListener(mOverflowPopupMenu.getDragToOpenListener());
         mOverflowMenuButton.setOnClickListener(this);
         mOverflowMenuButton.setVisibility(isDigitsEmpty() ? View.INVISIBLE : View.VISIBLE);
+
+        if (mFirstLaunch) {
+            // The onHiddenChanged callback does not get called the first time the fragment is
+            // attached, so call it ourselves here.
+            onHiddenChanged(false);
+        }
+
+        mFirstLaunch = false;
+        Trace.endSection();
     }
 
     @Override
@@ -988,7 +1006,8 @@
     }
 
     public void callVoicemail() {
-        DialerUtils.startActivityWithErrorToast(getActivity(), CallUtil.getVoicemailIntent());
+        DialerUtils.startActivityWithErrorToast(getActivity(), PrivilegedCallUtil
+                .getVoicemailIntent());
         hideAndClearDialpad(false);
     }
 
@@ -1084,7 +1103,7 @@
                 // Clear the digits just in case.
                 clearDialpad();
             } else {
-                final Intent intent = CallUtil.getCallIntent(number,
+                final Intent intent = PrivilegedCallUtil.getCallIntent(number,
                         (getActivity() instanceof DialtactsActivity ?
                                 ((DialtactsActivity) getActivity()).getCallOrigin() : null));
                 DialerUtils.startActivityWithErrorToast(getActivity(), intent);
@@ -1614,7 +1633,7 @@
     }
 
     private Intent newFlashIntent() {
-        final Intent intent = CallUtil.getCallIntent(EMPTY_NUMBER);
+        final Intent intent = PrivilegedCallUtil.getCallIntent(EMPTY_NUMBER);
         intent.putExtra(EXTRA_SEND_EMPTY_FLASH, true);
         return intent;
     }
diff --git a/src/com/android/dialer/interactions/PhoneNumberInteraction.java b/src/com/android/dialer/interactions/PhoneNumberInteraction.java
index de217ce..78c468b 100644
--- a/src/com/android/dialer/interactions/PhoneNumberInteraction.java
+++ b/src/com/android/dialer/interactions/PhoneNumberInteraction.java
@@ -45,7 +45,6 @@
 import android.widget.ListAdapter;
 import android.widget.TextView;
 
-import com.android.contacts.common.CallUtil;
 import com.android.contacts.common.Collapser;
 import com.android.contacts.common.Collapser.Collapsible;
 import com.android.contacts.common.MoreContactUtils;
@@ -53,6 +52,7 @@
 import com.android.contacts.common.util.ContactDisplayUtils;
 import com.android.dialer.R;
 import com.android.dialer.contact.ContactUpdateService;
+import com.android.dialer.util.PrivilegedCallUtil;
 import com.android.dialer.util.DialerUtils;
 
 import com.google.common.annotations.VisibleForTesting;
@@ -322,7 +322,7 @@
                         Intent.ACTION_SENDTO, Uri.fromParts("sms", phoneNumber, null));
                 break;
             default:
-                intent = CallUtil.getCallIntent(phoneNumber, callOrigin);
+                intent = PrivilegedCallUtil.getCallIntent(phoneNumber, callOrigin);
                 break;
         }
         DialerUtils.startActivityWithErrorToast(context, intent);
diff --git a/src/com/android/dialer/interactions/UndemoteOutgoingCallReceiver.java b/src/com/android/dialer/interactions/UndemoteOutgoingCallReceiver.java
index 6d74cd0..960a31b 100644
--- a/src/com/android/dialer/interactions/UndemoteOutgoingCallReceiver.java
+++ b/src/com/android/dialer/interactions/UndemoteOutgoingCallReceiver.java
@@ -30,6 +30,8 @@
 /**
  * This broadcast receiver is used to listen to outgoing calls and undemote formerly demoted
  * contacts if a phone call is made to a phone number belonging to that contact.
+ *
+ * NOTE This doesn't work for corp contacts.
  */
 public class UndemoteOutgoingCallReceiver extends BroadcastReceiver {
 
diff --git a/src/com/android/dialer/list/AllContactsFragment.java b/src/com/android/dialer/list/AllContactsFragment.java
index deabb80..94efc48 100644
--- a/src/com/android/dialer/list/AllContactsFragment.java
+++ b/src/com/android/dialer/list/AllContactsFragment.java
@@ -18,6 +18,7 @@
 
 import android.database.Cursor;
 import android.net.Uri;
+import android.provider.ContactsContract.CommonDataKinds.Phone;
 import android.provider.ContactsContract.QuickContact;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -83,7 +84,8 @@
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
         final Uri uri = (Uri) view.getTag();
         if (uri != null) {
-            QuickContact.showQuickContact(getActivity(), view, uri, QuickContact.MODE_LARGE, null);
+            QuickContact.showQuickContact(getContext(), view, uri, null,
+                    Phone.CONTENT_ITEM_TYPE);
         }
     }
 
diff --git a/src/com/android/dialer/list/ListsFragment.java b/src/com/android/dialer/list/ListsFragment.java
index af82e40..0410814 100644
--- a/src/com/android/dialer/list/ListsFragment.java
+++ b/src/com/android/dialer/list/ListsFragment.java
@@ -8,6 +8,7 @@
 import android.content.SharedPreferences;
 import android.database.Cursor;
 import android.os.Bundle;
+import android.os.Trace;
 import android.support.v13.app.FragmentPagerAdapter;
 import android.support.v4.view.ViewPager;
 import android.support.v4.view.ViewPager.OnPageChangeListener;
@@ -28,11 +29,8 @@
 import com.android.dialer.calllog.CallLogQuery;
 import com.android.dialer.calllog.CallLogQueryHandler;
 import com.android.dialer.calllog.ContactInfoHelper;
-import com.android.dialer.list.ShortcutCardsAdapter.SwipeableShortcutCard;
 import com.android.dialer.util.DialerUtils;
 import com.android.dialer.widget.ActionBarController;
-import com.android.dialer.widget.OverlappingPaneLayout;
-import com.android.dialer.widget.OverlappingPaneLayout.PanelSlideCallbacks;
 import com.android.dialerbind.ObjectFactory;
 
 import java.util.ArrayList;
@@ -42,7 +40,7 @@
  *
  * Contains a ViewPager that contains various contact lists like the Speed Dial list and the
  * All Contacts list. This will also eventually contain the logic that allows sliding the
- * ViewPager containing the lists up above the shortcut cards and pin it against the top of the
+ * ViewPager containing the lists up above the search bar and pin it against the top of the
  * screen.
  */
 public class ListsFragment extends Fragment implements CallLogQueryHandler.Listener,
@@ -64,9 +62,6 @@
     private static final String KEY_LAST_DISMISSED_CALL_SHORTCUT_DATE =
             "key_last_dismissed_call_shortcut_date";
 
-    public static final float REMOVE_VIEW_SHOWN_ALPHA = 0.5f;
-    public static final float REMOVE_VIEW_HIDDEN_ALPHA = 1;
-
     public interface HostInterface {
         public void showCallHistory();
         public ActionBarController getActionBarController();
@@ -76,7 +71,6 @@
     private ViewPager mViewPager;
     private ViewPagerTabs mViewPagerTabs;
     private ViewPagerAdapter mViewPagerAdapter;
-    private ListView mShortcutCardsListView;
     private RemoveView mRemoveView;
     private View mRemoveViewContent;
     private SpeedDialFragment mSpeedDialFragment;
@@ -86,13 +80,10 @@
             new ArrayList<OnPageChangeListener>();
 
     private String[] mTabTitles;
+    private int[] mTabIcons;
 
-    private ShortcutCardsAdapter mMergedAdapter;
     private CallLogAdapter mCallLogAdapter;
     private CallLogQueryHandler mCallLogQueryHandler;
-    private OverlappingPaneLayout mOverlappingPaneLayout;
-
-    private boolean mIsPanelOpen = true;
 
     /**
      * Call shortcuts older than this date (persisted in shared preferences) will not show up in
@@ -105,80 +96,6 @@
      */
     private long mCurrentCallShortcutDate = 0;
 
-    private PanelSlideCallbacks mPanelSlideCallbacks = new PanelSlideCallbacks() {
-        @Override
-        public void onPanelSlide(View panel, float slideOffset) {
-            // For every 1 percent that the panel is slid upwards, clip 1 percent off the top
-            // edge of the shortcut card, to achieve the animated effect of the shortcut card
-            // being pushed out of view when the panel is slid upwards. slideOffset is 1 when
-            // the shortcut card is fully exposed, and 0 when completely hidden.
-            float ratioCardHidden = (1 - slideOffset);
-            if (mShortcutCardsListView.getChildCount() > 0) {
-                final SwipeableShortcutCard v =
-                        (SwipeableShortcutCard) mShortcutCardsListView.getChildAt(0);
-                v.clipCard(ratioCardHidden);
-            }
-
-            if (mActionBar != null) {
-                // Amount of available space that is not being hidden by the bottom pane
-                final int topPaneHeight = (int) (slideOffset * mShortcutCardsListView.getHeight());
-
-                final int availableActionBarHeight =
-                        Math.min(mActionBar.getHeight(), topPaneHeight);
-                final ActionBarController controller =
-                        ((HostInterface) getActivity()).getActionBarController();
-                controller.setHideOffset(mActionBar.getHeight() - availableActionBarHeight);
-
-                if (!mActionBar.isShowing()) {
-                    mActionBar.show();
-                }
-            }
-        }
-
-        @Override
-        public void onPanelOpened(View panel) {
-            if (DEBUG) {
-                Log.d(TAG, "onPanelOpened");
-            }
-            mIsPanelOpen = true;
-        }
-
-        @Override
-        public void onPanelClosed(View panel) {
-            if (DEBUG) {
-                Log.d(TAG, "onPanelClosed");
-            }
-            mIsPanelOpen = false;
-        }
-
-        @Override
-        public void onPanelFlingReachesEdge(int velocityY) {
-            if (getCurrentListView() != null) {
-                getCurrentListView().fling(velocityY);
-            }
-        }
-
-        @Override
-        public boolean isScrollableChildUnscrolled() {
-            final AbsListView listView = getCurrentListView();
-            return listView != null && (listView.getChildCount() == 0
-                    || listView.getChildAt(0).getTop() == listView.getPaddingTop());
-        }
-    };
-
-    private AbsListView getCurrentListView() {
-        final int position = mViewPager.getCurrentItem();
-        switch (getRtlPosition(position)) {
-            case TAB_INDEX_SPEED_DIAL:
-                return mSpeedDialFragment == null ? null : mSpeedDialFragment.getListView();
-            case TAB_INDEX_RECENTS:
-                return mRecentsFragment == null ? null : mRecentsFragment.getListView();
-            case TAB_INDEX_ALL_CONTACTS:
-                return mAllContactsFragment == null ? null : mAllContactsFragment.getListView();
-        }
-        throw new IllegalStateException("No fragment at position " + position);
-    }
-
     public class ViewPagerAdapter extends FragmentPagerAdapter {
         public ViewPagerAdapter(FragmentManager fm) {
             super(fm);
@@ -237,19 +154,26 @@
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
+        Trace.beginSection(TAG + " onCreate");
         super.onCreate(savedInstanceState);
 
         mCallLogQueryHandler = new CallLogQueryHandler(getActivity().getContentResolver(),
                 this, 1);
+        Trace.beginSection(TAG + " getCurrentCountryIso");
         final String currentCountryIso = GeoUtil.getCurrentCountryIso(getActivity());
+        Trace.endSection();
+
+        Trace.beginSection(TAG + " create adapters");
         mCallLogAdapter = ObjectFactory.newCallLogAdapter(getActivity(), this,
                 new ContactInfoHelper(getActivity(), currentCountryIso), null, null, false);
 
-        mMergedAdapter = new ShortcutCardsAdapter(getActivity(), this, mCallLogAdapter);
+        Trace.endSection();
+        Trace.endSection();
     }
 
     @Override
     public void onResume() {
+        Trace.beginSection(TAG + " onResume");
         super.onResume();
         final SharedPreferences prefs = getActivity().getSharedPreferences(
                 DialtactsActivity.SHARED_PREFS_NAME, Context.MODE_PRIVATE);
@@ -260,6 +184,7 @@
         if (getUserVisibleHint()) {
             sendScreenViewForPosition(mViewPager.getCurrentItem());
         }
+        Trace.endSection();
     }
 
     @Override
@@ -279,7 +204,11 @@
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
+        Trace.beginSection(TAG + " onCreateView");
+        Trace.beginSection(TAG + " inflate view");
         final View parentView = inflater.inflate(R.layout.lists_fragment, container, false);
+        Trace.endSection();
+        Trace.beginSection(TAG + " setup views");
         mViewPager = (ViewPager) parentView.findViewById(R.id.lists_pager);
         mViewPagerAdapter = new ViewPagerAdapter(getChildFragmentManager());
         mViewPager.setAdapter(mViewPagerAdapter);
@@ -292,19 +221,21 @@
         mTabTitles[TAB_INDEX_RECENTS] = getResources().getString(R.string.tab_recents);
         mTabTitles[TAB_INDEX_ALL_CONTACTS] = getResources().getString(R.string.tab_all_contacts);
 
+        mTabIcons = new int[TAB_INDEX_COUNT];
+        mTabIcons[TAB_INDEX_SPEED_DIAL] = R.drawable.tab_speed_dial;
+        mTabIcons[TAB_INDEX_RECENTS] = R.drawable.tab_recents;
+        mTabIcons[TAB_INDEX_ALL_CONTACTS] = R.drawable.tab_contacts;
+
         mViewPagerTabs = (ViewPagerTabs) parentView.findViewById(R.id.lists_pager_header);
+        mViewPagerTabs.setTabIcons(mTabIcons);
         mViewPagerTabs.setViewPager(mViewPager);
         addOnPageChangeListener(mViewPagerTabs);
 
-        mShortcutCardsListView = (ListView) parentView.findViewById(R.id.shortcut_card_list);
-        mShortcutCardsListView.setAdapter(mMergedAdapter);
-
         mRemoveView = (RemoveView) parentView.findViewById(R.id.remove_view);
         mRemoveViewContent = parentView.findViewById(R.id.remove_view_content);
 
-        setupPaneLayout((OverlappingPaneLayout) parentView);
-        mOverlappingPaneLayout = (OverlappingPaneLayout) parentView;
-
+        Trace.endSection();
+        Trace.endSection();
         return parentView;
     }
 
@@ -323,11 +254,6 @@
         }
 
         mCallLogAdapter.changeCursor(cursor);
-        mMergedAdapter.notifyDataSetChanged();
-
-        // Refresh the overlapping pane to ensure that any changes in the shortcut card height
-        // are appropriately reflected in the overlap position.
-        mOverlappingPaneLayout.refresh();
 
         // Return true; took ownership of cursor
         return true;
@@ -338,15 +264,6 @@
         mCallLogQueryHandler.fetchCalls(CallLogQueryHandler.CALL_TYPE_ALL, mLastCallShortcutDate);
     }
 
-    public void dismissShortcut(View view) {
-        mLastCallShortcutDate = mCurrentCallShortcutDate;
-        final SharedPreferences prefs = view.getContext().getSharedPreferences(
-                DialtactsActivity.SHARED_PREFS_NAME, Context.MODE_PRIVATE);
-        prefs.edit().putLong(KEY_LAST_DISMISSED_CALL_SHORTCUT_DATE, mLastCallShortcutDate)
-                .apply();
-        fetchCalls();
-    }
-
     public void addOnPageChangeListener(OnPageChangeListener onPageChangeListener) {
         if (!mOnPageChangeListeners.contains(onPageChangeListener)) {
             mOnPageChangeListeners.add(onPageChangeListener);
@@ -383,36 +300,11 @@
         mRemoveViewContent.setVisibility(show ? View.VISIBLE : View.GONE);
         mRemoveView.setAlpha(show ? 0 : 1);
         mRemoveView.animate().alpha(show ? 1 : 0).start();
-
-        if (mShortcutCardsListView.getChildCount() > 0) {
-            View v = mShortcutCardsListView.getChildAt(0);
-            v.animate().withLayer()
-                    .alpha(show ? REMOVE_VIEW_SHOWN_ALPHA : REMOVE_VIEW_HIDDEN_ALPHA)
-                    .start();
-        }
     }
 
     public boolean shouldShowActionBar() {
-        return mIsPanelOpen && mActionBar != null;
-    }
-
-    public boolean isPaneOpen() {
-        return mIsPanelOpen;
-    }
-
-    private void setupPaneLayout(OverlappingPaneLayout paneLayout) {
-        // TODO: Remove the notion of a capturable view. The entire view be slideable, once
-        // the framework better supports nested scrolling.
-        paneLayout.setCapturableView(mViewPagerTabs);
-        paneLayout.openPane();
-        paneLayout.setPanelSlideCallbacks(mPanelSlideCallbacks);
-        paneLayout.setIntermediatePinnedOffset(
-                ((HostInterface) getActivity()).getActionBarController().getActionBarHeight());
-
-        LayoutTransition transition = paneLayout.getLayoutTransition();
-        // Turns on animations for all types of layout changes so that they occur for
-        // height changes.
-        transition.enableTransitionType(LayoutTransition.CHANGING);
+        // TODO: Update this based on scroll state.
+        return mActionBar != null;
     }
 
     public SpeedDialFragment getSpeedDialFragment() {
diff --git a/src/com/android/dialer/list/PhoneFavoriteSquareTileView.java b/src/com/android/dialer/list/PhoneFavoriteSquareTileView.java
index 5f88776..05780c6 100644
--- a/src/com/android/dialer/list/PhoneFavoriteSquareTileView.java
+++ b/src/com/android/dialer/list/PhoneFavoriteSquareTileView.java
@@ -17,6 +17,7 @@
 package com.android.dialer.list;
 
 import android.content.Context;
+import android.provider.ContactsContract.CommonDataKinds.Phone;
 import android.provider.ContactsContract.QuickContact;
 import android.util.AttributeSet;
 import android.view.View;
@@ -63,7 +64,7 @@
 
     private void launchQuickContact() {
         QuickContact.showQuickContact(getContext(), PhoneFavoriteSquareTileView.this,
-                getLookupUri(), QuickContact.MODE_LARGE, null);
+                getLookupUri(), null, Phone.CONTENT_ITEM_TYPE);
     }
 
     @Override
diff --git a/src/com/android/dialer/list/RegularSearchListAdapter.java b/src/com/android/dialer/list/RegularSearchListAdapter.java
index f1f2ae0..9d6694a 100644
--- a/src/com/android/dialer/list/RegularSearchListAdapter.java
+++ b/src/com/android/dialer/list/RegularSearchListAdapter.java
@@ -18,12 +18,10 @@
 import android.content.Context;
 import android.database.Cursor;
 import android.net.Uri;
-import android.provider.ContactsContract;
 import android.text.TextUtils;
 
 import com.android.contacts.common.CallUtil;
 import com.android.contacts.common.list.DirectoryPartition;
-import com.android.contacts.common.list.PhoneNumberListAdapter;
 import com.android.dialer.calllog.ContactInfo;
 import com.android.dialer.service.CachedNumberLookupService;
 import com.android.dialer.service.CachedNumberLookupService.CachedContactInfo;
diff --git a/src/com/android/dialer/list/ShortcutCardsAdapter.java b/src/com/android/dialer/list/ShortcutCardsAdapter.java
deleted file mode 100644
index 6410eab..0000000
--- a/src/com/android/dialer/list/ShortcutCardsAdapter.java
+++ /dev/null
@@ -1,393 +0,0 @@
-/*
- * Copyright (C) 2011 Google Inc.
- * Licensed to The Android Open Source Project.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.dialer.list;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.database.Cursor;
-import android.database.DataSetObserver;
-import android.graphics.Rect;
-import android.text.TextUtils;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewConfiguration;
-import android.view.ViewGroup;
-import android.widget.BaseAdapter;
-import android.widget.FrameLayout;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import com.android.dialer.R;
-import com.android.dialer.calllog.CallLogAdapter;
-import com.android.dialer.calllog.CallLogNotificationsHelper;
-import com.android.dialer.calllog.CallLogQueryHandler;
-import com.android.dialer.list.SwipeHelper.OnItemGestureListener;
-import com.android.dialer.list.SwipeHelper.SwipeHelperCallback;
-
-/**
- * An adapter that displays call shortcuts from {@link com.android.dialer.calllog.CallLogAdapter}
- * in the form of cards.
- */
-public class ShortcutCardsAdapter extends BaseAdapter {
-
-    private class CustomDataSetObserver extends DataSetObserver {
-        @Override
-        public void onChanged() {
-            notifyDataSetChanged();
-        }
-    }
-
-    private static final String TAG = ShortcutCardsAdapter.class.getSimpleName();
-    private static final float CLIP_CARD_BARELY_HIDDEN_RATIO = 0.001f;
-    private static final float CLIP_CARD_MOSTLY_HIDDEN_RATIO = 0.9f;
-    // Fade out 5x faster than the hidden ratio.
-    private static final float CLIP_CARD_OPACITY_RATIO = 5f;
-
-    private final CallLogAdapter mCallLogAdapter;
-
-    private final ListsFragment mFragment;
-
-    private final int mCallLogMarginHorizontal;
-    private final int mCallLogMarginTop;
-    private final int mCallLogMarginBottom;
-    private final int mCallLogPaddingStart;
-    private final int mCallLogPaddingTop;
-    private final int mCallLogPaddingBottom;
-    private final int mCardMaxHorizontalClip;
-    private final int mShortCardBackgroundColor;
-
-    private final Context mContext;
-
-    private final DataSetObserver mObserver;
-
-    private final CallLogQueryHandler mCallLogQueryHandler;
-
-    private final OnItemGestureListener mCallLogOnItemSwipeListener =
-            new OnItemGestureListener() {
-        @Override
-        public void onSwipe(View view) {
-            mCallLogQueryHandler.markNewCallsAsOld();
-            mCallLogQueryHandler.markNewVoicemailsAsOld();
-            CallLogNotificationsHelper.removeMissedCallNotifications(mContext);
-            CallLogNotificationsHelper.updateVoicemailNotifications(mContext);
-            mFragment.dismissShortcut(view);
-        }
-
-        @Override
-        public void onTouch() {}
-
-        @Override
-        public boolean isSwipeEnabled() {
-            return true;
-        }
-    };
-
-    private final CallLogQueryHandler.Listener mCallLogQueryHandlerListener =
-            new CallLogQueryHandler.Listener() {
-        @Override
-        public void onVoicemailStatusFetched(Cursor statusCursor) {}
-
-        @Override
-        public boolean onCallsFetched(Cursor combinedCursor) {
-            mCallLogAdapter.invalidateCache();
-            mCallLogAdapter.changeCursor(combinedCursor);
-            mCallLogAdapter.notifyDataSetChanged();
-            // Return true; took ownership of cursor
-            return true;
-        }
-    };
-
-    public ShortcutCardsAdapter(Context context,
-            ListsFragment fragment,
-            CallLogAdapter callLogAdapter) {
-        final Resources resources = context.getResources();
-        mContext = context;
-        mFragment = fragment;
-        mCardMaxHorizontalClip =
-                resources.getDimensionPixelSize(R.dimen.recent_call_log_item_horizontal_clip_limit);
-        mCallLogMarginHorizontal =
-                resources.getDimensionPixelSize(R.dimen.recent_call_log_item_margin_horizontal);
-        mCallLogMarginTop =
-                resources.getDimensionPixelSize(R.dimen.recent_call_log_item_margin_top);
-        mCallLogMarginBottom =
-                resources.getDimensionPixelSize(R.dimen.recent_call_log_item_margin_bottom);
-        mCallLogPaddingStart =
-                resources.getDimensionPixelSize(R.dimen.recent_call_log_item_padding_start);
-        mCallLogPaddingTop =
-                resources.getDimensionPixelSize(R.dimen.recent_call_log_item_padding_top);
-        mCallLogPaddingBottom =
-                resources.getDimensionPixelSize(R.dimen.recent_call_log_item_padding_bottom);
-        mShortCardBackgroundColor = resources.getColor(R.color.call_log_expanded_background_color);
-
-
-        mCallLogAdapter = callLogAdapter;
-        mObserver = new CustomDataSetObserver();
-        mCallLogAdapter.registerDataSetObserver(mObserver);
-        mCallLogQueryHandler = new CallLogQueryHandler(mContext.getContentResolver(),
-                mCallLogQueryHandlerListener);
-    }
-
-    /**
-     * Determines the number of items in the adapter.
-     * mCallLogAdapter contains the item for the most recent caller.
-     * mContactTileAdapter contains the starred contacts.
-     * The +1 is to account for the presence of the favorites menu.
-     *
-     * @return Number of items in the adapter.
-     */
-    @Override
-    public int getCount() {
-        return mCallLogAdapter.getCount();
-    }
-
-    @Override
-    public Object getItem(int position) {
-        return mCallLogAdapter.getItem(position);
-    }
-
-    @Override
-    public long getItemId(int position) {
-        return position;
-    }
-
-    @Override
-    public boolean hasStableIds() {
-        return true;
-    }
-
-    /**
-     * Determine the number of view types present.
-     */
-    @Override
-    public int getViewTypeCount() {
-        return mCallLogAdapter.getViewTypeCount();
-    }
-
-    @Override
-    public int getItemViewType(int position) {
-        return mCallLogAdapter.getItemViewType(position);
-    }
-
-    @Override
-    public View getView(int position, View convertView, ViewGroup parent) {
-        final SwipeableShortcutCard wrapper;
-        if (convertView == null) {
-            wrapper = new SwipeableShortcutCard(mContext);
-            wrapper.setOnItemSwipeListener(mCallLogOnItemSwipeListener);
-        } else {
-            wrapper = (SwipeableShortcutCard) convertView;
-        }
-
-        // Special case wrapper view for the most recent call log item. This allows
-        // us to create a card-like effect for the more recent call log item in
-        // the PhoneFavoriteMergedAdapter, but keep the original look of the item in
-        // the CallLogAdapter.
-        final View view = mCallLogAdapter.getView(position, convertView == null ?
-                null : wrapper.getChildAt(0), parent
-        );
-        wrapper.removeAllViews();
-        wrapper.prepareChildView(view);
-        wrapper.addView(view);
-        wrapper.setVisibility(View.VISIBLE);
-        return wrapper;
-    }
-
-    @Override
-    public boolean areAllItemsEnabled() {
-        return mCallLogAdapter.areAllItemsEnabled();
-    }
-
-    @Override
-    public boolean isEnabled(int position) {
-        return mCallLogAdapter.isEnabled(position);
-    }
-
-    /**
-     * The swipeable call log row.
-     */
-    class SwipeableShortcutCard extends FrameLayout implements SwipeHelperCallback {
-        private SwipeHelper mSwipeHelper;
-        private OnItemGestureListener mOnItemSwipeListener;
-
-        private float mPreviousTranslationZ = 0;
-        private Rect mClipRect = new Rect();
-
-        public SwipeableShortcutCard(Context context) {
-            super(context);
-            final float densityScale = getResources().getDisplayMetrics().density;
-            final float pagingTouchSlop = ViewConfiguration.get(context)
-                    .getScaledPagingTouchSlop();
-            mSwipeHelper = new SwipeHelper(context, SwipeHelper.X, this,
-                    densityScale, pagingTouchSlop);
-        }
-
-        private void prepareChildView(View view) {
-            // Override CallLogAdapter's accessibility behavior; don't expand the shortcut card.
-            view.setAccessibilityDelegate(null);
-            view.setBackgroundResource(R.drawable.rounded_corner_bg);
-
-            final FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
-                    FrameLayout.LayoutParams.MATCH_PARENT,
-                    FrameLayout.LayoutParams.WRAP_CONTENT);
-            params.setMargins(
-                    mCallLogMarginHorizontal,
-                    mCallLogMarginTop,
-                    mCallLogMarginHorizontal,
-                    mCallLogMarginBottom);
-            view.setLayoutParams(params);
-
-            LinearLayout actionView =
-                    (LinearLayout) view.findViewById(R.id.primary_action_view);
-            actionView.setPaddingRelative(
-                    mCallLogPaddingStart,
-                    mCallLogPaddingTop,
-                    actionView.getPaddingEnd(),
-                    mCallLogPaddingBottom);
-
-            // TODO: Set content description including type/location and time information.
-            TextView nameView = (TextView) actionView.findViewById(R.id.name);
-
-            actionView.setContentDescription(
-                    TextUtils.expandTemplate(
-                            getResources().getString(R.string.description_call_back_action),
-                            nameView.getText()));
-
-            mPreviousTranslationZ = getResources().getDimensionPixelSize(
-                    R.dimen.recent_call_log_item_translation_z);
-            view.setTranslationZ(mPreviousTranslationZ);
-
-            final ViewGroup callLogItem = (ViewGroup) view.findViewById(R.id.call_log_list_item);
-            // Reset the internal call log item view if it is being recycled
-            callLogItem.setTranslationX(0);
-            callLogItem.setTranslationY(0);
-            callLogItem.setAlpha(1);
-            callLogItem.setClipBounds(null);
-            setChildrenOpacity(callLogItem, 1.0f);
-
-            callLogItem.findViewById(R.id.call_log_row)
-                    .setBackgroundColor(mShortCardBackgroundColor);
-
-            callLogItem.findViewById(R.id.call_indicator_icon).setVisibility(View.VISIBLE);
-        }
-
-        @Override
-        public View getChildAtPosition(MotionEvent ev) {
-            return getChildCount() > 0 ? getChildAt(0) : null;
-        }
-
-        @Override
-        public View getChildContentView(View v) {
-            return v.findViewById(R.id.call_log_list_item);
-        }
-
-        @Override
-        public void onScroll() {}
-
-        @Override
-        public boolean canChildBeDismissed(View v) {
-            return true;
-        }
-
-        @Override
-        public void onBeginDrag(View v) {
-            // We do this so the underlying ScrollView knows that it won't get
-            // the chance to intercept events anymore
-            requestDisallowInterceptTouchEvent(true);
-        }
-
-        @Override
-        public void onChildDismissed(View v) {
-            if (v != null && mOnItemSwipeListener != null) {
-                mOnItemSwipeListener.onSwipe(v);
-            }
-        }
-
-        @Override
-        public void onDragCancelled(View v) {}
-
-        @Override
-        public boolean onInterceptTouchEvent(MotionEvent ev) {
-            if (mSwipeHelper != null) {
-                return mSwipeHelper.onInterceptTouchEvent(ev) || super.onInterceptTouchEvent(ev);
-            } else {
-                return super.onInterceptTouchEvent(ev);
-            }
-        }
-
-        @Override
-        public boolean onTouchEvent(MotionEvent ev) {
-            if (mSwipeHelper != null) {
-                return mSwipeHelper.onTouchEvent(ev) || super.onTouchEvent(ev);
-            } else {
-                return super.onTouchEvent(ev);
-            }
-        }
-
-        public void setOnItemSwipeListener(OnItemGestureListener listener) {
-            mOnItemSwipeListener = listener;
-        }
-
-        /**
-         * Clips the card by a specified amount.
-         *
-         * @param ratioHidden A float indicating how much of each edge of the card should be
-         *         clipped. If 0, the entire card is displayed. If 0.5f, each edge is hidden
-         *         entirely, thus obscuring the entire card.
-         */
-        public void clipCard(float ratioHidden) {
-            final View viewToClip = getChildAt(0);
-            if (viewToClip == null) {
-                return;
-            }
-            int width = viewToClip.getWidth();
-            int height = viewToClip.getHeight();
-
-            if (ratioHidden <= CLIP_CARD_BARELY_HIDDEN_RATIO) {
-                viewToClip.setTranslationZ(mPreviousTranslationZ);
-            } else if (viewToClip.getTranslationZ() != 0){
-                mPreviousTranslationZ = viewToClip.getTranslationZ();
-                viewToClip.setTranslationZ(0);
-            }
-
-            if (ratioHidden > CLIP_CARD_MOSTLY_HIDDEN_RATIO) {
-                mClipRect.set(0, 0 , 0, 0);
-                setVisibility(View.INVISIBLE);
-            } else {
-                setVisibility(View.VISIBLE);
-                int newTop = (int) (ratioHidden * height);
-                mClipRect.set(0, newTop, width, height);
-
-                // Since the pane will be overlapping with the action bar, apply a vertical offset
-                // to top align the clipped card in the viewable area;
-                viewToClip.setTranslationY(-newTop);
-            }
-            viewToClip.setClipBounds(mClipRect);
-
-            // If the view has any children, fade them out of view.
-            final ViewGroup viewGroup = (ViewGroup) viewToClip;
-            setChildrenOpacity(
-                    viewGroup, Math.max(0, 1 - (CLIP_CARD_OPACITY_RATIO  * ratioHidden)));
-        }
-
-        private void setChildrenOpacity(ViewGroup viewGroup, float alpha) {
-            final int count = viewGroup.getChildCount();
-            for (int i = 0; i < count; i++) {
-                viewGroup.getChildAt(i).setAlpha(alpha);
-            }
-        }
-    }
-}
diff --git a/src/com/android/dialer/list/SmartDialNumberListAdapter.java b/src/com/android/dialer/list/SmartDialNumberListAdapter.java
index 04c0d62..db96682 100644
--- a/src/com/android/dialer/list/SmartDialNumberListAdapter.java
+++ b/src/com/android/dialer/list/SmartDialNumberListAdapter.java
@@ -20,15 +20,12 @@
 import android.database.Cursor;
 import android.net.Uri;
 import android.provider.ContactsContract;
-import android.provider.ContactsContract.CommonDataKinds.Callable;
 import android.telephony.PhoneNumberUtils;
 import android.text.TextUtils;
 import android.util.Log;
 
 import com.android.contacts.common.CallUtil;
 import com.android.contacts.common.list.ContactListItemView;
-import com.android.contacts.common.list.PhoneNumberListAdapter;
-import com.android.contacts.common.list.PhoneNumberListAdapter.PhoneQuery;
 import com.android.dialer.dialpad.SmartDialCursorLoader;
 import com.android.dialer.dialpad.SmartDialNameMatcher;
 import com.android.dialer.dialpad.SmartDialPrefix;
diff --git a/src/com/android/dialer/list/SmartDialSearchFragment.java b/src/com/android/dialer/list/SmartDialSearchFragment.java
index 4f0ce72..6c52114 100644
--- a/src/com/android/dialer/list/SmartDialSearchFragment.java
+++ b/src/com/android/dialer/list/SmartDialSearchFragment.java
@@ -38,11 +38,10 @@
         SmartDialNumberListAdapter adapter = new SmartDialNumberListAdapter(getActivity());
         adapter.setUseCallableUri(super.usesCallableUri());
         adapter.setQuickContactEnabled(true);
-        // Disable the direct call shortcut for the smart dial fragment, since the call button
-        // will already be showing anyway.
+        // Disable the direct call shortcut. The call button will already be showing.
         adapter.setShortcutEnabled(SmartDialNumberListAdapter.SHORTCUT_DIRECT_CALL, false);
-        adapter.setShortcutEnabled(SmartDialNumberListAdapter.SHORTCUT_ADD_NUMBER_TO_CONTACTS,
-                false);
+        // Set adapter's query string to restore previous instance state.
+        adapter.setQueryString(getQueryString());
         return adapter;
     }
 
diff --git a/src/com/android/dialer/list/SpeedDialFragment.java b/src/com/android/dialer/list/SpeedDialFragment.java
index 63f1f34..e72b250 100644
--- a/src/com/android/dialer/list/SpeedDialFragment.java
+++ b/src/com/android/dialer/list/SpeedDialFragment.java
@@ -28,6 +28,7 @@
 import android.graphics.Rect;
 import android.net.Uri;
 import android.os.Bundle;
+import android.os.Trace;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -38,10 +39,11 @@
 import android.widget.AbsListView;
 import android.widget.AdapterView;
 import android.widget.AdapterView.OnItemClickListener;
+import android.widget.FrameLayout;
+import android.widget.FrameLayout.LayoutParams;
 import android.widget.ImageView;
 import android.widget.ListView;
 import android.widget.RelativeLayout;
-import android.widget.RelativeLayout.LayoutParams;
 
 import com.android.contacts.common.ContactPhotoManager;
 import com.android.contacts.common.ContactTileLoaderFactory;
@@ -68,7 +70,7 @@
      */
     private static final long KEY_REMOVED_ITEM_HEIGHT = Long.MAX_VALUE;
 
-    private static final String TAG = SpeedDialFragment.class.getSimpleName();
+    private static final String TAG = "SpeedDialFragment";
     private static final boolean DEBUG = false;
 
     private int mAnimationDuration;
@@ -180,21 +182,26 @@
     @Override
     public void onCreate(Bundle savedState) {
         if (DEBUG) Log.d(TAG, "onCreate()");
+        Trace.beginSection(TAG + " onCreate");
         super.onCreate(savedState);
 
         mAnimationDuration = getResources().getInteger(R.integer.fade_duration);
+        Trace.endSection();
     }
 
     @Override
     public void onResume() {
+        Trace.beginSection(TAG + " onResume");
         super.onResume();
 
         getLoaderManager().getLoader(LOADER_ID_CONTACT_TILE).forceLoad();
+        Trace.endSection();
     }
 
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
+        Trace.beginSection(TAG + " onCreateView");
         mParentView = inflater.inflate(R.layout.speed_dial_fragment, container, false);
 
         mListView = (PhoneFavoriteListView) mParentView.findViewById(R.id.contact_tile_list);
@@ -208,7 +215,6 @@
                 (ImageView) getActivity().findViewById(R.id.contact_tile_drag_shadow_overlay);
         mListView.setDragShadowOverlay(dragShadowOverlay);
 
-        final Resources resources = getResources();
         mEmptyView = mParentView.findViewById(R.id.empty_list_view);
         DialerUtils.configureEmptyListView(
                 mEmptyView, R.drawable.empty_speed_dial, R.string.speed_dial_empty, getResources());
@@ -224,7 +230,7 @@
         mListView.setOnScrollListener(mScrollListener);
         mListView.setFastScrollEnabled(false);
         mListView.setFastScrollAlwaysVisible(false);
-
+        Trace.endSection();
         return mParentView;
     }
 
@@ -239,7 +245,7 @@
         final int listViewVisibility = visible ? View.GONE : View.VISIBLE;
 
         if (previousVisibility != emptyViewVisibility) {
-            final RelativeLayout.LayoutParams params = (LayoutParams) mContactTileFrame
+            final FrameLayout.LayoutParams params = (LayoutParams) mContactTileFrame
                     .getLayoutParams();
             params.height = visible ? LayoutParams.WRAP_CONTENT : LayoutParams.MATCH_PARENT;
             mContactTileFrame.setLayoutParams(params);
diff --git a/src/com/android/dialer/list/SwipeHelper.java b/src/com/android/dialer/list/SwipeHelper.java
deleted file mode 100644
index 03300df4..0000000
--- a/src/com/android/dialer/list/SwipeHelper.java
+++ /dev/null
@@ -1,470 +0,0 @@
-/*
- * Copyright (C) 2012 Google Inc.
- * Licensed to The Android Open Source Project.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dialer.list;
-
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.animation.ObjectAnimator;
-import android.animation.ValueAnimator;
-import android.animation.ValueAnimator.AnimatorUpdateListener;
-import android.content.Context;
-import android.content.res.Resources;
-import android.graphics.RectF;
-import android.util.Log;
-import android.view.MotionEvent;
-import android.view.VelocityTracker;
-import android.view.View;
-import android.view.animation.LinearInterpolator;
-
-import com.android.dialer.R;
-
-/**
- * Copy of packages/apps/UnifiedEmail - com.android.mail.ui.SwipeHelper with changes.
- */
-public class SwipeHelper {
-    static final String TAG = SwipeHelper.class.getSimpleName();
-    private static final boolean DEBUG_INVALIDATE = false;
-    private static final boolean CONSTRAIN_SWIPE = true;
-    private static final boolean FADE_OUT_DURING_SWIPE = true;
-    private static final boolean DISMISS_IF_SWIPED_FAR_ENOUGH = true;
-    private static final boolean LOG_SWIPE_DISMISS_VELOCITY = false; // STOPSHIP - DEBUG ONLY
-
-    public static final int IS_SWIPEABLE_TAG = R.id.is_swipeable_tag;
-    public static final Object IS_SWIPEABLE = new Object();
-
-    public static final int X = 0;
-    public static final int Y = 1;
-
-    private static LinearInterpolator sLinearInterpolator = new LinearInterpolator();
-
-    private static int SWIPE_ESCAPE_VELOCITY = -1;
-    private static int DEFAULT_ESCAPE_ANIMATION_DURATION;
-    private static int MAX_ESCAPE_ANIMATION_DURATION;
-    private static int MAX_DISMISS_VELOCITY;
-    private static int SNAP_ANIM_LEN;
-    private static int SWIPE_SCROLL_SLOP;
-    private static float MIN_SWIPE;
-    private static float MIN_VERT;
-    private static float MIN_LOCK;
-
-    public static float ALPHA_FADE_START = 0f; // fraction of thumbnail width
-                                               // where fade starts
-    static final float ALPHA_FADE_END = 0.7f; // fraction of thumbnail width
-                                              // beyond which alpha->0
-    private static final float FACTOR = 1.2f;
-
-    private static final int PROTECTION_PADDING = 50;
-
-    private float mMinAlpha = 0.3f;
-
-    private float mPagingTouchSlop;
-    private final SwipeHelperCallback mCallback;
-    private final int mSwipeDirection;
-    private final VelocityTracker mVelocityTracker;
-
-    private float mInitialTouchPosX;
-    private boolean mDragging;
-    private View mCurrView;
-    private View mCurrAnimView;
-    private boolean mCanCurrViewBeDimissed;
-    private float mDensityScale;
-    private float mLastY;
-    private float mInitialTouchPosY;
-
-    private float mStartAlpha;
-    private boolean mProtected = false;
-
-    private float mChildSwipedFarEnoughFactor = 0.4f;
-    private float mChildSwipedFastEnoughFactor = 0.05f;
-
-    public SwipeHelper(Context context, int swipeDirection, SwipeHelperCallback callback, float densityScale,
-            float pagingTouchSlop) {
-        mCallback = callback;
-        mSwipeDirection = swipeDirection;
-        mVelocityTracker = VelocityTracker.obtain();
-        mDensityScale = densityScale;
-        mPagingTouchSlop = pagingTouchSlop;
-        if (SWIPE_ESCAPE_VELOCITY == -1) {
-            Resources res = context.getResources();
-            SWIPE_ESCAPE_VELOCITY = res.getInteger(R.integer.swipe_escape_velocity);
-            DEFAULT_ESCAPE_ANIMATION_DURATION = res.getInteger(R.integer.escape_animation_duration);
-            MAX_ESCAPE_ANIMATION_DURATION = res.getInteger(R.integer.max_escape_animation_duration);
-            MAX_DISMISS_VELOCITY = res.getInteger(R.integer.max_dismiss_velocity);
-            SNAP_ANIM_LEN = res.getInteger(R.integer.snap_animation_duration);
-            SWIPE_SCROLL_SLOP = res.getInteger(R.integer.swipe_scroll_slop);
-            MIN_SWIPE = res.getDimension(R.dimen.min_swipe);
-            MIN_VERT = res.getDimension(R.dimen.min_vert);
-            MIN_LOCK = res.getDimension(R.dimen.min_lock);
-        }
-    }
-
-    public void setDensityScale(float densityScale) {
-        mDensityScale = densityScale;
-    }
-
-    public void setPagingTouchSlop(float pagingTouchSlop) {
-        mPagingTouchSlop = pagingTouchSlop;
-    }
-
-    public void setChildSwipedFarEnoughFactor(float factor) {
-        mChildSwipedFarEnoughFactor = factor;
-    }
-
-    public void setChildSwipedFastEnoughFactor(float factor) {
-        mChildSwipedFastEnoughFactor = factor;
-    }
-
-    private float getVelocity(VelocityTracker vt) {
-        return mSwipeDirection == X ? vt.getXVelocity() :
-                vt.getYVelocity();
-    }
-
-    private ObjectAnimator createTranslationAnimation(View v, float newPos) {
-        ObjectAnimator anim = ObjectAnimator.ofFloat(v,
-                mSwipeDirection == X ? "translationX" : "translationY", newPos);
-        return anim;
-    }
-
-    private ObjectAnimator createDismissAnimation(View v, float newPos, int duration) {
-        ObjectAnimator anim = createTranslationAnimation(v, newPos);
-        anim.setInterpolator(sLinearInterpolator);
-        anim.setDuration(duration);
-        return anim;
-    }
-
-    private float getPerpendicularVelocity(VelocityTracker vt) {
-        return mSwipeDirection == X ? vt.getYVelocity() :
-                vt.getXVelocity();
-    }
-
-    private void setTranslation(View v, float translate) {
-        if (mSwipeDirection == X) {
-            v.setTranslationX(translate);
-        } else {
-            v.setTranslationY(translate);
-        }
-    }
-
-    private float getSize(View v) {
-        return mSwipeDirection == X ? v.getMeasuredWidth() :
-                v.getMeasuredHeight();
-    }
-
-    public void setMinAlpha(float minAlpha) {
-        mMinAlpha = minAlpha;
-    }
-
-    private float getAlphaForOffset(View view) {
-        float viewSize = getSize(view);
-        final float fadeSize = ALPHA_FADE_END * viewSize;
-        float result = mStartAlpha;
-        float pos = view.getTranslationX();
-        if (pos >= viewSize * ALPHA_FADE_START) {
-            result = mStartAlpha - (pos - viewSize * ALPHA_FADE_START) / fadeSize;
-        } else if (pos < viewSize * (mStartAlpha - ALPHA_FADE_START)) {
-            result = mStartAlpha + (viewSize * ALPHA_FADE_START + pos) / fadeSize;
-        }
-        return Math.max(mMinAlpha, result);
-    }
-
-    // invalidate the view's own bounds all the way up the view hierarchy
-    public static void invalidateGlobalRegion(View view) {
-        invalidateGlobalRegion(
-                view,
-                new RectF(view.getLeft(), view.getTop(), view.getRight(), view.getBottom()));
-    }
-
-    // invalidate a rectangle relative to the view's coordinate system all the way up the view
-    // hierarchy
-    public static void invalidateGlobalRegion(View view, RectF childBounds) {
-        // childBounds.offset(view.getTranslationX(), view.getTranslationY());
-        if (DEBUG_INVALIDATE)
-            Log.v(TAG, "-------------");
-        while (view.getParent() != null && view.getParent() instanceof View) {
-            view = (View) view.getParent();
-            view.getMatrix().mapRect(childBounds);
-            view.invalidate((int) Math.floor(childBounds.left),
-                    (int) Math.floor(childBounds.top),
-                    (int) Math.ceil(childBounds.right),
-                    (int) Math.ceil(childBounds.bottom));
-            if (DEBUG_INVALIDATE) {
-                Log.v(TAG, "INVALIDATE(" + (int) Math.floor(childBounds.left)
-                        + "," + (int) Math.floor(childBounds.top)
-                        + "," + (int) Math.ceil(childBounds.right)
-                        + "," + (int) Math.ceil(childBounds.bottom));
-            }
-        }
-    }
-
-    public boolean onInterceptTouchEvent(MotionEvent ev) {
-        final int action = ev.getAction();
-        switch (action) {
-            case MotionEvent.ACTION_DOWN:
-                mLastY = ev.getY();
-                mDragging = false;
-                mCurrView = mCallback.getChildAtPosition(ev);
-                mVelocityTracker.clear();
-                if (mCurrView != null) {
-                    mCurrAnimView = mCallback.getChildContentView(mCurrView);
-                    mStartAlpha = mCurrAnimView.getAlpha();
-                    mCanCurrViewBeDimissed = mCallback.canChildBeDismissed(mCurrView);
-                    mVelocityTracker.addMovement(ev);
-                    mInitialTouchPosX = ev.getX();
-                    mInitialTouchPosY = ev.getY();
-                }
-                break;
-            case MotionEvent.ACTION_MOVE:
-                if (mCurrView != null) {
-                    // Check the movement direction.
-                    if (mLastY >= 0 && !mDragging) {
-                        float currY = ev.getY();
-                        float currX = ev.getX();
-                        float deltaY = Math.abs(currY - mInitialTouchPosY);
-                        float deltaX = Math.abs(currX - mInitialTouchPosX);
-                        if (deltaY > SWIPE_SCROLL_SLOP && deltaY > (FACTOR * deltaX)) {
-                            mLastY = ev.getY();
-                            mCallback.onScroll();
-                            return false;
-                        }
-                    }
-                    mVelocityTracker.addMovement(ev);
-                    float pos = ev.getX();
-                    float delta = pos - mInitialTouchPosX;
-                    if (Math.abs(delta) > mPagingTouchSlop) {
-                        mCallback.onBeginDrag(mCallback.getChildContentView(mCurrView));
-                        mDragging = true;
-                        mInitialTouchPosX = ev.getX() - mCurrAnimView.getTranslationX();
-                        mInitialTouchPosY = ev.getY();
-                    }
-                }
-                mLastY = ev.getY();
-                break;
-            case MotionEvent.ACTION_UP:
-            case MotionEvent.ACTION_CANCEL:
-                mDragging = false;
-                mCurrView = null;
-                mCurrAnimView = null;
-                mLastY = -1;
-                break;
-        }
-        return mDragging;
-    }
-
-    /**
-     * @param view The view to be dismissed
-     * @param velocity The desired pixels/second speed at which the view should
-     *            move
-     */
-    private void dismissChild(final View view, float velocity) {
-        final View animView = mCallback.getChildContentView(view);
-        final boolean canAnimViewBeDismissed = mCallback.canChildBeDismissed(view);
-        float newPos = determinePos(animView, velocity);
-        int duration = determineDuration(animView, newPos, velocity);
-
-        animView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
-        ObjectAnimator anim = createDismissAnimation(animView, newPos, duration);
-        anim.addListener(new AnimatorListenerAdapter() {
-            @Override
-            public void onAnimationEnd(Animator animation) {
-                mCallback.onChildDismissed(view);
-                animView.setLayerType(View.LAYER_TYPE_NONE, null);
-            }
-        });
-        anim.addUpdateListener(new AnimatorUpdateListener() {
-            @Override
-            public void onAnimationUpdate(ValueAnimator animation) {
-                if (FADE_OUT_DURING_SWIPE && canAnimViewBeDismissed) {
-                    animView.setAlpha(getAlphaForOffset(animView));
-                }
-                invalidateGlobalRegion(animView);
-            }
-        });
-        anim.start();
-    }
-
-    private int determineDuration(View animView, float newPos, float velocity) {
-        int duration = MAX_ESCAPE_ANIMATION_DURATION;
-        if (velocity != 0) {
-            duration = Math
-                    .min(duration,
-                            (int) (Math.abs(newPos - animView.getTranslationX()) * 1000f / Math
-                                    .abs(velocity)));
-        } else {
-            duration = DEFAULT_ESCAPE_ANIMATION_DURATION;
-        }
-        return duration;
-    }
-
-    private float determinePos(View animView, float velocity) {
-        float newPos = 0;
-        if (velocity < 0 || (velocity == 0 && animView.getTranslationX() < 0)
-                // if we use the Menu to dismiss an item in landscape, animate up
-                || (velocity == 0 && animView.getTranslationX() == 0 && mSwipeDirection == Y)) {
-            newPos = -getSize(animView);
-        } else {
-            newPos = getSize(animView);
-        }
-        return newPos;
-    }
-
-    public void snapChild(final View view, float velocity) {
-        final View animView = mCallback.getChildContentView(view);
-        final boolean canAnimViewBeDismissed = mCallback.canChildBeDismissed(view);
-        ObjectAnimator anim = createTranslationAnimation(animView, 0);
-        int duration = SNAP_ANIM_LEN;
-        anim.setDuration(duration);
-        anim.addUpdateListener(new AnimatorUpdateListener() {
-            @Override
-            public void onAnimationUpdate(ValueAnimator animation) {
-                if (FADE_OUT_DURING_SWIPE && canAnimViewBeDismissed) {
-                    animView.setAlpha(getAlphaForOffset(animView));
-                }
-                invalidateGlobalRegion(animView);
-            }
-        });
-        anim.addListener(new AnimatorListenerAdapter() {
-            @Override
-            public void onAnimationEnd(Animator animation) {
-                animView.setAlpha(mStartAlpha);
-                mCallback.onDragCancelled(mCurrView);
-            }
-        });
-        anim.start();
-    }
-
-    public boolean onTouchEvent(MotionEvent ev) {
-        if (!mDragging || mProtected) {
-            return false;
-        }
-        mVelocityTracker.addMovement(ev);
-        final int action = ev.getAction();
-        switch (action) {
-            case MotionEvent.ACTION_OUTSIDE:
-            case MotionEvent.ACTION_MOVE:
-                if (mCurrView != null) {
-                    float deltaX = ev.getX() - mInitialTouchPosX;
-                    float deltaY = Math.abs(ev.getY() - mInitialTouchPosY);
-                    // If the user has gone vertical and not gone horizontalish AT
-                    // LEAST minBeforeLock, switch to scroll. Otherwise, cancel
-                    // the swipe.
-                    if (!mDragging && deltaY > MIN_VERT && (Math.abs(deltaX)) < MIN_LOCK
-                            && deltaY > (FACTOR * Math.abs(deltaX))) {
-                        mCallback.onScroll();
-                        return false;
-                    }
-                    float minDistance = MIN_SWIPE;
-                    if (Math.abs(deltaX) < minDistance) {
-                        // Don't start the drag until at least X distance has
-                        // occurred.
-                        return true;
-                    }
-                    // don't let items that can't be dismissed be dragged more
-                    // than maxScrollDistance
-                    if (CONSTRAIN_SWIPE && !mCallback.canChildBeDismissed(mCurrView)) {
-                        float size = getSize(mCurrAnimView);
-                        float maxScrollDistance = 0.15f * size;
-                        if (Math.abs(deltaX) >= size) {
-                            deltaX = deltaX > 0 ? maxScrollDistance : -maxScrollDistance;
-                        } else {
-                            deltaX = maxScrollDistance
-                                    * (float) Math.sin((deltaX / size) * (Math.PI / 2));
-                        }
-                    }
-                    setTranslation(mCurrAnimView, deltaX);
-                    if (FADE_OUT_DURING_SWIPE && mCanCurrViewBeDimissed) {
-                        mCurrAnimView.setAlpha(getAlphaForOffset(mCurrAnimView));
-                    }
-                    invalidateGlobalRegion(mCallback.getChildContentView(mCurrView));
-                }
-                break;
-            case MotionEvent.ACTION_UP:
-            case MotionEvent.ACTION_CANCEL:
-                if (mCurrView != null) {
-                    float maxVelocity = MAX_DISMISS_VELOCITY * mDensityScale;
-                    mVelocityTracker.computeCurrentVelocity(1000 /* px/sec */, maxVelocity);
-                    float escapeVelocity = SWIPE_ESCAPE_VELOCITY * mDensityScale;
-                    float velocity = getVelocity(mVelocityTracker);
-                    float perpendicularVelocity = getPerpendicularVelocity(mVelocityTracker);
-
-                    // Decide whether to dismiss the current view
-                    // Tweak constants below as required to prevent erroneous
-                    // swipe/dismiss
-                    float translation = Math.abs(mCurrAnimView.getTranslationX());
-                    float currAnimViewSize = getSize(mCurrAnimView);
-                    // Long swipe = translation of {@link #mChildSwipedFarEnoughFactor} * width
-                    boolean childSwipedFarEnough = DISMISS_IF_SWIPED_FAR_ENOUGH
-                            && translation > mChildSwipedFarEnoughFactor * currAnimViewSize;
-                    // Fast swipe = > escapeVelocity and translation of
-                    // {@link #mChildSwipedFastEnoughFactor} * width
-                    boolean childSwipedFastEnough = (Math.abs(velocity) > escapeVelocity)
-                            && (Math.abs(velocity) > Math.abs(perpendicularVelocity))
-                            && (velocity > 0) == (mCurrAnimView.getTranslationX() > 0)
-                            && translation > mChildSwipedFastEnoughFactor * currAnimViewSize;
-                    if (LOG_SWIPE_DISMISS_VELOCITY) {
-                        Log.v(TAG, "Swipe/Dismiss: " + velocity + "/" + escapeVelocity + "/"
-                                + perpendicularVelocity + ", x: " + translation + "/"
-                                + currAnimViewSize);
-                    }
-
-                    boolean dismissChild = mCallback.canChildBeDismissed(mCurrView)
-                            && (childSwipedFastEnough || childSwipedFarEnough);
-
-                    if (dismissChild) {
-                        dismissChild(mCurrView, childSwipedFastEnough ? velocity : 0f);
-                    } else {
-                        snapChild(mCurrView, velocity);
-                    }
-                }
-                break;
-        }
-        return true;
-    }
-
-    public static void setSwipeable(View view, boolean swipeable) {
-        view.setTag(IS_SWIPEABLE_TAG, swipeable ? IS_SWIPEABLE : null);
-    }
-
-    public static boolean isSwipeable(View view) {
-        return IS_SWIPEABLE == view.getTag(IS_SWIPEABLE_TAG);
-    }
-
-    public interface SwipeHelperCallback {
-        View getChildAtPosition(MotionEvent ev);
-
-        View getChildContentView(View v);
-
-        void onScroll();
-
-        boolean canChildBeDismissed(View v);
-
-        void onBeginDrag(View v);
-
-        void onChildDismissed(View v);
-
-        void onDragCancelled(View v);
-
-    }
-
-    public interface OnItemGestureListener {
-        public void onSwipe(View view);
-
-        public void onTouch();
-
-        public boolean isSwipeEnabled();
-    }
-}
diff --git a/src/com/android/dialer/settings/DialerSettingsActivity.java b/src/com/android/dialer/settings/DialerSettingsActivity.java
index de07128..ac74a10 100644
--- a/src/com/android/dialer/settings/DialerSettingsActivity.java
+++ b/src/com/android/dialer/settings/DialerSettingsActivity.java
@@ -2,6 +2,7 @@
 
 import com.google.common.collect.Lists;
 
+import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
@@ -14,13 +15,7 @@
 import android.telecom.TelecomManager;
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
-import android.view.LayoutInflater;
 import android.view.MenuItem;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.ListAdapter;
-import android.widget.TextView;
 
 import com.android.dialer.DialtactsActivity;
 import com.android.dialer.R;
@@ -30,7 +25,6 @@
 public class DialerSettingsActivity extends PreferenceActivity {
 
     protected SharedPreferences mPreferences;
-    private HeaderAdapter mHeaderAdapter;
 
     private static final int OWNER_HANDLE_ID = 0;
 
@@ -42,18 +36,30 @@
 
     @Override
     public void onBuildHeaders(List<Header> target) {
-        final Header generalSettingsHeader = new Header();
-        generalSettingsHeader.titleRes = R.string.general_settings_label;
-        generalSettingsHeader.fragment = GeneralSettingsFragment.class.getName();
-        target.add(generalSettingsHeader);
+        Header displayOptionsHeader = new Header();
+        displayOptionsHeader.titleRes = R.string.display_options_title;
+        displayOptionsHeader.fragment = DisplayOptionsSettingsFragment.class.getName();
+        target.add(displayOptionsHeader);
+
+        Header soundSettingsHeader = new Header();
+        soundSettingsHeader.titleRes = R.string.sounds_and_vibration_title;
+        soundSettingsHeader.fragment = SoundSettingsFragment.class.getName();
+        target.add(soundSettingsHeader);
+
+        Header quickResponseSettingsHeader = new Header();
+        Intent quickResponseSettingsIntent =
+                new Intent(TelecomManager.ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS);
+        quickResponseSettingsHeader.titleRes = R.string.respond_via_sms_setting_title;
+        quickResponseSettingsHeader.intent = quickResponseSettingsIntent;
+        target.add(quickResponseSettingsHeader);
 
         // Only show call setting menus if the current user is the primary/owner user.
         if (isPrimaryUser()) {
-            final TelephonyManager telephonyManager =
+            TelephonyManager telephonyManager =
                     (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
             // Show "Call Settings" if there is one SIM and "Phone Accounts" if there are more.
             if (telephonyManager.getPhoneCount() <= 1) {
-                final Header callSettingsHeader = new Header();
+                Header callSettingsHeader = new Header();
                 Intent callSettingsIntent = new Intent(TelecomManager.ACTION_SHOW_CALL_SETTINGS);
                 callSettingsIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
 
@@ -61,7 +67,7 @@
                 callSettingsHeader.intent = callSettingsIntent;
                 target.add(callSettingsHeader);
             } else {
-                final Header phoneAccountSettingsHeader = new Header();
+                Header phoneAccountSettingsHeader = new Header();
                 Intent phoneAccountSettingsIntent =
                         new Intent(TelecomManager.ACTION_CHANGE_PHONE_ACCOUNTS);
                 phoneAccountSettingsIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
@@ -71,6 +77,13 @@
                 target.add(phoneAccountSettingsHeader);
             }
         }
+
+        Header accessibilitySettingsHeader = new Header();
+        Intent accessibilitySettingsIntent =
+                new Intent(TelecomManager.ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS);
+        accessibilitySettingsHeader.titleRes = R.string.accessibility_settings_title;
+        accessibilitySettingsHeader.intent = accessibilitySettingsIntent;
+        target.add(accessibilitySettingsHeader);
     }
 
     @Override
@@ -87,23 +100,6 @@
         return true;
     }
 
-    @Override
-    public void setListAdapter(ListAdapter adapter) {
-        if (adapter == null) {
-            super.setListAdapter(null);
-        } else {
-            // We don't have access to the hidden getHeaders() method, so grab the headers from
-            // the intended adapter and then replace it with our own.
-            int headerCount = adapter.getCount();
-            List<Header> headers = Lists.newArrayList();
-            for (int i = 0; i < headerCount; i++) {
-                headers.add((Header) adapter.getItem(i));
-            }
-            mHeaderAdapter = new HeaderAdapter(this, headers);
-            super.setListAdapter(mHeaderAdapter);
-        }
-    }
-
     /**
      * Whether a user handle associated with the current user is that of the primary owner. That is,
      * whether there is a user handle which has an id which matches the owner's handle.
@@ -120,51 +116,4 @@
 
         return false;
     }
-
-    /**
-     * This custom {@code ArrayAdapter} is mostly identical to the equivalent one in
-     * {@code PreferenceActivity}, except with a local layout resource.
-     */
-    private static class HeaderAdapter extends ArrayAdapter<Header> {
-        static class HeaderViewHolder {
-            TextView title;
-            TextView summary;
-        }
-
-        private LayoutInflater mInflater;
-
-        public HeaderAdapter(Context context, List<Header> objects) {
-            super(context, 0, objects);
-            mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-        }
-
-        @Override
-        public View getView(int position, View convertView, ViewGroup parent) {
-            HeaderViewHolder holder;
-            View view;
-
-            if (convertView == null) {
-                view = mInflater.inflate(R.layout.dialer_preferences, parent, false);
-                holder = new HeaderViewHolder();
-                holder.title = (TextView) view.findViewById(R.id.title);
-                holder.summary = (TextView) view.findViewById(R.id.summary);
-                view.setTag(holder);
-            } else {
-                view = convertView;
-                holder = (HeaderViewHolder) view.getTag();
-            }
-
-            // All view fields must be updated every time, because the view may be recycled
-            Header header = getItem(position);
-            holder.title.setText(header.getTitle(getContext().getResources()));
-            CharSequence summary = header.getSummary(getContext().getResources());
-            if (!TextUtils.isEmpty(summary)) {
-                holder.summary.setVisibility(View.VISIBLE);
-                holder.summary.setText(summary);
-            } else {
-                holder.summary.setVisibility(View.GONE);
-            }
-            return view;
-        }
-    }
 }
diff --git a/src/com/android/dialer/settings/DisplayOptionsSettingsFragment.java b/src/com/android/dialer/settings/DisplayOptionsSettingsFragment.java
new file mode 100644
index 0000000..4b2c8f6
--- /dev/null
+++ b/src/com/android/dialer/settings/DisplayOptionsSettingsFragment.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2015 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.settings;
+
+import android.os.Bundle;
+import android.preference.PreferenceFragment;
+
+import com.android.dialer.R;
+
+public class DisplayOptionsSettingsFragment extends PreferenceFragment {
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        addPreferencesFromResource(R.xml.display_options_settings);
+    }
+}
diff --git a/src/com/android/dialer/settings/GeneralSettingsFragment.java b/src/com/android/dialer/settings/GeneralSettingsFragment.java
deleted file mode 100644
index 578ff33..0000000
--- a/src/com/android/dialer/settings/GeneralSettingsFragment.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * 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.settings;
-
-import android.content.Context;
-import android.media.RingtoneManager;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.os.Vibrator;
-import android.preference.CheckBoxPreference;
-import android.preference.Preference;
-import android.preference.PreferenceCategory;
-import android.preference.PreferenceFragment;
-import android.preference.PreferenceScreen;
-import android.provider.Settings;
-
-import com.android.dialer.R;
-import com.android.phone.common.util.SettingsUtil;
-
-import java.lang.Boolean;
-import java.lang.CharSequence;
-import java.lang.Object;
-import java.lang.Override;
-import java.lang.Runnable;
-import java.lang.String;
-import java.lang.Thread;
-
-public class GeneralSettingsFragment extends PreferenceFragment
-        implements Preference.OnPreferenceChangeListener {
-    private static final String CATEGORY_SOUNDS_KEY    = "dialer_general_sounds_category_key";
-    private static final String BUTTON_RINGTONE_KEY    = "button_ringtone_key";
-    private static final String BUTTON_VIBRATE_ON_RING = "button_vibrate_on_ring";
-    private static final String BUTTON_PLAY_DTMF_TONE  = "button_play_dtmf_tone";
-    private static final String BUTTON_RESPOND_VIA_SMS_KEY = "button_respond_via_sms_key";
-
-    private static final int MSG_UPDATE_RINGTONE_SUMMARY = 1;
-
-    private Context mContext;
-
-    private Preference mRingtonePreference;
-    private CheckBoxPreference mVibrateWhenRinging;
-    private CheckBoxPreference mPlayDtmfTone;
-    private Preference mRespondViaSms;
-
-    private Runnable mRingtoneLookupRunnable;
-    private final Handler mRingtoneLookupComplete = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case MSG_UPDATE_RINGTONE_SUMMARY:
-                    mRingtonePreference.setSummary((CharSequence) msg.obj);
-                    break;
-            }
-        }
-    };
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        mContext = getActivity().getApplicationContext();
-
-        addPreferencesFromResource(R.xml.general_settings);
-
-        mRingtonePreference = findPreference(BUTTON_RINGTONE_KEY);
-        mVibrateWhenRinging = (CheckBoxPreference) findPreference(BUTTON_VIBRATE_ON_RING);
-        mPlayDtmfTone = (CheckBoxPreference) findPreference(BUTTON_PLAY_DTMF_TONE);
-        mRespondViaSms = findPreference(BUTTON_RESPOND_VIA_SMS_KEY);
-
-        PreferenceCategory soundCategory = (PreferenceCategory) findPreference(CATEGORY_SOUNDS_KEY);
-        if (mVibrateWhenRinging != null) {
-            Vibrator vibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
-            if (vibrator != null && vibrator.hasVibrator()) {
-                mVibrateWhenRinging.setOnPreferenceChangeListener(this);
-            } else {
-                soundCategory.removePreference(mVibrateWhenRinging);
-                mVibrateWhenRinging = null;
-            }
-        }
-
-        if (mPlayDtmfTone != null) {
-            mPlayDtmfTone.setOnPreferenceChangeListener(this);
-            mPlayDtmfTone.setChecked(Settings.System.getInt(mContext.getContentResolver(),
-                    Settings.System.DTMF_TONE_WHEN_DIALING, 1) != 0);
-        }
-
-        mRingtoneLookupRunnable = new Runnable() {
-            @Override
-            public void run() {
-                if (mRingtonePreference != null) {
-                    SettingsUtil.updateRingtoneName(
-                            mContext,
-                            mRingtoneLookupComplete,
-                            RingtoneManager.TYPE_RINGTONE,
-                            mRingtonePreference.getKey(),
-                            MSG_UPDATE_RINGTONE_SUMMARY);
-                }
-            }
-        };
-    }
-
-    /**
-     * Supports onPreferenceChangeListener to look for preference changes.
-     *
-     * @param preference The preference to be changed
-     * @param objValue The value of the selection, NOT its localized display value.
-     */
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object objValue) {
-        if (preference == mVibrateWhenRinging) {
-            boolean doVibrate = (Boolean) objValue;
-            Settings.System.putInt(mContext.getContentResolver(),
-                    Settings.System.VIBRATE_WHEN_RINGING, doVibrate ? 1 : 0);
-        }
-        return true;
-    }
-
-    /**
-     * Click listener for toggle events.
-     */
-    @Override
-    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
-        if (preference == mPlayDtmfTone) {
-            Settings.System.putInt(mContext.getContentResolver(),
-                    Settings.System.DTMF_TONE_WHEN_DIALING, mPlayDtmfTone.isChecked() ? 1 : 0);
-        } else if (preference == mRespondViaSms) {
-            // Needs to return false for the intent to launch.
-            return false;
-        }
-        return true;
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-
-        if (mVibrateWhenRinging != null) {
-            mVibrateWhenRinging.setChecked(SettingsUtil.getVibrateWhenRingingSetting(mContext));
-        }
-
-        // Lookup the ringtone name asynchronously.
-        new Thread(mRingtoneLookupRunnable).start();
-    }
-}
diff --git a/src/com/android/dialer/settings/SoundSettingsFragment.java b/src/com/android/dialer/settings/SoundSettingsFragment.java
new file mode 100644
index 0000000..43297b5
--- /dev/null
+++ b/src/com/android/dialer/settings/SoundSettingsFragment.java
@@ -0,0 +1,215 @@
+/*
+ * 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.settings;
+
+import android.content.Context;
+import android.media.RingtoneManager;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.os.Vibrator;
+import android.preference.CheckBoxPreference;
+import android.preference.ListPreference;
+import android.preference.Preference;
+import android.preference.PreferenceFragment;
+import android.preference.PreferenceScreen;
+import android.provider.Settings;
+import android.telephony.TelephonyManager;
+
+import com.android.dialer.R;
+import com.android.phone.common.util.SettingsUtil;
+
+import java.lang.Boolean;
+import java.lang.CharSequence;
+import java.lang.Object;
+import java.lang.Override;
+import java.lang.Runnable;
+import java.lang.String;
+import java.lang.Thread;
+
+public class SoundSettingsFragment extends PreferenceFragment
+        implements Preference.OnPreferenceChangeListener {
+
+    private static final int NO_DTMF_TONE = 0;
+    private static final int PLAY_DTMF_TONE = 1;
+
+    private static final int NO_VIBRATION_FOR_CALLS = 0;
+    private static final int DO_VIBRATION_FOR_CALLS = 1;
+
+    private static final int SHOW_CARRIER_SETTINGS = 0;
+    private static final int HIDE_CARRIER_SETTINGS = 1;
+
+    private static final int MSG_UPDATE_RINGTONE_SUMMARY = 1;
+
+    private Preference mRingtonePreference;
+    private CheckBoxPreference mVibrateWhenRinging;
+    private CheckBoxPreference mPlayDtmfTone;
+    private ListPreference mDtmfToneLength;
+
+    private final Runnable mRingtoneLookupRunnable = new Runnable() {
+        @Override
+        public void run() {
+            updateRingtonePreferenceSummary();
+        }
+    };
+
+    private final Handler mRingtoneLookupComplete = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case MSG_UPDATE_RINGTONE_SUMMARY:
+                    mRingtonePreference.setSummary((CharSequence) msg.obj);
+                    break;
+            }
+        }
+    };
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        addPreferencesFromResource(R.xml.sound_settings);
+
+        Context context = getActivity();
+
+        mRingtonePreference = findPreference(context.getString(R.string.ringtone_preference_key));
+        mVibrateWhenRinging = (CheckBoxPreference) findPreference(
+                context.getString(R.string.vibrate_on_preference_key));
+        mPlayDtmfTone = (CheckBoxPreference) findPreference(
+                context.getString(R.string.play_dtmf_preference_key));
+        mDtmfToneLength = (ListPreference) findPreference(
+                context.getString(R.string.dtmf_tone_length_preference_key));
+
+        if (hasVibrator()) {
+            mVibrateWhenRinging.setOnPreferenceChangeListener(this);
+        } else {
+            getPreferenceScreen().removePreference(mVibrateWhenRinging);
+            mVibrateWhenRinging = null;
+        }
+
+        mPlayDtmfTone.setOnPreferenceChangeListener(this);
+        mPlayDtmfTone.setChecked(shouldPlayDtmfTone());
+
+        TelephonyManager telephonyManager =
+                (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE);
+        if (telephonyManager.canChangeDtmfToneLength()
+                && (telephonyManager.isWorldPhone() || !shouldHideCarrierSettings())) {
+            mDtmfToneLength.setOnPreferenceChangeListener(this);
+            mDtmfToneLength.setValueIndex(
+                    Settings.System.getInt(context.getContentResolver(),
+                        Settings.System.DTMF_TONE_WHEN_DIALING, PLAY_DTMF_TONE));
+        } else {
+            getPreferenceScreen().removePreference(mDtmfToneLength);
+            mDtmfToneLength = null;
+        }
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+
+        if (mVibrateWhenRinging != null) {
+            mVibrateWhenRinging.setChecked(shouldVibrateWhenRinging());
+        }
+
+        // Lookup the ringtone name asynchronously.
+        new Thread(mRingtoneLookupRunnable).start();
+    }
+
+    /**
+     * Supports onPreferenceChangeListener to look for preference changes.
+     *
+     * @param preference The preference to be changed
+     * @param objValue The value of the selection, NOT its localized display value.
+     */
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object objValue) {
+        if (preference == mVibrateWhenRinging) {
+            boolean doVibrate = (Boolean) objValue;
+            Settings.System.putInt(getActivity().getContentResolver(),
+                    Settings.System.VIBRATE_WHEN_RINGING,
+                    doVibrate ? DO_VIBRATION_FOR_CALLS : NO_VIBRATION_FOR_CALLS);
+        } else if (preference == mDtmfToneLength) {
+            int index = mDtmfToneLength.findIndexOfValue((String) objValue);
+            Settings.System.putInt(getActivity().getContentResolver(),
+                    Settings.System.DTMF_TONE_TYPE_WHEN_DIALING, index);
+        }
+        return true;
+    }
+
+    /**
+     * Click listener for toggle events.
+     */
+    @Override
+    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
+        if (preference == mPlayDtmfTone) {
+            Settings.System.putInt(getActivity().getContentResolver(),
+                    Settings.System.DTMF_TONE_WHEN_DIALING,
+                    mPlayDtmfTone.isChecked() ? PLAY_DTMF_TONE : NO_DTMF_TONE);
+        }
+        return true;
+    }
+
+    /**
+     * Updates the summary text on the ringtone preference with the name of the ringtone.
+     */
+    private void updateRingtonePreferenceSummary() {
+        SettingsUtil.updateRingtoneName(
+                getActivity(),
+                mRingtoneLookupComplete,
+                RingtoneManager.TYPE_RINGTONE,
+                mRingtonePreference.getKey(),
+                MSG_UPDATE_RINGTONE_SUMMARY);
+    }
+
+    /**
+     * Obtain the value for "vibrate when ringing" setting. The default value is false.
+     *
+     * Watch out: if the setting is missing in the device, this will try obtaining the old
+     * "vibrate on ring" setting from AudioManager, and save the previous setting to the new one.
+     */
+    private boolean shouldVibrateWhenRinging() {
+        int vibrateWhenRingingSetting = Settings.System.getInt(getActivity().getContentResolver(),
+                Settings.System.VIBRATE_WHEN_RINGING,
+                NO_VIBRATION_FOR_CALLS);
+        return hasVibrator() && (vibrateWhenRingingSetting == DO_VIBRATION_FOR_CALLS);
+    }
+
+    /**
+     * Obtains the value for dialpad/DTMF tones. The default value is true.
+     */
+    private boolean shouldPlayDtmfTone() {
+        int dtmfToneSetting = Settings.System.getInt(getActivity().getContentResolver(),
+                Settings.System.DTMF_TONE_WHEN_DIALING,
+                PLAY_DTMF_TONE);
+        return dtmfToneSetting == PLAY_DTMF_TONE;
+    }
+
+    /**
+     * Whether the device hardware has a vibrator.
+     */
+    private boolean hasVibrator() {
+        Vibrator vibrator = (Vibrator) getActivity().getSystemService(Context.VIBRATOR_SERVICE);
+        return vibrator != null && vibrator.hasVibrator();
+    }
+
+    private boolean shouldHideCarrierSettings() {
+        int hideCarrierNetworkSetting = Settings.Global.getInt(getActivity().getContentResolver(),
+                Settings.Global.HIDE_CARRIER_NETWORK_SETTINGS, SHOW_CARRIER_SETTINGS);
+        return hideCarrierNetworkSetting == HIDE_CARRIER_SETTINGS;
+    }
+}
diff --git a/src/com/android/dialer/util/PrivilegedCallUtil.java b/src/com/android/dialer/util/PrivilegedCallUtil.java
new file mode 100644
index 0000000..367f365
--- /dev/null
+++ b/src/com/android/dialer/util/PrivilegedCallUtil.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.dialer.util;
+
+import android.content.Intent;
+import android.net.Uri;
+import android.telecom.PhoneAccount;
+import android.telecom.PhoneAccountHandle;
+import android.telecom.TelecomManager;
+import android.telecom.VideoProfile;
+
+import com.android.contacts.common.CallUtil;
+import com.android.phone.common.PhoneConstants;
+
+/**
+ * Utilities related to calls that can only be used by system apps. These
+ * use {@link Intent#ACTION_CALL_PRIVILEGED}.
+ */
+public class PrivilegedCallUtil {
+
+    public static final String CALL_ACTION = Intent.ACTION_CALL_PRIVILEGED;
+
+    /**
+     * Return an Intent for making a phone call. Scheme (e.g. tel, sip) will be determined
+     * automatically.
+     */
+    public static Intent getCallIntent(String number) {
+        return getCallIntent(number, null, null);
+    }
+
+    /**
+     * Return an Intent for making a phone call. A given Uri will be used as is (without any
+     * sanity check).
+     */
+    public static Intent getCallIntent(Uri uri) {
+        return getCallIntent(uri, null, null);
+    }
+
+    /**
+     * A variant of {@link #getCallIntent(String)} but also accept a call origin.
+     * For more information about call origin, see comments in Phone package (PhoneApp).
+     */
+    public static Intent getCallIntent(String number, String callOrigin) {
+        return getCallIntent(CallUtil.getCallUri(number), callOrigin, null);
+    }
+
+    /**
+     * A variant of {@link #getCallIntent(String)} but also include {@code Account}.
+     */
+    public static Intent getCallIntent(String number, PhoneAccountHandle accountHandle) {
+        return getCallIntent(number, null, accountHandle);
+    }
+
+    /**
+     * A variant of {@link #getCallIntent(android.net.Uri)} but also include {@code Account}.
+     */
+    public static Intent getCallIntent(Uri uri, PhoneAccountHandle accountHandle) {
+        return getCallIntent(uri, null, accountHandle);
+    }
+
+    /**
+     * A variant of {@link #getCallIntent(String, String)} but also include {@code Account}.
+     */
+    public static Intent getCallIntent(
+            String number, String callOrigin, PhoneAccountHandle accountHandle) {
+        return getCallIntent(CallUtil.getCallUri(number), callOrigin, accountHandle);
+    }
+
+    /**
+     * A variant of {@link #getCallIntent(android.net.Uri)} but also accept a call
+     * origin and {@code Account}.
+     * For more information about call origin, see comments in Phone package (PhoneApp).
+     */
+    public static Intent getCallIntent(
+            Uri uri, String callOrigin, PhoneAccountHandle accountHandle) {
+        return getCallIntent(uri, callOrigin, accountHandle,
+                VideoProfile.VideoState.AUDIO_ONLY);
+    }
+
+    /**
+     * A variant of {@link #getCallIntent(String, String)} for starting a video call.
+     */
+    public static Intent getVideoCallIntent(String number, String callOrigin) {
+        return getCallIntent(CallUtil.getCallUri(number), callOrigin, null,
+                VideoProfile.VideoState.BIDIRECTIONAL);
+    }
+
+    /**
+     * A variant of {@link #getCallIntent(String, String, android.telecom.PhoneAccountHandle)} for
+     * starting a video call.
+     */
+    public static Intent getVideoCallIntent(
+            String number, String callOrigin, PhoneAccountHandle accountHandle) {
+        return getCallIntent(CallUtil.getCallUri(number), callOrigin, accountHandle,
+                VideoProfile.VideoState.BIDIRECTIONAL);
+    }
+
+    /**
+     * A variant of {@link #getCallIntent(String, String, android.telecom.PhoneAccountHandle)} for
+     * starting a video call.
+     */
+    public static Intent getVideoCallIntent(String number, PhoneAccountHandle accountHandle) {
+        return getVideoCallIntent(number, null, accountHandle);
+    }
+
+    /**
+     * A variant of {@link #getCallIntent(android.net.Uri)} for calling Voicemail.
+     */
+    public static Intent getVoicemailIntent() {
+        return getCallIntent(Uri.fromParts(PhoneAccount.SCHEME_VOICEMAIL, "", null));
+    }
+
+    /**
+     * A variant of {@link #getCallIntent(android.net.Uri)} but also accept a call
+     * origin and {@code Account} and {@code VideoCallProfile} state.
+     * For more information about call origin, see comments in Phone package (PhoneApp).
+     */
+    public static Intent getCallIntent(
+            Uri uri, String callOrigin, PhoneAccountHandle accountHandle, int videoState) {
+        final Intent intent = new Intent(CALL_ACTION, uri);
+        intent.putExtra(TelecomManager.EXTRA_START_CALL_WITH_VIDEO_STATE, videoState);
+        if (callOrigin != null) {
+            intent.putExtra(PhoneConstants.EXTRA_CALL_ORIGIN, callOrigin);
+        }
+        if (accountHandle != null) {
+            intent.putExtra(TelecomManager.EXTRA_PHONE_ACCOUNT_HANDLE, accountHandle);
+        }
+
+        return intent;
+    }
+}
diff --git a/src/com/android/dialer/voicemail/VoicemailPlaybackFragment.java b/src/com/android/dialer/voicemail/VoicemailPlaybackFragment.java
index 31db177..0d5c3de 100644
--- a/src/com/android/dialer/voicemail/VoicemailPlaybackFragment.java
+++ b/src/com/android/dialer/voicemail/VoicemailPlaybackFragment.java
@@ -120,6 +120,12 @@
     }
 
     @Override
+    public void onViewStateRestored(Bundle savedInstanceState) {
+        mPresenter.onRestoreInstanceState(savedInstanceState);
+        super.onViewStateRestored(savedInstanceState);
+    }
+
+    @Override
     public void onDestroy() {
         shutdownMediaPlayer();
         mPresenter.onDestroy();
diff --git a/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java b/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java
index cb246f4..30fea1a 100644
--- a/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java
+++ b/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java
@@ -32,6 +32,7 @@
 import com.android.dialer.util.AsyncTaskExecutor;
 import com.android.ex.variablespeed.MediaPlayerProxy;
 import com.android.ex.variablespeed.SingleThreadedMediaPlayerProxy;
+
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
 
@@ -110,8 +111,8 @@
      * If present in the saved instance bundle, we should not resume playback on
      * create.
      */
-    private static final String PAUSED_STATE_KEY = VoicemailPlaybackPresenter.class.getName()
-            + ".PAUSED_STATE_KEY";
+    private static final String IS_PLAYING_STATE_KEY = VoicemailPlaybackPresenter.class.getName()
+            + ".IS_PLAYING_STATE_KEY";
     /**
      * If present in the saved instance bundle, indicates where to set the
      * playback slider.
@@ -169,6 +170,8 @@
     private FetchResultHandler mFetchResultHandler;
     private PowerManager.WakeLock mWakeLock;
     private AsyncTask<Void, ?, ?> mPrepareTask;
+    private int mPosition;
+    private boolean mPlaying;
 
     public VoicemailPlaybackPresenter(PlaybackView view, MediaPlayerProxy player,
             Uri voicemailUri, ScheduledExecutorService executorService,
@@ -346,22 +349,34 @@
         mView.setSpeakerPhoneOn(mView.isSpeakerPhoneOn());
         mView.setRateDecreaseButtonListener(createRateDecreaseListener());
         mView.setRateIncreaseButtonListener(createRateIncreaseListener());
-        mView.setClipPosition(0, mDuration.get());
-        mView.playbackStopped();
-        // Always disable on stop.
-        mView.disableProximitySensor();
-        if (mStartPlayingImmediately) {
-            resetPrepareStartPlaying(0);
+        if (mPlaying) {
+           resetPrepareStartPlaying(mPosition);
+        } else {
+           stopPlaybackAtPosition(mPosition, mDuration.get());
+           if ((mPosition == 0) && (mStartPlayingImmediately)) {
+               resetPrepareStartPlaying(0);
+           }
         }
-        // TODO: Now I'm ignoring the bundle, when previously I was checking for contains against
-        // the PAUSED_STATE_KEY, and CLIP_POSITION_KEY.
     }
 
     public void onSaveInstanceState(Bundle outState) {
         outState.putInt(CLIP_POSITION_KEY, mView.getDesiredClipPosition());
-        if (!mPlayer.isPlaying()) {
-            outState.putBoolean(PAUSED_STATE_KEY, true);
+        outState.putBoolean(IS_PLAYING_STATE_KEY, mPlaying);
+    }
+
+    public void onRestoreInstanceState(Bundle inState) {
+        int position = 0;
+        boolean isPlaying = false;
+        if (inState != null) {
+            position = inState.getInt(CLIP_POSITION_KEY, 0);
+            isPlaying = inState.getBoolean(IS_PLAYING_STATE_KEY, false);
         }
+        setPositionAndPlayingStatus(position, isPlaying) ;
+    }
+
+    private void setPositionAndPlayingStatus(int position, boolean isPlaying) {
+       mPosition = position;
+       mPlaying = isPlaying;
     }
 
     public void onDestroy() {
@@ -469,6 +484,7 @@
                 try {
                     // Can throw RejectedExecutionException
                     mPlayer.start();
+                    setPositionAndPlayingStatus(mPlayer.getCurrentPosition(), true);
                     mView.playbackStarted();
                     if (!mWakeLock.isHeld()) {
                         mWakeLock.acquire();
@@ -501,6 +517,7 @@
         mView.playbackError(e);
         mPositionUpdater.stopUpdating();
         mPlayer.release();
+        setPositionAndPlayingStatus(0, false);
     }
 
     public void handleCompletion(MediaPlayer mediaPlayer) {
@@ -537,10 +554,15 @@
         @Override
         public void onStopTrackingTouch(SeekBar arg0) {
             if (mPlayer.isPlaying()) {
+                setPositionAndPlayingStatus(mPlayer.getCurrentPosition(), false);
                 stopPlaybackAtPosition(mPlayer.getCurrentPosition(), mDuration.get());
+            } else {
+                setPositionAndPlayingStatus(mView.getDesiredClipPosition(),
+                        mShouldResumePlaybackAfterSeeking);
             }
+
             if (mShouldResumePlaybackAfterSeeking) {
-                resetPrepareStartPlaying(mView.getDesiredClipPosition());
+                postSuccessfullyFetchedContent();
             }
         }
 
@@ -575,9 +597,11 @@
         @Override
         public void onClick(View arg0) {
             if (mPlayer.isPlaying()) {
+                setPositionAndPlayingStatus(mPlayer.getCurrentPosition(), false);
                 stopPlaybackAtPosition(mPlayer.getCurrentPosition(), mDuration.get());
             } else {
-                resetPrepareStartPlaying(mView.getDesiredClipPosition());
+                setPositionAndPlayingStatus(mPosition, true);
+                postSuccessfullyFetchedContent();
             }
         }
     }
diff --git a/src/com/android/dialer/widget/OverlappingPaneLayout.java b/src/com/android/dialer/widget/OverlappingPaneLayout.java
deleted file mode 100644
index 167b849..0000000
--- a/src/com/android/dialer/widget/OverlappingPaneLayout.java
+++ /dev/null
@@ -1,1358 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dialer.widget;
-
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.Canvas;
-import android.graphics.PixelFormat;
-import android.graphics.Rect;
-import android.graphics.drawable.Drawable;
-import android.os.Build;
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.support.v4.view.AccessibilityDelegateCompat;
-import android.support.v4.view.MotionEventCompat;
-import android.support.v4.view.ViewCompat;
-import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewConfiguration;
-import android.view.ViewGroup;
-import android.view.ViewParent;
-import android.view.accessibility.AccessibilityEvent;
-
-/**
- * A custom layout that aligns its child views vertically as two panes, and allows for the bottom
- * pane to be dragged upwards to overlap and hide the top pane. This layout is adapted from
- * {@link android.support.v4.widget.SlidingPaneLayout}.
- */
-public class OverlappingPaneLayout extends ViewGroup {
-    private static final String TAG = "SlidingPaneLayout";
-    private static final boolean DEBUG = false;
-
-    /**
-     * Default size of the overhang for a pane in the open state.
-     * At least this much of a sliding pane will remain visible.
-     * This indicates that there is more content available and provides
-     * a "physical" edge to grab to pull it closed.
-     */
-    private static final int DEFAULT_OVERHANG_SIZE = 32; // dp;
-
-    /**
-     * If no fade color is given by default it will fade to 80% gray.
-     */
-    private static final int DEFAULT_FADE_COLOR = 0xcccccccc;
-
-    /**
-     * Minimum velocity that will be detected as a fling
-     */
-    private static final int MIN_FLING_VELOCITY = 400; // dips per second
-
-    /**
-     * The size of the overhang in pixels.
-     * This is the minimum section of the sliding panel that will
-     * be visible in the open state to allow for a closing drag.
-     */
-    private final int mOverhangSize;
-
-    /**
-     * True if a panel can slide with the current measurements
-     */
-    private boolean mCanSlide;
-
-    /**
-     * The child view that can slide, if any.
-     */
-    private View mSlideableView;
-
-    /**
-     * The view that can be used to start the drag with.
-     */
-    private View mCapturableView;
-
-    /**
-     * How far the panel is offset from its closed position.
-     * range [0, 1] where 0 = closed, 1 = open.
-     */
-    private float mSlideOffset;
-
-    /**
-     * How far the panel is offset from its closed position, in pixels.
-     * range [0, {@link #mSlideRange}] where 0 is completely closed.
-     */
-    private int mSlideOffsetPx;
-
-    /**
-     * How far in pixels the slideable panel may move.
-     */
-    private int mSlideRange;
-
-    /**
-     * A panel view is locked into internal scrolling or another condition that
-     * is preventing a drag.
-     */
-    private boolean mIsUnableToDrag;
-
-    /**
-     * Tracks whether or not a child view is in the process of a nested scroll.
-     */
-    private boolean mIsInNestedScroll;
-
-    /**
-     * Indicates that the layout is currently in the process of a nested pre-scroll operation where
-     * the child scrolling view is being dragged downwards.
-     */
-    private boolean mInNestedPreScrollDownwards;
-
-    /**
-     * Indicates that the layout is currently in the process of a nested pre-scroll operation where
-     * the child scrolling view is being dragged upwards.
-     */
-    private boolean mInNestedPreScrollUpwards;
-
-    /**
-     * Indicates that the layout is currently in the process of a fling initiated by a pre-fling
-     * from the child scrolling view.
-     */
-    private boolean mIsInNestedFling;
-
-    /**
-     * Indicates the direction of the pre fling. We need to store this information since
-     * OverScoller doesn't expose the direction of its velocity.
-     */
-    private boolean mInUpwardsPreFling;
-
-    /**
-     * Stores an offset used to represent a point somewhere in between the panel's fully closed
-     * state and fully opened state where the panel can be temporarily pinned or opened up to
-     * during scrolling.
-     */
-    private int mIntermediateOffset = 0;
-
-    private float mInitialMotionX;
-    private float mInitialMotionY;
-
-    private PanelSlideCallbacks mPanelSlideCallbacks;
-
-    private final ViewDragHelper mDragHelper;
-
-    /**
-     * Stores whether or not the pane was open the last time it was slideable.
-     * If open/close operations are invoked this state is modified. Used by
-     * instance state save/restore.
-     */
-    private boolean mPreservedOpenState;
-    private boolean mFirstLayout = true;
-
-    private final Rect mTmpRect = new Rect();
-
-    /**
-     * How many dips we need to scroll past a position before we can snap to the next position
-     * on release. Using this prevents accidentally snapping to positions.
-     *
-     * This is needed since vertical nested scrolling can be passed to this class even if the
-     * vertical scroll is less than the the nested list's touch slop.
-     */
-    private final int mReleaseScrollSlop;
-
-    /**
-     * Callbacks for interacting with sliding panes.
-     */
-    public interface PanelSlideCallbacks {
-        /**
-         * Called when a sliding pane's position changes.
-         * @param panel The child view that was moved
-         * @param slideOffset The new offset of this sliding pane within its range, from 0-1
-         */
-        public void onPanelSlide(View panel, float slideOffset);
-        /**
-         * Called when a sliding pane becomes slid completely open. The pane may or may not
-         * be interactive at this point depending on how much of the pane is visible.
-         * @param panel The child view that was slid to an open position, revealing other panes
-         */
-        public void onPanelOpened(View panel);
-
-        /**
-         * Called when a sliding pane becomes slid completely closed. The pane is now guaranteed
-         * to be interactive. It may now obscure other views in the layout.
-         * @param panel The child view that was slid to a closed position
-         */
-        public void onPanelClosed(View panel);
-
-        /**
-         * Called when a sliding pane is flung as far open/closed as it can be.
-         * @param velocityY Velocity of the panel once its fling goes as far as it can.
-         */
-        public void onPanelFlingReachesEdge(int velocityY);
-
-        /**
-         * Returns true if the second panel's contents haven't been scrolled at all. This value is
-         * used to determine whether or not we can fully expand the header on downwards scrolls.
-         *
-         * Instead of using this callback, it would be preferable to instead fully expand the header
-         * on a View#onNestedFlingOver() callback. The behavior would be nicer. Unfortunately,
-         * no such callback exists yet (b/17547693).
-         */
-        public boolean isScrollableChildUnscrolled();
-    }
-
-    public OverlappingPaneLayout(Context context) {
-        this(context, null);
-    }
-
-    public OverlappingPaneLayout(Context context, AttributeSet attrs) {
-        this(context, attrs, 0);
-    }
-
-    public OverlappingPaneLayout(Context context, AttributeSet attrs, int defStyle) {
-        super(context, attrs, defStyle);
-
-        final float density = context.getResources().getDisplayMetrics().density;
-        mOverhangSize = (int) (DEFAULT_OVERHANG_SIZE * density + 0.5f);
-
-        setWillNotDraw(false);
-
-        ViewCompat.setAccessibilityDelegate(this, new AccessibilityDelegate());
-
-        mDragHelper = ViewDragHelper.create(this, 0.5f, new DragHelperCallback());
-        mDragHelper.setMinVelocity(MIN_FLING_VELOCITY * density);
-
-        mReleaseScrollSlop = ViewConfiguration.get(getContext()).getScaledTouchSlop();
-    }
-
-    /**
-     * Set an offset, somewhere in between the panel's fully closed state and fully opened state,
-     * where the panel can be temporarily pinned or opened up to.
-     *
-     * @param offset Offset in pixels
-     */
-    public void setIntermediatePinnedOffset(int offset) {
-        mIntermediateOffset = offset;
-    }
-
-    /**
-     * Set the view that can be used to start dragging the sliding pane.
-     */
-    public void setCapturableView(View capturableView) {
-        mCapturableView = capturableView;
-    }
-
-    public void setPanelSlideCallbacks(PanelSlideCallbacks listener) {
-        mPanelSlideCallbacks = listener;
-    }
-
-    void dispatchOnPanelSlide(View panel) {
-        mPanelSlideCallbacks.onPanelSlide(panel, mSlideOffset);
-    }
-
-    void dispatchOnPanelOpened(View panel) {
-        mPanelSlideCallbacks.onPanelOpened(panel);
-        sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
-    }
-
-    void dispatchOnPanelClosed(View panel) {
-        mPanelSlideCallbacks.onPanelClosed(panel);
-        sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
-    }
-
-    void updateObscuredViewsVisibility(View panel) {
-        final int startBound = getPaddingTop();
-        final int endBound = getHeight() - getPaddingBottom();
-
-        final int leftBound = getPaddingLeft();
-        final int rightBound = getWidth() - getPaddingRight();
-        final int left;
-        final int right;
-        final int top;
-        final int bottom;
-        if (panel != null && viewIsOpaque(panel)) {
-            left = panel.getLeft();
-            right = panel.getRight();
-            top = panel.getTop();
-            bottom = panel.getBottom();
-        } else {
-            left = right = top = bottom = 0;
-        }
-
-        for (int i = 0, childCount = getChildCount(); i < childCount; i++) {
-            final View child = getChildAt(i);
-
-            if (child == panel) {
-                // There are still more children above the panel but they won't be affected.
-                break;
-            }
-
-            final int clampedChildLeft = Math.max(leftBound, child.getLeft());
-            final int clampedChildRight = Math.min(rightBound, child.getRight());
-            final int clampedChildTop = Math.max(startBound, child.getTop());
-            final int clampedChildBottom = Math.min(endBound, child.getBottom());
-
-            final int vis;
-            if (clampedChildLeft >= left && clampedChildTop >= top &&
-                    clampedChildRight <= right && clampedChildBottom <= bottom) {
-                vis = INVISIBLE;
-            } else {
-                vis = VISIBLE;
-            }
-            child.setVisibility(vis);
-        }
-    }
-
-    void setAllChildrenVisible() {
-        for (int i = 0, childCount = getChildCount(); i < childCount; i++) {
-            final View child = getChildAt(i);
-            if (child.getVisibility() == INVISIBLE) {
-                child.setVisibility(VISIBLE);
-            }
-        }
-    }
-
-    private static boolean viewIsOpaque(View v) {
-        if (ViewCompat.isOpaque(v)) return true;
-
-        final Drawable bg = v.getBackground();
-        if (bg != null) {
-            return bg.getOpacity() == PixelFormat.OPAQUE;
-        }
-        return false;
-    }
-
-    @Override
-    protected void onAttachedToWindow() {
-        super.onAttachedToWindow();
-        mFirstLayout = true;
-    }
-
-    @Override
-    protected void onDetachedFromWindow() {
-        super.onDetachedFromWindow();
-        mFirstLayout = true;
-    }
-
-    @Override
-    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-
-        int widthMode = MeasureSpec.getMode(widthMeasureSpec);
-        int widthSize = MeasureSpec.getSize(widthMeasureSpec);
-        int heightMode = MeasureSpec.getMode(heightMeasureSpec);
-        int heightSize = MeasureSpec.getSize(heightMeasureSpec);
-
-        if (widthMode != MeasureSpec.EXACTLY) {
-            if (isInEditMode()) {
-                // Don't crash the layout editor. Consume all of the space if specified
-                // or pick a magic number from thin air otherwise.
-                // TODO Better communication with tools of this bogus state.
-                // It will crash on a real device.
-                if (widthMode == MeasureSpec.AT_MOST) {
-                    widthMode = MeasureSpec.EXACTLY;
-                } else if (widthMode == MeasureSpec.UNSPECIFIED) {
-                    widthMode = MeasureSpec.EXACTLY;
-                    widthSize = 300;
-                }
-            } else {
-                throw new IllegalStateException("Width must have an exact value or MATCH_PARENT");
-            }
-        } else if (heightMode == MeasureSpec.UNSPECIFIED) {
-            if (isInEditMode()) {
-                // Don't crash the layout editor. Pick a magic number from thin air instead.
-                // TODO Better communication with tools of this bogus state.
-                // It will crash on a real device.
-                if (heightMode == MeasureSpec.UNSPECIFIED) {
-                    heightMode = MeasureSpec.AT_MOST;
-                    heightSize = 300;
-                }
-            } else {
-                throw new IllegalStateException("Height must not be UNSPECIFIED");
-            }
-        }
-
-        int layoutWidth = 0;
-        int maxLayoutWidth = -1;
-        switch (widthMode) {
-            case MeasureSpec.EXACTLY:
-                layoutWidth = maxLayoutWidth = widthSize - getPaddingLeft() - getPaddingRight();
-                break;
-            case MeasureSpec.AT_MOST:
-                maxLayoutWidth = widthSize - getPaddingLeft() - getPaddingRight();
-                break;
-        }
-
-        float weightSum = 0;
-        boolean canSlide = false;
-        final int heightAvailable = heightSize - getPaddingTop() - getPaddingBottom();
-        int heightRemaining = heightAvailable;
-        final int childCount = getChildCount();
-
-        if (childCount > 2) {
-            Log.e(TAG, "onMeasure: More than two child views are not supported.");
-        }
-
-        // We'll find the current one below.
-        mSlideableView = null;
-
-        // First pass. Measure based on child LayoutParams width/height.
-        // Weight will incur a second pass.
-        for (int i = 0; i < childCount; i++) {
-            final View child = getChildAt(i);
-            final LayoutParams lp = (LayoutParams) child.getLayoutParams();
-
-            if (child.getVisibility() == GONE) {
-                continue;
-            }
-
-            if (lp.weight > 0) {
-                weightSum += lp.weight;
-
-                // If we have no height, weight is the only contributor to the final size.
-                // Measure this view on the weight pass only.
-                if (lp.height == 0) continue;
-            }
-
-            int childHeightSpec;
-            final int verticalMargin = lp.topMargin + lp.bottomMargin;
-            if (lp.height == LayoutParams.WRAP_CONTENT) {
-                childHeightSpec = MeasureSpec.makeMeasureSpec(heightAvailable - verticalMargin,
-                        MeasureSpec.AT_MOST);
-            } else if (lp.height == LayoutParams.MATCH_PARENT) {
-                childHeightSpec = MeasureSpec.makeMeasureSpec(heightAvailable - verticalMargin,
-                        MeasureSpec.EXACTLY);
-            } else {
-                childHeightSpec = MeasureSpec.makeMeasureSpec(lp.height, MeasureSpec.EXACTLY);
-            }
-
-            int childWidthSpec;
-            if (lp.width == LayoutParams.WRAP_CONTENT) {
-                childWidthSpec = MeasureSpec.makeMeasureSpec(maxLayoutWidth, MeasureSpec.AT_MOST);
-            } else if (lp.width == LayoutParams.MATCH_PARENT) {
-                childWidthSpec = MeasureSpec.makeMeasureSpec(maxLayoutWidth, MeasureSpec.EXACTLY);
-            } else {
-                childWidthSpec = MeasureSpec.makeMeasureSpec(lp.width, MeasureSpec.EXACTLY);
-            }
-
-            child.measure(childWidthSpec, childHeightSpec);
-            final int childWidth = child.getMeasuredWidth();
-            final int childHeight = child.getMeasuredHeight();
-
-            if (widthMode == MeasureSpec.AT_MOST && childWidth > layoutWidth) {
-                layoutWidth = Math.min(childWidth, maxLayoutWidth);
-            }
-
-            heightRemaining -= childHeight;
-            canSlide |= lp.slideable = heightRemaining < 0;
-            if (lp.slideable) {
-                mSlideableView = child;
-            }
-        }
-
-        // Resolve weight and make sure non-sliding panels are smaller than the full screen.
-        if (canSlide || weightSum > 0) {
-            final int fixedPanelHeightLimit = heightAvailable - mOverhangSize;
-
-            for (int i = 0; i < childCount; i++) {
-                final View child = getChildAt(i);
-
-                if (child.getVisibility() == GONE) {
-                    continue;
-                }
-
-                final LayoutParams lp = (LayoutParams) child.getLayoutParams();
-
-                if (child.getVisibility() == GONE) {
-                    continue;
-                }
-
-                final boolean skippedFirstPass = lp.height == 0 && lp.weight > 0;
-                final int measuredHeight = skippedFirstPass ? 0 : child.getMeasuredHeight();
-                if (canSlide && child != mSlideableView) {
-                    if (lp.height < 0 && (measuredHeight > fixedPanelHeightLimit || lp.weight > 0)) {
-                        // Fixed panels in a sliding configuration should
-                        // be clamped to the fixed panel limit.
-                        final int childWidthSpec;
-                        if (skippedFirstPass) {
-                            // Do initial width measurement if we skipped measuring this view
-                            // the first time around.
-                            if (lp.width == LayoutParams.WRAP_CONTENT) {
-                                childWidthSpec = MeasureSpec.makeMeasureSpec(maxLayoutWidth,
-                                        MeasureSpec.AT_MOST);
-                            } else if (lp.height == LayoutParams.MATCH_PARENT) {
-                                childWidthSpec = MeasureSpec.makeMeasureSpec(maxLayoutWidth,
-                                        MeasureSpec.EXACTLY);
-                            } else {
-                                childWidthSpec = MeasureSpec.makeMeasureSpec(lp.width,
-                                        MeasureSpec.EXACTLY);
-                            }
-                        } else {
-                            childWidthSpec = MeasureSpec.makeMeasureSpec(
-                                    child.getMeasuredWidth(), MeasureSpec.EXACTLY);
-                        }
-                        final int childHeightSpec = MeasureSpec.makeMeasureSpec(
-                                fixedPanelHeightLimit, MeasureSpec.EXACTLY);
-                        child.measure(childWidthSpec, childHeightSpec);
-                    }
-                } else if (lp.weight > 0) {
-                    int childWidthSpec;
-                    if (lp.height == 0) {
-                        // This was skipped the first time; figure out a real width spec.
-                        if (lp.width == LayoutParams.WRAP_CONTENT) {
-                            childWidthSpec = MeasureSpec.makeMeasureSpec(maxLayoutWidth,
-                                    MeasureSpec.AT_MOST);
-                        } else if (lp.width == LayoutParams.MATCH_PARENT) {
-                            childWidthSpec = MeasureSpec.makeMeasureSpec(maxLayoutWidth,
-                                    MeasureSpec.EXACTLY);
-                        } else {
-                            childWidthSpec = MeasureSpec.makeMeasureSpec(lp.width,
-                                    MeasureSpec.EXACTLY);
-                        }
-                    } else {
-                        childWidthSpec = MeasureSpec.makeMeasureSpec(
-                                child.getMeasuredWidth(), MeasureSpec.EXACTLY);
-                    }
-
-                    if (canSlide) {
-                        // Consume available space
-                        final int verticalMargin = lp.topMargin + lp.bottomMargin;
-                        final int newHeight = heightAvailable - verticalMargin;
-                        final int childHeightSpec = MeasureSpec.makeMeasureSpec(
-                                newHeight, MeasureSpec.EXACTLY);
-                        if (measuredHeight != newHeight) {
-                            child.measure(childWidthSpec, childHeightSpec);
-                        }
-                    } else {
-                        // Distribute the extra width proportionally similar to LinearLayout
-                        final int heightToDistribute = Math.max(0, heightRemaining);
-                        final int addedHeight = (int) (lp.weight * heightToDistribute / weightSum);
-                        final int childHeightSpec = MeasureSpec.makeMeasureSpec(
-                                measuredHeight + addedHeight, MeasureSpec.EXACTLY);
-                        child.measure(childWidthSpec, childHeightSpec);
-                    }
-                }
-            }
-        }
-
-        final int measuredHeight = heightSize;
-        final int measuredWidth = layoutWidth + getPaddingLeft() + getPaddingRight();
-
-        setMeasuredDimension(measuredWidth, measuredHeight);
-        mCanSlide = canSlide;
-
-        if (mDragHelper.getViewDragState() != ViewDragHelper.STATE_IDLE && !canSlide) {
-            // Cancel scrolling in progress, it's no longer relevant.
-            mDragHelper.abort();
-        }
-    }
-
-    @Override
-    protected void onLayout(boolean changed, int l, int t, int r, int b) {
-        mDragHelper.setEdgeTrackingEnabled(ViewDragHelper.EDGE_TOP);
-
-        final int height = b - t;
-        final int paddingTop = getPaddingTop();
-        final int paddingBottom = getPaddingBottom();
-        final int paddingLeft = getPaddingLeft();
-
-        final int childCount = getChildCount();
-        int yStart = paddingTop;
-        int nextYStart = yStart;
-
-        if (mFirstLayout) {
-            mSlideOffset = mCanSlide && mPreservedOpenState ? 1.f : 0.f;
-        }
-
-        for (int i = 0; i < childCount; i++) {
-            final View child = getChildAt(i);
-
-            if (child.getVisibility() == GONE) {
-                continue;
-            }
-
-            final LayoutParams lp = (LayoutParams) child.getLayoutParams();
-
-            final int childHeight = child.getMeasuredHeight();
-
-            if (lp.slideable) {
-                final int margin = lp.topMargin + lp.bottomMargin;
-                final int range = Math.min(nextYStart,
-                        height - paddingBottom - mOverhangSize) - yStart - margin;
-                mSlideRange = range;
-                final int lpMargin = lp.topMargin;
-                final int pos = (int) (range * mSlideOffset);
-                yStart += pos + lpMargin;
-                updateSlideOffset(pos);
-            } else {
-                yStart = nextYStart;
-            }
-
-            final int childTop = yStart;
-            final int childBottom = childTop + childHeight;
-            final int childLeft = paddingLeft;
-            final int childRight = childLeft + child.getMeasuredWidth();
-
-            child.layout(childLeft, childTop, childRight, childBottom);
-
-            nextYStart += child.getHeight();
-        }
-
-        if (mFirstLayout) {
-            updateObscuredViewsVisibility(mSlideableView);
-        }
-
-        mFirstLayout = false;
-    }
-
-    @Override
-    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
-        super.onSizeChanged(w, h, oldw, oldh);
-        // Recalculate sliding panes and their details
-        if (h != oldh) {
-            mFirstLayout = true;
-        }
-    }
-
-    @Override
-    public void requestChildFocus(View child, View focused) {
-        super.requestChildFocus(child, focused);
-        if (!isInTouchMode() && !mCanSlide) {
-            mPreservedOpenState = child == mSlideableView;
-        }
-    }
-
-    @Override
-    public boolean onInterceptTouchEvent(MotionEvent ev) {
-        final int action = MotionEventCompat.getActionMasked(ev);
-
-        // Preserve the open state based on the last view that was touched.
-        if (!mCanSlide && action == MotionEvent.ACTION_DOWN && getChildCount() > 1) {
-            // After the first things will be slideable.
-            final View secondChild = getChildAt(1);
-            if (secondChild != null) {
-                mPreservedOpenState = !mDragHelper.isViewUnder(secondChild,
-                        (int) ev.getX(), (int) ev.getY());
-            }
-        }
-
-        if (!mCanSlide || (mIsUnableToDrag && action != MotionEvent.ACTION_DOWN)) {
-            if (!mIsInNestedScroll) {
-                mDragHelper.cancel();
-            }
-            return super.onInterceptTouchEvent(ev);
-        }
-
-        if (action == MotionEvent.ACTION_CANCEL || action == MotionEvent.ACTION_UP) {
-            if (!mIsInNestedScroll) {
-                mDragHelper.cancel();
-            }
-            return false;
-        }
-
-        switch (action) {
-            case MotionEvent.ACTION_DOWN: {
-                mIsUnableToDrag = false;
-                final float x = ev.getX();
-                final float y = ev.getY();
-                mInitialMotionX = x;
-                mInitialMotionY = y;
-
-                break;
-            }
-
-            case MotionEvent.ACTION_MOVE: {
-                final float x = ev.getX();
-                final float y = ev.getY();
-                final float adx = Math.abs(x - mInitialMotionX);
-                final float ady = Math.abs(y - mInitialMotionY);
-                final int slop = mDragHelper.getTouchSlop();
-                if (ady > slop && adx > ady || !isCapturableViewUnder((int) x, (int) y)) {
-                    if (!mIsInNestedScroll) {
-                        mDragHelper.cancel();
-                    }
-                    mIsUnableToDrag = true;
-                    return false;
-                }
-            }
-        }
-
-        final boolean interceptForDrag = mDragHelper.shouldInterceptTouchEvent(ev);
-
-        return interceptForDrag;
-    }
-
-    @Override
-    public boolean onTouchEvent(MotionEvent ev) {
-        if (!mCanSlide) {
-            return super.onTouchEvent(ev);
-        }
-
-        mDragHelper.processTouchEvent(ev);
-
-        final int action = ev.getAction();
-        boolean wantTouchEvents = true;
-
-        switch (action & MotionEventCompat.ACTION_MASK) {
-            case MotionEvent.ACTION_DOWN: {
-                final float x = ev.getX();
-                final float y = ev.getY();
-                mInitialMotionX = x;
-                mInitialMotionY = y;
-                break;
-            }
-        }
-
-        return wantTouchEvents;
-    }
-
-    /**
-     * Refreshes the {@link OverlappingPaneLayout} be attempting to re-open or re-close the pane.
-     * This ensures that the overlapping pane is repositioned based on any changes to the view
-     * which is being overlapped.
-     * <p>
-     * The {@link #openPane()} and {@link #closePane()} methods do not perform any animation if the
-     * pane has already been positioned appropriately.
-     */
-    public void refresh() {
-        if (isOpen()) {
-            openPane();
-        } else {
-            closePane();
-        }
-    }
-
-    private boolean closePane(View pane, int initialVelocity) {
-        if (mFirstLayout || smoothSlideTo(0.f, initialVelocity)) {
-            mPreservedOpenState = false;
-            return true;
-        }
-        return false;
-    }
-
-    private boolean openPane(View pane, int initialVelocity) {
-        if (mFirstLayout || smoothSlideTo(1.f, initialVelocity)) {
-            mPreservedOpenState = true;
-            return true;
-        }
-        return false;
-    }
-
-    private void updateSlideOffset(int offsetPx) {
-        mSlideOffsetPx = offsetPx;
-        mSlideOffset = (float) mSlideOffsetPx / mSlideRange;
-    }
-
-    /**
-     * Open the sliding pane if it is currently slideable. If first layout
-     * has already completed this will animate.
-     *
-     * @return true if the pane was slideable and is now open/in the process of opening
-     */
-    public boolean openPane() {
-        return openPane(mSlideableView, 0);
-    }
-
-    /**
-     * Close the sliding pane if it is currently slideable. If first layout
-     * has already completed this will animate.
-     *
-     * @return true if the pane was slideable and is now closed/in the process of closing
-     */
-    public boolean closePane() {
-        return closePane(mSlideableView, 0);
-    }
-
-    /**
-     * Check if the layout is open. It can be open either because the slider
-     * itself is open revealing the left pane, or if all content fits without sliding.
-     *
-     * @return true if sliding panels are open
-     */
-    public boolean isOpen() {
-        return !mCanSlide || mSlideOffset > 0;
-    }
-
-    /**
-     * Check if the content in this layout cannot fully fit side by side and therefore
-     * the content pane can be slid back and forth.
-     *
-     * @return true if content in this layout can be slid open and closed
-     */
-    public boolean isSlideable() {
-        return mCanSlide;
-    }
-
-    private void onPanelDragged(int newTop) {
-        if (mSlideableView == null) {
-            // This can happen if we're aborting motion during layout because everything now fits.
-            mSlideOffset = 0;
-            return;
-        }
-        final LayoutParams lp = (LayoutParams) mSlideableView.getLayoutParams();
-
-        final int lpMargin = lp.topMargin;
-        final int topBound = getPaddingTop() + lpMargin;
-
-        updateSlideOffset(newTop - topBound);
-
-        dispatchOnPanelSlide(mSlideableView);
-    }
-
-    @Override
-    protected boolean drawChild(Canvas canvas, View child, long drawingTime) {
-        final LayoutParams lp = (LayoutParams) child.getLayoutParams();
-        boolean result;
-        final int save = canvas.save(Canvas.CLIP_SAVE_FLAG);
-
-        if (mCanSlide && !lp.slideable && mSlideableView != null) {
-            // Clip against the slider; no sense drawing what will immediately be covered.
-            canvas.getClipBounds(mTmpRect);
-
-            mTmpRect.bottom = Math.min(mTmpRect.bottom, mSlideableView.getTop());
-            canvas.clipRect(mTmpRect);
-        }
-
-        if (Build.VERSION.SDK_INT >= 11) { // HC
-            result = super.drawChild(canvas, child, drawingTime);
-        } else {
-            if (child.isDrawingCacheEnabled()) {
-                child.setDrawingCacheEnabled(false);
-            }
-            result = super.drawChild(canvas, child, drawingTime);
-        }
-
-        canvas.restoreToCount(save);
-
-        return result;
-    }
-
-    /**
-     * Smoothly animate mDraggingPane to the target X position within its range.
-     *
-     * @param slideOffset position to animate to
-     * @param velocity initial velocity in case of fling, or 0.
-     */
-    boolean smoothSlideTo(float slideOffset, int velocity) {
-        if (!mCanSlide) {
-            // Nothing to do.
-            return false;
-        }
-
-        final LayoutParams lp = (LayoutParams) mSlideableView.getLayoutParams();
-
-        int y;
-        int topBound = getPaddingTop() + lp.topMargin;
-        y = (int) (topBound + slideOffset * mSlideRange);
-
-        if (mDragHelper.smoothSlideViewTo(mSlideableView, mSlideableView.getLeft(), y)) {
-            setAllChildrenVisible();
-            ViewCompat.postInvalidateOnAnimation(this);
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public void computeScroll() {
-        if (mDragHelper.continueSettling(/* deferCallbacks = */ false)) {
-            if (!mCanSlide) {
-                mDragHelper.abort();
-                return;
-            }
-
-            ViewCompat.postInvalidateOnAnimation(this);
-        }
-    }
-
-    private boolean isCapturableViewUnder(int x, int y) {
-        View capturableView = mCapturableView != null ? mCapturableView : mSlideableView;
-        if (capturableView == null) {
-            return false;
-        }
-        int[] viewLocation = new int[2];
-        capturableView.getLocationOnScreen(viewLocation);
-        int[] parentLocation = new int[2];
-        this.getLocationOnScreen(parentLocation);
-        int screenX = parentLocation[0] + x;
-        int screenY = parentLocation[1] + y;
-        return screenX >= viewLocation[0]
-                && screenX < viewLocation[0] + capturableView.getWidth()
-                && screenY >= viewLocation[1]
-                && screenY < viewLocation[1] + capturableView.getHeight();
-    }
-
-    @Override
-    protected ViewGroup.LayoutParams generateDefaultLayoutParams() {
-        return new LayoutParams();
-    }
-
-    @Override
-    protected ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams p) {
-        return p instanceof MarginLayoutParams
-                ? new LayoutParams((MarginLayoutParams) p)
-                : new LayoutParams(p);
-    }
-
-    @Override
-    protected boolean checkLayoutParams(ViewGroup.LayoutParams p) {
-        return p instanceof LayoutParams && super.checkLayoutParams(p);
-    }
-
-    @Override
-    public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs) {
-        return new LayoutParams(getContext(), attrs);
-    }
-
-    @Override
-    protected Parcelable onSaveInstanceState() {
-        Parcelable superState = super.onSaveInstanceState();
-
-        SavedState ss = new SavedState(superState);
-        ss.isOpen = isSlideable() ? isOpen() : mPreservedOpenState;
-
-        return ss;
-    }
-
-    @Override
-    protected void onRestoreInstanceState(Parcelable state) {
-        SavedState ss = (SavedState) state;
-        super.onRestoreInstanceState(ss.getSuperState());
-
-        if (ss.isOpen) {
-            openPane();
-        } else {
-            closePane();
-        }
-        mPreservedOpenState = ss.isOpen;
-    }
-
-    @Override
-    public boolean onStartNestedScroll(View child, View target, int nestedScrollAxes) {
-        final boolean startNestedScroll = (nestedScrollAxes & SCROLL_AXIS_VERTICAL) != 0;
-        if (startNestedScroll) {
-            mIsInNestedScroll = true;
-            mDragHelper.startNestedScroll(mSlideableView);
-        }
-        if (DEBUG) {
-            Log.d(TAG, "onStartNestedScroll: " + startNestedScroll);
-        }
-        return startNestedScroll;
-    }
-
-    @Override
-    public void onNestedPreScroll(View target, int dx, int dy, int[] consumed) {
-        if (dy == 0) {
-            // Nothing to do
-            return;
-        }
-        if (DEBUG) {
-            Log.d(TAG, "onNestedPreScroll: " + dy);
-        }
-
-        mInNestedPreScrollDownwards = dy < 0;
-        mInNestedPreScrollUpwards = dy > 0;
-        mIsInNestedFling = false;
-        mDragHelper.processNestedScroll(mSlideableView, 0, -dy, consumed);
-    }
-
-    @Override
-    public boolean onNestedPreFling(View target, float velocityX, float velocityY) {
-        if (!(velocityY > 0 && mSlideOffsetPx != 0
-                || velocityY < 0 && mSlideOffsetPx < mIntermediateOffset
-                || velocityY < 0 && mSlideOffsetPx < mSlideRange
-                && mPanelSlideCallbacks.isScrollableChildUnscrolled())) {
-            // No need to consume the fling if the fling won't collapse or expand the header.
-            // How far we are willing to expand the header depends on isScrollableChildUnscrolled().
-            return false;
-        }
-
-        if (DEBUG) {
-            Log.d(TAG, "onNestedPreFling: " + velocityY);
-        }
-        mInUpwardsPreFling = velocityY > 0;
-        mIsInNestedFling = true;
-        mIsInNestedScroll = false;
-        mDragHelper.processNestedFling(mSlideableView, (int) -velocityY);
-        return true;
-    }
-
-    @Override
-    public void onNestedScroll(View target, int dxConsumed, int dyConsumed, int dxUnconsumed,
-            int dyUnconsumed) {
-        if (DEBUG) {
-            Log.d(TAG, "onNestedScroll: " + dyUnconsumed);
-        }
-        mIsInNestedFling = false;
-        mDragHelper.processNestedScroll(mSlideableView, 0, -dyUnconsumed, null);
-    }
-
-    @Override
-    public void onStopNestedScroll(View child) {
-        if (DEBUG) {
-            Log.d(TAG, "onStopNestedScroll");
-        }
-        if (mIsInNestedScroll && !mIsInNestedFling) {
-            mDragHelper.stopNestedScroll(mSlideableView);
-            mInNestedPreScrollDownwards = false;
-            mInNestedPreScrollUpwards = false;
-            mIsInNestedScroll = false;
-        }
-    }
-
-    private class DragHelperCallback extends ViewDragHelper.Callback {
-
-        @Override
-        public boolean tryCaptureView(View child, int pointerId) {
-            if (mIsUnableToDrag) {
-                return false;
-            }
-
-            return ((LayoutParams) child.getLayoutParams()).slideable;
-        }
-
-        @Override
-        public void onViewDragStateChanged(int state) {
-            if (DEBUG) {
-                Log.d(TAG, "onViewDragStateChanged: " + state);
-            }
-
-            if (mDragHelper.getViewDragState() == ViewDragHelper.STATE_IDLE) {
-                if (mSlideOffset == 0) {
-                    updateObscuredViewsVisibility(mSlideableView);
-                    dispatchOnPanelClosed(mSlideableView);
-                    mPreservedOpenState = false;
-                } else {
-                    dispatchOnPanelOpened(mSlideableView);
-                    mPreservedOpenState = true;
-                }
-            }
-
-            if (state == ViewDragHelper.STATE_IDLE
-                    && mDragHelper.getVelocityMagnitude() > 0
-                    && mIsInNestedFling) {
-                mIsInNestedFling = false;
-                final int flingVelocity = !mInUpwardsPreFling ?
-                        -mDragHelper.getVelocityMagnitude() : mDragHelper.getVelocityMagnitude();
-                mPanelSlideCallbacks.onPanelFlingReachesEdge(flingVelocity);
-            }
-        }
-
-        @Override
-        public void onViewCaptured(View capturedChild, int activePointerId) {
-            // Make all child views visible in preparation for sliding things around
-            setAllChildrenVisible();
-        }
-
-        @Override
-        public void onViewPositionChanged(View changedView, int left, int top, int dx, int dy) {
-            onPanelDragged(top);
-            invalidate();
-        }
-
-        @Override
-        public void onViewFling(View releasedChild, float xVelocity, float yVelocity) {
-            if (releasedChild == null) {
-                return;
-            }
-            if (DEBUG) {
-                Log.d(TAG, "onViewFling: " + yVelocity);
-            }
-
-            // Flings won't always fully expand or collapse the header. Instead of performing the
-            // fling and then waiting for the fling to end before snapping into place, we
-            // immediately snap into place if we predict the fling won't fully expand or collapse
-            // the header.
-            int yOffsetPx = mDragHelper.predictFlingYOffset((int) yVelocity);
-            if (yVelocity < 0) {
-                // Only perform a fling if we know the fling will fully compress the header.
-                if (-yOffsetPx > mSlideOffsetPx) {
-                    mDragHelper.flingCapturedView(releasedChild.getLeft(), /* minTop = */ 0,
-                            mSlideRange, Integer.MAX_VALUE, (int) yVelocity);
-                } else {
-                    mIsInNestedFling = false;
-                    onViewReleased(releasedChild, xVelocity, yVelocity);
-                }
-            } else {
-                // Only perform a fling if we know the fling will expand the header as far
-                // as it can possible be expanded, given the isScrollableChildUnscrolled() value.
-                if (yOffsetPx + mSlideOffsetPx >= mSlideRange
-                        && mPanelSlideCallbacks.isScrollableChildUnscrolled()) {
-                    mDragHelper.flingCapturedView(releasedChild.getLeft(), /* minTop = */ 0,
-                            Integer.MAX_VALUE, mSlideRange, (int) yVelocity);
-                } else if (yOffsetPx + mSlideOffsetPx >= mIntermediateOffset
-                        && mSlideOffsetPx <= mIntermediateOffset
-                        && !mPanelSlideCallbacks.isScrollableChildUnscrolled()) {
-                    mDragHelper.flingCapturedView(releasedChild.getLeft(), /* minTop = */ 0,
-                            Integer.MAX_VALUE, mIntermediateOffset, (int) yVelocity);
-                } else {
-                    mIsInNestedFling = false;
-                    onViewReleased(releasedChild, xVelocity, yVelocity);
-                }
-            }
-
-            mInNestedPreScrollDownwards = false;
-            mInNestedPreScrollUpwards = false;
-
-            // Without this invalidate, some calls to flingCapturedView can have no affect.
-            invalidate();
-        }
-
-        @Override
-        public void onViewReleased(View releasedChild, float xvel, float yvel) {
-            if (DEBUG) {
-                Log.d(TAG, "onViewReleased: "
-                        + " mIsInNestedFling=" + mIsInNestedFling
-                        + " unscrolled=" + mPanelSlideCallbacks.isScrollableChildUnscrolled()
-                        + ", mInNestedPreScrollDownwards = " + mInNestedPreScrollDownwards
-                        + ", mInNestedPreScrollUpwards = " + mInNestedPreScrollUpwards
-                        + ", yvel=" + yvel);
-            }
-            if (releasedChild == null) {
-                return;
-            }
-
-            final LayoutParams lp = (LayoutParams) releasedChild.getLayoutParams();
-            int top = getPaddingTop() + lp.topMargin;
-
-            // Decide where to snap to according to the current direction of motion and the current
-            // position. The velocity's magnitude has no bearing on this.
-            if (mInNestedPreScrollDownwards || yvel > 0) {
-                // Scrolling downwards
-                if (mSlideOffsetPx > mIntermediateOffset + mReleaseScrollSlop) {
-                    top += mSlideRange;
-                } else if (mSlideOffsetPx > mReleaseScrollSlop) {
-                    top += mIntermediateOffset;
-                } else {
-                    // Offset is very close to 0
-                }
-            } else if (mInNestedPreScrollUpwards || yvel < 0) {
-                // Scrolling upwards
-                if (mSlideOffsetPx > mSlideRange - mReleaseScrollSlop) {
-                    // Offset is very close to mSlideRange
-                    top += mSlideRange;
-                } else if (mSlideOffsetPx > mIntermediateOffset - mReleaseScrollSlop) {
-                    // Offset is between mIntermediateOffset and mSlideRange.
-                    top += mIntermediateOffset;
-                } else {
-                    // Offset is between 0 and mIntermediateOffset.
-                }
-            } else {
-                // Not moving upwards or downwards. This case can only be triggered when directly
-                // dragging the tabs. We don't bother to remember previous scroll direction
-                // when directly dragging the tabs.
-                if (0 <= mSlideOffsetPx && mSlideOffsetPx <= mIntermediateOffset / 2) {
-                    // Offset is between 0 and mIntermediateOffset, but closer to 0
-                    // Leave top unchanged
-                } else if (mIntermediateOffset / 2 <= mSlideOffsetPx
-                        && mSlideOffsetPx <= (mIntermediateOffset + mSlideRange) / 2) {
-                    // Offset is closest to mIntermediateOffset
-                    top += mIntermediateOffset;
-                } else {
-                    // Offset is between mIntermediateOffset and mSlideRange, but closer to
-                    // mSlideRange
-                    top += mSlideRange;
-                }
-            }
-
-            mDragHelper.settleCapturedViewAt(releasedChild.getLeft(), top);
-            invalidate();
-        }
-
-        @Override
-        public int getViewVerticalDragRange(View child) {
-            return mSlideRange;
-        }
-
-        @Override
-        public int clampViewPositionHorizontal(View child, int left, int dx) {
-            // Make sure we never move views horizontally.
-            return child.getLeft();
-        }
-
-        @Override
-        public int clampViewPositionVertical(View child, int top, int dy) {
-            final LayoutParams lp = (LayoutParams) mSlideableView.getLayoutParams();
-
-            final int newTop;
-            int previousTop = top - dy;
-            int topBound = getPaddingTop() + lp.topMargin;
-            int bottomBound = topBound + (mPanelSlideCallbacks.isScrollableChildUnscrolled()
-                    || !mIsInNestedScroll ? mSlideRange : mIntermediateOffset);
-            if (previousTop > bottomBound) {
-                // We were previously below the bottomBound, so loosen the bottomBound so that this
-                // makes sense. This can occur after the view was directly dragged by the tabs.
-                bottomBound = Math.max(bottomBound, mSlideRange);
-            }
-            newTop = Math.min(Math.max(top, topBound), bottomBound);
-
-            return newTop;
-        }
-
-        @Override
-        public void onEdgeDragStarted(int edgeFlags, int pointerId) {
-            mDragHelper.captureChildView(mSlideableView, pointerId);
-        }
-    }
-
-    public static class LayoutParams extends ViewGroup.MarginLayoutParams {
-        private static final int[] ATTRS = new int[] {
-            android.R.attr.layout_weight
-        };
-
-        /**
-         * The weighted proportion of how much of the leftover space
-         * this child should consume after measurement.
-         */
-        public float weight = 0;
-
-        /**
-         * True if this pane is the slideable pane in the layout.
-         */
-        boolean slideable;
-
-        public LayoutParams() {
-            super(FILL_PARENT, FILL_PARENT);
-        }
-
-        public LayoutParams(int width, int height) {
-            super(width, height);
-        }
-
-        public LayoutParams(android.view.ViewGroup.LayoutParams source) {
-            super(source);
-        }
-
-        public LayoutParams(MarginLayoutParams source) {
-            super(source);
-        }
-
-        public LayoutParams(LayoutParams source) {
-            super(source);
-            this.weight = source.weight;
-        }
-
-        public LayoutParams(Context c, AttributeSet attrs) {
-            super(c, attrs);
-
-            final TypedArray a = c.obtainStyledAttributes(attrs, ATTRS);
-            this.weight = a.getFloat(0, 0);
-            a.recycle();
-        }
-
-    }
-
-    static class SavedState extends BaseSavedState {
-        boolean isOpen;
-
-        SavedState(Parcelable superState) {
-            super(superState);
-        }
-
-        private SavedState(Parcel in) {
-            super(in);
-            isOpen = in.readInt() != 0;
-        }
-
-        @Override
-        public void writeToParcel(Parcel out, int flags) {
-            super.writeToParcel(out, flags);
-            out.writeInt(isOpen ? 1 : 0);
-        }
-
-        public static final Parcelable.Creator<SavedState> CREATOR =
-                new Parcelable.Creator<SavedState>() {
-            public SavedState createFromParcel(Parcel in) {
-                return new SavedState(in);
-            }
-
-            public SavedState[] newArray(int size) {
-                return new SavedState[size];
-            }
-        };
-    }
-
-    class AccessibilityDelegate extends AccessibilityDelegateCompat {
-        private final Rect mTmpRect = new Rect();
-
-        @Override
-        public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
-            final AccessibilityNodeInfoCompat superNode = AccessibilityNodeInfoCompat.obtain(info);
-            super.onInitializeAccessibilityNodeInfo(host, superNode);
-            copyNodeInfoNoChildren(info, superNode);
-            superNode.recycle();
-
-            info.setClassName(OverlappingPaneLayout.class.getName());
-            info.setSource(host);
-
-            final ViewParent parent = ViewCompat.getParentForAccessibility(host);
-            if (parent instanceof View) {
-                info.setParent((View) parent);
-            }
-
-            // This is a best-approximation of addChildrenForAccessibility()
-            // that accounts for filtering.
-            final int childCount = getChildCount();
-            for (int i = 0; i < childCount; i++) {
-                final View child = getChildAt(i);
-                if (child.getVisibility() == View.VISIBLE) {
-                    // Force importance to "yes" since we can't read the value.
-                    ViewCompat.setImportantForAccessibility(
-                            child, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_YES);
-                    info.addChild(child);
-                }
-            }
-        }
-
-        @Override
-        public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) {
-            super.onInitializeAccessibilityEvent(host, event);
-
-            event.setClassName(OverlappingPaneLayout.class.getName());
-        }
-
-        /**
-         * This should really be in AccessibilityNodeInfoCompat, but there unfortunately
-         * seem to be a few elements that are not easily cloneable using the underlying API.
-         * Leave it private here as it's not general-purpose useful.
-         */
-        private void copyNodeInfoNoChildren(AccessibilityNodeInfoCompat dest,
-                AccessibilityNodeInfoCompat src) {
-            final Rect rect = mTmpRect;
-
-            src.getBoundsInParent(rect);
-            dest.setBoundsInParent(rect);
-
-            src.getBoundsInScreen(rect);
-            dest.setBoundsInScreen(rect);
-
-            dest.setVisibleToUser(src.isVisibleToUser());
-            dest.setPackageName(src.getPackageName());
-            dest.setClassName(src.getClassName());
-            dest.setContentDescription(src.getContentDescription());
-
-            dest.setEnabled(src.isEnabled());
-            dest.setClickable(src.isClickable());
-            dest.setFocusable(src.isFocusable());
-            dest.setFocused(src.isFocused());
-            dest.setAccessibilityFocused(src.isAccessibilityFocused());
-            dest.setSelected(src.isSelected());
-            dest.setLongClickable(src.isLongClickable());
-
-            dest.addAction(src.getActions());
-
-            dest.setMovementGranularities(src.getMovementGranularities());
-        }
-    }
-}
diff --git a/tests/src/com/android/dialer/PhoneCallDetailsHelperTest.java b/tests/src/com/android/dialer/PhoneCallDetailsHelperTest.java
index 7ae2c22..df4247b 100644
--- a/tests/src/com/android/dialer/PhoneCallDetailsHelperTest.java
+++ b/tests/src/com/android/dialer/PhoneCallDetailsHelperTest.java
@@ -239,7 +239,7 @@
     public void testSetCallDetailsHeader_PayphoneNumber() {
         setCallDetailsHeaderWithNumber("", Calls.PRESENTATION_PAYPHONE);
         assertEquals(View.VISIBLE, mNameView.getVisibility());
-        assertEquals("Pay phone", mNameView.getText().toString());
+        assertEquals("Payphone", mNameView.getText().toString());
     }
 
     public void testSetCallDetailsHeader_VoicemailNumber() {
diff --git a/tests/src/com/android/dialer/calllog/CallLogFragmentTest.java b/tests/src/com/android/dialer/calllog/CallLogFragmentTest.java
index b88989d..5d9a05f 100644
--- a/tests/src/com/android/dialer/calllog/CallLogFragmentTest.java
+++ b/tests/src/com/android/dialer/calllog/CallLogFragmentTest.java
@@ -627,7 +627,7 @@
     /** Asserts that the name text view is shown and contains the given text. */
     private void assertNameIs(CallLogListItemViews views, String name) {
         assertEquals(View.VISIBLE, views.phoneCallDetailsViews.nameView.getVisibility());
-        assertEquals(name, views.phoneCallDetailsViews.nameView.getText());
+        assertEquals(name, views.phoneCallDetailsViews.nameView.getText().toString());
     }
 
     /** Asserts that the label text view contains the given text. */
diff --git a/tests/src/com/android/dialer/util/TestConstants.java b/tests/src/com/android/dialer/util/TestConstants.java
index 780626a..ff4a2fa 100644
--- a/tests/src/com/android/dialer/util/TestConstants.java
+++ b/tests/src/com/android/dialer/util/TestConstants.java
@@ -1,7 +1,5 @@
 package com.android.dialer.util;
 
-import android.content.Intent;
-
 public class TestConstants {
-    public static final String CALL_INTENT_ACTION = Intent.ACTION_CALL;
+    public static final String CALL_INTENT_ACTION = PrivilegedCallUtil.CALL_ACTION;
 }