Merge pull request #1205 from mcginty/contact-select

refactor and improve contact selection
This commit is contained in:
Moxie Marlinspike
2014-04-02 22:11:44 -07:00
42 changed files with 1173 additions and 876 deletions

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator">
<scale
android:duration="150"
android:fromXScale="0.85"
android:fromYScale="0.85"
android:toXScale="1.0"
android:toYScale="1.0"
android:pivotX="50%"
android:pivotY="50%" />
<alpha
android:duration="150"
android:fromAlpha="0.6"
android:toAlpha="1.0" />
</set>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator">
<scale
android:duration="150"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:toXScale="0.85"
android:toYScale="0.85"
android:pivotX="50%"
android:pivotY="50%" />
<alpha
android:duration="150"
android:fromAlpha="1.0"
android:toAlpha="0.6" />
</set>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator">
<translate
android:duration="150"
android:fromXDelta="100%"
android:toXDelta="0%" />
</set>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator">
<translate
android:duration="150"
android:fromXDelta="0%"
android:toXDelta="100%" />
</set>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle">
<solid android:color="#33000000" />
</shape>
</item>
<item android:bottom="1dp">
<shape
android:shape="rectangle">
<solid android:color="@color/white" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle">
<solid android:color="#33ffffff" />
</shape>
</item>
<item android:bottom="1dp">
<shape
android:shape="rectangle">
<solid android:color="@color/black" />
</shape>
</item>
</layer-list>

View File

@@ -7,7 +7,7 @@
<ListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:drawSelectorOnTop="false"
android:scrollbarStyle="insideOverlay"
android:fadingEdgeLength="16dip"

View File

@@ -5,12 +5,16 @@
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<org.thoughtcrime.securesms.components.SingleRecipientPanel android:id="@+id/recipients"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<fragment
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:id="@+id/contact_selection_list_fragment"
android:name="org.thoughtcrime.securesms.SingleContactSelectionListFragment">
android:name="org.thoughtcrime.securesms.PushContactSelectionListFragment">
</fragment>
</LinearLayout>

View File

@@ -8,7 +8,7 @@
<fragment
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:id="@+id/contact_selection_list_fragment"
android:name="org.thoughtcrime.securesms.PushContactSelectionListFragment">
</fragment>

View File

@@ -1,13 +1,12 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fastScrollEnabled="true" />
<se.emilsjolander.stickylistheaders.StickyListHeadersListView android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView android:id="@android:id/empty"
android:layout_width="match_parent"

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="32sp"
android:paddingLeft="10dp"
android:paddingRight="25dp">
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="marquee"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:textSize="15sp"
android:textColor="?conversation_sent_text_secondary_color"
android:textStyle="bold" />
<View android:layout_width="match_parent"
android:layout_height="3dp"
android:layout_alignParentBottom="true"
android:layout_marginTop="2dp"
android:background="?conversation_received_text_secondary_color" />
</RelativeLayout>

View File

@@ -1,65 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:paddingRight="25dip">
<View android:id="@+id/push_support_label"
android:layout_height="fill_parent"
android:layout_width="3dip"
android:layout_alignParentLeft="true"
android:background="#ff64a926"
android:visibility="visible"
/>
<TextView android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<ImageView android:id="@+id/contact_photo_image"
android:layout_width="@dimen/contact_selection_photo_size"
android:layout_height="@dimen/contact_selection_photo_size"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="8dip"
android:layout_marginTop="-8dip"
android:layout_marginLeft="14dip"
android:singleLine="true"
android:ellipsize="marquee"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textStyle="bold"
android:visibility = "gone"
/>
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:cropToPadding="true"
android:scaleType="centerCrop"
android:contentDescription="@string/SingleContactSelectionActivity_contact_photo" />
<TextView android:id="@+id/number"
android:visibility = "visible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dip"
android:layout_marginTop="-8dip"
android:layout_marginLeft="14dip"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:singleLine="true"
android:ellipsize="marquee"
android:layout_toRightOf="@id/contact_photo_image"
android:textAppearance="?android:attr/textAppearanceSmall"
android:fontFamily="sans-serif-light"
/>
android:fontFamily="sans-serif-light" />
<TextView android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/number"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_marginBottom="1dip"
android:layout_marginLeft="14dip"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:singleLine="true"
android:ellipsize="marquee"
android:layout_toRightOf="@id/contact_photo_image"
android:gravity="center_vertical|left"
android:textAppearance="?android:attr/textAppearanceMedium"
/>
android:textAppearance="?android:attr/textAppearanceMedium" />
<CheckBox
android:id="@+id/check_box"
<CheckBox android:id="@+id/check_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"

View File

@@ -1,26 +0,0 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<org.thoughtcrime.securesms.components.SingleRecipientPanel android:id="@+id/recipients"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="15dp"
android:paddingRight="15dp" />
<ListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fastScrollEnabled="true" />
<TextView android:id="@android:id/empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center|center_vertical"
android:layout_marginTop="15dp"
android:text="@string/contact_selection_group_activity__finding_contacts"
android:textSize="20sp" />
</LinearLayout>

View File

@@ -1,61 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:paddingRight="25dip">
<View android:id="@+id/push_support_label"
android:layout_height="fill_parent"
android:layout_width="3dip"
android:layout_alignParentLeft="true"
android:background="#ff64a926"
android:visibility="visible"
/>
<TextView android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="8dip"
android:layout_marginTop="-8dip"
android:layout_marginLeft="14dip"
android:singleLine="true"
android:ellipsize="marquee"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textStyle="bold"
android:visibility = "gone"
/>
<TextView android:id="@+id/number"
android:visibility = "visible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dip"
android:layout_marginTop="-8dip"
android:layout_marginLeft="14dip"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:singleLine="true"
android:ellipsize="marquee"
android:textAppearance="?android:attr/textAppearanceSmall"
android:fontFamily="sans-serif-light"
/>
<TextView android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/number"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_marginBottom="1dip"
android:layout_marginLeft="14dip"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:singleLine="true"
android:ellipsize="marquee"
android:gravity="center_vertical|left"
android:textAppearance="?android:attr/textAppearanceMedium"
/>
</RelativeLayout>

View File

@@ -13,7 +13,11 @@
android:singleLine="true"
android:hint="@string/recipients_panel__to"
android:paddingRight="45dip"
android:paddingLeft="15dp"
android:paddingTop="12dp"
android:paddingBottom="12dp"
android:textColor="?conversation_editor_text_color"
android:background="?conversation_editor_background"
android:layout_width="fill_parent"/>
</RelativeLayout>

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

@@ -417,13 +417,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>
@@ -472,6 +473,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>
@@ -606,7 +609,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 -->
@@ -752,6 +755,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>