From 297c09c12919a35ceadc7459d12dbd6f3d882e58 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 18 Oct 2020 09:33:25 +0200 Subject: [PATCH] Refactoring --- .../main/java/eu/faircode/email/ActivityBase.java | 2 +- app/src/main/java/eu/faircode/email/Helper.java | 15 +++++++++++---- .../java/eu/faircode/email/MessageHelper.java | 3 +-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityBase.java b/app/src/main/java/eu/faircode/email/ActivityBase.java index 8437477b44..49ab8ed273 100644 --- a/app/src/main/java/eu/faircode/email/ActivityBase.java +++ b/app/src/main/java/eu/faircode/email/ActivityBase.java @@ -396,7 +396,7 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc super.startActivityForResult(intent, requestCode); } catch (ActivityNotFoundException ex) { Log.w(ex); - if (Helper.isTnef(intent.getType())) + if (Helper.isTnef(intent.getType(), null)) Helper.viewFAQ(this, 155); else ToastEx.makeText(this, getString(R.string.title_no_viewer, intent), Toast.LENGTH_LONG).show(); diff --git a/app/src/main/java/eu/faircode/email/Helper.java b/app/src/main/java/eu/faircode/email/Helper.java index 6c27fbcbb2..298c295cd5 100644 --- a/app/src/main/java/eu/faircode/email/Helper.java +++ b/app/src/main/java/eu/faircode/email/Helper.java @@ -517,7 +517,7 @@ public class Helper { // Check if viewer available if (ris == null || ris.size() == 0) { - if (isTnef(type)) + if (isTnef(type, null)) viewFAQ(context, 155); else { String message = context.getString(R.string.title_no_viewer, @@ -530,10 +530,17 @@ public class Helper { context.startActivity(intent); } - static boolean isTnef(String type) { + static boolean isTnef(String type, String name) { // https://en.wikipedia.org/wiki/Transport_Neutral_Encapsulation_Format - return ("application/ms-tnef".equals(type) || - "application/vnd.ms-tnef".equals(type)); + if ("application/ms-tnef".equals(type) || + "application/vnd.ms-tnef".equals(type)) + return true; + + if ("application/octet-stream".equals(type) && + "winmail.dat".equals(name)) + return true; + + return false; } static void view(Context context, Intent intent) { diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index f9ca1449ae..bab3e09927 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -1941,8 +1941,7 @@ public class MessageHelper { downloadAttachment(context, index, local); - if (Helper.isTnef(local.type) || - ("application/octet-stream".equals(local.type) && "winmail.dat".equals(local.name))) + if (Helper.isTnef(local.type, local.name)) decodeTNEF(context, local); }