From a2d03f7af81224b655f996f8e98e5fbfca6815f3 Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 15 Mar 2019 08:41:22 +0000 Subject: [PATCH] Added deleting single local contact --- .../eu/faircode/email/AdapterContact.java | 40 ++++++++++++++++++- .../java/eu/faircode/email/DaoContact.java | 5 ++- 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterContact.java b/app/src/main/java/eu/faircode/email/AdapterContact.java index a8709296f6..f19d70bb5e 100644 --- a/app/src/main/java/eu/faircode/email/AdapterContact.java +++ b/app/src/main/java/eu/faircode/email/AdapterContact.java @@ -54,7 +54,7 @@ public class AdapterContact extends RecyclerView.Adapter() { + @Override + protected Void onExecute(Context context, Bundle args) { + long id = args.getLong("id"); + + DB db = DB.getInstance(context); + db.contact().deleteContact(id); + + return null; + } + + @Override + protected void onExecuted(Bundle args, Void data) { + Shortcuts.update(context, owner); + } + + @Override + protected void onException(Bundle args, Throwable ex) { + Helper.unexpectedError(context, owner, ex); + } + }.execute(context, owner, args, "contact:delete"); + + return true; + } } AdapterContact(Context context, LifecycleOwner owner) { diff --git a/app/src/main/java/eu/faircode/email/DaoContact.java b/app/src/main/java/eu/faircode/email/DaoContact.java index c1b7508135..f8366ce2df 100644 --- a/app/src/main/java/eu/faircode/email/DaoContact.java +++ b/app/src/main/java/eu/faircode/email/DaoContact.java @@ -69,6 +69,9 @@ public interface DaoContact { @Query("UPDATE contact SET favorite = :favorite WHERE id = :id") int setContactFavorite(long id, boolean favorite); - @Query("DELETE from contact") + @Query("DELETE FROM contact WHERE id= :id") + int deleteContact(long id); + + @Query("DELETE FROM contact") int clearContacts(); }