From 08480af796414d14b3f9671c01dc2de013bf4e75 Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Thu, 29 Aug 2024 15:28:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=83=85=E5=B1=95=E7=A4=BA=E5=B0=8D=E6=96=B9?= =?UTF-8?q?=E5=B7=B2=E8=AE=80=20=20=E5=83=85=E5=B1=95=E7=A4=BA=E5=B0=8D?= =?UTF-8?q?=E6=96=B9=E6=9C=AA=E8=AE=80=20=E9=80=BB=E8=BE=91=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/MainConversationListAdapter.java | 28 ++++++++----------- .../common/utils/UiConversationCodeUtil.java | 23 +++++---------- .../res/layout/rc_conversationlist_item2.xml | 10 +++---- common/src/main/res/values-zh/strings.xml | 4 +-- 4 files changed, 26 insertions(+), 39 deletions(-) diff --git a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java index 79f0c0892..086719b46 100644 --- a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java +++ b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java @@ -188,23 +188,19 @@ public class MainConversationListAdapter extends ConversationListAdapter { holder.setVisible(R.id.rc_conversation_unread_count, false); } - boolean isRead = false; - Message message = conversation.mCore.getMessage(); - if (message != null) { - Message.MessageDirection direction = message.getMessageDirection(); - if (direction != null && direction == Message.MessageDirection.SEND) { - isRead = (conversation.mCore.getSentStatus() == Message.SentStatus.READ); - } else { - isRead = conversation.mCore.getReceivedStatus().isRead(); - } - } - if (isRead) { - holder.setTextColor(R.id.rc_conversation_unread_tv, ContextCompat.getColor(holder.itemView.getContext(), R.color.rc_secondary_color)); - holder.setText(R.id.rc_conversation_unread_tv, WordUtil.getNewString(R.string.message_chat_msg_read_tip)); - } else { - holder.setTextColor(R.id.rc_conversation_unread_tv, ContextCompat.getColor(holder.itemView.getContext(), R.color.red)); - holder.setText(R.id.rc_conversation_unread_tv, WordUtil.getNewString(R.string.message_chat_msg_unread_tip)); + Message message = conversation.mCore.getMessage(); + if (message != null && message.getMessageDirection()==Message.MessageDirection.SEND){ + holder.setVisible(R.id.rc_conversation_unread_tv, true); + if (conversation.mCore.getSentStatus() == Message.SentStatus.READ){ + holder.setTextColor(R.id.rc_conversation_unread_tv, ContextCompat.getColor(holder.itemView.getContext(), R.color.rc_secondary_color)); + holder.setText(R.id.rc_conversation_unread_tv, WordUtil.getNewString(R.string.message_chat_msg_read_tip)); + }else { + holder.setTextColor(R.id.rc_conversation_unread_tv, ContextCompat.getColor(holder.itemView.getContext(), R.color.red)); + holder.setText(R.id.rc_conversation_unread_tv, WordUtil.getNewString(R.string.message_chat_msg_unread_tip)); + } + }else { + holder.setVisible(R.id.rc_conversation_unread_tv, false); } diff --git a/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java b/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java index bdd2ac8de..31b9244ee 100644 --- a/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java +++ b/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java @@ -95,19 +95,13 @@ public class UiConversationCodeUtil { } break; case FILTER_READ: - for (BaseUiConversation conversation : data) { - boolean isRead; + for (BaseUiConversation conversation : data) if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) { if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) { - isRead = (conversation.mCore.getSentStatus() == Message.SentStatus.READ); - } else { - isRead = conversation.mCore.getReceivedStatus().isRead(); + if (conversation.mCore.getSentStatus() == Message.SentStatus.READ) { + showData.add(conversation); + } } - if (isRead) { - showData.add(conversation); - } - } - } break; case FILTER_UNREAD: @@ -115,12 +109,9 @@ public class UiConversationCodeUtil { boolean isRead; if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) { if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) { - isRead = (conversation.mCore.getSentStatus() == Message.SentStatus.READ); - } else { - isRead = conversation.mCore.getReceivedStatus().isRead(); - } - if (!isRead) { - showData.add(conversation); + if (conversation.mCore.getSentStatus() != Message.SentStatus.READ) { + showData.add(conversation); + } } } } diff --git a/common/src/main/res/layout/rc_conversationlist_item2.xml b/common/src/main/res/layout/rc_conversationlist_item2.xml index 188c1721b..36d2b5cf9 100644 --- a/common/src/main/res/layout/rc_conversationlist_item2.xml +++ b/common/src/main/res/layout/rc_conversationlist_item2.xml @@ -84,8 +84,8 @@ android:id="@+id/rc_conversation_unread_tv" android:layout_width="wrap_content" android:layout_marginBottom="4dp" - android:layout_height="wrap_content" app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_portrait" + android:layout_height="wrap_content" app:layout_constraintStart_toStartOf="@+id/rc_conversation_title" android:ellipsize="end" android:maxLines="1" @@ -105,17 +105,17 @@ android:maxLines="1" android:textColor="@color/rc_secondary_color" android:textSize="13dp" - app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_unread_tv" app:layout_constraintEnd_toStartOf="@+id/rc_conversation_read_receipt" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toEndOf="@+id/rc_conversation_unread_tv" - app:layout_constraintTop_toTopOf="@+id/rc_conversation_unread_tv" + android:layout_marginBottom="4dp" + app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_portrait" tools:text="你好,朋友!111111111111111111111" /> 全部聊天 僅展示在線 僅展示離線 - 僅展示已讀 - 僅展示未讀 + 僅展示對方已讀 + 僅展示對方未讀