Merge "Add Accessibility settings to top-level."
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 039cc31..861fd1d 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -273,15 +273,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/layout/lists_fragment.xml b/res/layout/lists_fragment.xml
index a11c89f..98a1422 100644
--- a/res/layout/lists_fragment.xml
+++ b/res/layout/lists_fragment.xml
@@ -14,84 +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" >
- <com.android.dialer.list.SwipeableShortcutCard
- android:id="@+id/shortcut_card"
+ <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: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/values-af/strings.xml b/res/values-af/strings.xml
index 8da22a8..77886f1 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 7177931..e44a7c1 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"የስልክ ጥሪ ቅላጼ"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"እንዲሁም ለጥሪዎችም ንዘር"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"የመደወያ ሰሌዳ ቅላጼዎች"</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 1197287..b236da8 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -182,12 +182,15 @@
<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="ringtone_title" msgid="760362035635084653">"نغمة رنين الهاتف"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"الاهتزاز أيضًا مع المكالمات"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"نغمات لوحة الاتصال"</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 dbb917c..ec57c0d 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"Мелодия на телефона"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"Вибриране и при обаждания"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Клавиат. за набиране: Мелодии"</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 1c7af70..405cf31 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"ফোন রিংটোন"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"এছাড়াও কল এলে কম্পিত করুন"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ডায়ালপ্যাড টোনগুলি"</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 fdacc62..7178c67 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 4430de4..34f39b3 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -180,12 +180,15 @@
<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>
<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>
+ <!-- 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 132afdd..365f38b 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 a83a036..2999e0c 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -178,12 +178,15 @@
<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>
<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>
+ <!-- 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 bcaa353..196104a 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"Ήχος κλήσης τηλεφώνου"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"Επίσης δόνηση για κλήσεις"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Τόνοι πληκτρολογίου κλήσης"</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 38f0aee..157cddd 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 38f0aee..157cddd 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 b7faffe..c621e22 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 e23e32b..fa91066 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 6474161..5905a41 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -178,12 +178,15 @@
<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>
<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>
+ <!-- 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 a56fddb..2393861 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 d2aae62..f25ee25 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"آهنگ زنگ تلفن"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"تماسها لرزش هم داشته باشند"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"صداهای صفحه شمارهگیری"</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 b750322..930bcb5 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 157742c..1ac4b75 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 5c84199..76405c5 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -178,12 +178,15 @@
<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>
<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>
+ <!-- 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 ea9e874..919d051 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 8ab825c..a829e92 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"फ़ोन रिंगटोन"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"कॉल के लिए भी कंपन"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"डायलपैड टोन"</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 1b239a2..66c9675 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -179,12 +179,15 @@
<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="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>
+ <!-- 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 28fdf94..599d0aa 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 f802a26..a423425 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"Հեռախոսի զանգերանգ"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"Նաև թրթռալ զանգերի ժամանակ"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Թվաշարի ձայներանգներ"</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 fbaac24..d5b112d 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 panggilan"</string>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index a997d84..66516ef 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 dc092bf..b7c998c 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 bd30300..554d14e 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -180,12 +180,15 @@
<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="ringtone_title" msgid="760362035635084653">"רינגטון של טלפון"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"הפעל רטט גם עבור שיחות"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"צלילי לוח החיוג"</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 49b98a2..baf15a7 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"着信音"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"着信時もバイブレーションON"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ダイヤルパッドの音"</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 f365411..c5eb67b 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"ტელეფონის ზარი"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"ზარებზე ასევე ვიბრირება"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ციფერბლატის ტონები"</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 776c42f..fb7e03a 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"Телефон қоңырау әуені"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"Сондай-ақ, қоңыраулар үшін дірілдету"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Теру тақтасының үндері"</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 8940609..9072e52 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"សំឡេងរោទ៍ទូរស័ព្ទ"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"ញ័រសម្រាប់ការហៅផងដែរ"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"សំឡេងបន្ទះលេខ"</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 3760d06..fe58d45 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -179,12 +179,15 @@
<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="ringtone_title" msgid="760362035635084653">"ಫೋನ್ ರಿಂಗ್ಟೋನ್"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"ಕರೆಗಳಿಗೂ ಸಹ ವೈಬ್ರೇಟ್"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ಡಯಲ್ಪ್ಯಾಡ್ ಧ್ವನಿಗಳು"</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 69f27eb..e432059 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"전화 벨소리"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"전화 올 때 벨소리와 함께 진동"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"다이얼패드 신호음"</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 a95c846..18b9af9 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -205,12 +205,15 @@
<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="ringtone_title" msgid="760362035635084653">"Телефондун шыңгыры"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"Чалуулар үчүн дагы дирилдесин"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Тергичтин үндөрү"</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 1e86d5a..4c1450b 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"ຣິງໂທນໂທລະສັບ"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"ສັ່ນເຕືອນເມື່ອມີການໂທເຂົ້າ"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ສຽງກົດປຸ່ມໂທ"</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 419e83a..b6649db 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -180,12 +180,15 @@
<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="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>
+ <!-- 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 6fc7719..c374419 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -179,12 +179,15 @@
<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="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>
+ <!-- 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 405e944..10664a8 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"Мелодија на телефон"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"Вибрации и за повици"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Тонови на подлогата за бирање"</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 c96c406..be7042f 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"ഫോൺ റിംഗ്ടോൺ"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"കോളുകൾക്കായും വൈബ്രേറ്റ് ചെയ്യും"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ഡയൽപാഡ് ടോണുകൾ"</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-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index 74e4df4..2e0aa63 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"Утасны хонхны ая"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"Дуудлагад бас чичрэх"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Диалпадын ая"</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 d4bedc6..db14851 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"फोन रिंगटोन"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"कॉल साठी कंपन देखील करा"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"डायलपॅड टोन"</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 c00ef0d..6c45a78 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -178,12 +178,15 @@
<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>
<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>
+ <!-- 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 2c70aa4..c92e007 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"ဖုန်း သံစဉ်"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"ဖုန်းဝင်လျှင် တုန်ခါရန်"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ဖုန်းဒိုင်ခွက် အသံ"</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 53fefaf..d53121a 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 3e6703f..c483d57 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"फोन रिङटोन"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"कलका लागि कम्पन पनि गर्नुहोस्"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"डायलप्याड ध्वनि"</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 06b1fce..0ada884 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -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\' > \'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,12 +178,15 @@
<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="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>
+ <!-- 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 c62a925..6197a56 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -180,12 +180,15 @@
<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="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>
+ <!-- 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 c252bf4..18d204d 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 c18fb2b..867eeff 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 3a429bd..90f6f3a 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -179,12 +179,15 @@
<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>
<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>
+ <!-- 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 c01ff03..7e51710 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -26,11 +26,11 @@
<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" formatted="false" msgid="9088953961148324851">
@@ -180,12 +180,15 @@
<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="ringtone_title" msgid="760362035635084653">"Рингтон"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"Вибросигнал при вызове"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Звук при наборе номера"</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 f2c7a9e..e02e7ac 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"දුරකථන රිගින්ටෝනය"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"ඇමතුම් සඳහා කම්පනයද කරන්න"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ඩයල්පෑඩ ස්පර්ශක හඬ"</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 723e5f9..cd34f5e 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -180,12 +180,15 @@
<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="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>
+ <!-- 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 4f79c57..df12bcd 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -180,12 +180,15 @@
<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="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>
+ <!-- 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 efd5304..714b3d2 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -179,12 +179,15 @@
<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="ringtone_title" msgid="760362035635084653">"Звук звона телефона"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"Вибрирај и за позиве"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Звуци нумеричке тастатуре"</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 6b0a02c..3026efd 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 842c641..d78b5a4 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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 0f571e3..14c06c6 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"மொபைலின் ரிங்டோன்"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"அழைப்புகளுக்கும் அதிர்வுறு"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"டயல்பேட் ஒலிகள்"</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 3500680..1d23815 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"ఫోన్ రింగ్టోన్"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"కాల్ల కోసం వైబ్రేట్ కూడా చేయి"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"డయల్ప్యాడ్ టోన్లు"</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 710e37e..0578f3c 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"เสียงเรียกเข้า"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"สั่นเมื่อมีสายเรียกเข้าด้วย"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"เสียงแป้นหมายเลข"</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 87a2100..5716d98 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -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,12 +178,15 @@
<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>
<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>
+ <!-- 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 499265f..ed9da46 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -178,12 +178,15 @@
<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>
<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>
+ <!-- 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 f8ba176..6f66301 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -180,12 +180,15 @@
<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="ringtone_title" msgid="760362035635084653">"Сигнал дзвінка телефона"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"Також вібрувати для дзвінків"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"Звуки цифрової клавіатури"</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-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index 8f2047c..bcb35a8 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"فون رِنگ ٹون"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"کالز کیلئے وائبریٹ بھی کرے"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"ڈائل پیڈ ٹونز"</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 9363965..6ef1ecf 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -178,12 +178,15 @@
<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>
<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>
+ <!-- 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 cd389ab..2353882 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -178,12 +178,15 @@
<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>
<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>
+ <!-- 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 ade277e..000f2af 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"手机铃声"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"有来电时响铃并振动"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"拨号键盘提示音"</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 bfffb41..57325ba 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"手機鈴聲"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"來電時同時震動"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"撥號盤音效"</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 197134c..e883a42 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -178,12 +178,15 @@
<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="ringtone_title" msgid="760362035635084653">"手機鈴聲"</string>
<string name="vibrate_on_ring_title" msgid="3362916460327555241">"來電時同時震動"</string>
<string name="dtmf_tone_enable_title" msgid="6571449695997521615">"撥號鍵盤音效"</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 49d72ee..f5f85cf 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -178,12 +178,15 @@
<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="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>
+ <!-- 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/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/ids.xml b/res/values/ids.xml
deleted file mode 100644
index 2b09504..0000000
--- a/res/values/ids.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- ~ Copyright (C) 2012 The Android Open Source Project
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License
- -->
-<resources>
- <item type="id"
- name="is_swipeable_tag" />
- <item type="id"
- name="contact_entry_index_tag" />
-</resources>
\ No newline at end of file
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 0730f42..78b74e6 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -711,6 +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 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>
@@ -720,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/xml/sound_settings.xml b/res/xml/sound_settings.xml
index e933eed..80fad62 100644
--- a/res/xml/sound_settings.xml
+++ b/res/xml/sound_settings.xml
@@ -19,22 +19,28 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<com.android.dialer.settings.DefaultRingtonePreference
- android:key="button_ringtone_key"
+ 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="button_play_dtmf_tone"
+ 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" />
- <CheckBoxPreference
- android:key="button_vibrate_on_ring"
- android:title="@string/vibrate_on_ring_title"
- android:persistent="false"
- android:defaultValue="false" />
+ <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/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index 7da13f3..61aeed5 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -1113,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);
}
@@ -1128,9 +1125,6 @@
*/
@Override
public void onDragFinished(int x, int y) {
- if (mListsFragment.isPaneOpen()) {
- mActionBarController.setAlpha(ListsFragment.REMOVE_VIEW_HIDDEN_ALPHA);
- }
mListsFragment.showRemoveView(false);
}
diff --git a/src/com/android/dialer/list/ListsFragment.java b/src/com/android/dialer/list/ListsFragment.java
index 9ae5c57..45b2f68 100644
--- a/src/com/android/dialer/list/ListsFragment.java
+++ b/src/com/android/dialer/list/ListsFragment.java
@@ -31,8 +31,6 @@
import com.android.dialer.calllog.ContactInfoHelper;
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 SwipeableShortcutCard mShortcutCard;
private RemoveView mRemoveView;
private View mRemoveViewContent;
private SpeedDialFragment mSpeedDialFragment;
@@ -89,9 +83,6 @@
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
@@ -104,80 +95,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.
- if (mShortcutCard.isShown()) {
- float ratioCardHidden = (1 - slideOffset);
- mShortcutCard.clipCard(ratioCardHidden);
- }
-
- if (mActionBar != null) {
- // Amount of available space that is not being hidden by the bottom pane
- final int shortcutCardHeight =
- mShortcutCard.isShown() ? mShortcutCard.getHeight() : 0;
- final int topPaneHeight = (int) (slideOffset * shortcutCardHeight);
-
- 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);
@@ -307,14 +224,9 @@
mViewPagerTabs.setViewPager(mViewPager);
addOnPageChangeListener(mViewPagerTabs);
- mShortcutCard = (SwipeableShortcutCard) parentView.findViewById(R.id.shortcut_card);
- new ShortcutCardsManager(getActivity(), this, mCallLogAdapter, mShortcutCard);
-
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;
@@ -336,10 +248,6 @@
mCallLogAdapter.changeCursor(cursor);
- // 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;
}
@@ -349,20 +257,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();
-
- LayoutTransition transition = mOverlappingPaneLayout.getLayoutTransition();
- // Turns on animations for all types of layout changes so that they occur for
- // height changes.
- transition.enableTransitionType(LayoutTransition.CHANGING);
- }
-
public void addOnPageChangeListener(OnPageChangeListener onPageChangeListener) {
if (!mOnPageChangeListeners.contains(onPageChangeListener)) {
mOnPageChangeListeners.add(onPageChangeListener);
@@ -399,32 +293,11 @@
mRemoveViewContent.setVisibility(show ? View.VISIBLE : View.GONE);
mRemoveView.setAlpha(show ? 0 : 1);
mRemoveView.animate().alpha(show ? 1 : 0).start();
-
- if (mShortcutCard.isShown()) {
- final View child = mShortcutCard.getChildAt(0);
- if (child != null) {
- child.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());
+ // TODO: Update this based on scroll state.
+ return mActionBar != null;
}
public SpeedDialFragment getSpeedDialFragment() {
diff --git a/src/com/android/dialer/list/ShortcutCardsManager.java b/src/com/android/dialer/list/ShortcutCardsManager.java
deleted file mode 100644
index 8b8a7ba..0000000
--- a/src/com/android/dialer/list/ShortcutCardsManager.java
+++ /dev/null
@@ -1,129 +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.database.Cursor;
-import android.database.DataSetObserver;
-import android.view.View;
-
-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;
-
-/**
- * Handles the logic that displays call shortcuts from
- * {@link com.android.dialer.calllog.CallLogAdapter} in the form of cards.
- */
-public class ShortcutCardsManager {
-
- private class CustomDataSetObserver extends DataSetObserver {
- @Override
- public void onChanged() {
- updateShortcutCard();
- }
- }
-
- private static final String TAG = ShortcutCardsManager.class.getSimpleName();
-
- // The position of the shortcut card within the CallLogAdapter
- private static final int SHORTCUT_CARD_INDEX = 0;
-
- private final CallLogAdapter mCallLogAdapter;
- private final ListsFragment mFragment;
- private final SwipeableShortcutCard mShortcutCard;
-
- 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 ShortcutCardsManager(Context context,
- ListsFragment fragment,
- CallLogAdapter callLogAdapter,
- SwipeableShortcutCard shortcutCard) {
- mContext = context;
- mFragment = fragment;
- mShortcutCard = shortcutCard;
-
- mCallLogAdapter = callLogAdapter;
- mObserver = new CustomDataSetObserver();
- mCallLogAdapter.registerDataSetObserver(mObserver);
- mCallLogQueryHandler = new CallLogQueryHandler(mContext.getContentResolver(),
- mCallLogQueryHandlerListener);
- mShortcutCard.setOnItemSwipeListener(mCallLogOnItemSwipeListener);
- }
-
- /**
- * Updates the contents of the shortcut card with the view provided by the
- * {@link CallLogAdapter}.
- */
- private void updateShortcutCard() {
- final int count = mCallLogAdapter.getCount();
- final View convertView = mShortcutCard.getChildAt(SHORTCUT_CARD_INDEX);
- if (count <= SHORTCUT_CARD_INDEX) {
- if (convertView != null) {
- convertView.setVisibility(View.GONE);
- }
- } else {
- mShortcutCard.setVisibility(View.VISIBLE);
- final View view = mCallLogAdapter.getView(SHORTCUT_CARD_INDEX, convertView,
- mShortcutCard);
- mShortcutCard.removeAllViews();
- mShortcutCard.prepareChildView(view);
- mShortcutCard.addView(view);
- view.setVisibility(View.VISIBLE);
- }
- }
-}
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/list/SwipeableShortcutCard.java b/src/com/android/dialer/list/SwipeableShortcutCard.java
deleted file mode 100644
index db2210a..0000000
--- a/src/com/android/dialer/list/SwipeableShortcutCard.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- * 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.list;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.graphics.Rect;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewConfiguration;
-import android.view.ViewGroup;
-import android.widget.FrameLayout;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import com.android.dialer.R;
-import com.android.dialer.list.SwipeHelper.OnItemGestureListener;
-import com.android.dialer.list.SwipeHelper.SwipeHelperCallback;
-
-/**
- * The swipeable call log row.
- */
-public class SwipeableShortcutCard extends FrameLayout implements SwipeHelperCallback {
-
- 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;
-
- final int mCallLogMarginHorizontal;
- final int mCallLogMarginTop;
- final int mCallLogMarginBottom;
- final int mCallLogPaddingStart;
- final int mCallLogPaddingTop;
- final int mCallLogPaddingBottom;
- final int mShortCardBackgroundColor;
-
- private SwipeHelper mSwipeHelper;
- private OnItemGestureListener mOnItemSwipeListener;
-
- private float mPreviousTranslationZ = 0;
- private Rect mClipRect = new Rect();
-
- public SwipeableShortcutCard(Context context) {
- this(context, null);
- }
-
- public SwipeableShortcutCard(Context context, AttributeSet attrs) {
- this(context, attrs, 0);
- }
-
- public SwipeableShortcutCard(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- final Resources resources = getResources();
- final float densityScale =resources.getDisplayMetrics().density;
- final float pagingTouchSlop = ViewConfiguration.get(context)
- .getScaledPagingTouchSlop();
- mSwipeHelper = new SwipeHelper(context, SwipeHelper.X, this,
- densityScale, pagingTouchSlop);
-
- 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, null);
- }
-
- 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);
- } else {
- 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);
- }
- }
-}
\ No newline at end of file
diff --git a/src/com/android/dialer/settings/SoundSettingsFragment.java b/src/com/android/dialer/settings/SoundSettingsFragment.java
index 6a9bc1e..43297b5 100644
--- a/src/com/android/dialer/settings/SoundSettingsFragment.java
+++ b/src/com/android/dialer/settings/SoundSettingsFragment.java
@@ -23,10 +23,12 @@
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;
@@ -41,19 +43,30 @@
public class SoundSettingsFragment extends PreferenceFragment
implements Preference.OnPreferenceChangeListener {
- 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 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 Context mContext;
-
private Preference mRingtonePreference;
private CheckBoxPreference mVibrateWhenRinging;
private CheckBoxPreference mPlayDtmfTone;
+ private ListPreference mDtmfToneLength;
- private Runnable mRingtoneLookupRunnable;
+ private final Runnable mRingtoneLookupRunnable = new Runnable() {
+ @Override
+ public void run() {
+ updateRingtonePreferenceSummary();
+ }
+ };
+
private final Handler mRingtoneLookupComplete = new Handler() {
@Override
public void handleMessage(Message msg) {
@@ -69,43 +82,40 @@
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- mContext = getActivity().getApplicationContext();
-
addPreferencesFromResource(R.xml.sound_settings);
- mRingtonePreference = findPreference(BUTTON_RINGTONE_KEY);
- mVibrateWhenRinging = (CheckBoxPreference) findPreference(BUTTON_VIBRATE_ON_RING);
- mPlayDtmfTone = (CheckBoxPreference) findPreference(BUTTON_PLAY_DTMF_TONE);
+ Context context = getActivity();
- if (mVibrateWhenRinging != null) {
- Vibrator vibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
- if (vibrator != null && vibrator.hasVibrator()) {
- mVibrateWhenRinging.setOnPreferenceChangeListener(this);
- } else {
- getPreferenceScreen().removePreference(mVibrateWhenRinging);
- mVibrateWhenRinging = null;
- }
+ 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;
}
- if (mPlayDtmfTone != null) {
- mPlayDtmfTone.setOnPreferenceChangeListener(this);
- mPlayDtmfTone.setChecked(Settings.System.getInt(mContext.getContentResolver(),
- Settings.System.DTMF_TONE_WHEN_DIALING, 1) != 0);
- }
+ mPlayDtmfTone.setOnPreferenceChangeListener(this);
+ mPlayDtmfTone.setChecked(shouldPlayDtmfTone());
- mRingtoneLookupRunnable = new Runnable() {
- @Override
- public void run() {
- if (mRingtonePreference != null) {
- SettingsUtil.updateRingtoneName(
- mContext,
- mRingtoneLookupComplete,
- RingtoneManager.TYPE_RINGTONE,
- mRingtonePreference.getKey(),
- MSG_UPDATE_RINGTONE_SUMMARY);
- }
- }
- };
+ 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
@@ -113,7 +123,7 @@
super.onResume();
if (mVibrateWhenRinging != null) {
- mVibrateWhenRinging.setChecked(getVibrateWhenRingingSetting(mContext));
+ mVibrateWhenRinging.setChecked(shouldVibrateWhenRinging());
}
// Lookup the ringtone name asynchronously.
@@ -130,8 +140,13 @@
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);
+ 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;
}
@@ -142,25 +157,59 @@
@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);
+ 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 setting for "vibrate when ringing" setting.
+ * 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.
*/
- public static boolean getVibrateWhenRingingSetting(Context context) {
- Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
- if (vibrator == null || !vibrator.hasVibrator()) {
- return false;
- }
- return Settings.System.getInt(context.getContentResolver(),
- Settings.System.VIBRATE_WHEN_RINGING, 0) != 0;
+ 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
index 88adc72..367f365 100644
--- a/src/com/android/dialer/util/PrivilegedCallUtil.java
+++ b/src/com/android/dialer/util/PrivilegedCallUtil.java
@@ -32,6 +32,8 @@
*/
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.
@@ -129,7 +131,7 @@
*/
public static Intent getCallIntent(
Uri uri, String callOrigin, PhoneAccountHandle accountHandle, int videoState) {
- final Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED, uri);
+ 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);
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;
}