From 581097d4fffcc02c8be18d5fa87d04387dbc044c Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 5 Jun 2019 10:51:39 +0200 Subject: [PATCH] Added get organization for email addresses --- .../eu/faircode/email/AdapterMessage.java | 3 +-- .../main/java/eu/faircode/email/IPInfo.java | 22 ++++++++++++++++++- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 820d189353..a8b98785f9 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -2197,8 +2197,7 @@ public class AdapterMessage extends RecyclerView.Adapter hostOrganization = new HashMap<>(); - static String getOrganization(String host) throws IOException { + static String getOrganization(Uri uri) throws IOException, ParseException { + if ("mailto".equals(uri.getScheme())) { + MailTo email = MailTo.parse(uri.toString()); + String to = email.getTo(); + if (to == null || !to.contains("@")) + return null; + String host = to.substring(to.indexOf('@') + 1); + return getOrganization(host); + } else { + String host = uri.getHost(); + if (host == null) + return null; + return getOrganization(host); + } + } + + private static String getOrganization(String host) throws IOException { synchronized (hostOrganization) { if (hostOrganization.containsKey(host)) return hostOrganization.get(host);