mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-16 14:35:04 -05:00
61 lines
1.9 KiB
Java
61 lines
1.9 KiB
Java
|
package com.fsck.k9.helper;
|
||
|
|
||
|
import android.util.Log;
|
||
|
|
||
|
import com.fsck.k9.Account;
|
||
|
import com.fsck.k9.Identity;
|
||
|
import com.fsck.k9.K9;
|
||
|
import com.fsck.k9.mail.Address;
|
||
|
import com.fsck.k9.mail.Message;
|
||
|
import com.fsck.k9.mail.MessagingException;
|
||
|
|
||
|
public class IdentityHelper {
|
||
|
|
||
|
/**
|
||
|
* Find the identity a message was sent to.
|
||
|
*
|
||
|
* @param account
|
||
|
* The account the message belongs to.
|
||
|
* @param message
|
||
|
* The message to get the recipients from.
|
||
|
*
|
||
|
* @return The identity the message was sent to, or the account's default identity if it
|
||
|
* couldn't be determined which identity this message was sent to.
|
||
|
*
|
||
|
* @see Account#findIdentity(com.fsck.k9.mail.Address)
|
||
|
*/
|
||
|
public static Identity getRecipientIdentityFromMessage(Account account, Message message) {
|
||
|
Identity recipient = null;
|
||
|
|
||
|
try {
|
||
|
for (Address address : message.getRecipients(Message.RecipientType.TO)) {
|
||
|
Identity identity = account.findIdentity(address);
|
||
|
if (identity != null) {
|
||
|
recipient = identity;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
if (recipient == null) {
|
||
|
Address[] ccAddresses = message.getRecipients(Message.RecipientType.CC);
|
||
|
if (ccAddresses.length > 0) {
|
||
|
for (Address address : ccAddresses) {
|
||
|
Identity identity = account.findIdentity(address);
|
||
|
if (identity != null) {
|
||
|
recipient = identity;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
} catch (MessagingException e) {
|
||
|
Log.w(K9.LOG_TAG, "Error finding the identity this message was sent to", e);
|
||
|
}
|
||
|
|
||
|
if (recipient == null) {
|
||
|
recipient = account.getIdentity(0);
|
||
|
}
|
||
|
|
||
|
return recipient;
|
||
|
}
|
||
|
}
|