summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorTony Mantler <nicoya@google.com>2013-10-25 13:34:30 -0700
committerTony Mantler <nicoya@google.com>2013-10-25 13:34:30 -0700
commitb573c5c0c05deec139985b883a12869dc6cac5a0 (patch)
treed3f34a9a02c390875d48af9e4cb33560abd0ff77 /src/com
parent6aea786c4c8273890aa0e2d9c58d0c23907d736a (diff)
parent08ac01fcb3c8e9744696ad433804eeaf2e16ba29 (diff)
downloadandroid_packages_apps_UnifiedEmail-b573c5c0c05deec139985b883a12869dc6cac5a0.tar.gz
android_packages_apps_UnifiedEmail-b573c5c0c05deec139985b883a12869dc6cac5a0.tar.bz2
android_packages_apps_UnifiedEmail-b573c5c0c05deec139985b883a12869dc6cac5a0.zip
resolved conflicts for merge of 08ac01fc to jb-ub-mail-ur11
Change-Id: I5766599c2ee08de615f3047b57f1c72d63908b36
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/mail/providers/ReplyFromAccount.java9
-rw-r--r--src/com/android/mail/utils/Utils.java30
2 files changed, 34 insertions, 5 deletions
diff --git a/src/com/android/mail/providers/ReplyFromAccount.java b/src/com/android/mail/providers/ReplyFromAccount.java
index 1fa984ef5..875d22efb 100644
--- a/src/com/android/mail/providers/ReplyFromAccount.java
+++ b/src/com/android/mail/providers/ReplyFromAccount.java
@@ -111,13 +111,14 @@ public class ReplyFromAccount implements Serializable {
List<ReplyFromAccount> replyFromAccounts) {
Rfc822Token[] tokens = Rfc822Tokenizer.tokenize(possibleCustomFrom);
if (tokens != null && tokens.length > 0) {
- String parsedFromAddress = tokens[0].getAddress();
- if (TextUtils.equals(account.getEmailAddress(), parsedFromAddress)) {
+ String parsedFromAddress = Utils.normalizeEmailAddress(tokens[0].getAddress());
+ if (TextUtils.equals(Utils.normalizeEmailAddress(account.getEmailAddress()),
+ parsedFromAddress)) {
return true;
}
for (ReplyFromAccount replyFromAccount : replyFromAccounts) {
- if (TextUtils.equals(replyFromAccount.address, parsedFromAddress)
- && replyFromAccount.isCustomFrom) {
+ if (TextUtils.equals(Utils.normalizeEmailAddress(replyFromAccount.address),
+ parsedFromAddress) && replyFromAccount.isCustomFrom) {
return true;
}
}
diff --git a/src/com/android/mail/utils/Utils.java b/src/com/android/mail/utils/Utils.java
index c026bbe56..07910678f 100644
--- a/src/com/android/mail/utils/Utils.java
+++ b/src/com/android/mail/utils/Utils.java
@@ -1429,7 +1429,6 @@ public class Utils {
}
}
-
public static Address getAddress(Map<String, Address> cache, String emailStr) {
Address addr;
synchronized (cache) {
@@ -1462,4 +1461,33 @@ public class Utils {
0);
return descriptionText;
}
+
+ /**
+ * Email addresses are supposed to be treated as case-insensitive for the host-part and
+ * case-sensitive for the local-part, but nobody really wants email addresses to match
+ * case-sensitive on the local-part, so just smash everything to lower case.
+ * @param email Hello@Example.COM
+ * @return hello@example.com
+ */
+ public static String normalizeEmailAddress(String email) {
+ /*
+ // The RFC5321 version
+ if (TextUtils.isEmpty(email)) {
+ return email;
+ }
+ String[] parts = email.split("@");
+ if (parts.length != 2) {
+ LogUtils.d(LOG_TAG, "Tried to normalize a malformed email address: ", email);
+ return email;
+ }
+
+ return parts[0] + "@" + parts[1].toLowerCase(Locale.US);
+ */
+ if (TextUtils.isEmpty(email)) {
+ return email;
+ } else {
+ // Doing this for other locales might really screw things up, so do US-version only
+ return email.toLowerCase(Locale.US);
+ }
+ }
}