From 7df58a4a9437fccd230d7bf143f91cc7d009af4b Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 26 Jun 2019 12:58:36 +0200 Subject: [PATCH] Double tap to mark read/unread --- .../eu/faircode/email/AdapterMessage.java | 67 ++++++++++++++++--- 1 file changed, 59 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 34ad66e463..68ab616327 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -41,6 +41,7 @@ import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Build; import android.os.Bundle; +import android.os.Handler; import android.provider.ContactsContract; import android.provider.Settings; import android.text.Html; @@ -62,6 +63,7 @@ import android.view.MenuItem; import android.view.MotionEvent; import android.view.TouchDelegate; import android.view.View; +import android.view.ViewConfiguration; import android.view.ViewGroup; import android.view.ViewStub; import android.webkit.DownloadListener; @@ -1346,9 +1348,11 @@ public class AdapterMessage extends RecyclerView.Adapter() { + @Override + protected Void onExecute(Context context, Bundle args) { + long id = args.getLong("id"); + + DB db = DB.getInstance(context); + try { + db.beginTransaction(); + + EntityMessage message = db.message().getMessage(id); + if (message == null) + return null; + + EntityOperation.queue(context, message, EntityOperation.SEEN, !message.ui_seen); + + db.setTransactionSuccessful(); + } finally { + db.endTransaction(); + } + + return null; + } + + @Override + protected void onException(Bundle args, Throwable ex) { + Helper.unexpectedError(context, owner, ex); + } + }.execute(context, owner, args, "message:seen"); + } } } }