diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2015-09-21 16:49:30 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2015-09-21 16:49:30 +0200 |
commit | de8eed664f32432ab214cb1a074dd28944fc3be9 (patch) | |
tree | 8542040f08e431a6fe709595a1870dafda17d85b /OpenKeychain/src/main/java/org/sufficientlysecure | |
parent | 3a9709a35d3cf5cd2e93e49b75745226fd59ae2d (diff) | |
parent | 624299b3f14512fef1ade9e19ebe44b9a7906775 (diff) | |
download | open-keychain-de8eed664f32432ab214cb1a074dd28944fc3be9.tar.gz open-keychain-de8eed664f32432ab214cb1a074dd28944fc3be9.tar.bz2 open-keychain-de8eed664f32432ab214cb1a074dd28944fc3be9.zip |
Merge branch 'master' of github.com:open-keychain/open-keychain
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/InputDataOperation.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/InputDataOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/InputDataOperation.java index 7ec57cb2d..7ec33874f 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/InputDataOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/InputDataOperation.java @@ -28,6 +28,7 @@ import java.util.ArrayList; import android.content.Context; import android.net.Uri; import android.support.annotation.NonNull; +import android.text.TextUtils; import org.apache.james.mime4j.MimeException; import org.apache.james.mime4j.codec.DecodeMonitor; @@ -124,14 +125,17 @@ public class InputDataOperation extends BaseOperation<InputDataParcel> { currentInputUri = input.getInputUri(); } - // don't even attempt if we know the data isn't suitable for mime content + // don't even attempt if we know the data isn't suitable for mime content, or if we have a filename boolean skipMimeParsing = false; if (decryptResult != null && decryptResult.getDecryptionMetadata() != null) { - String contentType = decryptResult.getDecryptionMetadata().getMimeType(); - if (contentType != null - && !contentType.startsWith("multipart/") - && !contentType.startsWith("text/") - && !contentType.startsWith("application/")) { + OpenPgpMetadata metadata = decryptResult.getDecryptionMetadata(); + String fileName = metadata.getFilename(); + String contentType = metadata.getMimeType(); + if (!TextUtils.isEmpty(fileName) + || contentType != null + && !contentType.startsWith("multipart/") + && !contentType.startsWith("text/") + && !contentType.startsWith("application/")) { skipMimeParsing = true; } } |