mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-24 02:12:15 -05:00
Restore mark as unread in message view
Fixes issue 3958 Fixes issue 3319
This commit is contained in:
parent
1165787129
commit
b1a1de8f7b
@ -20,6 +20,7 @@ import com.fsck.k9.crypto.PgpData;
|
|||||||
import com.fsck.k9.helper.FileBrowserHelper;
|
import com.fsck.k9.helper.FileBrowserHelper;
|
||||||
import com.fsck.k9.helper.FileBrowserHelper.FileBrowserFailOverCallback;
|
import com.fsck.k9.helper.FileBrowserHelper.FileBrowserFailOverCallback;
|
||||||
import com.fsck.k9.mail.*;
|
import com.fsck.k9.mail.*;
|
||||||
|
import com.fsck.k9.mail.store.LocalStore.LocalMessage;
|
||||||
import com.fsck.k9.mail.store.StorageManager;
|
import com.fsck.k9.mail.store.StorageManager;
|
||||||
import com.fsck.k9.view.AttachmentView;
|
import com.fsck.k9.view.AttachmentView;
|
||||||
import com.fsck.k9.view.ToggleScrollView;
|
import com.fsck.k9.view.ToggleScrollView;
|
||||||
@ -726,10 +727,15 @@ public class MessageView extends K9Activity implements OnClickListener {
|
|||||||
|
|
||||||
private void onFlag() {
|
private void onFlag() {
|
||||||
if (mMessage != null) {
|
if (mMessage != null) {
|
||||||
mController.setFlag(mAccount,
|
boolean newState = !mMessage.isSet(Flag.FLAGGED);
|
||||||
mMessage.getFolder().getName(), new String[] {mMessage.getUid()}, Flag.FLAGGED, !mMessage.isSet(Flag.FLAGGED));
|
mController.setFlag(mAccount, mMessage.getFolder().getName(),
|
||||||
|
new String[] {mMessage.getUid()}, Flag.FLAGGED, newState);
|
||||||
try {
|
try {
|
||||||
mMessage.setFlag(Flag.FLAGGED, !mMessage.isSet(Flag.FLAGGED));
|
// FIXME: This is a hack to change the flagged state of our message object. We
|
||||||
|
// can't call Message.setFlag() because that would "adjust" the flagged count
|
||||||
|
// another time (first time by MessagingController.setFlag(...)).
|
||||||
|
((LocalMessage)mMessage).setFlagInternal(Flag.FLAGGED, newState);
|
||||||
|
|
||||||
mMessageView.setHeaders(mMessage, mAccount);
|
mMessageView.setHeaders(mMessage, mAccount);
|
||||||
} catch (MessagingException me) {
|
} catch (MessagingException me) {
|
||||||
Log.e(K9.LOG_TAG, "Could not set flag on local message", me);
|
Log.e(K9.LOG_TAG, "Could not set flag on local message", me);
|
||||||
@ -876,9 +882,13 @@ public class MessageView extends K9Activity implements OnClickListener {
|
|||||||
|
|
||||||
private void onMarkAsUnread() {
|
private void onMarkAsUnread() {
|
||||||
if (mMessage != null) {
|
if (mMessage != null) {
|
||||||
// (Issue 3319) mController.setFlag(mAccount, mMessageReference.folderName, new String[] { mMessage.getUid() }, Flag.SEEN, false);
|
mController.setFlag(mAccount, mMessage.getFolder().getName(),
|
||||||
|
new String[] { mMessage.getUid() }, Flag.SEEN, false);
|
||||||
try {
|
try {
|
||||||
mMessage.setFlag(Flag.SEEN, false);
|
// FIXME: This is a hack to mark our message object as unread. We can't call
|
||||||
|
// Message.setFlag() because that would "adjust" the unread count twice.
|
||||||
|
((LocalMessage)mMessage).setFlagInternal(Flag.SEEN, false);
|
||||||
|
|
||||||
mMessageView.setHeaders(mMessage, mAccount);
|
mMessageView.setHeaders(mMessage, mAccount);
|
||||||
String subject = mMessage.getSubject();
|
String subject = mMessage.getSubject();
|
||||||
setTitle(subject);
|
setTitle(subject);
|
||||||
|
Loading…
Reference in New Issue
Block a user