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");