From f11ddd06b3f287133324313ff1980e44d2ba5f12 Mon Sep 17 00:00:00 2001 From: str4d Date: Tue, 18 Nov 2014 04:00:21 +0000 Subject: [PATCH] Better name handling for email replies --- .../i2p/bote/android/NewEmailFragment.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/i2p/bote/android/NewEmailFragment.java b/app/src/main/java/i2p/bote/android/NewEmailFragment.java index 4dd7de0..c2ccc84 100644 --- a/app/src/main/java/i2p/bote/android/NewEmailFragment.java +++ b/app/src/main/java/i2p/bote/android/NewEmailFragment.java @@ -143,8 +143,9 @@ public class NewEmailFragment extends Fragment { // TODO don't include our address // What happens if an email is received by multiple local identities? for (Address address : origEmail.getAllAddresses(true)) { - if (!address.toString().equals("Anonymous")) - recipients.add(extractPerson(address.toString())); + Person person = extractPerson(address.toString()); + if (person != null) + recipients.add(person); } } @@ -251,8 +252,21 @@ public class NewEmailFragment extends Fragment { } private Person extractPerson(String recipient) { + if (recipient.equals("Anonymous")) + return null; + String recipientName = BoteHelper.extractName(recipient); + try { + recipientName = BoteHelper.getName(recipient); + } catch (PasswordException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } catch (GeneralSecurityException e) { + e.printStackTrace(); + } String recipientAddr = BoteHelper.extractEmailDestination(recipient); + if (recipientAddr == null) { // Assume external address recipientAddr = recipient; if (recipientName.isEmpty())