From c4208d1a61bacaa60cf9791e8565b20452594c8e Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 17 Feb 2019 16:45:19 +0000 Subject: [PATCH] Added option to clear local contacts --- .../java/eu/faircode/email/ActivitySetup.java | 25 +++++++++++++++++++ .../java/eu/faircode/email/DaoContact.java | 3 +++ 2 files changed, 28 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/ActivitySetup.java b/app/src/main/java/eu/faircode/email/ActivitySetup.java index ebfde82915..434bf1996e 100644 --- a/app/src/main/java/eu/faircode/email/ActivitySetup.java +++ b/app/src/main/java/eu/faircode/email/ActivitySetup.java @@ -170,6 +170,31 @@ public class ActivitySetup extends ActivityBilling implements FragmentManager.On } }); + drawerList.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { + @Override + public boolean onItemLongClick(AdapterView parent, View view, int position, long id) { + DrawerItem item = (DrawerItem) parent.getAdapter().getItem(position); + if (item.getId() == R.string.menu_privacy) { + new SimpleTask() { + @Override + protected Void onExecute(Context context, Bundle args) { + int count = DB.getInstance(context).contact().clearContacts(); + Log.i("Cleared contacts=" + count); + return null; + } + + @Override + protected void onException(Bundle args, Throwable ex) { + Helper.unexpectedError(ActivitySetup.this, ActivitySetup.this, ex); + } + }.execute(ActivitySetup.this, new Bundle(), "setup:privacy"); + + return true; + } + return false; + } + }); + PackageManager pm = getPackageManager(); DrawerAdapter drawerArray = new DrawerAdapter(this); diff --git a/app/src/main/java/eu/faircode/email/DaoContact.java b/app/src/main/java/eu/faircode/email/DaoContact.java index 9e5847d058..8148a0b1dd 100644 --- a/app/src/main/java/eu/faircode/email/DaoContact.java +++ b/app/src/main/java/eu/faircode/email/DaoContact.java @@ -55,4 +55,7 @@ public interface DaoContact { @Update int updateContact(EntityContact contact); + + @Query("DELETE from contact") + int clearContacts(); }