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" />