From 84a2f8e41ac4d5a7ebc24f4eb5b99e9bc3029f1f Mon Sep 17 00:00:00 2001 From: steckbrief Date: Wed, 31 Jan 2018 19:52:50 +0100 Subject: properly handle downloadable links --- .../de/thedevstack/conversationsplus/utils/MessageUtil.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/main/java/de/thedevstack/conversationsplus/utils/MessageUtil.java') diff --git a/src/main/java/de/thedevstack/conversationsplus/utils/MessageUtil.java b/src/main/java/de/thedevstack/conversationsplus/utils/MessageUtil.java index 5e629485..fa403cc5 100644 --- a/src/main/java/de/thedevstack/conversationsplus/utils/MessageUtil.java +++ b/src/main/java/de/thedevstack/conversationsplus/utils/MessageUtil.java @@ -9,6 +9,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import de.thedevstack.conversationsplus.ConversationsPlusApplication; +import de.thedevstack.conversationsplus.ConversationsPlusPreferences; import de.thedevstack.conversationsplus.entities.Conversation; import de.thedevstack.conversationsplus.entities.DownloadableFile; import de.thedevstack.conversationsplus.entities.FileParams; @@ -172,11 +173,18 @@ public final class MessageUtil { public static boolean needsDownload(Message message) { FileStatus fileStatus = (null != message.getFileParams()) ? message.getFileParams().getFileStatus() : null; - return (null == fileStatus - || (null != fileStatus && (fileStatus == FileStatus.NEEDS_DOWNLOAD || fileStatus == FileStatus.UNDEFINED))) + return (message.hasFileAttached() || MessageUtil.hasDownloadableLink(message)) + &&(null == fileStatus + || (null != fileStatus && (fileStatus == FileStatus.NEEDS_DOWNLOAD || fileStatus == FileStatus.UNDEFINED))) && message.treatAsDownloadable() != Message.Decision.NEVER; } + public static boolean hasDownloadableLink(Message message) { + String url = (null != message.getFileParams()) ? message.getFileParams().getUrl() : null; + return ConversationsPlusPreferences.autoDownloadFileLink() + && null != url; + } + public static boolean isMessageSent(Message message) { switch (message.getStatus()) { case Message.STATUS_SEND: -- cgit v1.2.3