|
|
|
@ -243,8 +243,14 @@ public class FragmentAccount extends Fragment {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (account.primary && !drafts)
|
|
|
|
|
throw new MessagingException(getContext().getString(R.string.title_no_drafts));
|
|
|
|
|
if (!drafts) {
|
|
|
|
|
EntityFolder folder = new EntityFolder();
|
|
|
|
|
folder.name = getContext().getString(R.string.title_local_drafts);
|
|
|
|
|
folder.type = EntityFolder.TYPE_DRAFTS;
|
|
|
|
|
folder.synchronize = false;
|
|
|
|
|
folder.after = 0;
|
|
|
|
|
folders.add(folder);
|
|
|
|
|
}
|
|
|
|
|
} finally {
|
|
|
|
|
if (istore != null)
|
|
|
|
|
istore.close();
|
|
|
|
@ -254,30 +260,31 @@ public class FragmentAccount extends Fragment {
|
|
|
|
|
if (account.primary)
|
|
|
|
|
db.account().resetPrimary();
|
|
|
|
|
|
|
|
|
|
if (update)
|
|
|
|
|
db.account().updateAccount(account);
|
|
|
|
|
else
|
|
|
|
|
try {
|
|
|
|
|
db.beginTransaction();
|
|
|
|
|
try {
|
|
|
|
|
db.beginTransaction();
|
|
|
|
|
if (update)
|
|
|
|
|
db.account().updateAccount(account);
|
|
|
|
|
else
|
|
|
|
|
account.id = db.account().insertAccount(account);
|
|
|
|
|
|
|
|
|
|
EntityFolder inbox = new EntityFolder();
|
|
|
|
|
inbox.name = "INBOX";
|
|
|
|
|
inbox.type = EntityFolder.TYPE_INBOX;
|
|
|
|
|
inbox.synchronize = true;
|
|
|
|
|
inbox.after = DEFAULT_INBOX_SYNC;
|
|
|
|
|
folders.add(0, inbox);
|
|
|
|
|
EntityFolder inbox = new EntityFolder();
|
|
|
|
|
inbox.name = "INBOX";
|
|
|
|
|
inbox.type = EntityFolder.TYPE_INBOX;
|
|
|
|
|
inbox.synchronize = true;
|
|
|
|
|
inbox.after = DEFAULT_INBOX_SYNC;
|
|
|
|
|
folders.add(0, inbox);
|
|
|
|
|
|
|
|
|
|
for (EntityFolder folder : folders) {
|
|
|
|
|
for (EntityFolder folder : folders)
|
|
|
|
|
if (db.folder().getFolder(account.id, folder.name) == null) {
|
|
|
|
|
folder.account = account.id;
|
|
|
|
|
Log.i(Helper.TAG, "Creating folder=" + folder.name + " (" + folder.type + ")");
|
|
|
|
|
folder.id = db.folder().insertFolder(folder);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
db.setTransactionSuccessful();
|
|
|
|
|
} finally {
|
|
|
|
|
db.endTransaction();
|
|
|
|
|
}
|
|
|
|
|
db.setTransactionSuccessful();
|
|
|
|
|
} finally {
|
|
|
|
|
db.endTransaction();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ServiceSynchronize.restart(getContext(), "account");
|
|
|
|
|
|
|
|
|
|