mirror of https://github.com/M66B/FairEmail.git
Simplify/fix auto seen/unflag
This commit is contained in:
parent
82ea6679e8
commit
2ff785f013
|
@ -762,9 +762,6 @@ class Core {
|
||||||
|
|
||||||
// Get arguments
|
// Get arguments
|
||||||
long id = jargs.getLong(0);
|
long id = jargs.getLong(0);
|
||||||
boolean autoread = jargs.optBoolean(1, false);
|
|
||||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
|
||||||
boolean autounflag = prefs.getBoolean("autounflag", false);
|
|
||||||
Flags flags = ifolder.getPermanentFlags();
|
Flags flags = ifolder.getPermanentFlags();
|
||||||
|
|
||||||
// Get target folder
|
// Get target folder
|
||||||
|
@ -808,16 +805,16 @@ class Core {
|
||||||
file.delete();
|
file.delete();
|
||||||
|
|
||||||
// Auto read
|
// Auto read
|
||||||
if (autoread && flags.contains(Flags.Flag.SEEN))
|
if (flags.contains(Flags.Flag.SEEN))
|
||||||
icopy.setFlag(Flags.Flag.SEEN, true);
|
icopy.setFlag(Flags.Flag.SEEN, message.ui_seen);
|
||||||
|
|
||||||
// Auto unflag
|
// Auto unflag
|
||||||
if (autounflag && flags.contains(Flags.Flag.FLAGGED))
|
if (flags.contains(Flags.Flag.FLAGGED))
|
||||||
icopy.setFlag(Flags.Flag.FLAGGED, false);
|
icopy.setFlag(Flags.Flag.FLAGGED, message.ui_flagged);
|
||||||
|
|
||||||
// Answered fix
|
// Answered fix
|
||||||
if (message.ui_answered && flags.contains(Flags.Flag.ANSWERED))
|
if (flags.contains(Flags.Flag.ANSWERED))
|
||||||
icopy.setFlag(Flags.Flag.ANSWERED, true);
|
icopy.setFlag(Flags.Flag.ANSWERED, message.ui_answered);
|
||||||
|
|
||||||
// Set drafts flag
|
// Set drafts flag
|
||||||
icopy.setFlag(Flags.Flag.DRAFT, EntityFolder.DRAFTS.equals(target.type));
|
icopy.setFlag(Flags.Flag.DRAFT, EntityFolder.DRAFTS.equals(target.type));
|
||||||
|
@ -831,16 +828,16 @@ class Core {
|
||||||
EntityMessage message = map.get(imessage);
|
EntityMessage message = map.get(imessage);
|
||||||
|
|
||||||
// Auto read
|
// Auto read
|
||||||
if (autoread && flags.contains(Flags.Flag.SEEN))
|
if (flags.contains(Flags.Flag.SEEN))
|
||||||
imessage.setFlag(Flags.Flag.SEEN, true);
|
imessage.setFlag(Flags.Flag.SEEN, message.ui_seen);
|
||||||
|
|
||||||
// Auto unflag
|
// Auto unflag
|
||||||
if (autounflag && flags.contains(Flags.Flag.FLAGGED))
|
if (flags.contains(Flags.Flag.FLAGGED))
|
||||||
imessage.setFlag(Flags.Flag.FLAGGED, false);
|
imessage.setFlag(Flags.Flag.FLAGGED, message.ui_flagged);
|
||||||
|
|
||||||
// Answered fix
|
// Answered fix
|
||||||
if (message.ui_answered && flags.contains(Flags.Flag.ANSWERED))
|
if (flags.contains(Flags.Flag.ANSWERED))
|
||||||
imessage.setFlag(Flags.Flag.ANSWERED, true);
|
imessage.setFlag(Flags.Flag.ANSWERED, message.ui_answered);
|
||||||
}
|
}
|
||||||
|
|
||||||
ifolder.copyMessages(map.keySet().toArray(new Message[0]), itarget);
|
ifolder.copyMessages(map.keySet().toArray(new Message[0]), itarget);
|
||||||
|
|
|
@ -140,13 +140,12 @@ public class EntityOperation {
|
||||||
else if (MOVE.equals(name)) {
|
else if (MOVE.equals(name)) {
|
||||||
// Parameters:
|
// Parameters:
|
||||||
// 0: target folder
|
// 0: target folder
|
||||||
// 1: auto read
|
// (1: auto read)
|
||||||
// 2: temporary message
|
// 2: temporary message
|
||||||
|
|
||||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||||
boolean autoread = prefs.getBoolean("autoread", false);
|
boolean autoread = prefs.getBoolean("autoread", false);
|
||||||
autoread = (autoread && jargs.optBoolean(1, true));
|
boolean autounflag = prefs.getBoolean("autounflag", false);
|
||||||
jargs.put(1, autoread);
|
|
||||||
|
|
||||||
EntityFolder source = db.folder().getFolder(message.folder);
|
EntityFolder source = db.folder().getFolder(message.folder);
|
||||||
EntityFolder target = db.folder().getFolder(jargs.getLong(0));
|
EntityFolder target = db.folder().getFolder(jargs.getLong(0));
|
||||||
|
@ -156,11 +155,14 @@ public class EntityOperation {
|
||||||
EntityLog.log(context, "Move message=" + message.id + ":" + message.subject +
|
EntityLog.log(context, "Move message=" + message.id + ":" + message.subject +
|
||||||
" source=" + source.id + ":" + source.name + "" +
|
" source=" + source.id + ":" + source.name + "" +
|
||||||
" target=" + target.id + ":" + target.name +
|
" target=" + target.id + ":" + target.name +
|
||||||
" autoread=" + autoread);
|
" auto read=" + autoread + " flag=" + autounflag);
|
||||||
|
|
||||||
if (autoread)
|
if (autoread)
|
||||||
db.message().setMessageUiSeen(message.id, true);
|
db.message().setMessageUiSeen(message.id, true);
|
||||||
|
|
||||||
|
if (autounflag)
|
||||||
|
db.message().setMessageUiFlagged(message.id, false, null);
|
||||||
|
|
||||||
if (!EntityFolder.ARCHIVE.equals(source.type) ||
|
if (!EntityFolder.ARCHIVE.equals(source.type) ||
|
||||||
EntityFolder.TRASH.equals(target.type) || EntityFolder.JUNK.equals(target.type))
|
EntityFolder.TRASH.equals(target.type) || EntityFolder.JUNK.equals(target.type))
|
||||||
db.message().setMessageUiHide(message.id, true);
|
db.message().setMessageUiHide(message.id, true);
|
||||||
|
|
Loading…
Reference in New Issue