From 132b27adeef3ab4d305facda7dd035015b00766f Mon Sep 17 00:00:00 2001 From: steckbrief Date: Sat, 5 May 2018 20:28:04 +0200 Subject: introduces new message state model --- .../db/migrations/MessageStatusMigration.java | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/main/java/de/thedevstack/conversationsplus/persistance/db/migrations/MessageStatusMigration.java (limited to 'src/main/java/de/thedevstack/conversationsplus/persistance/db/migrations/MessageStatusMigration.java') diff --git a/src/main/java/de/thedevstack/conversationsplus/persistance/db/migrations/MessageStatusMigration.java b/src/main/java/de/thedevstack/conversationsplus/persistance/db/migrations/MessageStatusMigration.java new file mode 100644 index 00000000..a0ffa256 --- /dev/null +++ b/src/main/java/de/thedevstack/conversationsplus/persistance/db/migrations/MessageStatusMigration.java @@ -0,0 +1,56 @@ +package de.thedevstack.conversationsplus.persistance.db.migrations; + +import de.thedevstack.conversationsplus.enums.MessageDirection; +import de.thedevstack.conversationsplus.enums.MessageStatus; + +/** + */ +public class MessageStatusMigration { + // Following status integers copied from old Message class + public static final int STATUS_RECEIVED = 0; + public static final int STATUS_UNSEND = 1; + public static final int STATUS_SEND = 2; + public static final int STATUS_SEND_FAILED = 3; + public static final int STATUS_WAITING = 5; + public static final int STATUS_OFFERED = 6; + public static final int STATUS_SEND_RECEIVED = 7; + public static final int STATUS_SEND_DISPLAYED = 8; + public static final int STATUS_SEND_CANCELED = 9; // FIXME This bullshit is needed until status is handled more properly + + public static MessageDirection getMessageDirection(int status) { + switch (status) { + case STATUS_SEND: + case STATUS_SEND_DISPLAYED: + case STATUS_SEND_FAILED: + case STATUS_SEND_RECEIVED: + case STATUS_SEND_CANCELED: + case STATUS_UNSEND: + case STATUS_WAITING: + case STATUS_OFFERED: + return MessageDirection.OUT; + default: + return MessageDirection.IN; + } + } + + public static MessageStatus getMessageStatus(int status) { + switch (status) { + case STATUS_UNSEND: + case STATUS_WAITING: + return MessageStatus.WAITING; + case STATUS_RECEIVED: + case STATUS_SEND: + return MessageStatus.TRANSMITTED; + case STATUS_OFFERED: + return MessageStatus.TRANSMITTING; + case STATUS_SEND_FAILED: + return MessageStatus.FAILED; + case STATUS_SEND_DISPLAYED: + return MessageStatus.DISPLAYED; + case STATUS_SEND_RECEIVED: + return MessageStatus.RECEIVED; + default: + return MessageStatus.CANCELED; + } + } +} -- cgit v1.2.3