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

@@ -199,12 +199,20 @@ public class AdapterAttachment extends RecyclerView.Adapter<AdapterAttachment.Vi
long message = args.getLong("message");
long sequence = args.getInt("sequence");
// No need for a transaction
DB db = DB.getInstance(context);
db.attachment().setProgress(id, 0);
try {
db.beginTransaction();
db.attachment().setProgress(id, 0);
EntityMessage msg = db.message().getMessage(message);
EntityOperation.queue(db, msg, EntityOperation.ATTACHMENT, sequence);
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
EntityMessage msg = db.message().getMessage(message);
EntityOperation.queue(db, msg, EntityOperation.ATTACHMENT, sequence);
EntityOperation.process(context);
return null;