Merge "Fix suppressed CallDetailsActivityTest tests."
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 9d5381a..0e28ae8 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -16,15 +16,16 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.contacts"
- android:sharedUserId="android.uid.shared"
- android:sharedUserLabel="@string/sharedUserLabel"
->
+ android:sharedUserId="android.uid.shared">
<original-package android:name="com.android.contacts" />
<uses-permission android:name="android.permission.CALL_PRIVILEGED" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
+ <uses-permission android:name="android.permission.GET_ACCOUNTS" />
+ <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+ <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.WRITE_PROFILE" />
<uses-permission android:name="android.permission.INTERNET" />
@@ -48,7 +49,6 @@
android:name="com.android.contacts.ContactsApplication"
android:label="@string/contactsList"
android:icon="@mipmap/ic_launcher_contacts"
- android:process="android.process.acore"
android:taskAffinity="android.task.contacts"
android:hardwareAccelerated="true"
>
@@ -389,7 +389,7 @@
<!-- Create a new or edit an existing group -->
<activity
android:name=".activities.GroupEditorActivity"
- android:theme="@style/ContactEditorActivityTheme"
+ android:theme="@style/EditorActivityTheme"
android:windowSoftInputMode="adjustResize" />
<!-- Used to show QuickContact window over a translucent activity, which is a
@@ -503,7 +503,7 @@
<!-- Create a new or edit an existing contact -->
<activity
android:name=".activities.ContactEditorActivity"
- android:theme="@style/ContactEditorActivityTheme"
+ android:theme="@style/EditorActivityTheme"
android:uiOptions="splitActionBarWhenNarrow"
android:windowSoftInputMode="adjustResize">
diff --git a/res/drawable-hdpi/ab_solid_custom_blue_inverse_holo.9.png b/res/drawable-hdpi/ab_solid_custom_blue_inverse_holo.9.png
new file mode 100644
index 0000000..80fb400
--- /dev/null
+++ b/res/drawable-hdpi/ab_solid_custom_blue_inverse_holo.9.png
Binary files differ
diff --git a/res/drawable-hdpi/change_photo_box_focused_holo_light.9.png b/res/drawable-hdpi/change_photo_box_focused_holo_light.9.png
deleted file mode 100644
index 5254473..0000000
--- a/res/drawable-hdpi/change_photo_box_focused_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/change_photo_box_normal_holo_light.9.png b/res/drawable-hdpi/change_photo_box_normal_holo_light.9.png
deleted file mode 100644
index f026cc8..0000000
--- a/res/drawable-hdpi/change_photo_box_normal_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/change_photo_box_pressed_holo_light.9.png b/res/drawable-hdpi/change_photo_box_pressed_holo_light.9.png
deleted file mode 100644
index a0770ea..0000000
--- a/res/drawable-hdpi/change_photo_box_pressed_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/dial_background_texture.png b/res/drawable-hdpi/dial_background_texture.png
index 5b299fd..7ed0984 100644
--- a/res/drawable-hdpi/dial_background_texture.png
+++ b/res/drawable-hdpi/dial_background_texture.png
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_0_wht.png b/res/drawable-hdpi/dial_num_0_wht.png
index a0720f3..9d7fc62 100644
--- a/res/drawable-hdpi/dial_num_0_wht.png
+++ b/res/drawable-hdpi/dial_num_0_wht.png
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_1_wht.png b/res/drawable-hdpi/dial_num_1_wht.png
index 0c79720..e941c52 100644
--- a/res/drawable-hdpi/dial_num_1_wht.png
+++ b/res/drawable-hdpi/dial_num_1_wht.png
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_2_wht.png b/res/drawable-hdpi/dial_num_2_wht.png
index ab90531..fc5540b 100644
--- a/res/drawable-hdpi/dial_num_2_wht.png
+++ b/res/drawable-hdpi/dial_num_2_wht.png
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_3_wht.png b/res/drawable-hdpi/dial_num_3_wht.png
index 956cba9..45637b9 100644
--- a/res/drawable-hdpi/dial_num_3_wht.png
+++ b/res/drawable-hdpi/dial_num_3_wht.png
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_4_wht.png b/res/drawable-hdpi/dial_num_4_wht.png
index 34e157c..af8c8aa 100644
--- a/res/drawable-hdpi/dial_num_4_wht.png
+++ b/res/drawable-hdpi/dial_num_4_wht.png
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_5_wht.png b/res/drawable-hdpi/dial_num_5_wht.png
index 4a3560a..20ab0b1 100644
--- a/res/drawable-hdpi/dial_num_5_wht.png
+++ b/res/drawable-hdpi/dial_num_5_wht.png
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_6_wht.png b/res/drawable-hdpi/dial_num_6_wht.png
index a60420b..8811b4b 100644
--- a/res/drawable-hdpi/dial_num_6_wht.png
+++ b/res/drawable-hdpi/dial_num_6_wht.png
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_7_wht.png b/res/drawable-hdpi/dial_num_7_wht.png
index 95e4cff..ed6d749 100644
--- a/res/drawable-hdpi/dial_num_7_wht.png
+++ b/res/drawable-hdpi/dial_num_7_wht.png
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_8_wht.png b/res/drawable-hdpi/dial_num_8_wht.png
index 4b17084..6844aeb 100644
--- a/res/drawable-hdpi/dial_num_8_wht.png
+++ b/res/drawable-hdpi/dial_num_8_wht.png
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_9_wht.png b/res/drawable-hdpi/dial_num_9_wht.png
index f772901..df294be 100644
--- a/res/drawable-hdpi/dial_num_9_wht.png
+++ b/res/drawable-hdpi/dial_num_9_wht.png
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_pound_wht.png b/res/drawable-hdpi/dial_num_pound_wht.png
index 1d7f55a..46316e5 100644
--- a/res/drawable-hdpi/dial_num_pound_wht.png
+++ b/res/drawable-hdpi/dial_num_pound_wht.png
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_star_wht.png b/res/drawable-hdpi/dial_num_star_wht.png
index 2add63b..c36e31c 100644
--- a/res/drawable-hdpi/dial_num_star_wht.png
+++ b/res/drawable-hdpi/dial_num_star_wht.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_ab_search_holo_dark.png b/res/drawable-hdpi/ic_ab_search_holo_dark.png
new file mode 100644
index 0000000..6dff03e
--- /dev/null
+++ b/res/drawable-hdpi/ic_ab_search_holo_dark.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_dial_action_delete.png b/res/drawable-hdpi/ic_dial_action_delete.png
index f93a308..0bf8563 100644
--- a/res/drawable-hdpi/ic_dial_action_delete.png
+++ b/res/drawable-hdpi/ic_dial_action_delete.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_list_default_mime_holo_dark.png b/res/drawable-hdpi/ic_list_default_mime_holo_dark.png
new file mode 100644
index 0000000..4dc1c39
--- /dev/null
+++ b/res/drawable-hdpi/ic_list_default_mime_holo_dark.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_add_contact_holo_dark.png b/res/drawable-hdpi/ic_menu_add_contact_holo_dark.png
new file mode 100644
index 0000000..472d5b4
--- /dev/null
+++ b/res/drawable-hdpi/ic_menu_add_contact_holo_dark.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_add_group_holo_dark.png b/res/drawable-hdpi/ic_menu_add_group_holo_dark.png
new file mode 100644
index 0000000..7f92adc
--- /dev/null
+++ b/res/drawable-hdpi/ic_menu_add_group_holo_dark.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_compose_holo_dark.png b/res/drawable-hdpi/ic_menu_compose_holo_dark.png
new file mode 100644
index 0000000..2df1f44
--- /dev/null
+++ b/res/drawable-hdpi/ic_menu_compose_holo_dark.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_done_holo_dark.png b/res/drawable-hdpi/ic_menu_done_holo_dark.png
new file mode 100644
index 0000000..750c77e
--- /dev/null
+++ b/res/drawable-hdpi/ic_menu_done_holo_dark.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_text_holo_dark.png b/res/drawable-hdpi/ic_text_holo_dark.png
index 1816201..6d21e42 100644
--- a/res/drawable-hdpi/ic_text_holo_dark.png
+++ b/res/drawable-hdpi/ic_text_holo_dark.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_text_holo_light.png b/res/drawable-hdpi/ic_text_holo_light.png
new file mode 100644
index 0000000..01af189
--- /dev/null
+++ b/res/drawable-hdpi/ic_text_holo_light.png
Binary files differ
diff --git a/res/drawable-hdpi/list_activated_holo.9.png b/res/drawable-hdpi/list_activated_holo.9.png
index 36ccb79..7b89319 100644
--- a/res/drawable-hdpi/list_activated_holo.9.png
+++ b/res/drawable-hdpi/list_activated_holo.9.png
Binary files differ
diff --git a/res/drawable-hdpi/list_focused_holo.9.png b/res/drawable-hdpi/list_focused_holo.9.png
index 54c5c2d..e962ce8 100644
--- a/res/drawable-hdpi/list_focused_holo.9.png
+++ b/res/drawable-hdpi/list_focused_holo.9.png
Binary files differ
diff --git a/res/drawable-hdpi/list_pressed_holo.9.png b/res/drawable-hdpi/list_pressed_holo.9.png
index 423fa4b..dd183c0 100644
--- a/res/drawable-hdpi/list_pressed_holo.9.png
+++ b/res/drawable-hdpi/list_pressed_holo.9.png
Binary files differ
diff --git a/res/drawable-mdpi/ab_solid_custom_blue_inverse_holo.9.png b/res/drawable-mdpi/ab_solid_custom_blue_inverse_holo.9.png
new file mode 100644
index 0000000..f3c0a90
--- /dev/null
+++ b/res/drawable-mdpi/ab_solid_custom_blue_inverse_holo.9.png
Binary files differ
diff --git a/res/drawable-mdpi/change_photo_box_focused_holo_light.9.png b/res/drawable-mdpi/change_photo_box_focused_holo_light.9.png
deleted file mode 100644
index 47fb773..0000000
--- a/res/drawable-mdpi/change_photo_box_focused_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/change_photo_box_normal_holo_light.9.png b/res/drawable-mdpi/change_photo_box_normal_holo_light.9.png
deleted file mode 100644
index 591e6d5..0000000
--- a/res/drawable-mdpi/change_photo_box_normal_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/change_photo_box_pressed_holo_light.9.png b/res/drawable-mdpi/change_photo_box_pressed_holo_light.9.png
deleted file mode 100644
index 5d5eee2..0000000
--- a/res/drawable-mdpi/change_photo_box_pressed_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/dial_background_texture.png b/res/drawable-mdpi/dial_background_texture.png
index 881f3a0..f0ba700 100644
--- a/res/drawable-mdpi/dial_background_texture.png
+++ b/res/drawable-mdpi/dial_background_texture.png
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_0_wht.png b/res/drawable-mdpi/dial_num_0_wht.png
index 5391fb3..96a0dcd 100644
--- a/res/drawable-mdpi/dial_num_0_wht.png
+++ b/res/drawable-mdpi/dial_num_0_wht.png
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_1_wht.png b/res/drawable-mdpi/dial_num_1_wht.png
index ff8f125..56dbca3 100644
--- a/res/drawable-mdpi/dial_num_1_wht.png
+++ b/res/drawable-mdpi/dial_num_1_wht.png
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_2_wht.png b/res/drawable-mdpi/dial_num_2_wht.png
index 041bafb..4c0991c 100644
--- a/res/drawable-mdpi/dial_num_2_wht.png
+++ b/res/drawable-mdpi/dial_num_2_wht.png
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_3_wht.png b/res/drawable-mdpi/dial_num_3_wht.png
index b91b4f5..81bf770 100644
--- a/res/drawable-mdpi/dial_num_3_wht.png
+++ b/res/drawable-mdpi/dial_num_3_wht.png
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_4_wht.png b/res/drawable-mdpi/dial_num_4_wht.png
index 912b4cb..5f07476 100644
--- a/res/drawable-mdpi/dial_num_4_wht.png
+++ b/res/drawable-mdpi/dial_num_4_wht.png
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_5_wht.png b/res/drawable-mdpi/dial_num_5_wht.png
index efd385f..5cf9c7a 100644
--- a/res/drawable-mdpi/dial_num_5_wht.png
+++ b/res/drawable-mdpi/dial_num_5_wht.png
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_6_wht.png b/res/drawable-mdpi/dial_num_6_wht.png
index c0f47c5..ceffb29 100644
--- a/res/drawable-mdpi/dial_num_6_wht.png
+++ b/res/drawable-mdpi/dial_num_6_wht.png
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_7_wht.png b/res/drawable-mdpi/dial_num_7_wht.png
index 5644f2b..022ef9c 100644
--- a/res/drawable-mdpi/dial_num_7_wht.png
+++ b/res/drawable-mdpi/dial_num_7_wht.png
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_8_wht.png b/res/drawable-mdpi/dial_num_8_wht.png
index d0c517d..c470e68 100644
--- a/res/drawable-mdpi/dial_num_8_wht.png
+++ b/res/drawable-mdpi/dial_num_8_wht.png
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_9_wht.png b/res/drawable-mdpi/dial_num_9_wht.png
index fb443ec..27d94ef 100644
--- a/res/drawable-mdpi/dial_num_9_wht.png
+++ b/res/drawable-mdpi/dial_num_9_wht.png
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_pound_wht.png b/res/drawable-mdpi/dial_num_pound_wht.png
index 11751ec..68908c3 100644
--- a/res/drawable-mdpi/dial_num_pound_wht.png
+++ b/res/drawable-mdpi/dial_num_pound_wht.png
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_star_wht.png b/res/drawable-mdpi/dial_num_star_wht.png
index 61b24c1..cb8aa28 100644
--- a/res/drawable-mdpi/dial_num_star_wht.png
+++ b/res/drawable-mdpi/dial_num_star_wht.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_ab_search_holo_dark.png b/res/drawable-mdpi/ic_ab_search_holo_dark.png
new file mode 100644
index 0000000..5a10e93
--- /dev/null
+++ b/res/drawable-mdpi/ic_ab_search_holo_dark.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_dial_action_delete.png b/res/drawable-mdpi/ic_dial_action_delete.png
index 32b0022..98341e9 100644
--- a/res/drawable-mdpi/ic_dial_action_delete.png
+++ b/res/drawable-mdpi/ic_dial_action_delete.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_list_default_mime_holo_dark.png b/res/drawable-mdpi/ic_list_default_mime_holo_dark.png
new file mode 100644
index 0000000..d950b31
--- /dev/null
+++ b/res/drawable-mdpi/ic_list_default_mime_holo_dark.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_add_contact_holo_dark.png b/res/drawable-mdpi/ic_menu_add_contact_holo_dark.png
new file mode 100644
index 0000000..6a7af38
--- /dev/null
+++ b/res/drawable-mdpi/ic_menu_add_contact_holo_dark.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_add_group_holo_dark.png b/res/drawable-mdpi/ic_menu_add_group_holo_dark.png
new file mode 100644
index 0000000..16ba126
--- /dev/null
+++ b/res/drawable-mdpi/ic_menu_add_group_holo_dark.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_compose_holo_dark.png b/res/drawable-mdpi/ic_menu_compose_holo_dark.png
new file mode 100644
index 0000000..3caf754
--- /dev/null
+++ b/res/drawable-mdpi/ic_menu_compose_holo_dark.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_done_holo_dark.png b/res/drawable-mdpi/ic_menu_done_holo_dark.png
new file mode 100644
index 0000000..7ec8c8f
--- /dev/null
+++ b/res/drawable-mdpi/ic_menu_done_holo_dark.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_text_holo_dark.png b/res/drawable-mdpi/ic_text_holo_dark.png
index bbaa84f..80b95ee 100644
--- a/res/drawable-mdpi/ic_text_holo_dark.png
+++ b/res/drawable-mdpi/ic_text_holo_dark.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_text_holo_light.png b/res/drawable-mdpi/ic_text_holo_light.png
new file mode 100644
index 0000000..76dae05
--- /dev/null
+++ b/res/drawable-mdpi/ic_text_holo_light.png
Binary files differ
diff --git a/res/drawable-mdpi/list_activated_holo.9.png b/res/drawable-mdpi/list_activated_holo.9.png
index f7cd24e..4d98919 100644
--- a/res/drawable-mdpi/list_activated_holo.9.png
+++ b/res/drawable-mdpi/list_activated_holo.9.png
Binary files differ
diff --git a/res/drawable-mdpi/list_focused_holo.9.png b/res/drawable-mdpi/list_focused_holo.9.png
index 32cb628..6e041f3 100644
--- a/res/drawable-mdpi/list_focused_holo.9.png
+++ b/res/drawable-mdpi/list_focused_holo.9.png
Binary files differ
diff --git a/res/drawable-mdpi/list_pressed_holo.9.png b/res/drawable-mdpi/list_pressed_holo.9.png
index 7ea8666..9358dd8 100644
--- a/res/drawable-mdpi/list_pressed_holo.9.png
+++ b/res/drawable-mdpi/list_pressed_holo.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/ab_solid_custom_blue_inverse_holo.9.png b/res/drawable-xhdpi/ab_solid_custom_blue_inverse_holo.9.png
new file mode 100644
index 0000000..3c97b20
--- /dev/null
+++ b/res/drawable-xhdpi/ab_solid_custom_blue_inverse_holo.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/bg_status_contact_widget.9.png b/res/drawable-xhdpi/bg_status_contact_widget.9.png
index db34bf4..ced5296 100644
--- a/res/drawable-xhdpi/bg_status_contact_widget.9.png
+++ b/res/drawable-xhdpi/bg_status_contact_widget.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/change_photo_box_focused_holo_light.9.png b/res/drawable-xhdpi/change_photo_box_focused_holo_light.9.png
deleted file mode 100644
index 7dbd1e6..0000000
--- a/res/drawable-xhdpi/change_photo_box_focused_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/change_photo_box_normal_holo_light.9.png b/res/drawable-xhdpi/change_photo_box_normal_holo_light.9.png
deleted file mode 100644
index 7e1e97f..0000000
--- a/res/drawable-xhdpi/change_photo_box_normal_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/change_photo_box_pressed_holo_light.9.png b/res/drawable-xhdpi/change_photo_box_pressed_holo_light.9.png
deleted file mode 100644
index e98266f..0000000
--- a/res/drawable-xhdpi/change_photo_box_pressed_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/contacts_widget_preview.png b/res/drawable-xhdpi/contacts_widget_preview.png
index 65ac914..1f42ca0 100644
--- a/res/drawable-xhdpi/contacts_widget_preview.png
+++ b/res/drawable-xhdpi/contacts_widget_preview.png
Binary files differ
diff --git a/res/drawable-xhdpi/dial_background_texture.png b/res/drawable-xhdpi/dial_background_texture.png
index 4c8617a..3d6e8c7 100644
--- a/res/drawable-xhdpi/dial_background_texture.png
+++ b/res/drawable-xhdpi/dial_background_texture.png
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_0_wht.png b/res/drawable-xhdpi/dial_num_0_wht.png
index 99aca70..f6f96cc 100644
--- a/res/drawable-xhdpi/dial_num_0_wht.png
+++ b/res/drawable-xhdpi/dial_num_0_wht.png
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_1_wht.png b/res/drawable-xhdpi/dial_num_1_wht.png
index 5a54bfd..8333aba 100644
--- a/res/drawable-xhdpi/dial_num_1_wht.png
+++ b/res/drawable-xhdpi/dial_num_1_wht.png
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_2_wht.png b/res/drawable-xhdpi/dial_num_2_wht.png
index 3407d79..02f8fdf 100644
--- a/res/drawable-xhdpi/dial_num_2_wht.png
+++ b/res/drawable-xhdpi/dial_num_2_wht.png
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_3_wht.png b/res/drawable-xhdpi/dial_num_3_wht.png
index dd16bbb..44383b5 100644
--- a/res/drawable-xhdpi/dial_num_3_wht.png
+++ b/res/drawable-xhdpi/dial_num_3_wht.png
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_4_wht.png b/res/drawable-xhdpi/dial_num_4_wht.png
index 98f8773..f90cb73 100644
--- a/res/drawable-xhdpi/dial_num_4_wht.png
+++ b/res/drawable-xhdpi/dial_num_4_wht.png
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_5_wht.png b/res/drawable-xhdpi/dial_num_5_wht.png
index 12a92bf..c41c615 100644
--- a/res/drawable-xhdpi/dial_num_5_wht.png
+++ b/res/drawable-xhdpi/dial_num_5_wht.png
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_6_wht.png b/res/drawable-xhdpi/dial_num_6_wht.png
index 39c3eda..4c7a235 100644
--- a/res/drawable-xhdpi/dial_num_6_wht.png
+++ b/res/drawable-xhdpi/dial_num_6_wht.png
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_7_wht.png b/res/drawable-xhdpi/dial_num_7_wht.png
index 5e3a0b0..fabca99 100644
--- a/res/drawable-xhdpi/dial_num_7_wht.png
+++ b/res/drawable-xhdpi/dial_num_7_wht.png
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_8_wht.png b/res/drawable-xhdpi/dial_num_8_wht.png
index d68142d..7bd70b0 100644
--- a/res/drawable-xhdpi/dial_num_8_wht.png
+++ b/res/drawable-xhdpi/dial_num_8_wht.png
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_9_wht.png b/res/drawable-xhdpi/dial_num_9_wht.png
index b34bc1d..207276c 100644
--- a/res/drawable-xhdpi/dial_num_9_wht.png
+++ b/res/drawable-xhdpi/dial_num_9_wht.png
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_pound_wht.png b/res/drawable-xhdpi/dial_num_pound_wht.png
index a4ead0a..b2cac17 100644
--- a/res/drawable-xhdpi/dial_num_pound_wht.png
+++ b/res/drawable-xhdpi/dial_num_pound_wht.png
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_star_wht.png b/res/drawable-xhdpi/dial_num_star_wht.png
index ba0a787..2862c45 100644
--- a/res/drawable-xhdpi/dial_num_star_wht.png
+++ b/res/drawable-xhdpi/dial_num_star_wht.png
Binary files differ
diff --git a/res/drawable-xhdpi/frame_thumbnail_contact_widget_focused_holo.png b/res/drawable-xhdpi/frame_thumbnail_contact_widget_focused_holo.png
index a05ca8a..157ef56 100644
--- a/res/drawable-xhdpi/frame_thumbnail_contact_widget_focused_holo.png
+++ b/res/drawable-xhdpi/frame_thumbnail_contact_widget_focused_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/frame_thumbnail_contact_widget_holo.png b/res/drawable-xhdpi/frame_thumbnail_contact_widget_holo.png
index bf2e4a8..7719710 100644
--- a/res/drawable-xhdpi/frame_thumbnail_contact_widget_holo.png
+++ b/res/drawable-xhdpi/frame_thumbnail_contact_widget_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/frame_thumbnail_contact_widget_pressed_holo.png b/res/drawable-xhdpi/frame_thumbnail_contact_widget_pressed_holo.png
index 6541c62..8c5008b 100644
--- a/res/drawable-xhdpi/frame_thumbnail_contact_widget_pressed_holo.png
+++ b/res/drawable-xhdpi/frame_thumbnail_contact_widget_pressed_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_ab_search_holo_dark.png b/res/drawable-xhdpi/ic_ab_search_holo_dark.png
new file mode 100644
index 0000000..b2d23c9
--- /dev/null
+++ b/res/drawable-xhdpi/ic_ab_search_holo_dark.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_dial_action_delete.png b/res/drawable-xhdpi/ic_dial_action_delete.png
index 9c0b4f0..989e8b1 100644
--- a/res/drawable-xhdpi/ic_dial_action_delete.png
+++ b/res/drawable-xhdpi/ic_dial_action_delete.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_list_default_mime_holo_dark.png b/res/drawable-xhdpi/ic_list_default_mime_holo_dark.png
new file mode 100644
index 0000000..73cddd1
--- /dev/null
+++ b/res/drawable-xhdpi/ic_list_default_mime_holo_dark.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_add_contact_holo_dark.png b/res/drawable-xhdpi/ic_menu_add_contact_holo_dark.png
new file mode 100644
index 0000000..e94b91b
--- /dev/null
+++ b/res/drawable-xhdpi/ic_menu_add_contact_holo_dark.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_add_group_holo_dark.png b/res/drawable-xhdpi/ic_menu_add_group_holo_dark.png
new file mode 100644
index 0000000..d4bd681
--- /dev/null
+++ b/res/drawable-xhdpi/ic_menu_add_group_holo_dark.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_compose_holo_dark.png b/res/drawable-xhdpi/ic_menu_compose_holo_dark.png
new file mode 100644
index 0000000..cd868d2
--- /dev/null
+++ b/res/drawable-xhdpi/ic_menu_compose_holo_dark.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_done_holo_dark.png b/res/drawable-xhdpi/ic_menu_done_holo_dark.png
new file mode 100644
index 0000000..b9af04a
--- /dev/null
+++ b/res/drawable-xhdpi/ic_menu_done_holo_dark.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_text_holo_dark.png b/res/drawable-xhdpi/ic_text_holo_dark.png
index 8c697d9..e80a042 100644
--- a/res/drawable-xhdpi/ic_text_holo_dark.png
+++ b/res/drawable-xhdpi/ic_text_holo_dark.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_text_holo_light.png b/res/drawable-xhdpi/ic_text_holo_light.png
new file mode 100644
index 0000000..6fb8e92
--- /dev/null
+++ b/res/drawable-xhdpi/ic_text_holo_light.png
Binary files differ
diff --git a/res/drawable-xhdpi/list_activated_holo.9.png b/res/drawable-xhdpi/list_activated_holo.9.png
index bb9a7f9..4e13add 100644
--- a/res/drawable-xhdpi/list_activated_holo.9.png
+++ b/res/drawable-xhdpi/list_activated_holo.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/list_focused_holo.9.png b/res/drawable-xhdpi/list_focused_holo.9.png
index 6051708..9c90c2b 100644
--- a/res/drawable-xhdpi/list_focused_holo.9.png
+++ b/res/drawable-xhdpi/list_focused_holo.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/list_pressed_holo.9.png b/res/drawable-xhdpi/list_pressed_holo.9.png
index f4b4c38..d0fc7e0 100644
--- a/res/drawable-xhdpi/list_pressed_holo.9.png
+++ b/res/drawable-xhdpi/list_pressed_holo.9.png
Binary files differ
diff --git a/res/drawable/change_photo_box_holo_light.xml b/res/drawable/change_photo_box_holo_light.xml
deleted file mode 100644
index f08beb0..0000000
--- a/res/drawable/change_photo_box_holo_light.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_window_focused="false"
- android:drawable="@drawable/change_photo_box_normal_holo_light" />
- <item android:state_pressed="true"
- android:drawable="@drawable/change_photo_box_pressed_holo_light" />
- <item android:state_focused="true"
- android:drawable="@drawable/change_photo_box_focused_holo_light" />
- <item
- android:drawable="@drawable/change_photo_box_normal_holo_light" />
-</selector>
diff --git a/res/layout-sw580dp/event_field_editor_view.xml b/res/layout-sw580dp/event_field_editor_view.xml
index f31b283..822de37 100644
--- a/res/layout-sw580dp/event_field_editor_view.xml
+++ b/res/layout-sw580dp/event_field_editor_view.xml
@@ -39,7 +39,6 @@
<include
android:id="@+id/spinner"
layout="@layout/edit_spinner"
- android:paddingTop="15dip"
android:visibility="gone" />
<include
diff --git a/res/layout-sw580dp/external_raw_contact_editor_view.xml b/res/layout-sw580dp/external_raw_contact_editor_view.xml
index b185c8a..fba5220 100644
--- a/res/layout-sw580dp/external_raw_contact_editor_view.xml
+++ b/res/layout-sw580dp/external_raw_contact_editor_view.xml
@@ -22,8 +22,7 @@
android:orientation="vertical">
<include
- layout="@layout/raw_contact_editor_header"
- android:id="@+id/header" />
+ layout="@layout/editor_account_header" />
<LinearLayout
android:id="@+id/body"
diff --git a/res/layout-sw580dp/people_activity.xml b/res/layout-sw580dp/people_activity.xml
index 1d02042..8bf627f 100644
--- a/res/layout-sw580dp/people_activity.xml
+++ b/res/layout-sw580dp/people_activity.xml
@@ -40,11 +40,6 @@
android:background="@drawable/list_background_holo"
android:visibility="gone">
- <View
- style="@style/SectionDivider"
- android:layout_marginLeft="40dip"
- android:layout_marginTop="24dip" />
-
<!-- All -->
<fragment
android:id="@+id/all_fragment"
diff --git a/res/layout-sw580dp/raw_contact_editor_header.xml b/res/layout-sw580dp/raw_contact_editor_header.xml
deleted file mode 100644
index 498998d..0000000
--- a/res/layout-sw580dp/raw_contact_editor_header.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 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.
--->
-
-
-<!-- Account info header -->
-<FrameLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_height="64dip"
- android:layout_width="match_parent">
-
- <RelativeLayout
- android:id="@+id/account"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="?android:attr/selectableItemBackground">
-
- <ImageView
- android:id="@+id/account_icon"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginLeft="7dip"
- android:layout_marginRight="7dip"
- android:layout_centerVertical="true"
- android:layout_alignParentRight="true"
- android:layout_below="@id/header_color_bar" />
-
- <TextView
- android:id="@+id/account_type"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_toLeftOf="@+id/account_icon"
- android:layout_alignTop="@id/account_icon"
- android:layout_marginTop="-4dip"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:textColor="?android:attr/textColorPrimary"
- android:singleLine="true" />
-
- <TextView
- android:id="@+id/account_name"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_toLeftOf="@+id/account_icon"
- android:layout_alignBottom="@+id/account_icon"
- android:layout_marginBottom="2dip"
-
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="?android:attr/textColorPrimary"
- android:singleLine="true" />
-
- <include
- android:id="@+id/divider"
- android:layout_alignParentBottom="true"
- layout="@layout/edit_divider" />
- </RelativeLayout>
-</FrameLayout>
\ No newline at end of file
diff --git a/res/layout-sw580dp/raw_contact_editor_view.xml b/res/layout-sw580dp/raw_contact_editor_view.xml
index 9c3f708..11fc161 100644
--- a/res/layout-sw580dp/raw_contact_editor_view.xml
+++ b/res/layout-sw580dp/raw_contact_editor_view.xml
@@ -21,14 +21,8 @@
android:layout_height="wrap_content"
android:orientation="vertical">
- <FrameLayout
- android:id="@+id/anchor_for_account_switcher"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content">
- <include
- layout="@layout/raw_contact_editor_header"
- android:id="@+id/header" />
- </FrameLayout>
+ <include
+ layout="@layout/editor_account_header" />
<LinearLayout
android:id="@+id/body"
@@ -124,8 +118,8 @@
<com.android.contacts.widget.InterpolatingLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginTop="10dip"
- android:layout_marginBottom="42dip">
+ android:layout_marginTop="16dip"
+ android:layout_marginBottom="32dip">
<Button
android:id="@+id/button_add_field"
android:text="@string/add_field"
diff --git a/res/layout/add_group_menu_item.xml b/res/layout/add_group_menu_item.xml
index b2ff678..841159e 100644
--- a/res/layout/add_group_menu_item.xml
+++ b/res/layout/add_group_menu_item.xml
@@ -36,7 +36,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginRight="8dip"
- android:src="@drawable/ic_menu_display_all_holo_light"
+ android:src="@drawable/ic_menu_add_group_holo_dark"
android:description="@string/menu_new_group_action_bar" />
<TextView
@@ -44,6 +44,10 @@
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:textAppearance="?android:attr/textAppearanceMedium"
- android:text="@string/menu_new_group_action_bar" />
+ android:text="@string/menu_new_group_action_bar"
+ android:textColor="@color/action_bar_button_text_color"
+ style="@android:style/Widget.Holo.ActionBar.TabText" />
+
</LinearLayout>
+
</LinearLayout>
diff --git a/res/layout/contact_detail_list_item.xml b/res/layout/contact_detail_list_item.xml
index e2818e9..ccfa01d 100644
--- a/res/layout/contact_detail_list_item.xml
+++ b/res/layout/contact_detail_list_item.xml
@@ -76,7 +76,7 @@
android:layout_height="16dip"
android:visibility="gone"
android:layout_gravity="center_vertical"
- android:background="@drawable/ic_menu_mark" />
+ android:background="@drawable/ic_list_default_mime_holo_dark" />
</LinearLayout>
diff --git a/res/layout/contact_list_filter.xml b/res/layout/contact_list_filter.xml
index de05cf8..37aaf53 100644
--- a/res/layout/contact_list_filter.xml
+++ b/res/layout/contact_list_filter.xml
@@ -25,7 +25,9 @@
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="0dip"
- android:layout_weight="1" />
+ android:layout_weight="1"
+ android:layout_marginLeft="@dimen/contact_filter_left_margin"
+ android:layout_marginRight="@dimen/contact_filter_right_margin" />
<View
android:layout_width="match_parent"
diff --git a/res/layout/contact_list_filter_custom.xml b/res/layout/contact_list_filter_custom.xml
index 195ff1a..a4fe48e 100644
--- a/res/layout/contact_list_filter_custom.xml
+++ b/res/layout/contact_list_filter_custom.xml
@@ -25,8 +25,8 @@
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
- android:layout_marginLeft="16dip"
- android:layout_marginRight="16dip"/>
+ android:layout_marginLeft="@dimen/contact_filter_left_margin"
+ android:layout_marginRight="@dimen/contact_filter_right_margin" />
<View
android:layout_width="match_parent"
diff --git a/res/layout/filter_spinner_item.xml b/res/layout/contact_list_filter_item.xml
similarity index 75%
rename from res/layout/filter_spinner_item.xml
rename to res/layout/contact_list_filter_item.xml
index c2d5d68..b27cab8 100644
--- a/res/layout/filter_spinner_item.xml
+++ b/res/layout/contact_list_filter_item.xml
@@ -17,32 +17,27 @@
<view
xmlns:android="http://schemas.android.com/apk/res/android"
class="com.android.contacts.list.ContactListFilterView"
- android:layout_height="52dip"
- android:layout_width="fill_parent"
- android:paddingLeft="7dip"
- android:paddingRight="7dip"
- android:paddingTop="2dip"
- android:paddingBottom="2dip"
- android:gravity="left">
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="@dimen/contact_filter_item_min_height">
<View
android:id="@+id/indent"
- android:layout_width="40dip"
+ android:layout_width="32dip"
android:layout_height="fill_parent" />
<ImageView
android:id="@+id/icon"
android:scaleType="fitCenter"
- android:layout_width="24dip"
- android:layout_height="24dip"
- android:layout_marginLeft="8dip"
- android:layout_marginRight="7dip"
+ android:layout_width="@dimen/contact_filter_icon_size"
+ android:layout_height="@dimen/contact_filter_icon_size"
android:layout_gravity="center_vertical" />
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
- android:layout_height="fill_parent"
+ android:layout_height="match_parent"
+ android:layout_marginLeft="8dip"
android:textAppearance="?android:attr/textAppearanceMedium"
android:gravity="center_vertical"
android:ellipsize="end" />
diff --git a/res/layout/contacts_list_content.xml b/res/layout/contacts_list_content.xml
index 490499c..92841b6 100644
--- a/res/layout/contacts_list_content.xml
+++ b/res/layout/contacts_list_content.xml
@@ -14,10 +14,14 @@
limitations under the License.
-->
+<!-- android:paddingTop is used instead of android:layout_marginTop. It looks
+ android:layout_marginTop is ignored when used with <fragment></fragment>, which
+ only happens in Tablet UI since we rely on ViewPager in Phone UI.
+ Instead, android:layout_marginTop inside <fragment /> is effective. -->
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pinned_header_list_layout"
- android:layout_marginTop="@dimen/contact_browser_list_top_margin"
+ android:paddingTop="@dimen/contact_browser_list_top_margin"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
@@ -25,24 +29,38 @@
android:layout_height="match_parent"
android:orientation="vertical">
- <TextView
- android:id="@+id/account_filter_header"
+ <!-- Shown only when an Account filter is set. -->
+ <LinearLayout
+ android:id="@+id/account_filter_header_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:singleLine="true"
- android:ellipsize="end"
- android:gravity="center"
- android:padding="5dip"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="@android:color/white"
- android:background="@android:color/black"
- android:visibility="gone" />
+ android:orientation="vertical"
+ android:layout_marginLeft="@dimen/contact_browser_list_header_left_margin"
+ android:layout_marginRight="@dimen/contact_browser_list_header_right_margin"
+ android:visibility="gone">
+ <TextView
+ android:id="@+id/account_filter_header"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="@dimen/contact_filter_header_min_height"
+ android:layout_marginLeft="8dip"
+ android:singleLine="true"
+ android:ellipsize="end"
+ android:gravity="left"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textColor="?android:attr/textColorSecondary" />
+ <View
+ android:id="@+id/account_filter_header_bottom_divider"
+ style="@style/SectionDivider" />
+ </LinearLayout>
<view
class="com.android.contacts.list.ContactEntryListView"
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="0dip"
+ android:layout_marginLeft="@dimen/contact_browser_list_left_margin"
+ android:layout_marginRight="@dimen/contact_browser_list_right_margin"
android:fastScrollEnabled="true"
android:layout_weight="1" />
@@ -61,7 +79,7 @@
android:ellipsize="end"
android:gravity="right"
android:layout_gravity="top|right"
- android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/contact_count_text_color"
android:background="@color/contact_browser_list_bk_color" />
</FrameLayout>
diff --git a/res/layout/custom_contact_list_filter_account.xml b/res/layout/custom_contact_list_filter_account.xml
index b19ae2d..8c1b6c1 100644
--- a/res/layout/custom_contact_list_filter_account.xml
+++ b/res/layout/custom_contact_list_filter_account.xml
@@ -37,7 +37,7 @@
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="marquee"
- android:textAppearance="?android:attr/textAppearanceLarge"
+ android:textAppearance="?android:attr/textAppearanceMedium"
android:duplicateParentState="true" />
<TextView
@@ -46,8 +46,9 @@
android:layout_height="wrap_content"
android:layout_below="@android:id/text1"
android:layout_alignLeft="@android:id/text1"
- android:maxLines="2"
+ android:maxLines="1"
android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textColor="?android:attr/textColorTertiary"
android:duplicateParentState="true" />
</RelativeLayout>
diff --git a/res/layout/directory_header.xml b/res/layout/directory_header.xml
index 2748923..af0b5bd 100644
--- a/res/layout/directory_header.xml
+++ b/res/layout/directory_header.xml
@@ -19,42 +19,40 @@
xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/DirectoryHeader"
android:layout_width="match_parent"
- android:layout_height="@dimen/directory_header_height"
- >
- <TextView
- android:id="@+id/count"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:layout_centerVertical="true"
- android:layout_alignParentRight="true"
- android:layout_marginRight="8dip"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="?android:attr/textColorTertiary"
- android:textStyle="bold"
- />
- <TextView
- android:id="@+id/label"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_alignBaseline="@id/count"
- android:layout_marginLeft="8dip"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="?android:attr/textColorTertiary"
- android:textStyle="bold"
- />
+ android:layout_height="wrap_content">
<TextView
android:id="@+id/display_name"
- android:layout_height="wrap_content"
android:layout_width="wrap_content"
- android:layout_toRightOf="@id/label"
- android:layout_toLeftOf="@id/count"
- android:layout_alignBaseline="@id/count"
- android:layout_marginLeft="6dip"
- android:layout_marginRight="6dip"
+ android:layout_height="wrap_content"
+ android:minHeight="@dimen/directory_header_height"
+ android:layout_toRightOf="@+id/label"
+ android:layout_toLeftOf="@+id/count"
+ android:layout_centerVertical="true"
+ android:layout_marginLeft="8dip"
+ android:layout_marginRight="8dip"
android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="?android:attr/textColorTertiary"
- android:singleLine="true"
- android:ellipsize="end"
- />
+ android:textColor="?android:attr/textColorSecondary"
+ android:singleLine="true" />
+ <TextView
+ android:id="@+id/label"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:layout_alignBaseline="@id/display_name"
+ android:layout_marginLeft="8dip"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textColor="?android:attr/textColorSecondary" />
+ <TextView
+ android:id="@+id/count"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:layout_marginRight="8dip"
+ android:layout_alignBaseline="@id/display_name"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textColor="?android:attr/textColorSecondary" />
+ <View
+ android:id="@+id/contact_filter_header_bottom_divider"
+ style="@style/SectionDivider"
+ android:layout_below="@id/display_name" />
</RelativeLayout>
diff --git a/res/layout/edit_add_field.xml b/res/layout/edit_add_field.xml
index 31ea05d..b17185d 100644
--- a/res/layout/edit_add_field.xml
+++ b/res/layout/edit_add_field.xml
@@ -17,7 +17,8 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingLeft="13dip"
+ android:minHeight="48dip"
+ android:paddingLeft="16dip"
android:background="?android:attr/selectableItemBackground">
<TextView
android:id="@+id/add_text"
@@ -26,6 +27,6 @@
android:layout_height="wrap_content"
android:duplicateParentState="true"
android:textAppearance="?android:attr/textAppearanceMedium"
- android:textColor="?android:attr/textColorTertiary"
+ android:textColor="?android:attr/textColorSecondary"
android:text="@string/add_new_entry_for_section" />
</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/edit_date_picker.xml b/res/layout/edit_date_picker.xml
index c18d607..5122bbe 100644
--- a/res/layout/edit_date_picker.xml
+++ b/res/layout/edit_date_picker.xml
@@ -19,10 +19,11 @@
<Button
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/date_view"
+ style="?android:attr/spinnerStyle"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginLeft="@dimen/editor_field_left_padding"
android:layout_marginRight="@dimen/editor_field_right_padding"
android:textAppearance="?android:attr/textAppearanceMedium"
- style="@android:style/Widget.Holo.Light.Spinner" />
\ No newline at end of file
+ android:paddingLeft="16dip" />
\ No newline at end of file
diff --git a/res/layout/edit_expansion_view.xml b/res/layout/edit_expansion_view.xml
index 96fe8de..267593d 100644
--- a/res/layout/edit_expansion_view.xml
+++ b/res/layout/edit_expansion_view.xml
@@ -19,12 +19,12 @@
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="top">
+ android:layout_height="match_parent">
<ImageView
android:id="@+id/expansion_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_gravity="top"
android:duplicateParentState="true"
android:background="?android:attr/selectableItemBackground"
android:paddingLeft="@dimen/editor_round_button_padding_left"
diff --git a/res/layout/edit_kind_title.xml b/res/layout/edit_kind_title.xml
index 619ba49..0f755ee 100644
--- a/res/layout/edit_kind_title.xml
+++ b/res/layout/edit_kind_title.xml
@@ -21,22 +21,23 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingLeft="@dimen/editor_field_left_padding"
- android:paddingRight="@dimen/editor_field_right_padding"
+ android:minHeight="24dip"
+ android:paddingLeft="8dip"
+ android:paddingRight="8dip"
android:orientation="vertical">
<TextView
android:id="@+id/kind_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:paddingLeft="@dimen/editor_field_left_padding"
+ android:paddingLeft="8dip"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/people_app_theme_color"
android:textStyle="bold"
+ android:textAllCaps="true"
android:singleLine="true"
android:ellipsize="end"
- android:paddingTop="5dip"
- android:paddingBottom="2dip" />
+ android:layout_gravity="center_vertical" />
<ImageView
android:id="@+id/divider"
diff --git a/res/layout/edit_spinner.xml b/res/layout/edit_spinner.xml
index 325eb50..37edcbd 100644
--- a/res/layout/edit_spinner.xml
+++ b/res/layout/edit_spinner.xml
@@ -20,8 +20,8 @@
<Spinner
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/spinner"
+ android:layout_gravity="top"
android:layout_width="@dimen/editor_type_label_width"
android:layout_height="wrap_content"
android:paddingLeft="5dip"
- android:paddingRight="20dip"
- android:textAppearance="?android:attr/textAppearanceSmall"/>
\ No newline at end of file
+ android:paddingRight="20dip"/>
\ No newline at end of file
diff --git a/res/layout/editor_account_header.xml b/res/layout/editor_account_header.xml
index fbce1f9..5181708 100644
--- a/res/layout/editor_account_header.xml
+++ b/res/layout/editor_account_header.xml
@@ -16,11 +16,16 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/account_container"
android:layout_height="wrap_content"
android:layout_width="match_parent"
+ android:minHeight="48dip"
+ android:background="#EEEEEE"
android:orientation="horizontal"
- android:paddingLeft="10dip"
- android:paddingRight="10dip">
+ android:paddingTop="8dip"
+ android:paddingBottom="8dip"
+ android:paddingLeft="16dip"
+ android:paddingRight="16dip">
<LinearLayout
android:id="@+id/account"
@@ -53,8 +58,8 @@
<ImageView
android:id="@+id/account_icon"
- android:layout_width="45dip"
- android:layout_height="45dip"
+ android:layout_width="32dip"
+ android:layout_height="32dip"
android:layout_gravity="center_vertical" />
</FrameLayout>
diff --git a/res/layout/editor_custom_action_bar.xml b/res/layout/editor_custom_action_bar.xml
index 0f42213..c22b089 100644
--- a/res/layout/editor_custom_action_bar.xml
+++ b/res/layout/editor_custom_action_bar.xml
@@ -40,7 +40,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginRight="8dip"
- android:src="@drawable/ic_menu_done_holo_light"
+ android:src="@drawable/ic_menu_done_holo_dark"
android:description="@string/menu_done" />
<TextView
@@ -49,7 +49,7 @@
android:layout_gravity="center_vertical"
android:layout_marginRight="20dip"
android:textAppearance="?android:attr/textAppearanceMedium"
- android:textColor="@android:color/white"
+ android:textColor="@color/action_bar_button_text_color"
android:text="@string/menu_done"
style="@android:style/Widget.Holo.ActionBar.TabText" />
diff --git a/res/layout/event_field_editor_view.xml b/res/layout/event_field_editor_view.xml
index 0dceafc..6903772 100644
--- a/res/layout/event_field_editor_view.xml
+++ b/res/layout/event_field_editor_view.xml
@@ -35,10 +35,14 @@
android:id="@+id/date_view"
layout="@layout/edit_date_picker" />
- <include
+ <Spinner
android:id="@+id/spinner"
- layout="@layout/edit_spinner"
- android:visibility="gone" />
+ android:layout_width="@dimen/editor_type_label_width"
+ android:layout_height="wrap_content"
+ android:paddingLeft="5dip"
+ android:paddingRight="20dip"
+ android:layout_gravity="bottom"
+ android:visibility="gone"/>
<include
android:id="@+id/delete_button_container"
diff --git a/res/layout/external_raw_contact_editor_view.xml b/res/layout/external_raw_contact_editor_view.xml
index 661371d..6f39b34 100644
--- a/res/layout/external_raw_contact_editor_view.xml
+++ b/res/layout/external_raw_contact_editor_view.xml
@@ -19,90 +19,54 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:paddingBottom="10dip">
+ android:orientation="vertical">
- <!-- Left side color bar -->
- <ImageView
- android:id="@+id/color_bar"
- android:layout_width="4dip"
- android:layout_height="match_parent"
- android:visibility="gone"/>
+ <include
+ layout="@layout/editor_account_header" />
- <!-- The content -->
<LinearLayout
- android:layout_width="0dip"
android:layout_height="wrap_content"
- android:layout_weight="1"
- android:orientation="vertical">
+ android:layout_width="match_parent"
+ android:orientation="horizontal"
+ android:paddingLeft="16dip"
+ android:paddingRight="16dip">
- <!-- Account info header -->
- <ImageView android:id="@+id/header_color_bar"
- android:layout_width="match_parent"
- android:layout_height="4dip"
- android:layout_marginBottom="5dip"
- android:background="@color/edit_divider"/>
+ <TextView android:id="@+id/read_only_name"
+ android:layout_width="0dip"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:gravity="center_vertical"
+ android:singleLine="true"
+ android:ellipsize="end"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textColor="?android:attr/textColorSecondary"
+ android:textStyle="bold"/>
- <TextView
- android:id="@+id/read_only_warning"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="10dip"
- android:paddingLeft="10dip"
- android:paddingRight="10dip"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="?android:attr/textColorTertiary"/>
+ <FrameLayout
+ android:id="@+id/stub_photo"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
- <include
- android:id="@+id/account_header"
- layout="@layout/editor_account_header" />
+ <include
+ android:id="@+id/edit_photo"
+ layout="@layout/item_photo_editor" />
- <LinearLayout
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:orientation="horizontal"
- android:paddingTop="20dip"
- android:paddingLeft="10dip"
- android:paddingRight="10dip">
-
- <TextView android:id="@+id/read_only_name"
- android:layout_width="0dip"
- android:layout_height="match_parent"
- android:layout_weight="1"
- android:gravity="center_vertical"
- android:singleLine="true"
- android:ellipsize="end"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:textColor="?android:attr/textColorTertiary"
- android:textStyle="bold"/>
-
- <FrameLayout
- android:id="@+id/stub_photo"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content">
-
- <include
- android:id="@+id/edit_photo"
- layout="@layout/item_photo_editor" />
-
- </FrameLayout>
-
- </LinearLayout>
-
- <Button
- android:id="@+id/button_edit_externally"
- android:text="@string/edit_contact"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="13dip"
- android:layout_marginBottom="13dip"
- android:layout_marginLeft="13dip"/>
-
- <LinearLayout android:id="@+id/sect_general"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"/>
+ </FrameLayout>
</LinearLayout>
+ <Button
+ android:id="@+id/button_edit_externally"
+ android:text="@string/edit_contact"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="13dip"
+ android:layout_marginBottom="13dip"
+ android:layout_marginLeft="13dip"/>
+
+ <LinearLayout android:id="@+id/sect_general"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"/>
+
</com.android.contacts.editor.ExternalRawContactEditorView>
diff --git a/res/layout/group_browse_list_item.xml b/res/layout/group_browse_list_item.xml
index b9b272c..6f5fcef 100644
--- a/res/layout/group_browse_list_item.xml
+++ b/res/layout/group_browse_list_item.xml
@@ -86,26 +86,22 @@
android:id="@+id/icon_1"
android:layout_width="@dimen/group_list_icon_size"
android:layout_height="@dimen/group_list_icon_size"
- android:layout_marginRight="1dip"
- android:src="@drawable/ic_contact_picture" />
+ android:layout_marginRight="1dip" />
<ImageView
android:id="@+id/icon_2"
android:layout_width="@dimen/group_list_icon_size"
- android:layout_height="@dimen/group_list_icon_size"
- android:src="@drawable/ic_contact_picture" />
+ android:layout_height="@dimen/group_list_icon_size" />
</TableRow>
<TableRow>
<ImageView
android:id="@+id/icon_3"
android:layout_width="@dimen/group_list_icon_size"
android:layout_height="@dimen/group_list_icon_size"
- android:layout_marginRight="1dip"
- android:src="@drawable/ic_contact_picture" />
+ android:layout_marginRight="1dip" />
<ImageView
android:id="@+id/icon_4"
android:layout_width="@dimen/group_list_icon_size"
- android:layout_height="@dimen/group_list_icon_size"
- android:src="@drawable/ic_contact_picture" />
+ android:layout_height="@dimen/group_list_icon_size" />
</TableRow>
</TableLayout>
diff --git a/res/layout/item_group_membership.xml b/res/layout/item_group_membership.xml
index 62d06ea..b6d11f2 100644
--- a/res/layout/item_group_membership.xml
+++ b/res/layout/item_group_membership.xml
@@ -34,6 +34,6 @@
android:gravity="left|center_vertical"
android:ellipsize="end"
android:focusable="true"
- android:paddingLeft="@dimen/editor_field_left_padding" />
+ android:paddingLeft="16dip" />
</com.android.contacts.editor.GroupMembershipView>
diff --git a/res/layout/item_kind_section.xml b/res/layout/item_kind_section.xml
index 0b6017c..157ca1c 100644
--- a/res/layout/item_kind_section.xml
+++ b/res/layout/item_kind_section.xml
@@ -20,7 +20,6 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingBottom="@dimen/editor_field_bottom_padding"
android:orientation="vertical">
<include
diff --git a/res/layout/item_photo_editor.xml b/res/layout/item_photo_editor.xml
index 3590963..2e73cb2 100644
--- a/res/layout/item_photo_editor.xml
+++ b/res/layout/item_photo_editor.xml
@@ -36,6 +36,6 @@
android:clickable="true"
android:focusable="true"
android:contentDescription="@string/description_contact_photo"
- android:background="@drawable/change_photo_box_holo_light"
+ android:background="?android:attr/selectableItemBackground"
/>
</view>
diff --git a/res/layout/item_read_only_field.xml b/res/layout/item_read_only_field.xml
index 9e0967e..03778cc 100644
--- a/res/layout/item_read_only_field.xml
+++ b/res/layout/item_read_only_field.xml
@@ -16,37 +16,20 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="?android:attr/listPreferredItemHeight"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
- android:orientation="vertical"
->
-
- <TextView android:id="@+id/label"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginLeft="10dip"
- android:layout_marginTop="2dip"
-
- android:textAppearance="?android:attr/textAppearanceLarge"
- android:singleLine="true"
- />
+ <include
+ android:id="@+id/kind_title_layout"
+ layout="@layout/edit_kind_title" />
<TextView android:id="@+id/data"
android:layout_width="wrap_content"
android:layout_height="0px"
android:layout_weight="1"
- android:layout_marginLeft="10dip"
- android:layout_marginBottom="4dip"
-
+ android:layout_marginLeft="16dip"
android:textAppearance="?android:attr/textAppearanceMedium"
- android:singleLine="true"
- />
-
- <View
- android:layout_width="match_parent"
- android:layout_height="1px"
-
- android:background="?android:attr/listDivider"
- />
+ android:textColor="?android:attr/textColorSecondary"
+ android:singleLine="true"/>
</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/organization_editor_view_switcher.xml b/res/layout/organization_editor_view_switcher.xml
index c6e16ae..fb21626 100644
--- a/res/layout/organization_editor_view_switcher.xml
+++ b/res/layout/organization_editor_view_switcher.xml
@@ -23,19 +23,22 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingLeft="@dimen/editor_field_left_padding"
- android:paddingRight="@dimen/editor_field_right_padding"
+ android:minHeight="48dip"
android:background="?android:attr/selectableItemBackground">
<TextView
android:id="@+id/add_organization_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingLeft="@dimen/editor_field_left_padding"
+ android:paddingLeft="16dip"
+ android:paddingRight="16dip"
+ android:layout_gravity="center_vertical"
+ android:duplicateParentState="true"
android:textAppearance="?android:attr/textAppearanceMedium"
- android:text="@string/organizationLabelsGroup"
- android:duplicateParentState="true"/>
+ android:textColor="?android:attr/textColorSecondary"
+ android:text="@string/add_organization"/>
+ <!-- This is later populated with the actual editable text fields for "organization" -->
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
diff --git a/res/layout/phonetic_name_editor_view.xml b/res/layout/phonetic_name_editor_view.xml
index 832ca2c..6084d3f 100644
--- a/res/layout/phonetic_name_editor_view.xml
+++ b/res/layout/phonetic_name_editor_view.xml
@@ -18,7 +18,6 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingBottom="@dimen/editor_field_bottom_padding"
android:orientation="vertical">
<include
@@ -29,7 +28,6 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_weight="1"
android:orientation="horizontal"
android:gravity="center_vertical"
android:focusable="true"
diff --git a/res/layout/raw_contact_editor_view.xml b/res/layout/raw_contact_editor_view.xml
index 79183cd..b4aa766 100644
--- a/res/layout/raw_contact_editor_view.xml
+++ b/res/layout/raw_contact_editor_view.xml
@@ -20,58 +20,8 @@
android:layout_height="wrap_content"
android:orientation="vertical">
- <LinearLayout
- android:id="@+id/anchor_for_account_switcher"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:padding="@dimen/account_header_padding"
- android:orientation="horizontal">
-
- <!--
- TODO: Make this "?android:attr/spinnerStyle" but disable the style if this is not a new
- contact. Since styles aren't easily toggled dynamically, it's easier to just create a
- drawable with the spinner triangle as a background asset and just toggle the background.
- -->
- <LinearLayout
- android:id="@+id/account"
- android:layout_height="wrap_content"
- android:layout_width="0dip"
- android:layout_weight="1"
- android:orientation="vertical"
- android:background="?android:attr/selectableItemBackground">
-
- <TextView
- android:id="@+id/account_type"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:singleLine="true" />
-
- <TextView
- android:id="@+id/account_name"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="?android:attr/textColorTertiary"
- android:singleLine="true" />
-
- </LinearLayout>
-
- <FrameLayout
- android:layout_width="wrap_content"
- android:layout_height="match_parent">
-
- <ImageView
- android:id="@+id/account_icon"
- android:layout_width="32dip"
- android:layout_height="32dip"
- android:layout_marginLeft="24dip"
- android:layout_marginRight="24dip"
- android:layout_gravity="center_vertical" />
-
- </FrameLayout>
-
- </LinearLayout>
+ <include
+ layout="@layout/editor_account_header" />
<LinearLayout
android:id="@+id/body"
@@ -82,18 +32,30 @@
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
- android:layout_marginRight="4dip"
- android:orientation="horizontal">
+ android:orientation="horizontal"
+ android:paddingTop="8dip">
- <include
- android:id="@+id/edit_name"
- layout="@layout/structured_name_editor_view" />
+ <LinearLayout
+ android:layout_height="wrap_content"
+ android:layout_width="0dip"
+ android:layout_weight="1"
+ android:orientation="vertical">
+
+ <include
+ android:id="@+id/edit_name"
+ layout="@layout/structured_name_editor_view" />
+
+ <include
+ android:id="@+id/edit_phonetic_name"
+ layout="@layout/phonetic_name_editor_view" />
+
+ </LinearLayout>
<FrameLayout
android:id="@+id/stub_photo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginRight="16dip">
+ android:layout_marginRight="8dip">
<include
android:id="@+id/edit_photo"
@@ -103,10 +65,6 @@
</LinearLayout>
- <include
- android:id="@+id/edit_phonetic_name"
- layout="@layout/phonetic_name_editor_view" />
-
<ViewStub android:id="@+id/aggregation_suggestion_stub"
android:inflatedId="@+id/aggregation_suggestion"
android:layout="@layout/aggregation_suggestions"
@@ -126,8 +84,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
- android:layout_marginTop="10dip"
- android:layout_marginBottom="10dip"/>
+ android:layout_marginTop="16dip"
+ android:layout_marginBottom="32dip"/>
</LinearLayout>
</com.android.contacts.editor.RawContactEditorView>
diff --git a/res/layout/search_header.xml b/res/layout/search_header.xml
index ab8ec53..b1ba00f 100644
--- a/res/layout/search_header.xml
+++ b/res/layout/search_header.xml
@@ -17,18 +17,17 @@
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="28dip"
- android:background="@drawable/infobar_dark">
+ android:layout_height="wrap_content"
+ android:minHeight="@dimen/contact_filter_header_min_height"
+ android:background="@android:color/transparent">
<TextView
android:id="@+id/totalContactsText"
- android:layout_height="wrap_content"
android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
- android:layout_marginLeft="8dip"
- android:textColor="#ffbfbfbf"
- android:textSize="14sp"
- android:textStyle="normal" />
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textColor="?android:attr/textColorSecondary" />
<ProgressBar
android:id="@+id/progress"
@@ -37,7 +36,6 @@
android:layout_toRightOf="@id/totalContactsText"
style="?android:attr/progressBarStyleSmall"
android:layout_alignParentRight="true"
- android:layout_centerVertical="true"
- android:layout_marginRight="10dip" />
+ android:layout_centerVertical="true" />
</RelativeLayout>
diff --git a/res/layout/structured_name_editor_view.xml b/res/layout/structured_name_editor_view.xml
index 3a66d5e..979a0f3 100644
--- a/res/layout/structured_name_editor_view.xml
+++ b/res/layout/structured_name_editor_view.xml
@@ -16,9 +16,8 @@
<com.android.contacts.editor.StructuredNameEditorView
xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="0dip"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_weight="1"
android:orientation="vertical">
<include
@@ -29,7 +28,6 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_weight="1"
android:orientation="horizontal"
android:focusable="true"
android:clickable="true">
diff --git a/res/layout/text_fields_editor_view.xml b/res/layout/text_fields_editor_view.xml
index c8d35a4..89970c6 100644
--- a/res/layout/text_fields_editor_view.xml
+++ b/res/layout/text_fields_editor_view.xml
@@ -34,13 +34,13 @@
layout="@layout/edit_field_list" />
<include
- android:id="@+id/spinner"
- layout="@layout/edit_spinner"
+ android:id="@+id/expansion_view_container"
+ layout="@layout/edit_expansion_view"
android:visibility="gone" />
<include
- android:id="@+id/expansion_view_container"
- layout="@layout/edit_expansion_view"
+ android:id="@+id/spinner"
+ layout="@layout/edit_spinner"
android:visibility="gone" />
<include
diff --git a/res/menu-sw580dp-w720dp/actions.xml b/res/menu-sw580dp-w720dp/actions.xml
index 534332c..4f0da2c 100644
--- a/res/menu-sw580dp-w720dp/actions.xml
+++ b/res/menu-sw580dp-w720dp/actions.xml
@@ -22,13 +22,13 @@
<item
android:id="@+id/menu_add_contact"
- android:icon="@drawable/ic_menu_add_contact_holo_light"
+ android:icon="@drawable/ic_menu_add_contact_holo_dark"
android:title="@string/menu_new_contact_action_bar"
android:showAsAction="withText|always" />
<item
android:id="@+id/menu_custom_add_group"
- android:icon="@drawable/ic_menu_display_all_holo_light"
+ android:icon="@drawable/ic_menu_add_group_holo_dark"
android:title="@string/menu_new_group_action_bar"
android:showAsAction="withText|always" />
diff --git a/res/menu-sw580dp-w720dp/view_contact.xml b/res/menu-sw580dp-w720dp/view_contact.xml
index 0fc918b..24b8ac1 100644
--- a/res/menu-sw580dp-w720dp/view_contact.xml
+++ b/res/menu-sw580dp-w720dp/view_contact.xml
@@ -17,7 +17,7 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_edit"
- android:icon="@drawable/ic_menu_compose_holo_light"
+ android:icon="@drawable/ic_menu_compose_holo_dark"
android:title="@string/menu_editContact"
android:alphabeticShortcut="e"
android:showAsAction="always" />
diff --git a/res/menu-sw580dp-w720dp/view_group.xml b/res/menu-sw580dp-w720dp/view_group.xml
index 8f7b7d6..1348d84 100644
--- a/res/menu-sw580dp-w720dp/view_group.xml
+++ b/res/menu-sw580dp-w720dp/view_group.xml
@@ -17,7 +17,7 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_edit_group"
- android:icon="@drawable/ic_menu_compose_holo_light"
+ android:icon="@drawable/ic_menu_compose_holo_dark"
android:title="@string/menu_editGroup"
android:alphabeticShortcut="e"
android:showAsAction="always" />
diff --git a/res/menu-sw580dp/actions.xml b/res/menu-sw580dp/actions.xml
index 593d693..b6cdfbf 100644
--- a/res/menu-sw580dp/actions.xml
+++ b/res/menu-sw580dp/actions.xml
@@ -22,13 +22,13 @@
<item
android:id="@+id/menu_add_contact"
- android:icon="@drawable/ic_menu_add_contact_holo_light"
+ android:icon="@drawable/ic_menu_add_contact_holo_dark"
android:title="@string/menu_new_contact_action_bar"
android:showAsAction="withText" />
<item
android:id="@+id/menu_add_group"
- android:icon="@drawable/ic_menu_display_all_holo_light"
+ android:icon="@drawable/ic_menu_add_group_holo_dark"
android:title="@string/menu_new_group_action_bar"
android:showAsAction="withText" />
diff --git a/res/menu-sw580dp/view_contact.xml b/res/menu-sw580dp/view_contact.xml
index e4b4b37..807bfc9 100644
--- a/res/menu-sw580dp/view_contact.xml
+++ b/res/menu-sw580dp/view_contact.xml
@@ -17,7 +17,7 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_edit"
- android:icon="@drawable/ic_menu_compose_holo_light"
+ android:icon="@drawable/ic_menu_compose_holo_dark"
android:title="@string/menu_editContact"
android:alphabeticShortcut="e" />
diff --git a/res/menu-sw580dp/view_group.xml b/res/menu-sw580dp/view_group.xml
index 5e5cf9f..cd52030 100644
--- a/res/menu-sw580dp/view_group.xml
+++ b/res/menu-sw580dp/view_group.xml
@@ -17,7 +17,7 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_edit_group"
- android:icon="@drawable/ic_menu_compose_holo_light"
+ android:icon="@drawable/ic_menu_compose_holo_dark"
android:title="@string/menu_editGroup"
android:alphabeticShortcut="e" />
diff --git a/res/menu/actions.xml b/res/menu/actions.xml
index 346875b..2af9e92 100644
--- a/res/menu/actions.xml
+++ b/res/menu/actions.xml
@@ -22,13 +22,13 @@
<item
android:id="@+id/menu_add_contact"
- android:icon="@drawable/ic_menu_add_contact_holo_light"
+ android:icon="@drawable/ic_menu_add_contact_holo_dark"
android:title="@string/menu_new_contact_action_bar"
android:showAsAction="ifRoom" />
<item
android:id="@+id/menu_add_group"
- android:icon="@drawable/ic_menu_display_all_holo_light"
+ android:icon="@drawable/ic_menu_add_group_holo_dark"
android:title="@string/menu_new_group_action_bar"
android:showAsAction="ifRoom" />
diff --git a/res/menu/dialtacts_options.xml b/res/menu/dialtacts_options.xml
index aa3af3f..99f87ff 100644
--- a/res/menu/dialtacts_options.xml
+++ b/res/menu/dialtacts_options.xml
@@ -18,4 +18,9 @@
android:id="@+id/search_on_action_bar"
android:icon="@android:drawable/ic_menu_search"
android:showAsAction="always" />
+
+ <item
+ android:id="@+id/filter_option"
+ android:title="@string/menu_contacts_filter"
+ android:showAsAction="withText" />
</menu>
diff --git a/res/menu/view_contact.xml b/res/menu/view_contact.xml
index 17ed7c6..2ae4806 100644
--- a/res/menu/view_contact.xml
+++ b/res/menu/view_contact.xml
@@ -17,7 +17,7 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_edit"
- android:icon="@drawable/ic_menu_compose_holo_light"
+ android:icon="@drawable/ic_menu_compose_holo_dark"
android:title="@string/menu_editContact"
android:alphabeticShortcut="e" />
diff --git a/res/menu/view_group.xml b/res/menu/view_group.xml
index 5e5cf9f..cd52030 100644
--- a/res/menu/view_group.xml
+++ b/res/menu/view_group.xml
@@ -17,7 +17,7 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_edit_group"
- android:icon="@drawable/ic_menu_compose_holo_light"
+ android:icon="@drawable/ic_menu_compose_holo_dark"
android:title="@string/menu_editGroup"
android:alphabeticShortcut="e" />
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 02246ea..577e933 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android-kernprogramme"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Foon"</string>
<!-- no translation found for people (1048457247435785074) -->
<skip />
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index a439aa3..f9e98ec 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android ኮር ትግበራ"</string>
<string name="launcherDialer" msgid="8636288196618486553">"ስልክ"</string>
<!-- no translation found for people (1048457247435785074) -->
<skip />
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 7e8bd7c..3c690ec 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"تطبيقات Android المركزية"</string>
<string name="launcherDialer" msgid="8636288196618486553">"الهاتف"</string>
<string name="people" msgid="1048457247435785074">"أشخاص"</string>
<string name="contactsList" msgid="8661624236494819731">"جهات الاتصال"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 445d4bf..98ca370 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Основни приложения на Android"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Телефон"</string>
<string name="people" msgid="1048457247435785074">"Хора"</string>
<string name="contactsList" msgid="8661624236494819731">"Контакти"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 87179d8..6bd1768 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Aplicacions bàsiques d\'Android"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telèfon"</string>
<string name="people" msgid="1048457247435785074">"Persones"</string>
<string name="contactsList" msgid="8661624236494819731">"Contactes"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 097b093..a949e4c 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android Core Apps"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
<string name="people" msgid="1048457247435785074">"Lidé"</string>
<string name="contactsList" msgid="8661624236494819731">"Kontakty"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index d7c9249..c7bba00 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android-kerneprogrammer"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
<string name="people" msgid="1048457247435785074">"Personer"</string>
<string name="contactsList" msgid="8661624236494819731">"Kontakter"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 4a580a9..5bc6fdc 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android Core Apps"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
<string name="people" msgid="1048457247435785074">"Kontakte"</string>
<string name="contactsList" msgid="8661624236494819731">"Kontakte"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 6a1d856..7c7f619 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Βασικές εφαρμογές Android"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Τηλέφωνο"</string>
<string name="people" msgid="1048457247435785074">"Άτομα"</string>
<string name="contactsList" msgid="8661624236494819731">"Επαφές"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 6e0d9b6..c0452c4 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android Core Apps"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Phone"</string>
<string name="people" msgid="1048457247435785074">"People"</string>
<string name="contactsList" msgid="8661624236494819731">"Contacts"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 121d64e..61c39cd 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Aplicaciones del núcleo de Android"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Teléfono"</string>
<string name="people" msgid="1048457247435785074">"Personas"</string>
<string name="contactsList" msgid="8661624236494819731">"Contactos"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 9ff7139..cc10d1e 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Aplicaciones básicas"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Teléfono"</string>
<string name="people" msgid="1048457247435785074">"Contactos"</string>
<string name="contactsList" msgid="8661624236494819731">"Contactos"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index d498cb6..da4b404 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"برنامه های Android Core"</string>
<string name="launcherDialer" msgid="8636288196618486553">"تلفن"</string>
<string name="people" msgid="1048457247435785074">"افراد"</string>
<string name="contactsList" msgid="8661624236494819731">"مخاطبین"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index bfd0fc2..899e394 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Androidin ydinsovellukset"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Puhelin"</string>
<string name="people" msgid="1048457247435785074">"Henkilöt"</string>
<string name="contactsList" msgid="8661624236494819731">"Yhteystiedot"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index e77604d..ae55c7a 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Applications de base Android"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Téléphone"</string>
<string name="people" msgid="1048457247435785074">"Contacts"</string>
<string name="contactsList" msgid="8661624236494819731">"Contacts"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 0880d6a..8c170d9 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Matične aplikacije za Android"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
<string name="people" msgid="1048457247435785074">"Osobe"</string>
<string name="contactsList" msgid="8661624236494819731">"Kontakti"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 822e926..600e893 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Alap Android-alkalmazások"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
<string name="people" msgid="1048457247435785074">"Személyek"</string>
<string name="contactsList" msgid="8661624236494819731">"Címtár"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 46f2939..9d9683c 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Aplikasi Inti Android"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telepon"</string>
<string name="people" msgid="1048457247435785074">"Orang"</string>
<string name="contactsList" msgid="8661624236494819731">"Kenalan"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 5ed9401..bcb810a 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android Core Apps"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefono"</string>
<string name="people" msgid="1048457247435785074">"Persone"</string>
<string name="contactsList" msgid="8661624236494819731">"Contatti"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index e4d9610..3889f14 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android Core Apps"</string>
<string name="launcherDialer" msgid="8636288196618486553">"טלפון"</string>
<string name="people" msgid="1048457247435785074">"אנשים"</string>
<string name="contactsList" msgid="8661624236494819731">"אנשי קשר"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index c809e43..0c372cd 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android Core Apps"</string>
<string name="launcherDialer" msgid="8636288196618486553">"電話"</string>
<string name="people" msgid="1048457247435785074">"ユーザー"</string>
<string name="contactsList" msgid="8661624236494819731">"連絡先"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index dfabf75..ebdea4a 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android Core 애플리케이션"</string>
<string name="launcherDialer" msgid="8636288196618486553">"휴대전화"</string>
<string name="people" msgid="1048457247435785074">"인물"</string>
<string name="contactsList" msgid="8661624236494819731">"주소록"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 626e9de..0bad711 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Pagrindinės „Android“ programos"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefonas"</string>
<string name="people" msgid="1048457247435785074">"Žmonės"</string>
<string name="contactsList" msgid="8661624236494819731">"Adresinė"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 8132389..d6bdd52 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android Core Apps"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Tālrunis"</string>
<string name="people" msgid="1048457247435785074">"People"</string>
<string name="contactsList" msgid="8661624236494819731">"Kontaktpersonas"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index ecac3ec..1508a1a 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Apl Teras Android"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
<string name="people" msgid="1048457247435785074">"Orang"</string>
<string name="contactsList" msgid="8661624236494819731">"Kenalan"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 6c23418..9fc6205 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Kjerneprogrammer for Android"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
<string name="people" msgid="1048457247435785074">"Personer"</string>
<string name="contactsList" msgid="8661624236494819731">"Kontakter"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index be644e3..8222c2d 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android-kerntoepassingen"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefoon"</string>
<string name="people" msgid="1048457247435785074">"Personen"</string>
<string name="contactsList" msgid="8661624236494819731">"Contacten"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 665ab3e..ffaa9a6 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Aplikacje główne systemu Android"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
<string name="people" msgid="1048457247435785074">"Osoby"</string>
<string name="contactsList" msgid="8661624236494819731">"Kontakty"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 342b8e2..6a71e93 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Principais aplicativos do Android"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefone"</string>
<string name="people" msgid="1048457247435785074">"Pessoas"</string>
<string name="contactsList" msgid="8661624236494819731">"Contatos"</string>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index 52f907a..477c4de 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Applicaziuns da basa dad Android"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
<!-- no translation found for people (1048457247435785074) -->
<skip />
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 8c00e5d..a7da905 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android Core Apps"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
<string name="people" msgid="1048457247435785074">"Persoane"</string>
<string name="contactsList" msgid="8661624236494819731">"Agendă"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 90184f7..e590dc3 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Основные приложения Android"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Телефон"</string>
<string name="people" msgid="1048457247435785074">"Люди"</string>
<string name="contactsList" msgid="8661624236494819731">"Контакты"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 29cfafa..4deca50 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android Core Apps"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefón"</string>
<string name="people" msgid="1048457247435785074">"Ľudia"</string>
<string name="contactsList" msgid="8661624236494819731">"Kontakty"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 174601f..2de3255 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Osnovni programi Android"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
<string name="people" msgid="1048457247435785074">"Ljudje"</string>
<string name="contactsList" msgid="8661624236494819731">"Stiki"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 0d9f415..74efc4a 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android Core апликације"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Телефон"</string>
<string name="people" msgid="1048457247435785074">"Особе"</string>
<string name="contactsList" msgid="8661624236494819731">"Контакти"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 1bbc85e..e04ac17 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android Core Apps"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
<string name="people" msgid="1048457247435785074">"Personer"</string>
<string name="contactsList" msgid="8661624236494819731">"Kontakter"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index ddb776c..5506f31 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Programu Msingi za Android"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Simu"</string>
<!-- no translation found for people (1048457247435785074) -->
<skip />
diff --git a/res/values-sw580dp-w1000dp/dimens.xml b/res/values-sw580dp-w1000dp/dimens.xml
index d8503d9..d5f5e58 100644
--- a/res/values-sw580dp-w1000dp/dimens.xml
+++ b/res/values-sw580dp-w1000dp/dimens.xml
@@ -21,6 +21,4 @@
<dimen name="detail_header_view_margin">16dip</dimen>
<dimen name="detail_header_attribution_height">56dip</dimen>
<dimen name="detail_update_section_top_padding">48dip</dimen>
- <dimen name="contact_browser_list_left_margin">0dip</dimen>
- <dimen name="contacts_count_right_margin">24dip</dimen>
</resources>
diff --git a/res/values-sw580dp-w720dp/dimens.xml b/res/values-sw580dp-w720dp/dimens.xml
index c072a95..399c26c 100644
--- a/res/values-sw580dp-w720dp/dimens.xml
+++ b/res/values-sw580dp-w720dp/dimens.xml
@@ -21,6 +21,4 @@
<dimen name="editor_title_label_width">150dip</dimen>
<dimen name="editor_interpolator_narrow_width">800dip</dimen>
<dimen name="editor_name_text_field_right_margin">10dip</dimen>
- <dimen name="contact_browser_list_left_margin">0dip</dimen>
- <dimen name="contacts_count_right_margin">24dip</dimen>
-</resources>
\ No newline at end of file
+</resources>
diff --git a/res/values-sw580dp/dimens.xml b/res/values-sw580dp/dimens.xml
index ab630d2..ed845be 100644
--- a/res/values-sw580dp/dimens.xml
+++ b/res/values-sw580dp/dimens.xml
@@ -32,11 +32,17 @@
<dimen name="action_bar_search_spacing">12dip</dimen>
<dimen name="shortcut_icon_size">64dip</dimen>
<dimen name="list_section_height">37dip</dimen>
- <dimen name="directory_header_height">56dip</dimen>
<dimen name="detail_update_section_item_vertical_padding">32dip</dimen>
<dimen name="search_view_width">400dip</dimen>
- <dimen name="contact_browser_list_left_margin">0dip</dimen>
- <dimen name="contacts_count_right_margin">24dip</dimen>
<!-- Center vertically -->
<dimen name="quick_contact_top_position">-1px</dimen>
+ <!-- Contact list (vertical scroll bar comes left) -->
+ <dimen name="directory_header_height">24dip</dimen>
+ <dimen name="contacts_count_right_margin">24dip</dimen>
+ <dimen name="contact_browser_list_top_margin">16dip</dimen>
+ <dimen name="contact_browser_list_header_left_margin">@dimen/list_visible_scrollbar_padding</dimen>
+ <dimen name="contact_browser_list_header_right_margin">24dip</dimen>
+ <dimen name="contact_browser_list_left_margin">0dip</dimen>
+ <dimen name="contact_browser_list_right_margin">0dip</dimen>
+ <dimen name="list_visible_scrollbar_padding">48dip</dimen>
</resources>
diff --git a/res/values-sw580dp/styles.xml b/res/values-sw580dp/styles.xml
index 0c4c8ba..b9b87cf 100644
--- a/res/values-sw580dp/styles.xml
+++ b/res/values-sw580dp/styles.xml
@@ -84,6 +84,8 @@
</style>
<style name="DirectoryHeader" parent="PeopleTheme">
+ <item name="android:paddingTop">0dip</item>
+ <item name="android:paddingBottom">0dip</item>
<item name="android:background">@drawable/directory_bg_holo</item>
</style>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 14035ff..690e42e 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"แอปพลิเคชันหลักของ Android"</string>
<string name="launcherDialer" msgid="8636288196618486553">"โทรศัพท์"</string>
<string name="people" msgid="1048457247435785074">"บุคคล"</string>
<string name="contactsList" msgid="8661624236494819731">"รายชื่อในสมุดโทรศัพท์"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 2f65b74..46b1d1d 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android Core Apps"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telepono"</string>
<string name="people" msgid="1048457247435785074">"Mga Tao"</string>
<string name="contactsList" msgid="8661624236494819731">"Mga Contact"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 29b3107..7e3e623 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android Core Apps"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
<string name="people" msgid="1048457247435785074">"Kişiler"</string>
<string name="contactsList" msgid="8661624236494819731">"Kişiler"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 1a90340..01b4919 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Служби Android Core"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Телеф."</string>
<string name="people" msgid="1048457247435785074">"Люди"</string>
<string name="contactsList" msgid="8661624236494819731">"Контакти"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 63e83fc..92a8a97 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Ứng dụng Lõi Android"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Điện thoại"</string>
<string name="people" msgid="1048457247435785074">"Mọi người"</string>
<string name="contactsList" msgid="8661624236494819731">"Danh bạ"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index ef0b222..c496165 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android 核心应用程序"</string>
<string name="launcherDialer" msgid="8636288196618486553">"拨号"</string>
<string name="people" msgid="1048457247435785074">"用户"</string>
<string name="contactsList" msgid="8661624236494819731">"通讯录"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 92aeef5..e13e5b6 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Android 核心應用程式"</string>
<string name="launcherDialer" msgid="8636288196618486553">"電話"</string>
<string name="people" msgid="1048457247435785074">"使用者"</string>
<string name="contactsList" msgid="8661624236494819731">"聯絡人"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 9bb4ff8..b369466 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -16,7 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="7965035505237135241">"Izinhlelo Zokusebenza ze-Android Core"</string>
<string name="launcherDialer" msgid="8636288196618486553">"Ifoni"</string>
<!-- no translation found for people (1048457247435785074) -->
<skip />
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 552d47b..a9d745f 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -90,6 +90,7 @@
<!-- Secondary text color in the People app -->
<color name="secondary_text_color">#777777</color>
+ <color name="dialtacts_secondary_text_color">#888888</color>
<!-- Colors in the contact browser list -->
<color name="contact_browser_list_bk_color">#EEEEEE</color>
@@ -97,4 +98,7 @@
<!-- Color of the text of the tab carousel in the contact details -->
<color name="detail_tab_carousel_tab_label_color">#EEEEEE</color>
+
+ <!-- Color of the text for buttons in the action bar -->
+ <color name="action_bar_button_text_color">#FFFFFF</color>
</resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index a4a6112..1b737bc 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -25,7 +25,6 @@
<dimen name="aggregation_suggestion_icon_size">40dip</dimen>
- <dimen name="account_header_padding">10dip</dimen>
<dimen name="account_selector_popup_width">400dip</dimen>
<dimen name="photo_action_popup_width">400dip</dimen>
@@ -37,17 +36,17 @@
<!-- Padding of the rounded plus/minus/expand/collapse buttons in the editor -->
<dimen name="editor_round_button_padding_left">2dip</dimen>
<dimen name="editor_round_button_padding_right">2dip</dimen>
- <dimen name="editor_round_button_padding_top">8dip</dimen>
- <dimen name="editor_round_button_padding_bottom">8dip</dimen>
+ <dimen name="editor_round_button_padding_top">4dip</dimen>
+ <dimen name="editor_round_button_padding_bottom">4dip</dimen>
<!-- Width of the Type-Label in the Editor -->
<dimen name="editor_type_label_width">100dip</dimen>
<!-- Left padding of a field in the Editor -->
- <dimen name="editor_field_left_padding">5dip</dimen>
+ <dimen name="editor_field_left_padding">4dip</dimen>
<!-- Right padding of a field in the Editor -->
- <dimen name="editor_field_right_padding">5dip</dimen>
+ <dimen name="editor_field_right_padding">4dip</dimen>
<!-- Top padding of a field in the Editor -->
<dimen name="editor_field_top_padding">10dip</dimen>
@@ -144,7 +143,7 @@
<dimen name="detail_vertical_divider_vertical_margin">16dip</dimen>
<!-- Padding to be used between a visible scrollbar and the contact list -->
- <dimen name="list_visible_scrollbar_padding">40dip</dimen>
+ <dimen name="list_visible_scrollbar_padding">32dip</dimen>
<!-- Font size used for the contact name in the widget -->
<dimen name="widget_text_size_name">14sp</dimen>
@@ -188,9 +187,6 @@
<!-- Height of the member list in the group editor -->
<dimen name="group_editor_member_list_height">550dip</dimen>
- <!-- Height for directory headers in contact lists -->
- <dimen name="directory_header_height">28dip</dimen>
-
<!-- Height of edit text in dialpad fragment -->
<dimen name="dialpad_digits_height">67dip</dimen>
<dimen name="dialpad_digits_text_size">33sp</dimen>
@@ -205,8 +201,12 @@
<dimen name="search_view_width">0dip</dimen>
<!-- contact browser list margins -->
- <dimen name="contact_browser_list_left_margin">24dip</dimen>
- <dimen name="contact_browser_list_top_margin">8dip</dimen>
+ <dimen name="contact_browser_list_header_left_margin">16dip</dimen>
+ <dimen name="contact_browser_list_header_right_margin">@dimen/list_visible_scrollbar_padding</dimen>
+ <dimen name="contact_browser_list_left_margin">16dip</dimen>
+ <dimen name="contact_browser_list_right_margin">0dip</dimen>
+
+ <dimen name="contact_browser_list_top_margin">0dip</dimen>
<dimen name="contacts_count_right_margin">40dip</dimen>
<!-- ContactTile Layouts -->
@@ -230,4 +230,14 @@
<dimen name="no_accounts_message_margin">15dip</dimen>
<dimen name="add_account_button_left_margin">50dip</dimen>
<dimen name="add_account_button_right_margin">50dip</dimen>
+
+ <!-- For contact filter setting screens -->
+ <dimen name="contact_filter_left_margin">16dip</dimen>
+ <dimen name="contact_filter_right_margin">16dip</dimen>
+ <dimen name="contact_filter_item_min_height">48dip</dimen>
+ <dimen name="contact_filter_icon_size">32dip</dimen>
+ <dimen name="contact_filter_header_min_height">24dip</dimen>
+
+ <!-- Height for directory headers in contact lists -->
+ <dimen name="directory_header_height">24dip</dimen>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 5bb6c2b..0c9893b 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -14,10 +14,6 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- Label for this app's shared user ID (and thus for all other
- apps sharing the uid). -->
- <string name="sharedUserLabel">Android Core Apps</string>
-
<!-- Title for the activity that dials the phone. This is the name
used in the Launcher icon. -->
<string name="launcherDialer">Phone</string>
@@ -1292,8 +1288,8 @@
<!-- Checkbox asking the user if they want to display a particular photo for a contact -->
<string name="use_photo_as_primary">Use this photo</string>
- <!-- Text used to explain that a contact cannot be edited since the data is read only [CHAR LIMIT=40] -->
- <string name="contact_read_only">Not editable on this device</string>
+ <!-- Text used to explain that a contact cannot be edited from the People application since the data is read only [CHAR LIMIT=40] -->
+ <string name="contact_read_only">Not editable from this application</string>
<!-- Text describing that a contact has no information available other than name and photo -->
<string name="no_contact_details">No additional information for this contact</string>
@@ -1386,6 +1382,9 @@
<!-- The button to add another entry of a specific data type (i.e. email, phone, address) to a contact in the Raw Contact Editor [CHAR LIMIT=22] -->
<string name="add_new_entry_for_section">Add new</string>
+ <!-- The button to add an organization field to a contact in the Raw Contact Editor [CHAR LIMIT=22] -->
+ <string name="add_organization">Add organization</string>
+
<!-- Attbution of a contact status update, when the time of update is unknown -->
<string name="contact_status_update_attribution">via <xliff:g id="source" example="Google Talk">%1$s</xliff:g></string>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index c125698..b25f0af 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -16,6 +16,7 @@
<resources>
<style name="DialtactsTheme"
parent="android:Theme.Holo">
+ <item name="android:textColorSecondary">@color/dialtacts_secondary_text_color</item>
<item name="android:windowActionBarOverlay">true</item>
<item name="android:actionBarStyle">@style/DialtactsActionBarStyle</item>
<item name="android:windowContentOverlay">@null</item>
@@ -27,7 +28,7 @@
<item name="list_item_padding_top">0dip</item>
<item name="list_item_padding_right">0dip</item>
<item name="list_item_padding_bottom">0dip</item>
- <item name="list_item_padding_left">24dip</item>
+ <item name="list_item_padding_left">0dip</item>
<item name="list_item_gap_between_image_and_text">8dip</item>
<item name="list_item_gap_between_label_and_data">5dip</item>
<item name="list_item_call_button_padding">14dip</item>
@@ -79,9 +80,12 @@
<item name="android:textColorPrimary">@color/primary_text_color</item>
<item name="android:textColorSecondary">@color/secondary_text_color</item>
</style>
- <style name="ContactEditorActivityTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
+
+ <style name="EditorActivityTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/ContactsActionBarStyle</item>
<item name="android:windowContentOverlay">@null</item>
+ <item name="android:textColorPrimary">@color/primary_text_color</item>
+ <item name="android:textColorSecondary">@color/secondary_text_color</item>
</style>
<style name="BackgroundOnly">
@@ -129,7 +133,7 @@
<item name="list_item_padding_top">0dip</item>
<item name="list_item_padding_right">0dip</item>
<item name="list_item_padding_bottom">0dip</item>
- <item name="list_item_padding_left">24dip</item>
+ <item name="list_item_padding_left">0dip</item>
<item name="list_item_gap_between_image_and_text">8dip</item>
<item name="list_item_gap_between_label_and_data">5dip</item>
<item name="list_item_call_button_padding">14dip</item>
@@ -151,8 +155,8 @@
</style>
<style name="ContactsActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
- <item name="android:background">@color/people_app_theme_color</item>
- <item name="android:backgroundStacked">@color/people_app_theme_color</item>
+ <item name="android:background">@drawable/ab_solid_custom_blue_inverse_holo</item>
+ <item name="android:backgroundStacked">@drawable/ab_solid_custom_blue_inverse_holo</item>
</style>
<!-- TODO: Clean up this file so themes aren't copied. -->
@@ -223,7 +227,7 @@
</style>
<style name="DirectoryHeader" parent="PeopleTheme">
- <item name="android:background">@drawable/directory_bg</item>
+ <item name="android:background">@android:color/transparent</item>
</style>
<style name="NonPhoneActivityTheme" parent="@android:Theme.Translucent">
diff --git a/src/com/android/contacts/ContactPhotoManager.java b/src/com/android/contacts/ContactPhotoManager.java
index d8f4e65..0f7065d 100644
--- a/src/com/android/contacts/ContactPhotoManager.java
+++ b/src/com/android/contacts/ContactPhotoManager.java
@@ -97,6 +97,12 @@
public abstract void loadPhoto(ImageView view, Uri photoUri);
/**
+ * Remove photo from the supplied image view. This also cancels current pending load request
+ * inside this photo manager.
+ */
+ public abstract void removePhoto(ImageView view);
+
+ /**
* Temporarily stops loading photos from the database.
*/
public abstract void pause();
@@ -261,6 +267,12 @@
}
@Override
+ public void removePhoto(ImageView view) {
+ view.setImageDrawable(null);
+ mPendingRequests.remove(view);
+ }
+
+ @Override
public void refreshCache() {
for (BitmapHolder holder : mBitmapHolderCache.snapshot().values()) {
holder.fresh = false;
diff --git a/src/com/android/contacts/activities/ContactDetailActivity.java b/src/com/android/contacts/activities/ContactDetailActivity.java
index 53c7f5e..3cd07ca 100644
--- a/src/com/android/contacts/activities/ContactDetailActivity.java
+++ b/src/com/android/contacts/activities/ContactDetailActivity.java
@@ -28,6 +28,7 @@
import com.android.contacts.detail.ContactDetailViewPagerAdapter;
import com.android.contacts.detail.ContactLoaderFragment;
import com.android.contacts.detail.ContactLoaderFragment.ContactLoaderFragmentListener;
+import com.android.contacts.detail.TabCarouselScrollManager;
import com.android.contacts.interactions.ContactDeletionInteraction;
import com.android.contacts.model.AccountWithDataSet;
import com.android.contacts.util.PhoneCapabilityTester;
@@ -55,8 +56,6 @@
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
-import android.widget.AbsListView;
-import android.widget.AbsListView.OnScrollListener;
import android.widget.CheckBox;
import android.widget.Toast;
@@ -153,8 +152,7 @@
}
mDetailFragment.setListener(mFragmentListener);
- mDetailFragment.setVerticalScrollListener(mVerticalScrollListener);
- mUpdatesFragment.setVerticalScrollListener(mVerticalScrollListener);
+ TabCarouselScrollManager.bind(mTabCarousel, mDetailFragment, mUpdatesFragment);
mDetailFragment.setData(mLookupUri, mContactData);
mUpdatesFragment.setData(mLookupUri, mContactData);
@@ -435,6 +433,7 @@
mRootView.addView(mContentView);
mDetailFragment = (ContactDetailFragment) getFragmentManager().findFragmentById(
R.id.contact_detail_fragment);
+ mDetailFragment.setListener(mFragmentListener);
}
// Reset contact data
if (mDetailFragment != null) {
@@ -555,34 +554,6 @@
}
};
- private OnScrollListener mVerticalScrollListener = new OnScrollListener() {
-
- @Override
- public void onScroll(
- AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
- if (mTabCarousel == null) {
- return;
- }
- // If the FIRST item is not visible on the screen, then the carousel must be pinned
- // at the top of the screen.
- if (firstVisibleItem != 0) {
- mTabCarousel.setY(-mTabCarousel.getAllowedVerticalScrollLength());
- return;
- }
- View topView = view.getChildAt(firstVisibleItem);
- if (topView == null) {
- return;
- }
- int amtToScroll = Math.max((int) view.getChildAt(firstVisibleItem).getY(),
- - mTabCarousel.getAllowedVerticalScrollLength());
- mTabCarousel.setY(amtToScroll);
- }
-
- @Override
- public void onScrollStateChanged(AbsListView view, int scrollState) {}
-
- };
-
/**
* This interface should be implemented by {@link Fragment}s within this
* activity so that the activity can determine whether the currently
diff --git a/src/com/android/contacts/activities/DialtactsActivity.java b/src/com/android/contacts/activities/DialtactsActivity.java
index 9daa9af..a943130 100644
--- a/src/com/android/contacts/activities/DialtactsActivity.java
+++ b/src/com/android/contacts/activities/DialtactsActivity.java
@@ -20,10 +20,14 @@
import com.android.contacts.calllog.CallLogFragment;
import com.android.contacts.dialpad.DialpadFragment;
import com.android.contacts.interactions.PhoneNumberInteraction;
+import com.android.contacts.list.AccountFilterActivity;
+import com.android.contacts.list.ContactListFilter;
+import com.android.contacts.list.ContactListFilterController;
+import com.android.contacts.list.ContactListFilterController.ContactListFilterListener;
import com.android.contacts.list.ContactTileAdapter.DisplayType;
+import com.android.contacts.list.ContactTileListFragment;
import com.android.contacts.list.OnPhoneNumberPickerActionListener;
import com.android.contacts.list.PhoneNumberPickerFragment;
-import com.android.contacts.list.ContactTileListFragment;
import com.android.internal.telephony.ITelephony;
import android.app.ActionBar;
@@ -81,6 +85,8 @@
private static final int TAB_INDEX_COUNT = 3;
+ private static final int SUBACTIVITY_ACCOUNT_FILTER = 0;
+
/** Name of the dialtacts shared preferences */
static final String PREFS_DIALTACTS = "dialtacts";
static final boolean PREF_FAVORITES_AS_CONTACTS_DEFAULT = false;
@@ -225,6 +231,28 @@
*/
private int mLastManuallySelectedFragment;
+ private ContactListFilterController mContactListFilterController;
+ private OnMenuItemClickListener mFilterOptionsMenuItemClickListener =
+ new OnMenuItemClickListener() {
+ @Override
+ public boolean onMenuItemClick(MenuItem item) {
+ final Intent intent =
+ new Intent(DialtactsActivity.this, AccountFilterActivity.class);
+ ContactListFilter filter = mContactListFilterController.getFilter();
+ startActivityForResult(intent, SUBACTIVITY_ACCOUNT_FILTER);
+ return true;
+ }
+ };
+
+ private OnMenuItemClickListener mSearchMenuItemClickListener =
+ new OnMenuItemClickListener() {
+ @Override
+ public boolean onMenuItemClick(MenuItem item) {
+ enterSearchUi();
+ return true;
+ }
+ };
+
/**
* Listener used when one of phone numbers in search UI is selected. This will initiate a
* phone call using the phone number.
@@ -299,6 +327,20 @@
setContentView(R.layout.dialtacts_activity);
+ mContactListFilterController = new ContactListFilterController(this);
+ mContactListFilterController.addListener(new ContactListFilterListener() {
+ @Override
+ public void onContactListFilterChanged() {
+ if (mSearchFragment == null || !mSearchFragment.isAdded()) {
+ Log.w(TAG, "Search Fragment isn't available when ContactListFilter is changed");
+ return;
+ }
+ mSearchFragment .setFilter(mContactListFilterController.getFilter());
+
+ invalidateOptionsMenu();
+ }
+ });
+
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(new ViewPagerAdapter(getFragmentManager()));
mViewPager.setOnPageChangeListener(mPageChangeListener);
@@ -583,17 +625,20 @@
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
final MenuItem searchMenuItem = menu.findItem(R.id.search_on_action_bar);
- if (mInSearchUi || getActionBar().getSelectedTab().getPosition() == TAB_INDEX_DIALER) {
+ final MenuItem filterOptionMenuItem = menu.findItem(R.id.filter_option);
+ Tab tab = getActionBar().getSelectedTab();
+ if (mInSearchUi) {
searchMenuItem.setVisible(false);
+ filterOptionMenuItem.setVisible(true);
+ filterOptionMenuItem.setOnMenuItemClickListener(
+ mFilterOptionsMenuItemClickListener);
+ } else if (tab == null || tab.getPosition() == TAB_INDEX_DIALER) {
+ searchMenuItem.setVisible(false);
+ filterOptionMenuItem.setVisible(false);
} else {
+ filterOptionMenuItem.setVisible(false);
searchMenuItem.setVisible(true);
- searchMenuItem.setOnMenuItemClickListener(new OnMenuItemClickListener() {
- @Override
- public boolean onMenuItemClick(MenuItem item) {
- enterSearchUi();
- return true;
- }
- });
+ searchMenuItem.setOnMenuItemClickListener(mSearchMenuItemClickListener);
}
return true;
@@ -753,4 +798,26 @@
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
return intent;
}
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if (resultCode != Activity.RESULT_OK) {
+ return;
+ }
+ switch (requestCode) {
+ case SUBACTIVITY_ACCOUNT_FILTER: {
+ ContactListFilter filter = (ContactListFilter) data.getParcelableExtra(
+ AccountFilterActivity.KEY_EXTRA_CONTACT_LIST_FILTER);
+ if (filter == null) {
+ return;
+ }
+ if (filter.filterType == ContactListFilter.FILTER_TYPE_CUSTOM) {
+ mContactListFilterController.selectCustomFilter();
+ } else {
+ mContactListFilterController.setContactListFilter(filter, true);
+ }
+ }
+ break;
+ }
+ }
}
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 282e0b3..4da032e 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -42,7 +42,6 @@
import com.android.contacts.list.ContactsIntentResolver;
import com.android.contacts.list.ContactsRequest;
import com.android.contacts.list.ContactsUnavailableFragment;
-import com.android.contacts.list.CustomContactListFilterActivity;
import com.android.contacts.list.DefaultContactBrowseListFragment;
import com.android.contacts.list.DirectoryListLoader;
import com.android.contacts.list.OnContactBrowserActionListener;
@@ -109,7 +108,6 @@
private static final int SUBACTIVITY_NEW_GROUP = 2;
private static final int SUBACTIVITY_EDIT_GROUP = 3;
private static final int SUBACTIVITY_ACCOUNT_FILTER = 4;
- private static final int SUBACTIVITY_CUSTOMIZE_FILTER = 5;
private static final String KEY_SEARCH_MODE = "searchMode";
@@ -1443,23 +1441,14 @@
if (filter == null) {
return;
}
- // If this is a custom filter, launch the activity to customize the display list
if (filter.filterType == ContactListFilter.FILTER_TYPE_CUSTOM) {
- final Intent intent = new Intent(this,
- CustomContactListFilterActivity.class);
- startActivityForResult(intent, SUBACTIVITY_CUSTOMIZE_FILTER);
+ mContactListFilterController.selectCustomFilter();
} else {
mContactListFilterController.setContactListFilter(filter, true);
}
}
break;
}
- case SUBACTIVITY_CUSTOMIZE_FILTER: {
- if (resultCode == Activity.RESULT_OK) {
- mContactListFilterController.selectCustomFilter();
- }
- break;
- }
case SUBACTIVITY_NEW_GROUP:
case SUBACTIVITY_EDIT_GROUP: {
diff --git a/src/com/android/contacts/detail/ContactDetailLayoutController.java b/src/com/android/contacts/detail/ContactDetailLayoutController.java
index 7abe76e..f3cc016 100644
--- a/src/com/android/contacts/detail/ContactDetailLayoutController.java
+++ b/src/com/android/contacts/detail/ContactDetailLayoutController.java
@@ -29,8 +29,6 @@
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.AbsListView;
-import android.widget.AbsListView.OnScrollListener;
/**
* Determines the layout of the contact card.
@@ -115,8 +113,6 @@
}
mDetailFragment.setListener(mContactDetailFragmentListener);
- mDetailFragment.setVerticalScrollListener(mVerticalScrollListener);
- mUpdatesFragment.setVerticalScrollListener(mVerticalScrollListener);
switch (mLayoutMode) {
case VIEW_PAGER_AND_CAROUSEL: {
@@ -151,6 +147,7 @@
}
transaction.commit();
mFragmentManager.executePendingTransactions();
+ TabCarouselScrollManager.bind(mTabCarousel, mDetailFragment, mUpdatesFragment);
break;
}
case TWO_COLUMN: {
@@ -306,32 +303,4 @@
mViewPager.setCurrentItem(position);
}
};
-
- private OnScrollListener mVerticalScrollListener = new OnScrollListener() {
-
- @Override
- public void onScroll(
- AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
- if (mTabCarousel == null) {
- return;
- }
- // If the FIRST item is not visible on the screen, then the carousel must be pinned
- // at the top of the screen.
- if (firstVisibleItem != 0) {
- mTabCarousel.setY(-mTabCarousel.getAllowedVerticalScrollLength());
- return;
- }
- View topView = view.getChildAt(firstVisibleItem);
- if (topView == null) {
- return;
- }
- int amtToScroll = Math.max((int) view.getChildAt(firstVisibleItem).getY(),
- -mTabCarousel.getAllowedVerticalScrollLength());
- mTabCarousel.setY(amtToScroll);
- }
-
- @Override
- public void onScrollStateChanged(AbsListView view, int scrollState) {}
-
- };
}
diff --git a/src/com/android/contacts/detail/TabCarouselScrollManager.java b/src/com/android/contacts/detail/TabCarouselScrollManager.java
new file mode 100644
index 0000000..2415b50
--- /dev/null
+++ b/src/com/android/contacts/detail/TabCarouselScrollManager.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.contacts.detail;
+
+import android.view.View;
+import android.widget.AbsListView;
+import android.widget.AbsListView.OnScrollListener;
+
+/**
+ * Takes care of managing scrolling for the side-by-side views using the tab carousel.
+ */
+public class TabCarouselScrollManager {
+ private final ContactDetailTabCarousel mTabCarousel;
+ private final ContactDetailFragment mAboutFragment;
+ private final ContactDetailUpdatesFragment mUpdatesFragment;
+ private final OnScrollListener mVerticalScrollListener = new OnScrollListener() {
+ @Override
+ public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount,
+ int totalItemCount) {
+ if (mTabCarousel == null) {
+ return;
+ }
+ // If the FIRST item is not visible on the screen, then the carousel must be pinned
+ // at the top of the screen.
+ if (firstVisibleItem != 0) {
+ mTabCarousel.setY(-mTabCarousel.getAllowedVerticalScrollLength());
+ return;
+ }
+ View topView = view.getChildAt(firstVisibleItem);
+ if (topView == null) {
+ return;
+ }
+ int amtToScroll = Math.max((int) view.getChildAt(firstVisibleItem).getY(),
+ -mTabCarousel.getAllowedVerticalScrollLength());
+ mTabCarousel.setY(amtToScroll);
+ }
+
+ @Override
+ public void onScrollStateChanged(AbsListView view, int scrollState) {}
+ };
+
+ private TabCarouselScrollManager(ContactDetailTabCarousel tabCarousel,
+ ContactDetailFragment aboutFragment, ContactDetailUpdatesFragment updatesFragment) {
+ mTabCarousel = tabCarousel;
+ mAboutFragment = aboutFragment;
+ mUpdatesFragment = updatesFragment;
+ }
+
+ public void bind() {
+ mAboutFragment.setVerticalScrollListener(mVerticalScrollListener);
+ mUpdatesFragment.setVerticalScrollListener(mVerticalScrollListener);
+ }
+
+ public static void bind(ContactDetailTabCarousel tabCarousel,
+ ContactDetailFragment aboutFragment, ContactDetailUpdatesFragment updatesFragment) {
+ TabCarouselScrollManager scrollManager =
+ new TabCarouselScrollManager(tabCarousel, aboutFragment, updatesFragment);
+ scrollManager.bind();
+ }
+}
diff --git a/src/com/android/contacts/editor/ContactEditorFragment.java b/src/com/android/contacts/editor/ContactEditorFragment.java
index e0f99ce..0227b13 100644
--- a/src/com/android/contacts/editor/ContactEditorFragment.java
+++ b/src/com/android/contacts/editor/ContactEditorFragment.java
@@ -600,14 +600,8 @@
R.layout.external_raw_contact_editor_view, mContent, false);
((ExternalRawContactEditorView) editor).setListener(this);
} else {
- final RawContactEditorView rawContactEditor = (RawContactEditorView)
- inflater.inflate(R.layout.raw_contact_editor_view, mContent, false);
- // For existing contacts, only show the account header if there is more than 1 raw
- // contact in the aggregate contact.
- if (Intent.ACTION_EDIT.equals(mAction)) {
- rawContactEditor.setAccountHeaderVisible(numRawContacts > 1);
- }
- editor = rawContactEditor;
+ editor = (RawContactEditorView) inflater.inflate(R.layout.raw_contact_editor_view,
+ mContent, false);
}
if (Intent.ACTION_INSERT.equals(mAction) && numRawContacts == 1) {
final List<AccountWithDataSet> accounts =
@@ -695,7 +689,7 @@
values.getAsString(RawContacts.ACCOUNT_TYPE),
values.getAsString(RawContacts.DATA_SET));
final View accountView = editor.findViewById(R.id.account);
- final View anchorView = editor.findViewById(R.id.anchor_for_account_switcher);
+ final View anchorView = editor.findViewById(R.id.account_container);
accountView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/src/com/android/contacts/editor/EventFieldEditorView.java b/src/com/android/contacts/editor/EventFieldEditorView.java
index 4c5affd..e7da6c1 100644
--- a/src/com/android/contacts/editor/EventFieldEditorView.java
+++ b/src/com/android/contacts/editor/EventFieldEditorView.java
@@ -29,6 +29,8 @@
import android.app.Dialog;
import android.content.Context;
+import android.content.res.ColorStateList;
+import android.content.res.Resources;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.AttributeSet;
@@ -49,6 +51,13 @@
*/
private final static int DEFAULT_HOUR = 8;
+ /**
+ * Default string to show when there is no date selected yet.
+ */
+ private String mNoDateString;
+ private int mPrimaryTextColor;
+ private int mSecondaryTextColor;
+
private Button mDateView;
public EventFieldEditorView(Context context) {
@@ -68,6 +77,11 @@
protected void onFinishInflate() {
super.onFinishInflate();
+ Resources resources = mContext.getResources();
+ mPrimaryTextColor = resources.getColor(R.color.primary_text_color);
+ mSecondaryTextColor = resources.getColor(R.color.secondary_text_color);
+ mNoDateString = mContext.getString(R.string.add_new_entry_for_section);
+
mDateView = (Button) findViewById(R.id.date_view);
mDateView.setOnClickListener(new OnClickListener() {
@Override
@@ -105,12 +119,14 @@
final String column = editField.column;
String data = DateUtils.formatDate(getContext(), getEntry().getAsString(column));
if (TextUtils.isEmpty(data)) {
- data = " ";
+ mDateView.setText(mNoDateString);
+ mDateView.setTextColor(mSecondaryTextColor);
setDeleteButtonVisible(false);
} else {
+ mDateView.setText(data);
+ mDateView.setTextColor(mPrimaryTextColor);
setDeleteButtonVisible(true);
}
- mDateView.setText(data);
}
@Override
@@ -246,7 +262,8 @@
@Override
public void clearAllFields() {
// Update UI
- mDateView.setText("");
+ mDateView.setText(mNoDateString);
+ mDateView.setTextColor(mSecondaryTextColor);
// Update state
final String column = getKind().fieldList.get(0).column;
diff --git a/src/com/android/contacts/editor/ExternalRawContactEditorView.java b/src/com/android/contacts/editor/ExternalRawContactEditorView.java
index 734f013..04f4140 100644
--- a/src/com/android/contacts/editor/ExternalRawContactEditorView.java
+++ b/src/com/android/contacts/editor/ExternalRawContactEditorView.java
@@ -43,6 +43,7 @@
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
+import android.widget.Toast;
import java.util.ArrayList;
@@ -55,10 +56,10 @@
private View mPhotoStub;
private TextView mName;
- private TextView mReadOnlyWarning;
private Button mEditExternallyButton;
private ViewGroup mGeneral;
+ private View mAccountContainer;
private ImageView mAccountIcon;
private TextView mAccountTypeTextView;
private TextView mAccountNameTextView;
@@ -97,11 +98,11 @@
mPhotoStub = findViewById(R.id.stub_photo);
mName = (TextView) findViewById(R.id.read_only_name);
- mReadOnlyWarning = (TextView) findViewById(R.id.read_only_warning);
mEditExternallyButton = (Button) findViewById(R.id.button_edit_externally);
mEditExternallyButton.setOnClickListener(this);
mGeneral = (ViewGroup)findViewById(R.id.sect_general);
+ mAccountContainer = findViewById(R.id.account_container);
mAccountIcon = (ImageView) findViewById(R.id.account_icon);
mAccountTypeTextView = (TextView) findViewById(R.id.account_type);
mAccountNameTextView = (TextView) findViewById(R.id.account_name);
@@ -168,11 +169,17 @@
mName.setText(primary.getAsString(StructuredName.DISPLAY_NAME));
if (type.readOnly) {
- mReadOnlyWarning.setText(mContext.getString(R.string.contact_read_only));
- mReadOnlyWarning.setVisibility(View.VISIBLE);
+ mAccountContainer.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Toast.makeText(mContext, mContext.getString(R.string.contact_read_only),
+ Toast.LENGTH_SHORT).show();
+ }
+ });
mEditExternallyButton.setVisibility(View.GONE);
} else {
- mReadOnlyWarning.setVisibility(View.GONE);
+ mAccountContainer.setBackgroundDrawable(null);
+ mAccountContainer.setEnabled(false);
mEditExternallyButton.setVisibility(View.VISIBLE);
}
@@ -183,7 +190,7 @@
View field = mInflater.inflate(
R.layout.item_read_only_field, mGeneral, false);
TextView v;
- v = (TextView) field.findViewById(R.id.label);
+ v = (TextView) field.findViewById(R.id.kind_title);
v.setText(mContext.getText(R.string.phoneLabelsGroup));
v = (TextView) field.findViewById(R.id.data);
v.setText(PhoneNumberUtils.formatNumber(phone.getAsString(Phone.NUMBER),
@@ -200,7 +207,7 @@
View field = mInflater.inflate(
R.layout.item_read_only_field, mGeneral, false);
TextView v;
- v = (TextView) field.findViewById(R.id.label);
+ v = (TextView) field.findViewById(R.id.kind_title);
v.setText(mContext.getText(R.string.emailLabelsGroup));
v = (TextView) field.findViewById(R.id.data);
v.setText(email.getAsString(Email.DATA));
diff --git a/src/com/android/contacts/editor/GroupMembershipView.java b/src/com/android/contacts/editor/GroupMembershipView.java
index 9693915..042b80a 100644
--- a/src/com/android/contacts/editor/GroupMembershipView.java
+++ b/src/com/android/contacts/editor/GroupMembershipView.java
@@ -27,6 +27,8 @@
import android.app.Activity;
import android.content.Context;
+import android.content.res.ColorStateList;
+import android.content.res.Resources;
import android.database.Cursor;
import android.provider.ContactsContract.CommonDataKinds.GroupMembership;
import android.provider.ContactsContract.RawContacts;
@@ -95,6 +97,10 @@
private boolean mDefaultGroupVisibilityKnown;
private boolean mDefaultGroupVisible;
+ private String mNoGroupString;
+ private int mPrimaryTextColor;
+ private int mSecondaryTextColor;
+
public GroupMembershipView(Context context) {
super(context);
}
@@ -104,6 +110,15 @@
}
@Override
+ protected void onFinishInflate() {
+ super.onFinishInflate();
+ Resources resources = mContext.getResources();
+ mPrimaryTextColor = resources.getColor(R.color.primary_text_color);
+ mSecondaryTextColor = resources.getColor(R.color.secondary_text_color);
+ mNoGroupString = mContext.getString(R.string.add_new_entry_for_section);
+ }
+
+ @Override
public void setEnabled(boolean enabled) {
super.setEnabled(enabled);
if (mGroupList != null) {
@@ -187,9 +202,11 @@
mGroupList.setEnabled(isEnabled());
if (sb.length() == 0) {
- mGroupList.setText(" ");
+ mGroupList.setText(mNoGroupString);
+ mGroupList.setTextColor(mSecondaryTextColor);
} else {
mGroupList.setText(sb);
+ mGroupList.setTextColor(mPrimaryTextColor);
}
setVisibility(VISIBLE);
diff --git a/src/com/android/contacts/editor/KindSectionView.java b/src/com/android/contacts/editor/KindSectionView.java
index 3b46307..686939c 100644
--- a/src/com/android/contacts/editor/KindSectionView.java
+++ b/src/com/android/contacts/editor/KindSectionView.java
@@ -140,7 +140,7 @@
mTitleString = (kind.titleRes == -1 || kind.titleRes == 0)
? ""
: getResources().getString(kind.titleRes);
- mTitle.setText(mTitleString.toUpperCase());
+ mTitle.setText(mTitleString);
rebuildFromState();
updateAddFooterVisible();
diff --git a/src/com/android/contacts/editor/LabeledEditorView.java b/src/com/android/contacts/editor/LabeledEditorView.java
index 5bba2c4..bb25ea0 100644
--- a/src/com/android/contacts/editor/LabeledEditorView.java
+++ b/src/com/android/contacts/editor/LabeledEditorView.java
@@ -465,10 +465,12 @@
private class EditTypeAdapter extends ArrayAdapter<EditType> {
private final LayoutInflater mInflater;
private boolean mHasCustomSelection;
+ private int mTextColor;
public EditTypeAdapter(Context context) {
super(context, 0);
mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ mTextColor = context.getResources().getColor(R.color.secondary_text_color);
if (mType != null && mType.customColumn != null) {
@@ -501,17 +503,18 @@
private View createViewFromResource(int position, View convertView, ViewGroup parent,
int resource) {
- View view;
TextView textView;
if (convertView == null) {
- view = mInflater.inflate(resource, parent, false);
+ textView = (TextView) mInflater.inflate(resource, parent, false);
+ textView.setAllCaps(true);
+ textView.setGravity(Gravity.RIGHT);
+ textView.setTextAppearance(mContext, android.R.style.TextAppearance_Small);
+ textView.setTextColor(mTextColor);
} else {
- view = convertView;
+ textView = (TextView) convertView;
}
- textView = (TextView) view;
-
EditType type = getItem(position);
String text;
if (type == CUSTOM_SELECTION) {
@@ -519,10 +522,8 @@
} else {
text = getContext().getString(type.labelRes);
}
- textView.setText(text.toUpperCase());
- textView.setGravity(Gravity.RIGHT);
- textView.setTextColor(Color.GRAY);
- return view;
+ textView.setText(text);
+ return textView;
}
}
}
diff --git a/src/com/android/contacts/editor/RawContactEditorView.java b/src/com/android/contacts/editor/RawContactEditorView.java
index 41f2ebd..6335cb6 100644
--- a/src/com/android/contacts/editor/RawContactEditorView.java
+++ b/src/com/android/contacts/editor/RawContactEditorView.java
@@ -70,7 +70,6 @@
private ViewGroup mFields;
- private View mAccountContainer;
private ImageView mAccountIcon;
private TextView mAccountTypeTextView;
private TextView mAccountNameTextView;
@@ -139,7 +138,6 @@
mFields = (ViewGroup)findViewById(R.id.sect_fields);
- mAccountContainer = findViewById(R.id.anchor_for_account_switcher);
mAccountIcon = (ImageView) findViewById(R.id.account_icon);
mAccountTypeTextView = (TextView) findViewById(R.id.account_type);
mAccountNameTextView = (TextView) findViewById(R.id.account_name);
@@ -153,10 +151,6 @@
});
}
- public void setAccountHeaderVisible(boolean visible) {
- mAccountContainer.setVisibility(visible ? View.VISIBLE : View.GONE);
- }
-
/**
* Set the internal state for this view, given a current
* {@link EntityDelta} state and the {@link AccountType} that
diff --git a/src/com/android/contacts/editor/TextFieldsEditorView.java b/src/com/android/contacts/editor/TextFieldsEditorView.java
index 0d8aba6..d3fa3b7 100644
--- a/src/com/android/contacts/editor/TextFieldsEditorView.java
+++ b/src/com/android/contacts/editor/TextFieldsEditorView.java
@@ -60,6 +60,7 @@
private ImageView mExpansionView;
private boolean mHideOptional = true;
private boolean mHasShortAndLongForms;
+ private int mHintTextColor;
public TextFieldsEditorView(Context context) {
super(context);
@@ -81,6 +82,7 @@
setDrawingCacheEnabled(true);
setAlwaysDrawnWithCacheEnabled(true);
+ mHintTextColor = getContext().getResources().getColor(R.color.secondary_text_color);
mFields = (ViewGroup) findViewById(R.id.editors);
mExpansionView = (ImageView) findViewById(R.id.expansion_view);
mExpansionViewContainer = findViewById(R.id.expansion_view_container);
@@ -173,6 +175,7 @@
fieldView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
fieldView.setTextAppearance(getContext(), kind.textAppearanceResourceId);
+ fieldView.setHintTextColor(mHintTextColor);
fieldView.setGravity(Gravity.TOP);
mFieldEditTexts[index] = fieldView;
fieldView.setId(vig.getId(state, kind, entry, index));
diff --git a/src/com/android/contacts/group/GroupBrowseListAdapter.java b/src/com/android/contacts/group/GroupBrowseListAdapter.java
index 1f06029..6571b99 100644
--- a/src/com/android/contacts/group/GroupBrowseListAdapter.java
+++ b/src/com/android/contacts/group/GroupBrowseListAdapter.java
@@ -153,8 +153,11 @@
if (currentGroupId == mGroupId) {
final ImageView[] children = getIconViewsSordedByFillOrder(icons);
for (int i = 0; i < children.length; i++) {
- final long photoId = i < photoIds.size() ? photoIds.get(i) : 0;
- mContactPhotoManager.loadPhoto(children[i], photoId);
+ if (i < photoIds.size()) {
+ mContactPhotoManager.loadPhoto(children[i], photoIds.get(i));
+ } else {
+ mContactPhotoManager.removePhoto(children[i]);
+ }
}
}
}
@@ -318,13 +321,16 @@
if (photoIds != null) {
// Cache is available. Let the photo manager load those IDs.
for (int i = 0; i < children.length; i++) {
- final long photoId = i < photoIds.size() ? photoIds.get(i) : 0;
- mContactPhotoManager.loadPhoto(children[i], photoId);
+ if (i < photoIds.size()) {
+ mContactPhotoManager.loadPhoto(children[i], photoIds.get(i));
+ } else {
+ mContactPhotoManager.removePhoto(children[i]);
+ }
}
} else {
// Cache is not available. Load photo IDs asynchronously.
for (ImageView child : children) {
- mContactPhotoManager.loadPhoto(child, 0);
+ mContactPhotoManager.removePhoto(child);
}
new AsyncPhotoIdLoadTask().execute(
new AsyncPhotoIdLoadArg(icons, entry.getGroupId(),
diff --git a/src/com/android/contacts/list/AccountFilterActivity.java b/src/com/android/contacts/list/AccountFilterActivity.java
index f99b14e..9d872da 100644
--- a/src/com/android/contacts/list/AccountFilterActivity.java
+++ b/src/com/android/contacts/list/AccountFilterActivity.java
@@ -19,7 +19,6 @@
import com.android.contacts.ContactsActivity;
import com.android.contacts.ContactsSearchManager;
import com.android.contacts.R;
-import com.android.contacts.activities.PeopleActivity;
import com.android.contacts.model.AccountType;
import com.android.contacts.model.AccountTypeManager;
import com.android.contacts.model.AccountWithDataSet;
@@ -35,7 +34,6 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ListView;
@@ -51,6 +49,8 @@
private static final String TAG = AccountFilterActivity.class.getSimpleName();
+ private static final int SUBACTIVITY_CUSTOMIZE_FILTER = 0;
+
public static final String KEY_EXTRA_CONTACT_LIST_FILTER = "contactListFilter";
private ListView mListView;
@@ -63,14 +63,9 @@
setContentView(R.layout.contact_list_filter);
mListView = (ListView) findViewById(com.android.internal.R.id.list);
- mListView.setOnItemClickListener(new OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- finishAndSetResult(mFilters.get(position));
- }
- });
+ mListView.setOnItemClickListener(this);
- ActionBar actionBar = getActionBar();
+ ActionBar actionBar = getActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
}
@@ -104,15 +99,38 @@
mListView.setAdapter(new FilterListAdapter(this));
}
+ @Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- finishAndSetResult(mFilters.get(position));
+ ContactListFilter filter = mFilters.get(position);
+ if (filter.filterType == ContactListFilter.FILTER_TYPE_CUSTOM) {
+ final Intent intent = new Intent(this,
+ CustomContactListFilterActivity.class);
+ startActivityForResult(intent, SUBACTIVITY_CUSTOMIZE_FILTER);
+ } else {
+ final Intent intent = new Intent();
+ intent.putExtra(KEY_EXTRA_CONTACT_LIST_FILTER, filter);
+ setResult(Activity.RESULT_OK, intent);
+ finish();
+ }
}
- private void finishAndSetResult(ContactListFilter filter) {
- final Intent intent = new Intent();
- intent.putExtra(KEY_EXTRA_CONTACT_LIST_FILTER, filter);
- setResult(Activity.RESULT_OK, intent);
- finish();
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if (resultCode != Activity.RESULT_OK) {
+ return;
+ }
+
+ switch (requestCode) {
+ case SUBACTIVITY_CUSTOMIZE_FILTER: {
+ final Intent intent = new Intent();
+ ContactListFilter filter = ContactListFilter.createFilterWithType(
+ ContactListFilter.FILTER_TYPE_CUSTOM);
+ intent.putExtra(KEY_EXTRA_CONTACT_LIST_FILTER, filter);
+ setResult(Activity.RESULT_OK, intent);
+ finish();
+ break;
+ }
+ }
}
@Override
@@ -154,7 +172,7 @@
view = (ContactListFilterView) convertView;
} else {
view = (ContactListFilterView) mLayoutInflater.inflate(
- R.layout.filter_spinner_item, parent, false);
+ R.layout.contact_list_filter_item, parent, false);
}
view.setSingleAccount(mFilters.size() == 1);
ContactListFilter filter = mFilters.get(position);
@@ -168,10 +186,10 @@
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
- Intent intent = new Intent(this, PeopleActivity.class);
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- startActivity(intent);
- finish();
+ // We have two logical "up" Activities: People and Phone.
+ // Instead of having one static "up" direction, behave like back as an
+ // exceptional case.
+ onBackPressed();
return true;
default:
break;
diff --git a/src/com/android/contacts/list/ContactEntryListAdapter.java b/src/com/android/contacts/list/ContactEntryListAdapter.java
index cd3a7ed..f95dea3 100644
--- a/src/com/android/contacts/list/ContactEntryListAdapter.java
+++ b/src/com/android/contacts/list/ContactEntryListAdapter.java
@@ -77,6 +77,8 @@
private boolean mSelectionVisible;
+ private ContactListFilter mFilter;
+
public ContactEntryListAdapter(Context context) {
super(context);
addPartitions();
@@ -558,6 +560,17 @@
return true;
}
+ /**
+ * Returns the currently selected filter.
+ */
+ public ContactListFilter getFilter() {
+ return mFilter;
+ }
+
+ public void setFilter(ContactListFilter filter) {
+ mFilter = filter;
+ }
+
@Override
public Placement getItemPlacementInSection(int position) {
// Special case code to prevent a section header from being displayed above the user's
diff --git a/src/com/android/contacts/list/ContactEntryListFragment.java b/src/com/android/contacts/list/ContactEntryListFragment.java
index e32e131..73d0859 100644
--- a/src/com/android/contacts/list/ContactEntryListFragment.java
+++ b/src/com/android/contacts/list/ContactEntryListFragment.java
@@ -544,13 +544,13 @@
mListView.setFastScrollEnabled(hasScrollbar);
mListView.setFastScrollAlwaysVisible(hasScrollbar);
mListView.setVerticalScrollbarPosition(mVerticalScrollbarPosition);
+ mListView.setScrollBarStyle(ListView.SCROLLBARS_OUTSIDE_OVERLAY);
int leftPadding = 0;
int rightPadding = 0;
if (mVerticalScrollbarPosition == View.SCROLLBAR_POSITION_LEFT) {
leftPadding = mContext.getResources().getDimensionPixelOffset(
R.dimen.list_visible_scrollbar_padding);
- mListView.setScrollBarStyle(ListView.SCROLLBARS_OUTSIDE_OVERLAY);
- } else if (hasScrollbar){
+ } else {
rightPadding = mContext.getResources().getDimensionPixelOffset(
R.dimen.list_visible_scrollbar_padding);
}
diff --git a/src/com/android/contacts/list/ContactListAdapter.java b/src/com/android/contacts/list/ContactListAdapter.java
index 467dcc3..48fd342 100644
--- a/src/com/android/contacts/list/ContactListAdapter.java
+++ b/src/com/android/contacts/list/ContactListAdapter.java
@@ -113,12 +113,9 @@
private String mSelectedContactLookupKey;
private long mSelectedContactId;
- private ContactListFilter mFilter;
-
// View types for entries in the list view.
private final int mViewTypeProfileEntry;
-
public ContactListAdapter(Context context) {
super(context);
@@ -130,17 +127,6 @@
return mUnknownNameText;
}
- /**
- * Returns the currently selected filter.
- */
- public ContactListFilter getFilter() {
- return mFilter;
- }
-
- public void setFilter(ContactListFilter filter) {
- mFilter = filter;
- }
-
public long getSelectedContactDirectoryId() {
return mSelectedContactDirectoryId;
}
diff --git a/src/com/android/contacts/list/CustomContactListFilterActivity.java b/src/com/android/contacts/list/CustomContactListFilterActivity.java
index e0965cc..26610dc 100644
--- a/src/com/android/contacts/list/CustomContactListFilterActivity.java
+++ b/src/com/android/contacts/list/CustomContactListFilterActivity.java
@@ -29,6 +29,7 @@
import com.android.contacts.util.WeakAsyncTask;
import com.google.android.collect.Lists;
+import android.app.ActionBar;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.LoaderManager.LoaderCallbacks;
@@ -107,6 +108,12 @@
mList.setOnCreateContextMenuListener(this);
mList.setAdapter(mAdapter);
+
+ ActionBar actionBar = getActionBar();
+ if (actionBar != null) {
+ // android.R.id.home will be triggered in onOptionsItemSelected()
+ actionBar.setDisplayHomeAsUpEnabled(true);
+ }
}
public static class CustomFilterConfigurationLoader extends AsyncTaskLoader<AccountSet> {
@@ -801,12 +808,6 @@
}
}
- /** {@inheritDoc} */
- @Override
- public void onBackPressed() {
- doSaveAction();
- }
-
@SuppressWarnings("unchecked")
private void doSaveAction() {
if (mAdapter == null || mAdapter.mAccounts == null) {
@@ -897,4 +898,18 @@
ContactsSearchManager.startSearch(this, initialQuery);
}
}
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case android.R.id.home:
+ // Pretend cancel.
+ setResult(Activity.RESULT_CANCELED);
+ finish();
+ return true;
+ default:
+ break;
+ }
+ return super.onOptionsItemSelected(item);
+ }
}
diff --git a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
index ded35a4..b6a5be0 100644
--- a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
@@ -35,6 +35,7 @@
private TextView mCounterHeaderView;
private View mSearchHeaderView;
private TextView mAccountFilterHeaderView;
+ private View mAccountFilterHeaderContainer;
public DefaultContactBrowseListFragment() {
setPhotoLoaderEnabled(true);
@@ -65,6 +66,8 @@
super.onCreateView(inflater, container);
mAccountFilterHeaderView = (TextView) getView().findViewById(R.id.account_filter_header);
+ mAccountFilterHeaderContainer =
+ getView().findViewById(R.id.account_filter_header_container);
mCounterHeaderView = (TextView) getView().findViewById(R.id.contacts_count);
// Putting the header view inside a container will allow us to make
@@ -107,11 +110,11 @@
}
if (filter != null && filter.filterType != ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS &&
!isSearchMode() && filter.filterType != ContactListFilter.FILTER_TYPE_CUSTOM) {
+ mAccountFilterHeaderContainer.setVisibility(View.VISIBLE);
mAccountFilterHeaderView.setText(getContext().getString(
R.string.listAllContactsInAccount, filter.accountName));
- mAccountFilterHeaderView.setVisibility(View.VISIBLE);
} else {
- mAccountFilterHeaderView.setVisibility(View.GONE);
+ mAccountFilterHeaderContainer.setVisibility(View.GONE);
}
}
diff --git a/src/com/android/contacts/list/PhoneNumberListAdapter.java b/src/com/android/contacts/list/PhoneNumberListAdapter.java
index 21a7846..87fb60f 100644
--- a/src/com/android/contacts/list/PhoneNumberListAdapter.java
+++ b/src/com/android/contacts/list/PhoneNumberListAdapter.java
@@ -22,15 +22,21 @@
import android.net.Uri;
import android.net.Uri.Builder;
import android.provider.ContactsContract;
+import android.provider.ContactsContract.CommonDataKinds.GroupMembership;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.ContactCounts;
+import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.Directory;
+import android.provider.ContactsContract.RawContacts;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* A cursor adapter for the {@link Phone#CONTENT_TYPE} content type.
*/
@@ -79,6 +85,20 @@
public void configureLoader(CursorLoader loader, long directoryId) {
Uri uri;
+ if (directoryId != Directory.DEFAULT) {
+ Log.w(TAG, "PhoneNumberListAdapter is not ready for non-default directory ID ("
+ + "directoryId: " + directoryId + ")");
+ }
+
+ final ContactListFilter filter = getFilter();
+ if (filter != null &&
+ (filter.filterType != ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS &&
+ filter.filterType != ContactListFilter.FILTER_TYPE_ACCOUNT &&
+ filter.filterType != ContactListFilter.FILTER_TYPE_CUSTOM)) {
+ throw new IllegalArgumentException("Unexpected filter type came " +
+ "(type: " + filter.filterType + ", toString: " + filter + ")");
+ }
+
if (isSearchMode()) {
String query = getQueryString();
Builder builder = Phone.CONTENT_FILTER_URI.buildUpon();
@@ -102,6 +122,7 @@
}
loader.setProjection(PHONES_PROJECTION);
+ configureSelection(loader, directoryId, filter);
}
loader.setUri(uri);
@@ -114,6 +135,59 @@
}
}
+ private void configureSelection(
+ CursorLoader loader, long directoryId, ContactListFilter filter) {
+ if (filter == null || directoryId != Directory.DEFAULT) {
+ return;
+ }
+
+ final StringBuilder selection = new StringBuilder();
+ final List<String> selectionArgs = new ArrayList<String>();
+
+ switch (filter.filterType) {
+ case ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS: {
+ break;
+ }
+ case ContactListFilter.FILTER_TYPE_CUSTOM: {
+ selection.append(Contacts.IN_VISIBLE_GROUP + "=1");
+ selection.append(" AND " + Contacts.HAS_PHONE_NUMBER + "=1");
+ break;
+ }
+ case ContactListFilter.FILTER_TYPE_ACCOUNT: {
+ selection.append("(");
+
+ selection.append(RawContacts.ACCOUNT_TYPE + "=?"
+ + " AND " + RawContacts.ACCOUNT_NAME + "=?");
+ selectionArgs.add(filter.accountType);
+ selectionArgs.add(filter.accountName);
+ if (filter.dataSet != null) {
+ selection.append(" AND " + RawContacts.DATA_SET + "=?");
+ selectionArgs.add(filter.dataSet);
+ } else {
+ selection.append(" AND " + RawContacts.DATA_SET + " IS NULL");
+ }
+ selection.append(")");
+ break;
+ }
+ case ContactListFilter.FILTER_TYPE_GROUP: {
+ selection.append(Data.MIMETYPE + "=?"
+ + " AND " + GroupMembership.GROUP_ROW_ID + "=?");
+ selectionArgs.add(GroupMembership.CONTENT_ITEM_TYPE);
+ selectionArgs.add(String.valueOf(filter.groupId));
+ break;
+ }
+
+ case ContactListFilter.FILTER_TYPE_SINGLE_CONTACT:
+ case ContactListFilter.FILTER_TYPE_STARRED:
+ case ContactListFilter.FILTER_TYPE_WITH_PHONE_NUMBERS_ONLY:
+ default:
+ throw new IllegalArgumentException("Unexpected filter type came " +
+ "(type: " + filter.filterType + ", toString: " + filter + ")");
+ }
+ loader.setSelection(selection.toString());
+ loader.setSelectionArgs(selectionArgs.toArray(new String[0]));
+ }
+
protected static Uri buildSectionIndexerUri(Uri uri) {
return uri.buildUpon()
.appendQueryParameter(ContactCounts.ADDRESS_BOOK_INDEX_EXTRAS, "true").build();
diff --git a/src/com/android/contacts/list/PhoneNumberPickerFragment.java b/src/com/android/contacts/list/PhoneNumberPickerFragment.java
index 1866ea0..306efbd 100644
--- a/src/com/android/contacts/list/PhoneNumberPickerFragment.java
+++ b/src/com/android/contacts/list/PhoneNumberPickerFragment.java
@@ -19,14 +19,19 @@
import com.android.contacts.R;
import com.android.contacts.list.ShortcutIntentBuilder.OnShortcutIntentCreatedListener;
+import android.app.Activity;
import android.content.Intent;
+import android.content.SharedPreferences;
import android.net.Uri;
+import android.os.Bundle;
+import android.preference.PreferenceManager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Adapter;
+import android.widget.TextView;
/**
* Fragment containing a phone number list for picking.
@@ -38,6 +43,14 @@
private OnPhoneNumberPickerActionListener mListener;
private String mShortcutAction;
+ private SharedPreferences mPrefs;
+ private ContactListFilter mFilter;
+
+ private TextView mAccountFilterHeaderView;
+ private View mAccountFilterHeaderContainer;
+
+ private static final String KEY_FILTER = "filter";
+
/**
* Used to remember the result of {@link #setNameHighlightingEnabled(boolean)} when it is called
* before this Fragment is attached to its parent Activity. The value will be used after
@@ -64,6 +77,66 @@
}
@Override
+ protected void onCreateView(LayoutInflater inflater, ViewGroup container) {
+ super.onCreateView(inflater, container);
+
+ mAccountFilterHeaderView = (TextView) getView().findViewById(R.id.account_filter_header);
+ mAccountFilterHeaderContainer =
+ getView().findViewById(R.id.account_filter_header_container);
+ updateFilterHeaderView();
+ }
+
+ @Override
+ public void setSearchMode(boolean flag) {
+ super.setSearchMode(flag);
+ updateFilterHeaderView();
+ }
+
+ private void updateFilterHeaderView() {
+ if (mAccountFilterHeaderView != null) {
+ ContactListFilter filter = getFilter();
+ if (filter != null
+ && !isSearchMode()
+ && filter.filterType == ContactListFilter.FILTER_TYPE_ACCOUNT) {
+ mAccountFilterHeaderContainer.setVisibility(View.VISIBLE);
+ mAccountFilterHeaderView.setText(getContext().getString(
+ R.string.listAllContactsInAccount, filter.accountName));
+ } else {
+ mAccountFilterHeaderContainer.setVisibility(View.GONE);
+ }
+ }
+ }
+
+ @Override
+ public void onAttach(Activity activity) {
+ super.onAttach(activity);
+ mPrefs = PreferenceManager.getDefaultSharedPreferences(activity);
+ }
+
+ @Override
+ public void onDetach() {
+ super.onDetach();
+ mPrefs = null;
+ }
+
+ @Override
+ public void restoreSavedState(Bundle savedState) {
+ super.restoreSavedState(savedState);
+
+ if (savedState == null) {
+ return;
+ }
+
+ mFilter = savedState.getParcelable(KEY_FILTER);
+ }
+
+ @Override
+ public void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ outState.putParcelable(KEY_FILTER, mFilter);
+ }
+
+ @Override
public boolean onOptionsItemSelected(MenuItem item) {
final int itemId = item.getItemId();
if (itemId == android.R.id.home) { // See ActionBar#setDisplayHomeAsUpEnabled()
@@ -122,6 +195,20 @@
}
@Override
+ protected void configureAdapter() {
+ super.configureAdapter();
+
+ ContactEntryListAdapter adapter = getAdapter();
+ if (adapter == null) {
+ return;
+ }
+
+ if (!isSearchMode() && mFilter != null) {
+ adapter.setFilter(mFilter);
+ }
+ }
+
+ @Override
protected View inflateView(LayoutInflater inflater, ViewGroup container) {
return inflater.inflate(R.layout.contacts_list_content, null);
}
@@ -171,4 +258,24 @@
mDelayedNameHighlightingEnabled = null;
}
}
+
+ public ContactListFilter getFilter() {
+ return mFilter;
+ }
+
+ public void setFilter(ContactListFilter filter) {
+ if ((mFilter == null && filter == null) ||
+ (mFilter != null && mFilter.equals(filter))) {
+ return;
+ }
+
+ mFilter = filter;
+ if (mPrefs != null) {
+ // Save the preference now.
+ ContactListFilter.storeToPreferences(mPrefs, mFilter);
+ }
+
+ reloadData();
+ updateFilterHeaderView();
+ }
}
diff --git a/src/com/android/contacts/model/BaseAccountType.java b/src/com/android/contacts/model/BaseAccountType.java
index aca2d3c..0846197 100644
--- a/src/com/android/contacts/model/BaseAccountType.java
+++ b/src/com/android/contacts/model/BaseAccountType.java
@@ -205,7 +205,7 @@
DataKind kind = addKind(new DataKind(Phone.CONTENT_ITEM_TYPE, R.string.phoneLabelsGroup,
android.R.drawable.sym_action_call, 10, true,
R.layout.text_fields_editor_view, android.R.style.TextAppearance_Medium));
- kind.iconAltRes = R.drawable.sym_action_sms;
+ kind.iconAltRes = R.drawable.ic_text_holo_light;
kind.iconAltResDark = R.drawable.ic_text_holo_dark;
kind.actionHeader = new PhoneActionInflater();
kind.actionAltHeader = new PhoneActionAltInflater();
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index d8f9c2c..af18917 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -21,7 +21,6 @@
import com.android.contacts.R;
import com.android.contacts.model.AccountTypeManager;
import com.android.contacts.model.DataKind;
-import com.android.contacts.util.Constants;
import com.android.contacts.util.ContactBadgeUtil;
import com.android.contacts.util.DataStatus;
import com.android.contacts.util.NotifyingAsyncQueryHandler;
@@ -83,10 +82,6 @@
import java.util.Set;
// TODO: Save selected tab index during rotation
-// TODO: Handle GTalk Audio/Videochat secondary actions
-// TODO: Don't do a query in QuickContactBadge
-// TODO: Fix bug when QuickContact is dismissed using HOME or task switching
-// (it will relaunch with the previous contact)
// Missing assets and specs:
// Pushed states for list items
diff --git a/tests/src/com/android/contacts/tests/mocks/MockContactPhotoManager.java b/tests/src/com/android/contacts/tests/mocks/MockContactPhotoManager.java
index 6da205b..416b841 100644
--- a/tests/src/com/android/contacts/tests/mocks/MockContactPhotoManager.java
+++ b/tests/src/com/android/contacts/tests/mocks/MockContactPhotoManager.java
@@ -37,6 +37,11 @@
}
@Override
+ public void removePhoto(ImageView view) {
+ view.setImageDrawable(null);
+ }
+
+ @Override
public void pause() {
}