diff options
author | Tony Mantler <nicoya@google.com> | 2014-10-02 13:55:31 -0700 |
---|---|---|
committer | Tony Mantler <nicoya@google.com> | 2014-10-02 13:55:31 -0700 |
commit | b537167ea6f8acb3874dc6416e07a7101539639c (patch) | |
tree | a3555270ffe088fda9716b95924dba77601ff883 /src | |
parent | 4e83dce2c56df7f4faabdc6c4e93b48d348faf18 (diff) | |
download | android_packages_apps_UnifiedEmail-b537167ea6f8acb3874dc6416e07a7101539639c.tar.gz android_packages_apps_UnifiedEmail-b537167ea6f8acb3874dc6416e07a7101539639c.tar.bz2 android_packages_apps_UnifiedEmail-b537167ea6f8acb3874dc6416e07a7101539639c.zip |
Fix message starring via overflow
Fixes a case where we were unstarring a message and then
asking a different copy of it if it's starred or not.
b/17734406
Change-Id: I1f032f11241a55743355cfac5f4b7f3bb044b872
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/mail/browse/ConversationMessage.java | 15 | ||||
-rw-r--r-- | src/com/android/mail/ui/AbstractActivityController.java | 2 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/com/android/mail/browse/ConversationMessage.java b/src/com/android/mail/browse/ConversationMessage.java index cabffc589..36ab441b2 100644 --- a/src/com/android/mail/browse/ConversationMessage.java +++ b/src/com/android/mail/browse/ConversationMessage.java @@ -94,6 +94,21 @@ public final class ConversationMessage extends Message { return c != null && c.isConversationStarred(); } + /** + * Sets the starred state of this Message object and also updates the cached instance in + * {@link MessageCursor} (if not null) + * + * @param starred new starred state + */ + public void setStarredInConversation(boolean starred) { + this.starred = starred; + final MessageCursor c = mController.getMessageCursor(); + if (c != null) { + final ConversationMessage other = c.getMessageForId(id); + other.starred = starred; + } + } + public void star(boolean newStarred) { final ConversationUpdater listController = mController.getListController(); if (listController != null) { diff --git a/src/com/android/mail/ui/AbstractActivityController.java b/src/com/android/mail/ui/AbstractActivityController.java index f273006be..94ad2cb51 100644 --- a/src/com/android/mail/ui/AbstractActivityController.java +++ b/src/com/android/mail/ui/AbstractActivityController.java @@ -1983,7 +1983,7 @@ public abstract class AbstractActivityController implements ActivityController, return; } - msg.starred = starred; + msg.setStarredInConversation(starred); // locally propagate the change to the owning conversation // (figure the provider will properly propagate the change when it commits it) |