refactor and improve contact selection

* unify single and multi contact selection activities
* follow android listview design recommendations more closely
* add contact photos to selection
* change indicator for push to be more obvious
* cache circle-cropped bitmaps
* dedupe numbers when contact has multiple of same phone number

// FREEBIE
This commit is contained in:
Jake McGinty
2014-03-17 23:25:09 -07:00
parent c414334059
commit ca6d8a8a0d
42 changed files with 1173 additions and 876 deletions

View File

@@ -21,7 +21,7 @@
<attr name="lower_right_divet" format="reference" />
<attr name="conversation_background" format="reference|color"/>
<attr name="conversation_editor_background" format="reference|color"/>
<attr name="conversation_editor_background" format="reference"/>
<attr name="conversation_editor_text_color" format="reference|color"/>
<attr name="conversation_send_button" format="reference"/>
<attr name="conversation_send_secure_button" format="reference"/>
@@ -45,8 +45,7 @@
<attr name="contact_selection_push_user" format="reference|color" />
<attr name="contact_selection_lay_user" format="reference|color" />
<attr name="contact_selection_push_label" format="reference|color" />
<attr name="contact_selection_lay_label" format="reference|color" />
<attr name="contact_selection_label_text" format="reference|color" />
<attr name="navigation_drawer_background" format="reference|color"/>
<attr name="navigation_drawer_text_color" format="color"/>

View File

@@ -3,4 +3,5 @@
<dimen name="emoji_drawer_size">40dip</dimen>
<dimen name="conversation_item_corner_radius">3dp</dimen>
<dimen name="conversation_item_drop_shadow_dist">2dp</dimen>
</resources>
<dimen name="contact_selection_photo_size">50dp</dimen>
</resources>

5
res/values/ids.xml Normal file
View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item type="id" name="holder_tag"/>
<item type="id" name="contact_info_tag"/>
</resources>

View File

@@ -413,13 +413,14 @@
<!-- contact_selection_group_activity -->
<!-- contact_selection_list_activity -->
<string name="contact_selection_group_activity__no_contacts">No contacts.</string>
<string name="contact_selection_group_activity__finding_contacts">Finding contacts&#8230;</string>
<string name="contact_selection_group_activity__finding_contacts">Loading contacts&#8230;</string>
<!-- single_contact_selection_activity -->
<string name="single_contact_selection_group_activity__filter">Type a name to filter&#8230;</string>
<string name="SingleContactSelectionActivity_you_are_not_registered_with_the_push_service">You are not registered with the push service...</string>
<string name="SingleContactSelectionActivity_you_are_not_registered_with_the_push_service">You are not registered with the push service&#8230;</string>
<string name="SingleContactSelectionActivity_updating_directory">Updating directory</string>
<string name="SingleContactSelectionActivity_updating_push_directory">Updating push directory...</string>
<string name="SingleContactSelectionActivity_updating_push_directory">Updating push directory&#8230;</string>
<string name="SingleContactSelectionActivity_contact_photo">Contact Photo</string>
<!-- ContactSelectionListFragment-->
<string name="ContactSelectionlistFragment_select_for">Select for</string>
@@ -468,6 +469,8 @@
<string name="log_submit_activity__copied_to_clipboard">Copied to clipboard</string>
<string name="log_submit_activity__loading_logcat">Loading logcat&#8230;</string>
<string name="log_submit_activity__thanks">Thanks for your help!</string>
<string name="log_submit_activity__submitting">Submitting</string>
<string name="log_submit_activity__posting_logs">Posting logs to pastebin&#8230;</string>
<!-- database_migration_activity -->
<string name="database_migration_activity__would_you_like_to_import_your_existing_text_messages">Would you like to import your existing text messages into TextSecure\'s encrypted database?</string>
@@ -602,7 +605,7 @@
<string name="registration_progress_activity__generating_keys">Generating keys...</string>
<!-- recipients_panel -->
<string name="recipients_panel__to">To</string>
<string name="recipients_panel__to"><small>Enter a name or number</small></string>
<string name="recipients_panel__add_member">Add member</string>
<!-- review_identities -->
@@ -748,6 +751,8 @@
<!-- contact_selection_list -->
<string name="contact_selection_list__menu_select_all">Select All</string>
<string name="contact_selection_list__menu_unselect_all">Unselect All</string>
<string name="contact_selection_list__header_textsecure_users">TEXTSECURE USERS</string>
<string name="contact_selection_list__header_other">ALL CONTACTS</string>
<!-- contact_selection -->
<string name="contact_selection__menu_finished">Finished</string>

