From b637453ca7809576b3784f0766f64ef51be27fe9 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 5 Apr 2020 21:35:56 +0200 Subject: [PATCH] Added POP3 trash folder --- .../eu/faircode/email/AdapterMessage.java | 6 ++- app/src/main/java/eu/faircode/email/Core.java | 42 ++++++++++++++++++- .../java/eu/faircode/email/DaoAccount.java | 1 - .../eu/faircode/email/FragmentMessages.java | 20 ++------- .../java/eu/faircode/email/FragmentPop.java | 15 +++++++ .../eu/faircode/email/TupleAccountSwipes.java | 1 - 6 files changed, 63 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index c9b6b1bc83..37b29b7adc 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -1548,11 +1548,13 @@ public class AdapterMessage extends RecyclerView.Adapter 0 ? swipes.swipe_right : swipes.swipe_left); @@ -1791,12 +1783,8 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. if (message.accountProtocol != EntityAccount.TYPE_IMAP) { if (direction == ItemTouchHelper.LEFT) { - if (swipes.leave_deleted) - onActionHide(message); - else { - adapter.notifyItemChanged(pos); - onSwipeDelete(message); - } + adapter.notifyItemChanged(pos); + onSwipeDelete(message); } else onActionSeenSelection(!message.ui_seen, message.id); return; @@ -4174,7 +4162,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. } return new Boolean[]{ - trash == null, + trash == null || account.protocol == EntityAccount.TYPE_POP, trashable, snoozable, archivable && archive != null}; diff --git a/app/src/main/java/eu/faircode/email/FragmentPop.java b/app/src/main/java/eu/faircode/email/FragmentPop.java index 19afce4816..a1bc823afd 100644 --- a/app/src/main/java/eu/faircode/email/FragmentPop.java +++ b/app/src/main/java/eu/faircode/email/FragmentPop.java @@ -454,6 +454,21 @@ public class FragmentPop extends FragmentBase { sent.id = db.folder().insertFolder(sent); } + EntityFolder trash = db.folder().getFolderByType(account.id, EntityFolder.TRASH); + if (trash == null) { + trash = new EntityFolder(); + trash.account = account.id; + trash.name = context.getString(R.string.title_folder_trash); + trash.type = EntityFolder.TRASH; + trash.synchronize = false; + trash.unified = false; + trash.notify = false; + trash.sync_days = Integer.MAX_VALUE; + trash.keep_days = Integer.MAX_VALUE; + trash.initialize = 0; + trash.id = db.folder().insertFolder(trash); + } + db.setTransactionSuccessful(); } finally { db.endTransaction(); diff --git a/app/src/main/java/eu/faircode/email/TupleAccountSwipes.java b/app/src/main/java/eu/faircode/email/TupleAccountSwipes.java index ee8466e002..62acdccfc8 100644 --- a/app/src/main/java/eu/faircode/email/TupleAccountSwipes.java +++ b/app/src/main/java/eu/faircode/email/TupleAccountSwipes.java @@ -29,5 +29,4 @@ public class TupleAccountSwipes { public String right_type; public String right_name; public Integer right_color; - public Boolean leave_deleted; }