diff --git a/app/src/main/java/eu/faircode/email/AdapterFolder.java b/app/src/main/java/eu/faircode/email/AdapterFolder.java index 568b9ea92f..d94105f2d1 100644 --- a/app/src/main/java/eu/faircode/email/AdapterFolder.java +++ b/app/src/main/java/eu/faircode/email/AdapterFolder.java @@ -178,7 +178,10 @@ public class AdapterFolder extends RecyclerView.Adapter= Build.VERSION_CODES.N ? View.VISIBLE : View.GONE); + cbKeepAll.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + etKeepDays.setEnabled(!isChecked); + } + }); + btnSave.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -131,7 +140,9 @@ public class FragmentFolder extends FragmentEx { args.putBoolean("poll", cbPoll.isChecked()); args.putBoolean("notify", cbNotify.getVisibility() == View.VISIBLE && cbNotify.isChecked()); args.putString("sync", etSyncDays.getText().toString()); - args.putString("keep", etKeepDays.getText().toString()); + args.putString("keep", cbKeepAll.isChecked() + ? Integer.toString(Integer.MAX_VALUE) + : etKeepDays.getText().toString()); new SimpleTask() { @Override @@ -351,7 +362,10 @@ public class FragmentFolder extends FragmentEx { cbPoll.setChecked(folder == null ? false : folder.poll); cbNotify.setChecked(folder == null ? false : folder.notify); etSyncDays.setText(Integer.toString(folder == null ? EntityFolder.DEFAULT_USER_SYNC : folder.sync_days)); - etKeepDays.setText(Integer.toString(folder == null ? EntityFolder.DEFAULT_USER_SYNC : folder.keep_days)); + if (folder != null && folder.keep_days == Integer.MAX_VALUE) + cbKeepAll.setChecked(true); + else + etKeepDays.setText(Integer.toString(folder == null ? EntityFolder.DEFAULT_USER_SYNC : folder.keep_days)); } // Consider previous save as cancelled diff --git a/app/src/main/res/layout/fragment_folder.xml b/app/src/main/res/layout/fragment_folder.xml index 2cf906d86e..25cc2258be 100644 --- a/app/src/main/res/layout/fragment_folder.xml +++ b/app/src/main/res/layout/fragment_folder.xml @@ -110,6 +110,17 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/cbNotify" /> + + + app:layout_constraintTop_toBottomOf="@id/tvSyncDaysRemark" /> + +