From 1e3d857b6d93e1539d565ffda05107b2454896f6 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 10 Jan 2021 18:43:23 +0100 Subject: [PATCH] Classifier: pro feature --- .../main/java/eu/faircode/email/FragmentFolder.java | 10 +++++++++- .../java/eu/faircode/email/MessageClassifier.java | 5 ++++- app/src/main/res/layout/fragment_folder.xml | 12 +++++++++++- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentFolder.java b/app/src/main/java/eu/faircode/email/FragmentFolder.java index f431aa60d6..d989b454e5 100644 --- a/app/src/main/java/eu/faircode/email/FragmentFolder.java +++ b/app/src/main/java/eu/faircode/email/FragmentFolder.java @@ -70,6 +70,7 @@ public class FragmentFolder extends FragmentBase { private TextView tvPoll; private CheckBox cbDownload; private CheckBox cbAutoClassify; + private TextView tvAutoClassifyPro; private Button btnInfo; private EditText etSyncDays; private EditText etKeepDays; @@ -131,6 +132,7 @@ public class FragmentFolder extends FragmentBase { tvPoll = view.findViewById(R.id.tvPoll); cbDownload = view.findViewById(R.id.cbDownload); cbAutoClassify = view.findViewById(R.id.cbAutoClassify); + tvAutoClassifyPro = view.findViewById(R.id.tvAutoClassifyPro); btnInfo = view.findViewById(R.id.btnInfo); etSyncDays = view.findViewById(R.id.etSyncDays); etKeepDays = view.findViewById(R.id.etKeepDays); @@ -177,6 +179,8 @@ public class FragmentFolder extends FragmentBase { } }); + Helper.linkPro(tvAutoClassifyPro); + btnInfo.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -218,6 +222,7 @@ public class FragmentFolder extends FragmentBase { tvParent.setText(parent); grpParent.setVisibility(parent == null ? View.GONE : View.VISIBLE); cbAutoClassify.setVisibility(View.GONE); + tvAutoClassifyPro.setVisibility(View.GONE); grpAutoDelete.setVisibility(View.GONE); btnSave.setEnabled(false); pbSave.setVisibility(View.GONE); @@ -303,13 +308,16 @@ public class FragmentFolder extends FragmentBase { boolean canAutoClassify = (imap && MessageClassifier.isEnabled(getContext()) && (folder == null || MessageClassifier.canClassify(folder.type))); + boolean pro = (ActivityBilling.isPro(getContext()) || + (folder != null && EntityFolder.JUNK.equals(folder.type))); etName.setEnabled(folder == null || EntityFolder.USER.equals(folder.type)); cbPoll.setEnabled(cbSynchronize.isChecked() && always); etPoll.setEnabled(cbSynchronize.isChecked() && always); tvPoll.setEnabled(cbSynchronize.isChecked() && always); grpPoll.setVisibility(imap && cbPoll.isEnabled() && cbPoll.isChecked() ? View.VISIBLE : View.GONE); - cbAutoClassify.setVisibility(canAutoClassify ? View.VISIBLE : View.GONE); + cbAutoClassify.setVisibility(canAutoClassify && pro ? View.VISIBLE : View.GONE); + tvAutoClassifyPro.setVisibility(canAutoClassify && !pro ? View.VISIBLE : View.GONE); etKeepDays.setEnabled(!cbKeepAll.isChecked()); cbAutoDelete.setEnabled(!cbKeepAll.isChecked()); cbAutoDelete.setText(folder != null && EntityFolder.TRASH.equals(folder.type) diff --git a/app/src/main/java/eu/faircode/email/MessageClassifier.java b/app/src/main/java/eu/faircode/email/MessageClassifier.java index d35f561785..1acd3900eb 100644 --- a/app/src/main/java/eu/faircode/email/MessageClassifier.java +++ b/app/src/main/java/eu/faircode/email/MessageClassifier.java @@ -102,12 +102,15 @@ public class MessageClassifier { !TextUtils.isEmpty(message.msgid) && !accountMsgIds.get(folder.account).contains(message.msgid) && !EntityFolder.JUNK.equals(folder.type)) { + boolean pro = ActivityBilling.isPro(context); + DB db = DB.getInstance(context); try { db.beginTransaction(); EntityFolder dest = db.folder().getFolderByName(folder.account, classified); - if (dest != null && dest.auto_classify) { + if (dest != null && dest.auto_classify && + (pro || EntityFolder.JUNK.equals(dest.type))) { EntityOperation.queue(context, message, EntityOperation.MOVE, dest.id, false, true); message.ui_hide = true; } diff --git a/app/src/main/res/layout/fragment_folder.xml b/app/src/main/res/layout/fragment_folder.xml index b8eb71efe7..929140c07d 100644 --- a/app/src/main/res/layout/fragment_folder.xml +++ b/app/src/main/res/layout/fragment_folder.xml @@ -206,6 +206,16 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/cbDownload" /> + + + app:layout_constraintTop_toBottomOf="@id/tvAutoClassifyPro" />