From 2f3b8a7e3bd85b90bd64fe86d8fa2f4153d25f19 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 13 Jun 2021 18:54:41 +0200 Subject: [PATCH] Allow resetting flag color --- .../eu/faircode/email/AdapterMessage.java | 1 + .../eu/faircode/email/FragmentMessages.java | 50 +++++++++++-------- 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 7f07fc55bd..5f332015f1 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -4701,6 +4701,7 @@ public class AdapterMessage extends RecyclerView.Adapter() { @Override protected Void onExecute(final Context context, Bundle args) { - final long id = args.getLong("id"); - final int color = args.getInt("color"); + long id = args.getLong("id"); + Integer color = args.getInt("color"); + + if (color == Color.TRANSPARENT) + color = null; final DB db = DB.getInstance(context); - db.runInTransaction(new Runnable() { - @Override - public void run() { - EntityMessage message = db.message().getMessage(id); - if (message == null) - return; + try { + db.beginTransaction(); - EntityOperation.queue(context, message, EntityOperation.FLAG, true, color); - } - }); + EntityMessage message = db.message().getMessage(id); + if (message == null) + return null; + + EntityOperation.queue(context, message, EntityOperation.FLAG, true, color); + + db.setTransactionSuccessful(); + } finally { + db.endTransaction(); + } ServiceSynchronize.eval(context, "flag");