From a5ff2f8fe3def958026df0716799f99b40900b3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Thu, 15 Oct 2015 19:56:04 +0200 Subject: Mime type consistency --- .../java/org/sufficientlysecure/keychain/Constants.java | 13 +++++++------ .../keychain/pgp/PgpDecryptVerifyOperation.java | 6 +++--- .../sufficientlysecure/keychain/ui/BackupCodeFragment.java | 6 +++--- .../sufficientlysecure/keychain/ui/DecryptListFragment.java | 6 +++--- .../keychain/ui/EncryptFilesFragment.java | 2 +- .../sufficientlysecure/keychain/ui/EncryptTextFragment.java | 2 +- .../org/sufficientlysecure/keychain/util/NfcHelper.java | 2 +- 7 files changed, 19 insertions(+), 18 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java index e76db157e..e59874254 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java @@ -44,13 +44,14 @@ public final class Constants { public static final String CLIPBOARD_LABEL = "Keychain"; - // as defined in http://tools.ietf.org/html/rfc3156, section 7 - public static final String NFC_MIME = "application/pgp-keys"; - // as defined in http://tools.ietf.org/html/rfc3156 - // we don't use application/pgp-encrypted as it only holds the version number - public static final String ENCRYPTED_FILES_MIME = "application/octet-stream"; - public static final String ENCRYPTED_TEXT_MIME = "text/plain"; + public static final String MIME_TYPE_KEYS = "application/pgp-keys"; + // NOTE: don't use application/pgp-encrypted It only holds the version number! + public static final String MIME_TYPE_ENCRYPTED = "application/octet-stream"; + // NOTE: Non-standard alternative, better use this, because application/octet-stream is too unspecific! + // also see https://tools.ietf.org/html/draft-bray-pgp-message-00 + public static final String MIME_TYPE_ENCRYPTED_ALTERNATE = "application/pgp-message"; + public static final String MIME_TYPE_TEXT = "text/plain"; public static final String FILE_EXTENSION_PGP_MAIN = ".pgp"; public static final String FILE_EXTENSION_PGP_ALTERNATE = ".gpg"; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyOperation.java index 2d28f70e0..4a08ab9c1 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyOperation.java @@ -417,10 +417,10 @@ public class PgpDecryptVerifyOperation extends BaseOperation= Build.VERSION_CODES.KITKAT) { - FileHelper.saveDocument(this, "application/octet-stream", filename, REQUEST_SAVE); + FileHelper.saveDocument(this, Constants.MIME_TYPE_ENCRYPTED_ALTERNATE, filename, REQUEST_SAVE); return; } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptListFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptListFragment.java index 17903e9fd..a5f9dc885 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptListFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptListFragment.java @@ -377,7 +377,7 @@ public class DecryptListFragment if (ClipDescription.compareMimeTypes(type, "text/plain")) { // noinspection deprecation, this should be called from Context, but not available in minSdk icon = getResources().getDrawable(R.drawable.ic_chat_black_24dp); - } else if (ClipDescription.compareMimeTypes(type, "application/pgp-keys")) { + } else if (ClipDescription.compareMimeTypes(type, Constants.MIME_TYPE_KEYS)) { // noinspection deprecation, this should be called from Context, but not available in minSdk icon = getResources().getDrawable(R.drawable.ic_key_plus_grey600_24dp); } else if (ClipDescription.compareMimeTypes(type, "image/*")) { @@ -534,7 +534,7 @@ public class DecryptListFragment intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(outputUri, metadata.getMimeType()); - if (!forceChooser && "application/pgp-keys".equals(metadata.getMimeType())) { + if (!forceChooser && Constants.MIME_TYPE_KEYS.equals(metadata.getMimeType())) { // bind Intent to this OpenKeychain, don't allow other apps to intercept here! intent.setPackage(getActivity().getPackageName()); } @@ -777,7 +777,7 @@ public class DecryptListFragment filename = getString(R.string.filename_unknown); } else if ( ! TextUtils.isEmpty(metadata.getFilename())) { filename = metadata.getFilename(); - } else if (ClipDescription.compareMimeTypes(metadata.getMimeType(), "application/pgp-keys")) { + } else if (ClipDescription.compareMimeTypes(metadata.getMimeType(), Constants.MIME_TYPE_KEYS)) { filename = getString(R.string.filename_keys); } else if (ClipDescription.compareMimeTypes(metadata.getMimeType(), "text/plain")) { filename = getString(R.string.filename_unknown_text); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java index 99e1f2792..ff1b9d478 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java @@ -608,7 +608,7 @@ public class EncryptFilesFragment sendIntent = new Intent(Intent.ACTION_SEND_MULTIPLE); sendIntent.putExtra(Intent.EXTRA_STREAM, mOutputUris); } - sendIntent.setType(Constants.ENCRYPTED_FILES_MIME); + sendIntent.setType(Constants.MIME_TYPE_ENCRYPTED_ALTERNATE); EncryptActivity modeInterface = (EncryptActivity) getActivity(); EncryptModeFragment modeFragment = modeInterface.getModeFragment(); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java index 0513a6495..4ce241c02 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java @@ -291,7 +291,7 @@ public class EncryptTextFragment private Intent createSendIntent(byte[] resultBytes) { Intent sendIntent; sendIntent = new Intent(Intent.ACTION_SEND); - sendIntent.setType(Constants.ENCRYPTED_TEXT_MIME); + sendIntent.setType(Constants.MIME_TYPE_TEXT); sendIntent.putExtra(Intent.EXTRA_TEXT, new String(resultBytes)); EncryptActivity modeInterface = (EncryptActivity) getActivity(); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/NfcHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/NfcHelper.java index 1040e683b..af4e0d4f8 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/NfcHelper.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/NfcHelper.java @@ -98,7 +98,7 @@ public class NfcHelper { * guarantee that this activity starts when receiving a beamed message. For now, this code * uses the tag dispatch system. */ - return new NdefMessage(NdefRecord.createMime(Constants.NFC_MIME, + return new NdefMessage(NdefRecord.createMime(Constants.MIME_TYPE_KEYS, mNfcKeyringBytes), NdefRecord.createApplicationRecord(Constants.PACKAGE_NAME)); } }; -- cgit v1.2.3