Consistently use database transactions

To prevent hard to find problem
This commit is contained in:
M66B
2018-08-12 12:47:52 +00:00
parent f0cf9dafa4
commit 92e9120e06
11 changed files with 419 additions and 321 deletions

View File

@@ -85,14 +85,21 @@ public class FragmentFolder extends FragmentEx {
int days = (TextUtils.isEmpty(after) ? 7 : Integer.parseInt(after));
DB db = DB.getInstance(getContext());
DaoFolder dao = db.folder();
EntityFolder folder = dao.getFolder(id);
folder.synchronize = synchronize;
folder.after = days;
dao.updateFolder(folder);
try {
db.beginTransaction();
if (!folder.synchronize)
db.message().deleteMessages(folder.id);
EntityFolder folder = db.folder().getFolder(id);
folder.synchronize = synchronize;
folder.after = days;
db.folder().updateFolder(folder);
if (!folder.synchronize)
db.message().deleteMessages(folder.id);
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
return null;
} finally {