View File

@@ -23,6 +23,22 @@
<item name="background">#ff111111</item>
</style>
<style name="TextSecure.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
<item name="android:textColor">#ff555555</item>
<item name="android:textSize">19sp</item>
</style>
<style name="TextSecure.SubtitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Subtitle">
<item name="android:textColor">#ff555555</item>
</style>
<style name="TextSecure.LightActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid">
<item name="android:titleTextStyle">@style/TextSecure.TitleTextStyle</item>
<item name="titleTextStyle">@style/TextSecure.TitleTextStyle</item>
<item name="android:subtitleTextStyle">@style/TextSecure.SubtitleTextStyle</item>
<item name="subtitleTextStyle">@style/TextSecure.SubtitleTextStyle</item>
</style>
<style name="transparent_progress">
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@android:color/transparent</item>

View File

@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<style name="TextSecure.LightTheme" parent="@style/Theme.Sherlock.Light">
<item name="android:actionBarStyle">@style/TextSecure.LightActionBar</item>
<item name="actionBarStyle">@style/TextSecure.LightActionBar</item>
<item name="android:windowContentOverlay">@null</item>
<item name="windowContentOverlay">@null</item>
<item name="conversation_list_item_background_read">@drawable/conversation_list_item_background_read_light</item>
<item name="conversation_list_item_background_unread">@drawable/conversation_list_item_background_unread_light</item>
<item name="conversation_list_item_background_selected">@drawable/list_selected_holo_light</item>
@@ -21,11 +25,10 @@
<item name="contact_selection_push_user">#ff000000</item>
<item name="contact_selection_lay_user">#a0000000</item>
<item name="contact_selection_push_label">#ff64a926</item>
<item name="contact_selection_lay_label">#99000000</item>
<item name="contact_selection_label_text">#66000000</item>
<item name="conversation_background">#ffdddddd</item>
<item name="conversation_editor_background">#eeeeee</item>
<item name="conversation_editor_background">@drawable/textlines</item>
<item name="conversation_editor_text_color">#ff111111</item>
<item name="conversation_send_button">@drawable/ic_send_holo_light</item>
<item name="conversation_send_secure_button">@drawable/ic_send_encrypted_holo_light</item>
@@ -89,10 +92,9 @@
<item name="conversation_received_text_primary_color">#ffeeeeee</item>
<item name="conversation_received_text_secondary_color">#44eeeeee</item>
<item name="contact_selection_push_user">#ffdddddd</item>
<item name="contact_selection_lay_user">#ffcccccc</item>
<item name="contact_selection_push_label">#ff64a926</item>
<item name="contact_selection_lay_label">#11ffffff</item>
<item name="contact_selection_push_user">#ffeeeeee</item>
<item name="contact_selection_lay_user">#afeeeeee</item>
<item name="contact_selection_label_text">#66eeeeee</item>
<item name="conversation_item_received_background">@drawable/conversation_item_received_shape_dark</item>
<item name="conversation_item_received_triangle_background">@drawable/conversation_item_received_triangle_shape_dark</item>
@@ -112,7 +114,7 @@
<item name="lower_right_divet">@drawable/divet_lower_right_light</item>
<item name="conversation_background">@color/black</item>
<item name="conversation_editor_background">#ff222222</item>
<item name="conversation_editor_background">@drawable/textlines_dark</item>
<item name="conversation_editor_text_color">#ffeeeeee</item>
<item name="conversation_send_button">@drawable/ic_send_holo_dark</item>
<item name="conversation_send_secure_button">@drawable/ic_send_holo_dark_encrypted</item>