From b0780224b5bdd68d74ef514e64e14ce9d37d7b90 Mon Sep 17 00:00:00 2001 From: steckbrief Date: Sat, 5 May 2018 20:28:04 +0200 Subject: introduces new message state model --- .../ui/dialogs/MessageDetailsDialog.java | 36 +++++++++++++--------- 1 file changed, 22 insertions(+), 14 deletions(-) (limited to 'src/main/java/de/thedevstack/conversationsplus/ui/dialogs/MessageDetailsDialog.java') diff --git a/src/main/java/de/thedevstack/conversationsplus/ui/dialogs/MessageDetailsDialog.java b/src/main/java/de/thedevstack/conversationsplus/ui/dialogs/MessageDetailsDialog.java index b43384a4..60431d54 100644 --- a/src/main/java/de/thedevstack/conversationsplus/ui/dialogs/MessageDetailsDialog.java +++ b/src/main/java/de/thedevstack/conversationsplus/ui/dialogs/MessageDetailsDialog.java @@ -13,6 +13,10 @@ import de.thedevstack.conversationsplus.R; import de.thedevstack.conversationsplus.entities.Conversation; import de.thedevstack.conversationsplus.entities.FileParams; import de.thedevstack.conversationsplus.entities.Message; +import de.thedevstack.conversationsplus.enums.FileStatus; +import de.thedevstack.conversationsplus.enums.MessageDirection; +import de.thedevstack.conversationsplus.enums.MessageStatus; +import de.thedevstack.conversationsplus.utils.MessageUtil; import de.thedevstack.conversationsplus.utils.UIHelper; import de.thedevstack.conversationsplus.utils.ui.TextViewUtil; @@ -78,26 +82,30 @@ public class MessageDetailsDialog extends AbstractAlertDialog { protected void displayMessageStatusInfo(View view, Message message) { TextView msgStatusTextView = (TextView) view.findViewById(R.id.dlgMsgDetMsgStatus); int msgStatusResId; - switch (message.getStatus()) { - case Message.STATUS_WAITING: + switch (message.getMessageStatus()) { + case WAITING: msgStatusResId = R.string.dlg_msg_details_msg_status_waiting; break; - case Message.STATUS_UNSEND: - msgStatusResId = R.string.dlg_msg_details_msg_status_unsend; + case TRANSMITTING: + if (MessageUtil.isOutgoingMessage(message)) { + msgStatusResId = R.string.dlg_msg_details_msg_status_unsend; + } else if (FileStatus.NEEDS_UPLOAD == message.getFileParams().getFileStatus()) { // FIXME: Remove when Jingle is migrated + msgStatusResId = R.string.dlg_msg_details_msg_status_offered; + } else { + msgStatusResId = R.string.dlg_msg_details_msg_status_receiving; + } break; - case Message.STATUS_OFFERED: - msgStatusResId = R.string.dlg_msg_details_msg_status_offered; - break; - case Message.STATUS_SEND_FAILED: + case FAILED: msgStatusResId = R.string.dlg_msg_details_msg_status_failed; msgStatusTextView.setTextColor(ConversationsPlusColors.error()); break; - case Message.STATUS_RECEIVED: - msgStatusResId = R.string.dlg_msg_details_msg_status_received; + case TRANSMITTED: + if (MessageUtil.isIncomingMessage(message)) { + msgStatusResId = R.string.dlg_msg_details_msg_status_received; + } else { + msgStatusResId = R.string.dlg_msg_details_msg_status_sent; + } break; - case Message.STATUS_SEND: - case Message.STATUS_SEND_DISPLAYED: - case Message.STATUS_SEND_RECEIVED: default: msgStatusResId = R.string.dlg_msg_details_msg_status_sent; } @@ -154,7 +162,7 @@ public class MessageDetailsDialog extends AbstractAlertDialog { // Get own nick for MUC me = conversation.getMucOptions().getActualNick(); } - if (Message.STATUS_RECEIVED == message.getStatus()) { + if (MessageUtil.isIncomingMessage(message)) { // Sender was chat partner, if the status is for my account received sender.setText(other); // Set receipient to myself in case of normal chat or private message in MUC -- cgit v1.2.3