From 03e695c6509ee6ada0ad6a0a21181277ba298c34 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Tue, 23 Feb 2016 14:55:23 +0100 Subject: ditch isLikelyText flag, set mimeType to text/plain in that case --- .../keychain/util/CharsetVerifier.java | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/CharsetVerifier.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/CharsetVerifier.java index c1d11cc26..c03decc89 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/CharsetVerifier.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/CharsetVerifier.java @@ -33,19 +33,21 @@ public class CharsetVerifier { private boolean isPossibleTextMimeType; private boolean isTextMimeType; private String charset; + private String mimeType; - public CharsetVerifier(@NonNull byte[] buf, String mimeType, @Nullable String charset) { + public CharsetVerifier(@NonNull byte[] buf, @NonNull String mimeType, @Nullable String charset) { - isPossibleTextMimeType = ClipDescription.compareMimeTypes(mimeType, "application/octet-stream") - || ClipDescription.compareMimeTypes(mimeType, "application/x-download") - || ClipDescription.compareMimeTypes(mimeType, "text/*"); + this.mimeType = mimeType; + isTextMimeType = ClipDescription.compareMimeTypes(mimeType, "text/*"); + isPossibleTextMimeType = isTextMimeType + || ClipDescription.compareMimeTypes(mimeType, "application/octet-stream") + || ClipDescription.compareMimeTypes(mimeType, "application/x-download"); if (!isPossibleTextMimeType) { charsetDecoder = null; bufWrap = null; dummyOutput = null; return; } - isTextMimeType = ClipDescription.compareMimeTypes(mimeType, "text/*"); bufWrap = ByteBuffer.wrap(buf); dummyOutput = CharBuffer.allocate(buf.length); @@ -96,6 +98,16 @@ public class CharsetVerifier { } } + public String getGuessedMimeType() { + if (isTextMimeType) { + return mimeType; + } + if (isProbablyText()) { + return "text/plain"; + } + return mimeType; + } + public boolean isCharsetFaulty() { finishIfNecessary(); return isFaulty; -- cgit v1.2.3