From dfd40659d140367bd2a564c3443aa6892294e281 Mon Sep 17 00:00:00 2001 From: cketti Date: Mon, 10 Nov 2014 05:46:38 +0100 Subject: [PATCH] Append file name to content:// URI This allows intent filters with patterns for file extensions to match. --- src/com/fsck/k9/provider/AttachmentProvider.java | 3 ++- src/com/fsck/k9/view/AttachmentView.java | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/com/fsck/k9/provider/AttachmentProvider.java b/src/com/fsck/k9/provider/AttachmentProvider.java index 5cc7e242c..15c81e6a2 100644 --- a/src/com/fsck/k9/provider/AttachmentProvider.java +++ b/src/com/fsck/k9/provider/AttachmentProvider.java @@ -58,12 +58,13 @@ public class AttachmentProvider extends ContentProvider { .build(); } - public static Uri getAttachmentUriForViewing(Account account, long id, String mimeType) { + public static Uri getAttachmentUriForViewing(Account account, long id, String mimeType, String filename) { return CONTENT_URI.buildUpon() .appendPath(account.getUuid()) .appendPath(Long.toString(id)) .appendPath(FORMAT_VIEW) .appendPath(mimeType) + .appendPath(filename) .build(); } diff --git a/src/com/fsck/k9/view/AttachmentView.java b/src/com/fsck/k9/view/AttachmentView.java index 19595c920..8dcef251d 100644 --- a/src/com/fsck/k9/view/AttachmentView.java +++ b/src/com/fsck/k9/view/AttachmentView.java @@ -287,7 +287,7 @@ public class AttachmentView extends FrameLayout implements OnClickListener, OnLo int activitiesCount; Uri originalMimeTypeUri = AttachmentProvider.getAttachmentUriForViewing(account, part.getAttachmentId(), - contentType); + contentType, name); Intent originalMimeTypeIntent = createViewIntentForContentUri(contentType, originalMimeTypeUri); int originalMimeTypeActivitiesCount = getResolvedIntentActivitiesCount(originalMimeTypeIntent); @@ -297,7 +297,7 @@ public class AttachmentView extends FrameLayout implements OnClickListener, OnLo activitiesCount = originalMimeTypeActivitiesCount; } else { Uri inferredMimeTypeUri = AttachmentProvider.getAttachmentUriForViewing(account, part.getAttachmentId(), - inferredMimeType); + inferredMimeType, name); Intent inferredMimeTypeIntent = createViewIntentForContentUri(inferredMimeType, inferredMimeTypeUri); int inferredMimeTypeActivitiesCount = getResolvedIntentActivitiesCount(inferredMimeTypeIntent);