summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTony Mantler <nicoya@google.com>2014-10-02 13:55:31 -0700
committerTony Mantler <nicoya@google.com>2014-10-02 13:55:31 -0700
commitb537167ea6f8acb3874dc6416e07a7101539639c (patch)
treea3555270ffe088fda9716b95924dba77601ff883 /src
parent4e83dce2c56df7f4faabdc6c4e93b48d348faf18 (diff)
downloadandroid_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.java15
-rw-r--r--src/com/android/mail/ui/AbstractActivityController.java2
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)