aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/thedevstack/conversationsplus/persistance/db/migrations/MessageStatusMigration.java
diff options
context:
space:
mode:
authorsteckbrief <steckbrief@chefmail.de>2018-05-05 20:28:04 +0200
committersteckbrief <steckbrief@chefmail.de>2018-05-06 13:46:22 +0200
commit132b27adeef3ab4d305facda7dd035015b00766f (patch)
treece90c05d96d747ea1f6cf80129462119a1291dc1 /src/main/java/de/thedevstack/conversationsplus/persistance/db/migrations/MessageStatusMigration.java
parent853f50e43f68599774469dd12240f35800144991 (diff)
introduces new message state model
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/persistance/db/migrations/MessageStatusMigration.java')
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/persistance/db/migrations/MessageStatusMigration.java56
1 files changed, 56 insertions, 0 deletions
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;
+ }
+ }
+}