Add delivery status icons to the conversation list

Closes #4710
This commit is contained in:
haffenloher
2015-11-24 16:06:41 +01:00
committed by Moxie Marlinspike
parent df5c497b5b
commit 7c95adc7e6
24 changed files with 447 additions and 318 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 997 B

24
res/layout/alert_view.xml Normal file
View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<ImageView
android:id="@+id/sms_failed_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_error_red_24dp"
android:visibility="gone"
tools:visibility="visible"
android:contentDescription="@string/conversation_item_sent__send_failed_indicator_description" />
<ImageView
android:id="@+id/pending_approval_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_info_outline_grey600_24dp"
android:visibility="gone"
tools:visibility="visible"
android:layout_gravity="center_vertical"
android:contentDescription="@string/conversation_item_sent__pending_approval_description" />
</merge>

View File

@@ -2,9 +2,8 @@
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<TextView android:id="@+id/pending_indicator"
android:layout_width="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:textAppearance="?android:attr/textAppearanceSmall"
android:fontFamily="sans-serif-light"
android:textColor="?conversation_item_sent_text_secondary_color"

View File

@@ -4,9 +4,8 @@
<pl.tajchert.sample.DotsTextView
android:id="@+id/pending_indicator"
android:layout_width="20dp"
android:layout_width="match_parent"
android:layout_height="20dp"
android:visibility="gone"
android:textAppearance="?android:attr/textAppearanceSmall"
android:fontFamily="sans-serif-light"
android:textColor="?conversation_item_sent_text_secondary_color"

View File

@@ -109,16 +109,6 @@
android:orientation="horizontal"
android:gravity="left">
<ImageView android:id="@+id/sent_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"/>
<ImageView android:id="@+id/delivered_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone" />
<ImageView android:id="@+id/secure_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -131,9 +121,11 @@
android:tint="?conversation_item_received_text_secondary_color"
android:tintMode="multiply"/>
<FrameLayout android:id="@+id/pending_indicator_stub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<org.thoughtcrime.securesms.components.DeliveryStatusView
android:id="@+id/delivery_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"/>
<TextView android:id="@+id/conversation_item_date"
android:layout_width="wrap_content"
@@ -149,31 +141,13 @@
</LinearLayout>
</LinearLayout>
<LinearLayout android:id="@+id/indicators_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:orientation="vertical"
android:gravity="center_vertical">
<ImageView android:id="@+id/sms_failed_indicator"
<org.thoughtcrime.securesms.components.AlertView
android:id="@+id/indicators_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_action_warning_red"
android:contentDescription="@string/conversation_item_sent__send_failed_indicator_description"
android:visibility="gone" />
<ImageView
android:id="@+id/pending_approval_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_info_outline_grey600_24dp"
android:visibility="gone"
android:layout_gravity="center_vertical"
android:contentDescription="@string/conversation_item_sent__pending_approval_description"
tools:visibility="gone" />
</LinearLayout>
android:layout_alignParentRight="true"
android:orientation="vertical"
android:gravity="center_vertical"/>
<TextView android:id="@+id/indicator_text"
android:layout_width="wrap_content"

View File

