diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/adapter/ConversationAdapter.java | 16 | ||||
-rw-r--r-- | src/main/res/layout/conversation_list_row.xml | 52 |
2 files changed, 57 insertions, 11 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/adapter/ConversationAdapter.java b/src/main/java/de/pixart/messenger/ui/adapter/ConversationAdapter.java index 9b204d765..476d3034d 100644 --- a/src/main/java/de/pixart/messenger/ui/adapter/ConversationAdapter.java +++ b/src/main/java/de/pixart/messenger/ui/adapter/ConversationAdapter.java @@ -93,6 +93,11 @@ public class ConversationAdapter extends ArrayAdapter<Conversation> { Message message = conversation.getLatestMessage(); int unreadcount = conversation.unreadCount(); int failedcount = conversation.failedCount(); + ImageView ReceivedStatus = (ImageView) view.findViewById(R.id.indicator_received); + ImageView ReadStatus = (ImageView) view.findViewById(R.id.indicator_read); + + ReceivedStatus.setVisibility(View.GONE); + ReadStatus.setVisibility(View.GONE); if (!conversation.isRead()) { convName.setTypeface(null, Typeface.BOLD); @@ -175,6 +180,17 @@ public class ConversationAdapter extends ArrayAdapter<Conversation> { ImageView profilePicture = (ImageView) view.findViewById(R.id.conversation_image); loadAvatar(conversation, profilePicture); + if (activity.xmppConnectionService.indicateReceived()) { + switch (message.getMergedStatus()) { + case Message.STATUS_SEND_RECEIVED: + ReceivedStatus.setVisibility(View.VISIBLE); + break; + case Message.STATUS_SEND_DISPLAYED: + ReceivedStatus.setVisibility(View.VISIBLE); + ReadStatus.setVisibility(View.VISIBLE); + break; + } + } if (conversation.getMode() == Conversation.MODE_SINGLE) { if (conversation.getIncomingChatState().equals(ChatState.COMPOSING)) { mLastMessage.setText(R.string.is_typing); diff --git a/src/main/res/layout/conversation_list_row.xml b/src/main/res/layout/conversation_list_row.xml index be5977c12..c551f9dc2 100644 --- a/src/main/res/layout/conversation_list_row.xml +++ b/src/main/res/layout/conversation_list_row.xml @@ -46,13 +46,13 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/conversation_lastwrapper" + android:layout_toLeftOf="@+id/conversation_failed" android:paddingRight="4dp" android:singleLine="true" android:text="Awesome groupchat" + android:textAppearance="@style/TextAppearance.AppCompat" android:textColor="@color/black87" - android:textSize="?attr/TextSizeHeadline" - android:typeface="sans" - android:layout_toLeftOf="@+id/conversation_failed" /> + android:textSize="?attr/TextSizeHeadline" /> <RelativeLayout android:id="@+id/conversation_lastwrapper" @@ -79,7 +79,7 @@ android:layout_height="wrap_content" android:layout_alignParentLeft="false" android:layout_centerVertical="true" - android:layout_toLeftOf="@+id/notification_status" + android:layout_toLeftOf="@+id/indicators" android:layout_toRightOf="@+id/sender_name" android:orientation="vertical"> @@ -107,14 +107,44 @@ app:riv_corner_radius="5dp" /> </LinearLayout> - <ImageView - android:id="@+id/notification_status" - android:layout_width="?attr/IconSize" - android:layout_height="?attr/IconSize" - android:layout_alignParentRight="true" + <LinearLayout + android:id="@+id/indicators" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentLeft="false" android:layout_centerVertical="true" - android:layout_marginLeft="4dp" - android:src="@drawable/ic_notifications_grey600_24dp" /> + android:layout_alignParentRight="true" + android:orientation="horizontal"> + + <ImageView + android:id="@+id/indicator_received" + android:layout_width="?attr/TextSizeInfo" + android:layout_height="?attr/TextSizeInfo" + android:layout_gravity="center_vertical" + android:layout_marginLeft="4sp" + android:layout_toLeftOf="@+id/indicator_read" + android:gravity="center_vertical" + android:src="@drawable/ic_received_indicator" /> + + <ImageView + android:id="@+id/indicator_read" + android:layout_width="?attr/TextSizeInfo" + android:layout_height="?attr/TextSizeInfo" + android:layout_gravity="center_vertical" + android:layout_marginLeft="-8sp" + android:layout_toLeftOf="@+id/notification_status" + android:adjustViewBounds="false" + android:gravity="center_vertical" + android:src="@drawable/ic_read_indicator" /> + + <ImageView + android:id="@+id/notification_status" + android:layout_width="?attr/IconSize" + android:layout_height="?attr/IconSize" + android:layout_centerVertical="true" + android:layout_marginLeft="4dp" + android:src="@drawable/ic_notifications_grey600_24dp" /> + </LinearLayout> </RelativeLayout> <TextView |