From 0c34a21ff0f9b16625bead919086fdf8147e520c Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Tue, 2 Oct 2012 17:50:47 -0700 Subject: [PATCH] Add a fromMe method on messages --- src/com/fsck/k9/mail/Message.java | 1 + src/com/fsck/k9/mail/internet/MimeMessage.java | 4 ++++ src/com/fsck/k9/mail/store/LocalStore.java | 15 +++++++++++++++ 3 files changed, 20 insertions(+) diff --git a/src/com/fsck/k9/mail/Message.java b/src/com/fsck/k9/mail/Message.java index 25ae90755..48e97d585 100644 --- a/src/com/fsck/k9/mail/Message.java +++ b/src/com/fsck/k9/mail/Message.java @@ -146,6 +146,7 @@ public abstract class Message implements Part, Body { public abstract boolean toMe(); public abstract boolean ccMe(); public abstract boolean bccMe(); + public abstract boolean fromMe(); public abstract long getId(); public abstract String getPreview(); diff --git a/src/com/fsck/k9/mail/internet/MimeMessage.java b/src/com/fsck/k9/mail/internet/MimeMessage.java index 8538bc7e6..93c80ba1c 100644 --- a/src/com/fsck/k9/mail/internet/MimeMessage.java +++ b/src/com/fsck/k9/mail/internet/MimeMessage.java @@ -605,6 +605,10 @@ public class MimeMessage extends Message { return false; } + public boolean fromMe() { + return false; + } + public long getId() { return Long.parseLong(mUid); //or maybe .mMessageId? } diff --git a/src/com/fsck/k9/mail/store/LocalStore.java b/src/com/fsck/k9/mail/store/LocalStore.java index b055dbfda..6e16c1cc7 100644 --- a/src/com/fsck/k9/mail/store/LocalStore.java +++ b/src/com/fsck/k9/mail/store/LocalStore.java @@ -2919,8 +2919,13 @@ public class LocalStore extends Store implements Serializable { private boolean mToMeCalculated = false; private boolean mCcMeCalculated = false; + private boolean mFromMeCalculated = false; private boolean mToMe = false; private boolean mCcMe = false; + private boolean mFromMe = false; + + + private boolean mHeadersLoaded = false; private boolean mMessageDirty = false; @@ -3118,6 +3123,16 @@ public class LocalStore extends Store implements Serializable { } + public boolean fromMe() { + if (!mFromMeCalculated) { + if (mAccount.isAnIdentity(getFrom())) { + mFromMe = true; + mFromMeCalculated = true; + } + } + return mFromMe; + } + public boolean toMe() { try {