private boolean syncFlags(SyncConfig syncConfig, BackendFolder backendFolder, Message remoteMessage) { String messageServerId = remoteMessage.getUid(); if (!backendFolder.isMessagePresent(messageServerId)) { return false; } Set<Flag> localMessageFlags = backendFolder.getMessageFlags(messageServerId); if (localMessageFlags.contains(Flag.DELETED)) { return false; } boolean messageChanged = false; if (remoteMessage.isSet(Flag.DELETED)) { if (syncConfig.getSyncRemoteDeletions()) { backendFolder.setMessageFlag(messageServerId, Flag.DELETED, true); messageChanged = true; } } else { for (Flag flag : syncConfig.getSyncFlags()) { if (remoteMessage.isSet(flag) != localMessageFlags.contains(flag)) { backendFolder.setMessageFlag(messageServerId, flag, remoteMessage.isSet(flag)); messageChanged = true; } } } return messageChanged; }
private boolean syncFlags(SyncConfig syncConfig, BackendFolder backendFolder, Message remoteMessage) { String messageServerId = remoteMessage.getUid(); if (!backendFolder.isMessagePresent(messageServerId)) { return false; } Set<Flag> localMessageFlags = backendFolder.getMessageFlags(messageServerId); if (localMessageFlags.contains(Flag.DELETED)) { return false; } boolean messageChanged = false; if (remoteMessage.isSet(Flag.DELETED)) { if (syncConfig.getSyncRemoteDeletions()) { backendFolder.setMessageFlag(messageServerId, Flag.DELETED, true); messageChanged = true; } } else { for (Flag flag : syncConfig.getSyncFlags()) { if (remoteMessage.isSet(flag) != localMessageFlags.contains(flag)) { backendFolder.setMessageFlag(messageServerId, flag, remoteMessage.isSet(flag)); messageChanged = true; } } } return messageChanged; } }
private boolean syncFlags(SyncConfig syncConfig, BackendFolder backendFolder, Message remoteMessage) { String messageServerId = remoteMessage.getUid(); if (!backendFolder.isMessagePresent(messageServerId)) { return false; } Set<Flag> localMessageFlags = backendFolder.getMessageFlags(messageServerId); if (localMessageFlags.contains(Flag.DELETED)) { return false; } boolean messageChanged = false; if (remoteMessage.isSet(Flag.DELETED)) { if (syncConfig.getSyncRemoteDeletions()) { backendFolder.setMessageFlag(messageServerId, Flag.DELETED, true); messageChanged = true; } } else { for (Flag flag : syncConfig.getSyncFlags()) { if (remoteMessage.isSet(flag) != localMessageFlags.contains(flag)) { backendFolder.setMessageFlag(messageServerId, flag, remoteMessage.isSet(flag)); messageChanged = true; } } } return messageChanged; } }