aboutsummaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2017-03-26 21:21:38 +0200
committerChristian Schneppe <christian@pix-art.de>2017-03-26 21:44:06 +0200
commit8967b32174901a9366916226c8c5907994eb84eb (patch)
treef5f7a3da8e5da1ddd61dffd855baff2a29a93b1b /src/main
parentab2074927e4b808d6d69a7c52634e4492e576d83 (diff)
show received/read markers in chatlist
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/de/pixart/messenger/ui/adapter/ConversationAdapter.java16
-rw-r--r--src/main/res/layout/conversation_list_row.xml52
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