aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/thedevstack/conversationsplus/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/utils')
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/utils/ConversationUtil.java4
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/utils/MessageUtil.java5
2 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/utils/ConversationUtil.java b/src/main/java/de/thedevstack/conversationsplus/utils/ConversationUtil.java
index 55fd1b8e..709b3f20 100644
--- a/src/main/java/de/thedevstack/conversationsplus/utils/ConversationUtil.java
+++ b/src/main/java/de/thedevstack/conversationsplus/utils/ConversationUtil.java
@@ -5,6 +5,7 @@ import android.net.Uri;
import de.thedevstack.conversationsplus.ConversationsPlusApplication;
import de.thedevstack.conversationsplus.crypto.PgpEngine;
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.exceptions.FileCopyException;
@@ -45,6 +46,9 @@ public class ConversationUtil {
}
message.setCounterpart(conversation.getNextCounterpart());
//message.setType(Message.TYPE_FILE);
+ if (null == message.getFileParams()) {
+ message.setFileParams(new FileParams());
+ }
message.getFileParams().setFileStatus(FileStatus.NEEDS_UPLOAD);
String path = FileUtils.getPath(uri);
if (path != null) {
diff --git a/src/main/java/de/thedevstack/conversationsplus/utils/MessageUtil.java b/src/main/java/de/thedevstack/conversationsplus/utils/MessageUtil.java
index fa403cc5..2e346486 100644
--- a/src/main/java/de/thedevstack/conversationsplus/utils/MessageUtil.java
+++ b/src/main/java/de/thedevstack/conversationsplus/utils/MessageUtil.java
@@ -50,6 +50,7 @@ public final class MessageUtil {
URL url = new URL(body);
if (!url.getProtocol().equalsIgnoreCase("http") && !url.getProtocol().equalsIgnoreCase("https")) {
message.setTreatAsDownloadable(Message.Decision.NEVER);
+ fileParams.setFileStatus(FileStatus.UNDEFINED);
return;
}
String extension = FileUtils.getRelevantExtension(url);
@@ -69,6 +70,7 @@ public final class MessageUtil {
if (extension == null) {
message.setTreatAsDownloadable(Message.Decision.NEVER);
+ fileParams.setFileStatus(FileStatus.UNDEFINED);
return;
}
byte[] ivAndKey = UrlUtil.getIvAndKeyFromURL(url);
@@ -79,12 +81,14 @@ public final class MessageUtil {
fileParams.setKeyAndIv(ivAndKey);
} else {
message.setTreatAsDownloadable(Message.Decision.NEVER);
+ fileParams.setFileStatus(FileStatus.UNDEFINED);
}
} else if (Transferable.VALID_IMAGE_EXTENSIONS.contains(extension)
|| Transferable.WELL_KNOWN_EXTENSIONS.contains(extension)) {
message.setTreatAsDownloadable(Message.Decision.SHOULD);
} else {
message.setTreatAsDownloadable(Message.Decision.NEVER);
+ fileParams.setFileStatus(FileStatus.UNDEFINED);
}
if (message.treatAsDownloadable() == Message.Decision.MUST
@@ -94,6 +98,7 @@ public final class MessageUtil {
}
} catch (MalformedURLException e) {
message.setTreatAsDownloadable(Message.Decision.NEVER);
+ fileParams.setFileStatus(FileStatus.UNDEFINED);
}
}