|
|
|
@ -683,21 +683,20 @@ public class FragmentCompose extends FragmentEx {
|
|
|
|
|
account = ref.account;
|
|
|
|
|
|
|
|
|
|
// Reply to recipient, not to known self
|
|
|
|
|
String from = (ref.from == null || ref.from.length == 0 ? null : ((InternetAddress) ref.from[0]).getAddress());
|
|
|
|
|
String replyto = (ref.reply == null || ref.reply.length == 0 ? null : ((InternetAddress) ref.reply[0]).getAddress());
|
|
|
|
|
if (ref.from != null && ref.from.length > 0) {
|
|
|
|
|
String from = Helper.canonicalAddress(((InternetAddress) ref.from[0]).getAddress());
|
|
|
|
|
List<EntityIdentity> identities = db.identity().getIdentities();
|
|
|
|
|
for (EntityIdentity identity : identities)
|
|
|
|
|
if (replyto == null) {
|
|
|
|
|
if (from != null && from.equals(identity.email)) {
|
|
|
|
|
for (EntityIdentity identity : identities) {
|
|
|
|
|
String email = Helper.canonicalAddress(identity.email);
|
|
|
|
|
if (from.equals(email)) {
|
|
|
|
|
Log.i(Helper.TAG, "Swapping from/to");
|
|
|
|
|
Address[] tmp = ref.to;
|
|
|
|
|
ref.to = ref.from;
|
|
|
|
|
ref.reply = null;
|
|
|
|
|
ref.from = tmp;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
} else if (replyto.equals(identity.email)) {
|
|
|
|
|
ref.reply = ref.to;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -881,9 +880,9 @@ public class FragmentCompose extends FragmentEx {
|
|
|
|
|
// Select identity matching from address
|
|
|
|
|
if (!found && draft.from != null && draft.from.length > 0) {
|
|
|
|
|
String from = Helper.canonicalAddress(((InternetAddress) draft.from[0]).getAddress());
|
|
|
|
|
|
|
|
|
|
for (int pos = 0; pos < identities.size(); pos++) {
|
|
|
|
|
if (Helper.canonicalAddress(identities.get(pos).email).equals(from)) {
|
|
|
|
|
String email = Helper.canonicalAddress(identities.get(pos).email);
|
|
|
|
|
if (email.equals(from)) {
|
|
|
|
|
spFrom.setSelection(pos);
|
|
|
|
|
found = true;
|
|
|
|
|
break;
|
|
|
|
|