Merge "Fixed null pointer exception when mime entries are null." into jb-mr1-dev
diff --git a/res/layout/call_log_fragment.xml b/res/layout/call_log_fragment.xml
index 9e88c49..5e7061c 100644
--- a/res/layout/call_log_fragment.xml
+++ b/res/layout/call_log_fragment.xml
@@ -33,6 +33,30 @@
<include layout="@layout/call_log_voicemail_status"
/>
</FrameLayout>
+
+ <FrameLayout>
+ <TextView
+ android:id="@+id/filter_status"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingLeft="@dimen/call_log_outer_margin"
+ android:paddingRight="@dimen/call_log_outer_margin"
+ android:paddingTop="@dimen/call_log_inner_margin"
+ android:paddingBottom="@dimen/call_log_inner_margin"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentBottom="true"
+ android:visibility="gone"
+ />
+ <View
+ android:id="@+id/call_log_divider"
+ android:layout_width="match_parent"
+ android:layout_height="1px"
+ android:layout_marginLeft="@dimen/call_log_outer_margin"
+ android:layout_marginRight="@dimen/call_log_outer_margin"
+ android:layout_gravity="bottom"
+ android:background="#55ffffff"
+ />
+ </FrameLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
diff --git a/res/menu/call_log_options.xml b/res/menu/call_log_options.xml
index d393a9e..bf2973f 100644
--- a/res/menu/call_log_options.xml
+++ b/res/menu/call_log_options.xml
@@ -16,44 +16,39 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
- android:id="@+id/show_all_calls"
- android:title="@string/menu_show_all_calls"
- android:icon="@drawable/quickcon_background_texture"
- android:showAsAction="ifRoom"
- android:orderInCategory="1"/>
+ android:id="@+id/show_all_calls"
+ android:title="@string/menu_show_all_calls"
+ android:showAsAction="never"
+ android:orderInCategory="1"/>
<item
- android:id="@+id/show_voicemails_only"
- android:title="@string/menu_show_voicemails_only"
- android:icon="@drawable/ic_call_voicemail_holo_dark"
- android:showAsAction="ifRoom"
- android:orderInCategory="1"/>
+ android:id="@+id/show_voicemails_only"
+ android:title="@string/menu_show_voicemails_only"
+ android:showAsAction="never"
+ android:orderInCategory="1"/>
<item
- android:id="@+id/show_missed_only"
- android:title="@string/menu_show_missed_only"
- android:icon="@drawable/ic_call_missed_holo_dark"
- android:showAsAction="ifRoom"
- android:orderInCategory="1"/>
+ android:id="@+id/show_missed_only"
+ android:title="@string/menu_show_missed_only"
+ android:showAsAction="never"
+ android:orderInCategory="1"/>
<item
- android:id="@+id/show_outgoing_only"
- android:title="@string/menu_show_outgoing_only"
- android:icon="@drawable/ic_call_outgoing_holo_dark"
- android:showAsAction="ifRoom"
- android:orderInCategory="1"/>
+ android:id="@+id/show_outgoing_only"
+ android:title="@string/menu_show_outgoing_only"
+ android:showAsAction="never"
+ android:orderInCategory="1"/>
<item
- android:id="@+id/show_incoming_only"
- android:title="@string/menu_show_incoming_only"
- android:icon="@drawable/ic_call_incoming_holo_dark"
- android:showAsAction="ifRoom"
- android:orderInCategory="1"/>
+ android:id="@+id/show_incoming_only"
+ android:title="@string/menu_show_incoming_only"
+ android:showAsAction="never"
+ android:orderInCategory="1"/>
<item
- android:id="@+id/delete_all"
- android:title="@string/recentCalls_deleteAll"
- android:showAsAction="withText"
- android:orderInCategory="1"/>
+ android:id="@+id/delete_all"
+ android:title="@string/recentCalls_deleteAll"
+ android:showAsAction="never"
+ android:orderInCategory="1"/>
</menu>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 182a491..36b3cad 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -524,6 +524,9 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>)<xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Groep se naam"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kontak ontvang via NFC"</string>
+ <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Wys slegs uitgaande"</string>
+ <string name="menu_show_incoming_only" msgid="7534206815238877417">"Wys slegs inkomend"</string>
+ <string name="menu_show_missed_only" msgid="154473166059743996">"Wys slegs misgeloop"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Wys net stemboodskappe"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Wys alle oproepe"</string>
<string name="status_available" msgid="5586870015822828392">"Beskikbaar"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index d0f765b..544fed1 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -524,6 +524,9 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"የቡድኑ ስም"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"በ NFC የደረሱ ዕውቂያዎች"</string>
+ <string name="menu_show_outgoing_only" msgid="1965570298133301970">"ወጪዎቹን ብቻ አሳይ"</string>
+ <string name="menu_show_incoming_only" msgid="7534206815238877417">"ገቢዎቹን ብቻ አሳይ"</string>
+ <string name="menu_show_missed_only" msgid="154473166059743996">"ያመለጡትን ብቻ አሳይ"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"የድምፅ መልዕክቶች ብቻ አሳይ"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"ሁሉንም ጥሪዎች አሳይ"</string>
<string name="status_available" msgid="5586870015822828392">"የሚገኝ"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index a2161a5..a53338c 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"اسم المجموعة"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"استلام ج اتص.NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"إظهار رسائل البريد الصوتي فقط"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"عرض جميع المكالمات"</string>
<string name="status_available" msgid="5586870015822828392">"متوفر"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 3e76c55..55a50c8 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"( <xliff:g id="COUNT">%1$d</xliff:g> ) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Назва групы"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Кант. атр. праз NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Паказаць толькі галас. пошту"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Паказаць усе выклікі"</string>
<string name="status_available" msgid="5586870015822828392">"Даступны"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 4a081b2..306e501 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Име на групата"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Контакт: Получ. чрез NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Показване само на гл. поща"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Показване на всички обаждания"</string>
<string name="status_available" msgid="5586870015822828392">"Налице"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index ba61de7..7eab2b3 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Nom del grup"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contac. reb. NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Mostra només missatges de veu"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Mostra totes les trucades"</string>
<string name="status_available" msgid="5586870015822828392">"Disponible"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 0b8aabd..5c3c6cb 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -524,6 +524,9 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Název skupiny"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kontakt přijatý přes NFC"</string>
+ <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Zobrazit pouze odchozí"</string>
+ <string name="menu_show_incoming_only" msgid="7534206815238877417">"Zobrazit pouze příchozí"</string>
+ <string name="menu_show_missed_only" msgid="154473166059743996">"Zobrazit pouze zmeškané"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Zobrazit pouze hlas. schránku"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Zobrazit všechny hovory"</string>
<string name="status_available" msgid="5586870015822828392">"K dispozici"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index faa09ab..acc9790 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -524,6 +524,9 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Gruppens navn"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kontakt via NFC"</string>
+ <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Vis kun udgående"</string>
+ <string name="menu_show_incoming_only" msgid="7534206815238877417">"Vis kun indgående"</string>
+ <string name="menu_show_missed_only" msgid="154473166059743996">"Vis kun ubesvarede"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Vis kun telefonsvarerbeskeder"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Vis alle opkald"</string>
<string name="status_available" msgid="5586870015822828392">"Tilgængelig"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index d63f6e8..15e97a8 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -524,6 +524,9 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Gruppenname"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kontakt erhalten per NCF"</string>
+ <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Nur ausgehende Anrufe anzeigen"</string>
+ <string name="menu_show_incoming_only" msgid="7534206815238877417">"Nur eingehende Anrufe anzeigen"</string>
+ <string name="menu_show_missed_only" msgid="154473166059743996">"Nur entgangene Anrufe anzeigen"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Nur Mailbox-Nachr. anzeigen"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Alle Anrufe anzeigen"</string>
<string name="status_available" msgid="5586870015822828392">"Verfügbar"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index d7355d8..cad7c2d 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -524,6 +524,9 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Όνομα ομάδας"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Λήψ.επ.μέσω ΕΚΠ"</string>
+ <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Εμφάνιση μόνο εξερχόμενων"</string>
+ <string name="menu_show_incoming_only" msgid="7534206815238877417">"Εμφάνιση μόνο εισερχόμενων"</string>
+ <string name="menu_show_missed_only" msgid="154473166059743996">"Εμφάνιση μόνο αναπάντητων"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Εμφ. μόνο μην. αυτόμ. τηλεφων."</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Εμφάνιση όλων"</string>
<string name="status_available" msgid="5586870015822828392">"Διαθέσιμος"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index cbea2cd..de7ff0f 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -524,6 +524,9 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Group\'s name"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contact received over NFC"</string>
+ <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Show outgoing only"</string>
+ <string name="menu_show_incoming_only" msgid="7534206815238877417">"Show incoming only"</string>
+ <string name="menu_show_missed_only" msgid="154473166059743996">"Show missed only"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Show voicemails only"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Show all calls"</string>
<string name="status_available" msgid="5586870015822828392">"Available"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 69c881a..91d4171 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Nombre del grupo"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contac recib NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Mostrar solo mensajes de voz"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Mostrar todas las llamadas"</string>
<string name="status_available" msgid="5586870015822828392">"Disponible"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 0003fde..0856bac 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -524,6 +524,9 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Nombre del grupo"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contacto recibido por NFC"</string>
+ <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Mostrar solo llamadas salientes"</string>
+ <string name="menu_show_incoming_only" msgid="7534206815238877417">"Mostrar solo llamadas entrantes"</string>
+ <string name="menu_show_missed_only" msgid="154473166059743996">"Mostrar solo llamadas perdidas"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Solo mensajes de voz"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Mostrar todas las llamadas"</string>
<string name="status_available" msgid="5586870015822828392">"Disponible"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index e7f651d..db7978b 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Rühma nimi"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kontakt võeti vastu NFC kaudu"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Kuva ainult kõnepostisõnumeid"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Kuva kõik kõned"</string>
<string name="status_available" msgid="5586870015822828392">"Saadaval"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 5f6d3ae..05cc965 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"نام گروه"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"مخاطب از طریق NFC رسید"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"فقط نمایش پستهای صوتی"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"نمایش همه مکالمات"</string>
<string name="status_available" msgid="5586870015822828392">"در دسترس"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 1394bb9..2450f14 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -524,6 +524,9 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Ryhmän nimi"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kontakti saatu (NFC)"</string>
+ <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Näytä vain soitetut"</string>
+ <string name="menu_show_incoming_only" msgid="7534206815238877417">"Näytä vain saapuneet"</string>
+ <string name="menu_show_missed_only" msgid="154473166059743996">"Näytä vain vastaamattomat"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Näytä vain vastaajaviestit"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Näytä kaikki puhelut"</string>
<string name="status_available" msgid="5586870015822828392">"Tavoitettavissa"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index ba0d9f4..9a8ac18 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -524,6 +524,9 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Nom du groupe"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contact reçu via NFC"</string>
+ <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Afficher appels sortants uniq."</string>
+ <string name="menu_show_incoming_only" msgid="7534206815238877417">"Afficher appels entrants uniq."</string>
+ <string name="menu_show_missed_only" msgid="154473166059743996">"Afficher appels manqués uniq."</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Messages vocaux uniquement"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Afficher tous les appels"</string>
<string name="status_available" msgid="5586870015822828392">"Disponible"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 5b99cc2..a101de8 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"समूह का नाम"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"NFC पर प्राप्त संपर्क"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"केवल ध्वनिमेल दिखाएं"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"सभी कॉल दिखाएं"</string>
<string name="status_available" msgid="5586870015822828392">"उपलब्ध"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 972b3ef..0fa90c9 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Naziv grupe"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kontakt NFC-om"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Prikaži samo govorne pošte"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Prikaz svih poziva"</string>
<string name="status_available" msgid="5586870015822828392">"Dostupan"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 95fd51d..f1a9e25 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -524,6 +524,9 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Csoport neve"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"NFC-n kapott névjegy"</string>
+ <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Csak a kimenők megjelenítése"</string>
+ <string name="menu_show_incoming_only" msgid="7534206815238877417">"Csak a bejövők megjelenítése"</string>
+ <string name="menu_show_missed_only" msgid="154473166059743996">"Nem fogadottak megjelenítése"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Csak a hangüzenetek"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Összes hívás megjelenítése"</string>
<string name="status_available" msgid="5586870015822828392">"Elérhető"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 809174f..6098dbc 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Nama grup"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kontak yang diterima lewat NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Tampilkan pesan suara saja"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Tampilkan semua panggilan"</string>
<string name="status_available" msgid="5586870015822828392">"Tersedia"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 4fae0f8..45ab9e5 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -524,6 +524,9 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Nome del gruppo"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contatto ricevuto via NFC"</string>
+ <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Mostra solo in uscita"</string>
+ <string name="menu_show_incoming_only" msgid="7534206815238877417">"Mostra solo in arrivo"</string>
+ <string name="menu_show_missed_only" msgid="154473166059743996">"Mostra solo senza risposta"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Mostra solo messaggi vocali"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Mostra tutte le chiamate"</string>
<string name="status_available" msgid="5586870015822828392">"Disponibile"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index d05710c..1404392 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"שם הקבוצה"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"איש הקשר התקבל באמצעות NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"הצג הודעות דואר קולי בלבד"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"הצג את כל השיחות"</string>
<string name="status_available" msgid="5586870015822828392">"זמין"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index e177eee..2e8929a 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>)<xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"グループの名前"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"NFC受信の連絡先"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"ボイスメールのみ表示"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"すべての通話を表示"</string>
<string name="status_available" msgid="5586870015822828392">"オンライン"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 7e04802..de4b298 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"<xliff:g id="DATE">%2$s</xliff:g>에 통화 <xliff:g id="COUNT">%1$d</xliff:g>통"</string>
<string name="group_name_hint" msgid="238359485263401293">"그룹 이름"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"NFC를 통해 받은 연락처"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"음성사서함만 표시"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"모든 통화 표시"</string>
<string name="status_available" msgid="5586870015822828392">"대화 가능"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 18d02b1..88baf0a 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Grupės pavadinimas"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Gauta per ALR"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Rodyti tik balso pšt. praneš."</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Rodyti visus skambučius"</string>
<string name="status_available" msgid="5586870015822828392">"Pasiekiamas"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 34d8dd6..c1738da 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Grupas nosaukums"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"No NFC saņ. kontaktinf."</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Rādīt tikai balss pasta ziņ."</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Rādīt visus zvanus"</string>
<string name="status_available" msgid="5586870015822828392">"Pieejama"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index c15a69b..2e7a2da 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -526,6 +526,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Nama kumpulan"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Knln melalui NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Tunjukkan mel suara sahaja"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Tunjukkan semua panggilan"</string>
<string name="status_available" msgid="5586870015822828392">"Ada"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index bd1cc67..bf75dc0 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -524,6 +524,9 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Gruppens navn"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kontakt mottatt per NFC"</string>
+ <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Vis bare utgående"</string>
+ <string name="menu_show_incoming_only" msgid="7534206815238877417">"Vis bare innkommende"</string>
+ <string name="menu_show_missed_only" msgid="154473166059743996">"Vis bare tapte"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Vis bare talemeldinger"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Vis alle samtaler"</string>
<string name="status_available" msgid="5586870015822828392">"Tilgjengelig"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 649b279..e728d99 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -524,6 +524,9 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Naam van de groep"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contact via NFC"</string>
+ <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Alleen uitgaand weergeven"</string>
+ <string name="menu_show_incoming_only" msgid="7534206815238877417">"Alleen inkomend weergeven"</string>
+ <string name="menu_show_missed_only" msgid="154473166059743996">"Alleen gemist weergeven"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Alleen voicemails weergeven"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Alle oproepen weergeven"</string>
<string name="status_available" msgid="5586870015822828392">"Beschikbaar"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index d1bc5ad..5301e93 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Nazwa grupy"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Odebrane przez NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Pokaż tylko pocztę głosową"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Pokaż wszystkie połączenia"</string>
<string name="status_available" msgid="5586870015822828392">"Dostępny"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 7e3cd01..a3268bf 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Nome do Grupo"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contacto recebido através de NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Mostrar apenas msgs corr. voz"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Mostrar todas as chamadas"</string>
<string name="status_available" msgid="5586870015822828392">"Available"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 359d107..b1104e0 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Nome do grupo"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contato via NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Exibir apenas mensagens de voz"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Mostrar todas as chamadas"</string>
<string name="status_available" msgid="5586870015822828392">"Disponível"</string>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index 0ec02ff..7facc56 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -752,6 +752,12 @@
<skip />
<!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
<skip />
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
<skip />
<!-- no translation found for menu_show_all_calls (7560347482073345885) -->
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 5de077a..ef968c5 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Numele grupului"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Cont.prim.pr.NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Afişaţi numai mesajele vocale"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Afişaţi toate apelurile"</string>
<string name="status_available" msgid="5586870015822828392">"Disponibil(ă)"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 5dc25e5..2ff5fda 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Название группы"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Получено по NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Показать голосовые сообщения"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Показать все вызовы"</string>
<string name="status_available" msgid="5586870015822828392">"На месте"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 25a9020..76813e7 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Názov skupiny"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kontakt cez NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Zobraziť len hlasové správy"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Zobraziť všetky hovory"</string>
<string name="status_available" msgid="5586870015822828392">"K dispozícii"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 7f1507b..685423a 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Ime skupine"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Stik prejet prek NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Pokaži samo spor. glasovne pošte"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Pokaži vse klice"</string>
<string name="status_available" msgid="5586870015822828392">"Dosegljiv"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 4c41509..455c2bc 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Назив групе"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Контакт преко NFC-а"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Прикажи само говорне поруке"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Прикажи све позиве"</string>
<string name="status_available" msgid="5586870015822828392">"Доступан/на"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index f918b2d..21bf167 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -524,6 +524,9 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Gruppens namn"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Mott. v. NFC"</string>
+ <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Visa endast utgående samtal"</string>
+ <string name="menu_show_incoming_only" msgid="7534206815238877417">"Visa endast inkommande samtal"</string>
+ <string name="menu_show_missed_only" msgid="154473166059743996">"Visa endast missade samtal"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Visa bara röstmeddelanden"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Visa alla samtal"</string>
<string name="status_available" msgid="5586870015822828392">"Tillgänglig"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index a4a46a9..126e8c1 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -526,6 +526,9 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"( <xliff:g id="COUNT">%1$d</xliff:g> ) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Jina la kikundi"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Anwani imepokewa kupitia NFC"</string>
+ <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Onyesha zinazotoka pekee"</string>
+ <string name="menu_show_incoming_only" msgid="7534206815238877417">"Onyesha zinazoingia pekee"</string>
+ <string name="menu_show_missed_only" msgid="154473166059743996">"Onyesha zilizokosa kupokewa pekee"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Onyesha barua za sauti pekee"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Onyesha simu zote"</string>
<string name="status_available" msgid="5586870015822828392">"Nipo"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index d9eabf1..770bae6 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"ชื่อกลุ่ม"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"ผู้ติดต่อทาง NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"แสดงเฉพาะข้อความเสียง"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"แสดงการโทรทั้งหมด"</string>
<string name="status_available" msgid="5586870015822828392">"ว่าง"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index de03cf9..f566151 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Pangalan ng pangkat"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Natanggap ang contact sa NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Ipakita lamang ang mga voicemail"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Ipakita ang lahat ng tawag"</string>
<string name="status_available" msgid="5586870015822828392">"Available"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 6bfcfc6..398a225 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Grubun adı"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kişi NFC ile alındı"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Yalnızca sesli msajları göster"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Tüm çağrıları göster"</string>
<string name="status_available" msgid="5586870015822828392">"Uygun"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 942c96e..72bdae5 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Назва групи"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Конт., отрим.через NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Показувати лише голосову пошту"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Показувати всі виклики"</string>
<string name="status_available" msgid="5586870015822828392">"Доступний"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index c7c2f6e..cb9dea1 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Tên nhóm"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"L.h nhận qua NFC"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Chỉ hiển thị thư thoại"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Hiển thị tất cả cuộc gọi"</string>
<string name="status_available" msgid="5586870015822828392">"Có mặt"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 1ad5888..618a467 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"群组名称"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"已通过 NFC 收到联系人信息"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"只显示语音邮件"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"显示所有通话"</string>
<string name="status_available" msgid="5586870015822828392">"在线"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 0b84d93..1746693 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -524,6 +524,12 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"群組名稱"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"已透過 NFC 收到聯絡人資訊"</string>
+ <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
+ <skip />
+ <!-- no translation found for menu_show_incoming_only (7534206815238877417) -->
+ <skip />
+ <!-- no translation found for menu_show_missed_only (154473166059743996) -->
+ <skip />
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"僅顯示語音留言"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"顯示所有通話"</string>
<string name="status_available" msgid="5586870015822828392">"線上"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index aad973c..1071dba 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -524,6 +524,9 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="group_name_hint" msgid="238359485263401293">"Igama leqemnbu"</string>
<string name="nfc_vcard_file_name" msgid="2823095213265993609">"Othintana naye utholakale nge-NFC"</string>
+ <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Bonisa eziphumayo kuphela"</string>
+ <string name="menu_show_incoming_only" msgid="7534206815238877417">"Bonsia okungenayo kuphela"</string>
+ <string name="menu_show_missed_only" msgid="154473166059743996">"Bonisa okugejiwe kuphela"</string>
<string name="menu_show_voicemails_only" msgid="1898421289561435703">"Bonisa ama-imeyli ezwi kuphela"</string>
<string name="menu_show_all_calls" msgid="7560347482073345885">"Bonisa zonke izingcingo ezenziwe"</string>
<string name="status_available" msgid="5586870015822828392">"Yatholakala"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 3b5ccd1..8b843b4 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1609,9 +1609,21 @@
<!-- The header in the call log used to identify items that have been already consumed [CHAR LIMIT=10] -->
<string name="call_log_old_header">Older</string>
+ <!-- The header to show that call log is only showing voicemail calls. [CHAR LIMIT=40] -->
+ <string name="call_log_voicemail_header">Calls with voicemail</string>
+
+ <!-- The header to show that call log is only showing incoming calls. [CHAR LIMIT=40] -->
+ <string name="call_log_incoming_header">Incoming calls</string>
+
+ <!-- The header to show that call log is only showing outgoing calls. [CHAR LIMIT=40] -->
+ <string name="call_log_outgoing_header">Outgoing calls</string>
+
+ <!-- The header to show that call log is only showing missed calls. [CHAR LIMIT=40] -->
+ <string name="call_log_missed_header">Missed calls</string>
+
<!-- Voicemail status message shown at the top of call log to notify the user that no new
- voicemails are currently available. This can happen when both notification as well as data
- connection to the voicemail server is lost. [CHAR LIMIT=64] -->
+voicemails are currently available. This can happen when both notification as well as data
+connection to the voicemail server is lost. [CHAR LIMIT=64] -->
<string name="voicemail_status_voicemail_not_available">Can\'t connect to voicemail server.</string>
<!-- Voicemail status message shown at the top of call log to notify the user that there is no
data connection to the voicemail server, but there are new voicemails waiting on the server.
diff --git a/src/com/android/contacts/activities/DialtactsActivity.java b/src/com/android/contacts/activities/DialtactsActivity.java
index 2e35213..b71f15a 100644
--- a/src/com/android/contacts/activities/DialtactsActivity.java
+++ b/src/com/android/contacts/activities/DialtactsActivity.java
@@ -1017,7 +1017,7 @@
// When there is a permanent menu key, there is no overflow icon on the right of
// the action bar which would force the search menu item (if it is visible) to the
// left. This is the purpose of showing the emptyRightMenuItem.
- emptyRightMenuItem.setVisible(false);
+ emptyRightMenuItem.setVisible(ViewConfiguration.get(this).hasPermanentMenuKey());
} else {
// This is when the user is looking at the dialer pad. In this case, the real
// ActionBar is hidden and fake menu items are shown.
@@ -1038,11 +1038,11 @@
final MenuItem emptyRightMenuItem = menu.findItem(R.id.empty_right_menu_item);
// prepare the menu items
- searchMenuItem.setVisible(false);
+ searchMenuItem.setVisible(true);
filterOptionMenuItem.setVisible(false);
addContactOptionMenuItem.setVisible(false);
callSettingsMenuItem.setVisible(true);
- emptyRightMenuItem.setVisible(false);
+ emptyRightMenuItem.setVisible(ViewConfiguration.get(this).hasPermanentMenuKey());
}
private void prepareOptionsMenuForFavoritesTab(Menu menu) {
diff --git a/src/com/android/contacts/calllog/CallLogFragment.java b/src/com/android/contacts/calllog/CallLogFragment.java
index 739cf35..f9d21c0 100644
--- a/src/com/android/contacts/calllog/CallLogFragment.java
+++ b/src/com/android/contacts/calllog/CallLogFragment.java
@@ -21,6 +21,7 @@
import android.app.ListFragment;
import android.content.Context;
import android.content.Intent;
+import android.content.SharedPreferences;
import android.database.ContentObserver;
import android.database.Cursor;
import android.net.Uri;
@@ -28,6 +29,7 @@
import android.os.Handler;
import android.os.RemoteException;
import android.os.ServiceManager;
+import android.preference.PreferenceManager;
import android.provider.CallLog;
import android.provider.CallLog.Calls;
import android.provider.ContactsContract;
@@ -69,6 +71,8 @@
*/
private static final int EMPTY_LOADER_ID = 0;
+ private static final String PREF_CALL_LOG_FILTER_LAST_CALL_TYPE = "CallLogFragment_last_filter";
+
private CallLogAdapter mAdapter;
private CallLogQueryHandler mCallLogQueryHandler;
private boolean mScrollToTop;
@@ -82,6 +86,7 @@
private View mStatusMessageView;
private TextView mStatusMessageText;
private TextView mStatusMessageAction;
+ private TextView mFilterStatusView;
private KeyguardManager mKeyguardManager;
private boolean mEmptyLoaderRunning;
@@ -108,6 +113,9 @@
// Exactly same variable is in Fragment as a package private.
private boolean mMenuVisible = true;
+ // Default to all calls.
+ private int mCallTypeFilter = CallLogQueryHandler.CALL_TYPE_ALL;
+
@Override
public void onCreate(Bundle state) {
super.onCreate(state);
@@ -120,6 +128,11 @@
getActivity().getContentResolver().registerContentObserver(
ContactsContract.Contacts.CONTENT_URI, true, mContactsObserver);
setHasOptionsMenu(true);
+
+ // Load the last filter used.
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
+ mCallTypeFilter = prefs.getInt(PREF_CALL_LOG_FILTER_LAST_CALL_TYPE,
+ CallLogQueryHandler.CALL_TYPE_ALL);
}
/** Called by the CallLogQueryHandler when the list of calls has been fetched or updated. */
@@ -148,7 +161,9 @@
mHandler.post(new Runnable() {
@Override
public void run() {
- if (getActivity() == null || getActivity().isFinishing()) return;
+ if (getActivity() == null || getActivity().isFinishing()) {
+ return;
+ }
listView.smoothScrollToPosition(0);
}
});
@@ -202,6 +217,7 @@
mStatusMessageView = view.findViewById(R.id.voicemail_status);
mStatusMessageText = (TextView) view.findViewById(R.id.voicemail_status_message);
mStatusMessageAction = (TextView) view.findViewById(R.id.voicemail_status_action);
+ mFilterStatusView = (TextView) view.findViewById(R.id.filter_status);
return view;
}
@@ -213,6 +229,8 @@
new ContactInfoHelper(getActivity(), currentCountryIso));
setListAdapter(mAdapter);
getListView().setItemsCanFocus(true);
+
+ updateFilterHeader();
}
/**
@@ -279,6 +297,11 @@
super.onPause();
// Kill the requests thread
mAdapter.stopRequestProcessing();
+
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
+ prefs.edit()
+ .putInt(PREF_CALL_LOG_FILTER_LAST_CALL_TYPE, mCallTypeFilter)
+ .apply();
}
@Override
@@ -298,16 +321,12 @@
@Override
public void fetchCalls() {
- if (mShowingVoicemailOnly) {
- mCallLogQueryHandler.fetchVoicemailOnly();
- } else {
- mCallLogQueryHandler.fetchAllCalls();
- }
+ mCallLogQueryHandler.fetchCalls(mCallTypeFilter);
}
public void startCallsQuery() {
mAdapter.setLoading(true);
- mCallLogQueryHandler.fetchAllCalls();
+ mCallLogQueryHandler.fetchCalls(mCallTypeFilter);
if (mShowingVoicemailOnly) {
mShowingVoicemailOnly = false;
getActivity().invalidateOptionsMenu();
@@ -343,27 +362,34 @@
return true;
case R.id.show_outgoing_only:
- mCallLogQueryHandler.fetchOutgoing();
-
+ mCallLogQueryHandler.fetchCalls(Calls.OUTGOING_TYPE);
+ mCallTypeFilter = Calls.OUTGOING_TYPE;
+ updateFilterHeader();
return true;
case R.id.show_incoming_only:
- mCallLogQueryHandler.fetchIncoming();
-
+ mCallLogQueryHandler.fetchCalls(Calls.INCOMING_TYPE);
+ mCallTypeFilter = Calls.INCOMING_TYPE;
+ updateFilterHeader();
return true;
case R.id.show_missed_only:
- mCallLogQueryHandler.fetchMissed();
-
+ mCallLogQueryHandler.fetchCalls(Calls.MISSED_TYPE);
+ mCallTypeFilter = Calls.MISSED_TYPE;
+ updateFilterHeader();
return true;
case R.id.show_voicemails_only:
- mCallLogQueryHandler.fetchVoicemailOnly();
+ mCallLogQueryHandler.fetchCalls(Calls.VOICEMAIL_TYPE);
+ mCallTypeFilter = Calls.VOICEMAIL_TYPE;
+ updateFilterHeader();
mShowingVoicemailOnly = true;
return true;
case R.id.show_all_calls:
- mCallLogQueryHandler.fetchAllCalls();
+ mCallLogQueryHandler.fetchCalls(CallLogQueryHandler.CALL_TYPE_ALL);
+ mCallTypeFilter = CallLogQueryHandler.CALL_TYPE_ALL;
+ updateFilterHeader();
mShowingVoicemailOnly = false;
return true;
@@ -372,6 +398,31 @@
}
}
+ private void updateFilterHeader() {
+ switch (mCallTypeFilter) {
+ case CallLogQueryHandler.CALL_TYPE_ALL:
+ mFilterStatusView.setVisibility(View.GONE);
+ break;
+ case Calls.INCOMING_TYPE:
+ showFilterStatus(R.string.call_log_incoming_header);
+ break;
+ case Calls.OUTGOING_TYPE:
+ showFilterStatus(R.string.call_log_outgoing_header);
+ break;
+ case Calls.MISSED_TYPE:
+ showFilterStatus(R.string.call_log_missed_header);
+ break;
+ case Calls.VOICEMAIL_TYPE:
+ showFilterStatus(R.string.call_log_voicemail_header);
+ break;
+ }
+ }
+
+ private void showFilterStatus(int resId) {
+ mFilterStatusView.setText(resId);
+ mFilterStatusView.setVisibility(View.VISIBLE);
+ }
+
public void callSelectedEntry() {
int position = getListView().getSelectedItemPosition();
if (position < 0) {
diff --git a/src/com/android/contacts/calllog/CallLogQueryHandler.java b/src/com/android/contacts/calllog/CallLogQueryHandler.java
index 3ef2f7d..096e882 100644
--- a/src/com/android/contacts/calllog/CallLogQueryHandler.java
+++ b/src/com/android/contacts/calllog/CallLogQueryHandler.java
@@ -64,6 +64,12 @@
private static final int QUERY_VOICEMAIL_STATUS_TOKEN = 58;
/**
+ * Call type similar to Calls.INCOMING_TYPE used to specify all types instead of one particular
+ * type.
+ */
+ public static final int CALL_TYPE_ALL = -1;
+
+ /**
* The time window from the current time within which an unread entry will be added to the new
* section.
*/
@@ -153,48 +159,15 @@
}
/**
- * Fetches the list of calls from the call log.
+ * Fetches the list of calls from the call log for a given type.
* <p>
* It will asynchronously update the content of the list view when the fetch completes.
*/
- public void fetchAllCalls() {
+ public void fetchCalls(int callType) {
cancelFetch();
int requestId = newCallsRequest();
- fetchCalls(QUERY_NEW_CALLS_TOKEN, requestId, true /*isNew*/, -1 /*callType*/);
- fetchCalls(QUERY_OLD_CALLS_TOKEN, requestId, false /*isNew*/, -1 /*callType*/);
- }
-
- /**
- * Fetches the list of calls from the call log but include only the voicemail.
- * <p>
- * It will asynchronously update the content of the list view when the fetch completes.
- */
- public void fetchVoicemailOnly() {
- cancelFetch();
- int requestId = newCallsRequest();
- fetchCalls(QUERY_NEW_CALLS_TOKEN, requestId, true /*isNew*/, Calls.VOICEMAIL_TYPE);
- fetchCalls(QUERY_OLD_CALLS_TOKEN, requestId, false /*isNew*/, Calls.VOICEMAIL_TYPE);
- }
-
- public void fetchOutgoing() {
- cancelFetch();
- int requestId = newCallsRequest();
- fetchCalls(QUERY_NEW_CALLS_TOKEN, requestId, true /*isNew*/, Calls.OUTGOING_TYPE);
- fetchCalls(QUERY_OLD_CALLS_TOKEN, requestId, false /*isNew*/, Calls.OUTGOING_TYPE);
- }
-
- public void fetchIncoming() {
- cancelFetch();
- int requestId = newCallsRequest();
- fetchCalls(QUERY_NEW_CALLS_TOKEN, requestId, true /*isNew*/, Calls.INCOMING_TYPE);
- fetchCalls(QUERY_OLD_CALLS_TOKEN, requestId, false /*isNew*/, Calls.INCOMING_TYPE);
- }
-
- public void fetchMissed() {
- cancelFetch();
- int requestId = newCallsRequest();
- fetchCalls(QUERY_NEW_CALLS_TOKEN, requestId, true /*isNew*/, Calls.MISSED_TYPE);
- fetchCalls(QUERY_OLD_CALLS_TOKEN, requestId, false /*isNew*/, Calls.MISSED_TYPE);
+ fetchCalls(QUERY_NEW_CALLS_TOKEN, requestId, true /*isNew*/, callType);
+ fetchCalls(QUERY_OLD_CALLS_TOKEN, requestId, false /*isNew*/, callType);
}
public void fetchVoicemailStatus() {
@@ -215,7 +188,7 @@
// Negate the query.
selection = String.format("NOT (%s)", selection);
}
- if (callType > 0) {
+ if (callType > CALL_TYPE_ALL) {
// Add a clause to fetch only items of type voicemail.
selection = String.format("(%s) AND (%s = ?)", selection, Calls.TYPE);
selectionArgs.add(Integer.toString(callType));
@@ -380,8 +353,7 @@
void onVoicemailStatusFetched(Cursor statusCursor);
/**
- * Called when {@link CallLogQueryHandler#fetchAllCalls()} or
- * {@link CallLogQueryHandler#fetchVoicemailOnly()} complete.
+ * Called when {@link CallLogQueryHandler#fetchCalls(int)}complete.
*/
void onCallsFetched(Cursor combinedCursor);
}
diff --git a/src/com/android/contacts/datepicker/DatePicker.java b/src/com/android/contacts/datepicker/DatePicker.java
index ef91c95..39bbd8d 100644
--- a/src/com/android/contacts/datepicker/DatePicker.java
+++ b/src/com/android/contacts/datepicker/DatePicker.java
@@ -54,6 +54,8 @@
*/
@Widget
public class DatePicker extends FrameLayout {
+ /** Magic year that represents "no year" */
+ public static int NO_YEAR = 0;
private static final int DEFAULT_START_YEAR = 1900;
private static final int DEFAULT_END_YEAR = 2100;
@@ -83,7 +85,7 @@
/**
* @param view The view associated with this listener.
- * @param year The year that was set.
+ * @param year The year that was set or {@link DatePicker#NO_YEAR} if no year was set
* @param monthOfYear The month that was set (0-11) for compatibility
* with {@link java.util.Calendar}.
* @param dayOfMonth The day of the month that was set.
@@ -279,7 +281,7 @@
public void updateDate(int year, int monthOfYear, int dayOfMonth) {
if (mYear != year || mMonth != monthOfYear || mDay != dayOfMonth) {
- mYear = (mYearOptional && year == 0) ? getCurrentYear() : year;
+ mYear = (mYearOptional && year == NO_YEAR) ? getCurrentYear() : year;
mMonth = monthOfYear;
mDay = dayOfMonth;
updateSpinners();
@@ -413,7 +415,7 @@
/**
* Initialize the state.
- * @param year The initial year or 0 if no year has been specified
+ * @param year The initial year or {@link #NO_YEAR} if no year has been specified
* @param monthOfYear The initial month.
* @param dayOfMonth The initial day of the month.
* @param yearOptional True if the user can toggle the year
@@ -421,11 +423,11 @@
*/
public void init(int year, int monthOfYear, int dayOfMonth, boolean yearOptional,
OnDateChangedListener onDateChangedListener) {
- mYear = (yearOptional && year == 0) ? getCurrentYear() : year;
+ mYear = (yearOptional && year == NO_YEAR) ? getCurrentYear() : year;
mMonth = monthOfYear;
mDay = dayOfMonth;
mYearOptional = yearOptional;
- mHasYear = yearOptional ? (year != 0) : true;
+ mHasYear = yearOptional ? (year != NO_YEAR) : true;
mOnDateChangedListener = onDateChangedListener;
updateSpinners();
}
@@ -454,7 +456,7 @@
}
public int getYear() {
- return (mYearOptional && !mHasYear) ? 0 : mYear;
+ return (mYearOptional && !mHasYear) ? NO_YEAR : mYear;
}
public boolean isYearOptional() {
@@ -482,7 +484,7 @@
private void notifyDateChanged() {
if (mOnDateChangedListener != null) {
- int year = (mYearOptional && !mHasYear) ? 0 : mYear;
+ int year = (mYearOptional && !mHasYear) ? NO_YEAR : mYear;
mOnDateChangedListener.onDateChanged(DatePicker.this, year, mMonth, mDay);
}
}
diff --git a/src/com/android/contacts/datepicker/DatePickerDialog.java b/src/com/android/contacts/datepicker/DatePickerDialog.java
index 9c7cee6..14ebd3b 100644
--- a/src/com/android/contacts/datepicker/DatePickerDialog.java
+++ b/src/com/android/contacts/datepicker/DatePickerDialog.java
@@ -47,6 +47,9 @@
public class DatePickerDialog extends AlertDialog implements OnClickListener,
OnDateChangedListener {
+ /** Magic year that represents "no year" */
+ public static int NO_YEAR = DatePicker.NO_YEAR;
+
private static final String YEAR = "year";
private static final String MONTH = "month";
private static final String DAY = "day";
@@ -54,7 +57,6 @@
private final DatePicker mDatePicker;
private final OnDateSetListener mCallBack;
- private final Calendar mCalendar;
private final DateFormat mTitleDateFormat;
private final DateFormat mTitleNoYearDateFormat;
@@ -68,7 +70,8 @@
public interface OnDateSetListener {
/**
* @param view The view associated with this listener.
- * @param year The year that was set or 0 if the user has not specified a year
+ * @param year The year that was set or {@link DatePickerDialog#NO_YEAR} if the user has
+ * not specified a year
* @param monthOfYear The month that was set (0-11) for compatibility
* with {@link java.util.Calendar}.
* @param dayOfMonth The day of the month that was set.
@@ -94,7 +97,8 @@
/**
* @param context The context the dialog is to run in.
* @param callBack How the parent is notified that the date is set.
- * @param year The initial year of the dialog or 0 if no year has been specified
+ * @param year The initial year of the dialog or {@link DatePickerDialog#NO_YEAR} if no year
+ * has been specified
* @param monthOfYear The initial month of the dialog.
* @param dayOfMonth The initial day of the dialog.
* @param yearOptional Whether the year can be toggled by the user
@@ -115,7 +119,8 @@
* @param context The context the dialog is to run in.
* @param theme the theme to apply to this dialog
* @param callBack How the parent is notified that the date is set.
- * @param year The initial year of the dialog or 0 if no year has been specified
+ * @param year The initial year of the dialog or {@link DatePickerDialog#NO_YEAR} if no year
+ * has been specified
* @param monthOfYear The initial month of the dialog.
* @param dayOfMonth The initial day of the dialog.
*/
@@ -132,7 +137,8 @@
* @param context The context the dialog is to run in.
* @param theme the theme to apply to this dialog
* @param callBack How the parent is notified that the date is set.
- * @param year The initial year of the dialog.
+ * @param year The initial year of the dialog or {@link DatePickerDialog#NO_YEAR} if no
+ * year has been specified.
* @param monthOfYear The initial month of the dialog.
* @param dayOfMonth The initial day of the dialog.
* @param yearOptional Whether the year can be toggled by the user
@@ -154,7 +160,6 @@
mTitleDateFormat = DateFormat.getDateInstance(DateFormat.FULL);
mTitleNoYearDateFormat = new SimpleDateFormat(
DateUtils.isMonthBeforeDay(getContext()) ? "MMMM dd" : "dd MMMM");
- mCalendar = Calendar.getInstance();
updateTitle(mInitialYear, mInitialMonth, mInitialDay);
setButton(BUTTON_POSITIVE, context.getText(com.android.internal.R.string.date_time_set),
@@ -205,12 +210,13 @@
}
private void updateTitle(int year, int month, int day) {
- mCalendar.set(Calendar.YEAR, year);
- mCalendar.set(Calendar.MONTH, month);
- mCalendar.set(Calendar.DAY_OF_MONTH, day);
+ final Calendar calendar = Calendar.getInstance();
+ calendar.set(Calendar.YEAR, year);
+ calendar.set(Calendar.MONTH, month);
+ calendar.set(Calendar.DAY_OF_MONTH, day);
final DateFormat dateFormat =
- year == 0 ? mTitleNoYearDateFormat : mTitleDateFormat;
- setTitle(dateFormat.format(mCalendar.getTime()));
+ year == NO_YEAR ? mTitleNoYearDateFormat : mTitleDateFormat;
+ setTitle(dateFormat.format(calendar.getTime()));
}
@Override
diff --git a/src/com/android/contacts/editor/EventFieldEditorView.java b/src/com/android/contacts/editor/EventFieldEditorView.java
index ca1bf64..77f2010 100644
--- a/src/com/android/contacts/editor/EventFieldEditorView.java
+++ b/src/com/android/contacts/editor/EventFieldEditorView.java
@@ -203,7 +203,7 @@
final int oldYear, oldMonth, oldDay;
if (TextUtils.isEmpty(oldValue)) {
- // Default to January first, 30 years ago
+ // Default to January first of this year
oldYear = defaultYear;
oldMonth = 0;
oldDay = 1;
@@ -221,13 +221,25 @@
oldMonth = calendar.get(Calendar.MONTH);
oldDay = calendar.get(Calendar.DAY_OF_MONTH);
} else {
- final Date date2 = kind.dateFormatWithoutYear.parse(oldValue, position);
- // Don't understand the date, lets not change it
- if (date2 == null) return null;
- calendar.setTime(date2);
- oldYear = isYearOptional ? 0 : defaultYear;
- oldMonth = calendar.get(Calendar.MONTH);
- oldDay = calendar.get(Calendar.DAY_OF_MONTH);
+ // Unfortunately, we need a one-off hack for February 29th, because
+ // the parse functions assume 1970, which wasn't a leap year
+ // Caveat here: This won't catch AccountTypes that allow omitting the year but
+ // require a time of the day. But as we don't have any of those at the moment,
+ // this shouldn't be an issue
+ if (DateUtils.NO_YEAR_DATE_FEB29TH.equals(oldValue)) {
+ oldYear = isYearOptional ? DatePickerDialog.NO_YEAR : defaultYear;
+ oldMonth = Calendar.FEBRUARY;
+ oldDay = 29;
+ } else {
+ final Date date2 = kind.dateFormatWithoutYear.parse(oldValue, position);
+ // Don't understand the date? Let's not show any dialog
+ if (date2 == null) return null;
+
+ calendar.setTime(date2);
+ oldYear = isYearOptional ? DatePickerDialog.NO_YEAR : defaultYear;
+ oldMonth = calendar.get(Calendar.MONTH);
+ oldDay = calendar.get(Calendar.DAY_OF_MONTH);
+ }
}
}
final OnDateSetListener callBack = new OnDateSetListener() {
@@ -241,8 +253,8 @@
// The format string will ignore that year.
// For formats other than Exchange, the time of the day is ignored
outCalendar.clear();
- outCalendar.set(year == 0 ? 2000 : year, monthOfYear, dayOfMonth,
- DEFAULT_HOUR, 0, 0);
+ outCalendar.set(year == DatePickerDialog.NO_YEAR ? 2000 : year, monthOfYear,
+ dayOfMonth, DEFAULT_HOUR, 0, 0);
final String resultString;
if (year == 0) {
diff --git a/src/com/android/contacts/util/DateUtils.java b/src/com/android/contacts/util/DateUtils.java
index d0bb68f..89127c9 100644
--- a/src/com/android/contacts/util/DateUtils.java
+++ b/src/com/android/contacts/util/DateUtils.java
@@ -21,6 +21,7 @@
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
+import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
@@ -34,6 +35,11 @@
// All the SimpleDateFormats in this class use the UTC timezone
public static final SimpleDateFormat NO_YEAR_DATE_FORMAT =
new SimpleDateFormat("--MM-dd", Locale.US);
+ /**
+ * When parsing a date without a year, the system assumes 1970, which wasn't a leap-year.
+ * Let's add a one-off hack for that day of the year
+ */
+ public static final String NO_YEAR_DATE_FEB29TH = "--02-29";
public static final SimpleDateFormat FULL_DATE_FORMAT =
new SimpleDateFormat("yyyy-MM-dd", Locale.US);
public static final SimpleDateFormat DATE_AND_TIME_FORMAT =
@@ -88,6 +94,14 @@
return null;
}
+ private static final Date getUtcDate(int year, int month, int dayOfMonth) {
+ final Calendar calendar = Calendar.getInstance(UTC_TIMEZONE, Locale.US);
+ calendar.set(Calendar.YEAR, year);
+ calendar.set(Calendar.MONTH, month);
+ calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
+ return calendar.getTime();
+ }
+
/**
* Parses the supplied string to see if it looks like a date. If so,
* returns the same date in a cleaned-up format for the user. Otherwise, returns
@@ -105,13 +119,21 @@
ParsePosition parsePosition = new ParsePosition(0);
+ final boolean noYearParsed;
Date date;
- synchronized (NO_YEAR_DATE_FORMAT) {
- date = NO_YEAR_DATE_FORMAT.parse(string, parsePosition);
+ // Unfortunately, we can't parse Feb 29th correctly, so let's handle this day seperately
+ if (NO_YEAR_DATE_FEB29TH.equals(string)) {
+ date = getUtcDate(0, Calendar.FEBRUARY, 29);
+ noYearParsed = true;
+ } else {
+ synchronized (NO_YEAR_DATE_FORMAT) {
+ date = NO_YEAR_DATE_FORMAT.parse(string, parsePosition);
+ }
+ noYearParsed = parsePosition.getIndex() == string.length();
}
- if (parsePosition.getIndex() == string.length()) {
+ if (noYearParsed) {
java.text.DateFormat outFormat = isMonthBeforeDay(context)
? FORMAT_WITHOUT_YEAR_MONTH_FIRST
: FORMAT_WITHOUT_YEAR_DAY_FIRST;