mirror of
https://github.com/M66B/FairEmail.git
synced 2025-02-24 15:11:03 +00:00
Update local contacts after account creation only
This is to prevent double counts after importing settings
This commit is contained in:
parent
b99d7dd4eb
commit
8a0ac170c6
3 changed files with 15 additions and 7 deletions
|
@ -985,7 +985,8 @@ class Core {
|
|||
db.beginTransaction();
|
||||
EntityMessage message = synchronizeMessage(
|
||||
context,
|
||||
folder, ifolder, (IMAPMessage) isub[j],
|
||||
account, folder,
|
||||
ifolder, (IMAPMessage) isub[j],
|
||||
false,
|
||||
rules);
|
||||
ids[from + j] = message.id;
|
||||
|
@ -1075,7 +1076,8 @@ class Core {
|
|||
|
||||
static EntityMessage synchronizeMessage(
|
||||
Context context,
|
||||
EntityFolder folder, IMAPFolder ifolder, IMAPMessage imessage,
|
||||
EntityAccount account, EntityFolder folder,
|
||||
IMAPFolder ifolder, IMAPMessage imessage,
|
||||
boolean browsed,
|
||||
List<EntityRule> rules) throws MessagingException, IOException {
|
||||
long uid = ifolder.getUID(imessage);
|
||||
|
@ -1239,7 +1241,8 @@ class Core {
|
|||
attachment.id = db.attachment().insertAttachment(attachment);
|
||||
}
|
||||
|
||||
if (!EntityFolder.ARCHIVE.equals(folder.type) &&
|
||||
if (message.received > account.created &&
|
||||
!EntityFolder.ARCHIVE.equals(folder.type) &&
|
||||
!EntityFolder.TRASH.equals(folder.type) &&
|
||||
!EntityFolder.JUNK.equals(folder.type)) {
|
||||
int type = (folder.isOutgoing() ? EntityContact.TYPE_TO : EntityContact.TYPE_FROM);
|
||||
|
|
|
@ -668,7 +668,8 @@ public class ServiceSynchronize extends LifecycleService {
|
|||
db.beginTransaction();
|
||||
message = Core.synchronizeMessage(
|
||||
ServiceSynchronize.this,
|
||||
folder, (IMAPFolder) ifolder, (IMAPMessage) imessage,
|
||||
account, folder,
|
||||
(IMAPFolder) ifolder, (IMAPMessage) imessage,
|
||||
false,
|
||||
db.rule().getEnabledRules(folder.id));
|
||||
db.setTransactionSuccessful();
|
||||
|
@ -757,7 +758,8 @@ public class ServiceSynchronize extends LifecycleService {
|
|||
db.beginTransaction();
|
||||
message = Core.synchronizeMessage(
|
||||
ServiceSynchronize.this,
|
||||
folder, (IMAPFolder) ifolder, (IMAPMessage) e.getMessage(),
|
||||
account, folder,
|
||||
(IMAPFolder) ifolder, (IMAPMessage) e.getMessage(),
|
||||
false,
|
||||
db.rule().getEnabledRules(folder.id));
|
||||
db.setTransactionSuccessful();
|
||||
|
|
|
@ -151,9 +151,11 @@ public class ViewModelBrowse extends ViewModel {
|
|||
final EntityFolder folder = db.folder().getBrowsableFolder(state.fid, state.search != null);
|
||||
if (folder == null)
|
||||
return local;
|
||||
EntityAccount account = db.account().getAccount(folder.account);
|
||||
if (account == null)
|
||||
return local;
|
||||
|
||||
if (state.imessages == null) {
|
||||
EntityAccount account = db.account().getAccount(folder.account);
|
||||
|
||||
try {
|
||||
// Check connectivity
|
||||
|
@ -323,7 +325,8 @@ public class ViewModelBrowse extends ViewModel {
|
|||
EntityMessage message = db.message().getMessageByUid(folder.id, uid);
|
||||
if (message == null) {
|
||||
message = Core.synchronizeMessage(state.context,
|
||||
folder, state.ifolder, (IMAPMessage) isub[j],
|
||||
account, folder,
|
||||
state.ifolder, (IMAPMessage) isub[j],
|
||||
true,
|
||||
new ArrayList<EntityRule>());
|
||||
remote++;
|
||||
|
|
Loading…
Reference in a new issue