From 815421f92acf7fce4664fcda196a31c515379204 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Thu, 27 Dec 2018 20:52:52 +0100 Subject: added epub and azw mime types. try to resolve application/octet-stream by file extension instead. added preview icons for ebooks --- .../pixart/messenger/persistance/FileBackend.java | 2 +- .../services/AttachFileToConversationRunnable.java | 2 +- .../messenger/services/MessageArchiveService.java | 1 + .../pixart/messenger/ui/adapter/MediaAdapter.java | 2 ++ .../de/pixart/messenger/ui/util/Attachment.java | 4 ++-- .../java/de/pixart/messenger/utils/MimeUtils.java | 26 ++++++++++++++++++++-- .../java/de/pixart/messenger/utils/UIHelper.java | 2 ++ 7 files changed, 33 insertions(+), 6 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/de/pixart/messenger/persistance/FileBackend.java b/src/main/java/de/pixart/messenger/persistance/FileBackend.java index 5efadd3ff..2703f0538 100644 --- a/src/main/java/de/pixart/messenger/persistance/FileBackend.java +++ b/src/main/java/de/pixart/messenger/persistance/FileBackend.java @@ -371,7 +371,7 @@ public class FileBackend { } public void copyFileToPrivateStorage(Message message, Uri uri, String type) throws FileCopyException { - String mime = type != null ? type : MimeUtils.guessMimeTypeFromUri(mXmppConnectionService, uri); + String mime = MimeUtils.guessMimeTypeFromUriAndMime(mXmppConnectionService, uri, type); Log.d(Config.LOGTAG, "copy " + uri.toString() + " to private storage (mime=" + mime + ")"); String extension = MimeUtils.guessExtensionFromMimeType(mime); if (extension == null) { diff --git a/src/main/java/de/pixart/messenger/services/AttachFileToConversationRunnable.java b/src/main/java/de/pixart/messenger/services/AttachFileToConversationRunnable.java index d2f623c45..192d9221d 100644 --- a/src/main/java/de/pixart/messenger/services/AttachFileToConversationRunnable.java +++ b/src/main/java/de/pixart/messenger/services/AttachFileToConversationRunnable.java @@ -44,7 +44,7 @@ public class AttachFileToConversationRunnable implements Runnable, MediaTranscod this.mXmppConnectionService = xmppConnectionService; this.message = message; this.callback = callback; - final String mimeType = type != null ? type : MimeUtils.guessMimeTypeFromUri(mXmppConnectionService, uri); + final String mimeType = MimeUtils.guessMimeTypeFromUriAndMime(mXmppConnectionService, uri, type); final int autoAcceptFileSize = Config.FILE_SIZE; this.originalFileSize = FileBackend.getFileSize(mXmppConnectionService, uri); this.isVideoMessage = !getFileBackend().useFileAsIs(uri) diff --git a/src/main/java/de/pixart/messenger/services/MessageArchiveService.java b/src/main/java/de/pixart/messenger/services/MessageArchiveService.java index d9394d4dc..c9c0c0672 100644 --- a/src/main/java/de/pixart/messenger/services/MessageArchiveService.java +++ b/src/main/java/de/pixart/messenger/services/MessageArchiveService.java @@ -338,6 +338,7 @@ public class MessageArchiveService implements OnAdvancedStreamFeaturesLoaded { query.getConversation().setFirstMamReference(first == null ? null : first.getContent()); } if (complete || relevant == null || abort) { + //TODO: FIX done logic to look at complete. using count is probably unreliable because it can be ommited and doesn’t work with paging. boolean done; if (query.isCatchup()) { done = false; diff --git a/src/main/java/de/pixart/messenger/ui/adapter/MediaAdapter.java b/src/main/java/de/pixart/messenger/ui/adapter/MediaAdapter.java index 0472c6d11..8b8c05d05 100644 --- a/src/main/java/de/pixart/messenger/ui/adapter/MediaAdapter.java +++ b/src/main/java/de/pixart/messenger/ui/adapter/MediaAdapter.java @@ -78,6 +78,8 @@ public class MediaAdapter extends RecyclerView.Adapter