@@ -16,35 +16,15 @@
android:layout_marginBottom="6dp"
android:layout_marginRight="0dp">
<LinearLayout android:id="@+id/indicators_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="left|center_vertical"
android:layout_marginLeft="6dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true">
<ImageView
android:id="@+id/sms_failed_indicator"
<org.thoughtcrime.securesms.components.AlertView
android:id="@+id/indicators_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_error_red_24dp"
tools:visibility="visible"
android:visibility="gone"
android:contentDescription="@string/conversation_item_sent__send_failed_indicator_description" />
<ImageView
android:id="@+id/pending_approval_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_info_outline_grey600_24dp"
android:visibility="gone"
android:layout_gravity="center_vertical"
android:contentDescription="@string/conversation_item_sent__pending_approval_description"
tools:visibility="visible" />
</LinearLayout>
android:orientation="vertical"
android:gravity="left|center_vertical"
android:layout_marginLeft="6dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"/>
<LinearLayout android:id="@+id/body_bubble"
android:layout_width="wrap_content"
@@ -145,33 +125,11 @@
android:paddingBottom="2dp"
tools:text="30 mins" />
<FrameLayout android:id="@+id/pending_indicator_stub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<ImageView android:id="@+id/sent_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:src="@drawable/ic_done_white_18dp"
android:paddingLeft="2dp"
android:paddingBottom="2dp"
android:visibility="gone"
android:tint="?conversation_item_sent_text_secondary_color"
android:tintMode="multiply"
android:contentDescription="@string/conversation_item_sent__delivered_description" />
<ImageView android:id="@+id/delivered_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:src="@drawable/ic_done_all_white_18dp"
android:paddingLeft="2dp"
android:paddingBottom="2dp"
android:visibility="gone"
android:tint="?conversation_item_sent_text_secondary_color"
android:tintMode="multiply"
android:contentDescription="@string/conversation_item_sent__delivered_description" />
<org.thoughtcrime.securesms.components.DeliveryStatusView
android:id="@+id/delivery_status"
android:layout_width="20dp"
android:layout_height="wrap_content"
app:iconColor="?conversation_item_sent_text_secondary_color"/>
<ImageView android:id="@+id/secure_indicator"
android:layout_width="wrap_content"

View File

@@ -44,24 +44,25 @@
android:ellipsize="end"
android:drawablePadding="5dp"/>
<ImageView android:id="@+id/error"
android:layout_height="20dp"
android:layout_width="20dp"
android:layout_alignParentLeft="true"
android:layout_below="@id/from"
android:paddingBottom="3dp"
android:visibility="gone"
tools:visibility="visible"
android:src="@drawable/ic_action_warning_red"
android:contentDescription="@string/conversation_list_item_view__error_alert" />
<org.thoughtcrime.securesms.components.AlertView
android:id="@+id/indicators_parent"
android:layout_width="18dp"
android:layout_height="18dp"
android:paddingTop="2dp"
android:layout_marginRight="2dp"
android:layout_alignParentLeft="true"
android:layout_below="@id/from"
app:useSmallIcon="true"
android:visibility="gone"
tools:visibility="visible"/>
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/subject"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/from"
android:layout_toRightOf="@id/error"
android:layout_toLeftOf="@+id/archived"
android:layout_toRightOf="@id/indicators_parent"
android:layout_toLeftOf="@+id/delivery_status"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?attr/conversation_list_item_subject_color"
android:fontFamily="sans-serif-light"
@@ -111,6 +112,14 @@
android:textSize="12sp"
/>
<org.thoughtcrime.securesms.components.DeliveryStatusView
android:id="@+id/delivery_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/date"
android:layout_toLeftOf="@+id/archived"
android:layout_alignWithParentIfMissing="true"
app:iconColor="?attr/conversation_list_item_subject_color"/>
</RelativeLayout>
</org.thoughtcrime.securesms.ConversationListItem>

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<FrameLayout android:id="@+id/pending_indicator_stub"
android:layout_width="wrap_content"
android:paddingRight="2dp"
android:layout_height="wrap_content" />
<ImageView android:id="@+id/sent_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:src="@drawable/ic_done_white_18dp"
android:paddingLeft="2dp"
android:paddingBottom="2dp"
android:visibility="gone"
android:contentDescription="@string/conversation_item_sent__delivered_description" />
<ImageView android:id="@+id/delivered_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:src="@drawable/ic_done_all_white_18dp"
android:paddingLeft="2dp"
android:paddingBottom="2dp"
android:visibility="gone"
android:contentDescription="@string/conversation_item_sent__delivered_description" />
</merge>

View File

@@ -139,6 +139,14 @@
<attr name="backgroundColorHint" format="color" />
</declare-styleable>
<declare-styleable name="DeliveryStatusView">
<attr name="iconColor" format="color" />
</declare-styleable>
<declare-styleable name="AlertView">
<attr name="useSmallIcon" format="boolean" />
</declare-styleable>
<declare-styleable name="AudioView">
<attr name="tintColor" format="color" />
</declare-styleable>