diff --git a/app/src/main/java/eu/faircode/email/ActivityCompose.java b/app/src/main/java/eu/faircode/email/ActivityCompose.java index dd2d152f17..6d644c80ac 100644 --- a/app/src/main/java/eu/faircode/email/ActivityCompose.java +++ b/app/src/main/java/eu/faircode/email/ActivityCompose.java @@ -40,15 +40,12 @@ import androidx.preference.PreferenceManager; import java.io.File; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; public class ActivityCompose extends ActivityBase implements FragmentManager.OnBackStackChangedListener { static final int PI_REPLY = 1; - private static final long APPEND_ATTACHMENT_INTERVAL = 3 * 60 * 1000L; - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -213,12 +210,9 @@ public class ActivityCompose extends ActivityBase implements FragmentManager.OnB FragmentManager fm = getSupportFragmentManager(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + boolean attach_new = prefs.getBoolean("attach_new", true); - long now = new Date().getTime(); - long last = prefs.getLong("last_composed", 0L); - - if (!create && !BuildConfig.PLAY_STORE_RELEASE && - now - last < APPEND_ATTACHMENT_INTERVAL && + if (!attach_new && !create && args.size() == 1 && args.containsKey("attachments")) { List fragments = fm.getFragments(); if (fragments.size() == 1) { diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 3b810b7bd7..9017eeac3f 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -1424,9 +1424,6 @@ public class FragmentCompose extends FragmentBase { Bundle extras = new Bundle(); extras.putBoolean("autosave", true); onAction(R.id.action_save, extras, "pause"); - - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - prefs.edit().putLong("last_composed", new Date().getTime()).apply(); } ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java b/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java index c1d23bf6b9..1d920051cf 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java @@ -63,6 +63,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc private RadioGroup rgFwd; private SwitchCompat swSendReminders; private Spinner spSendDelayed; + private SwitchCompat swAttachNew; private SwitchCompat swReplyAll; private SwitchCompat swSendPending; @@ -95,7 +96,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc "suggest_names", "suggest_sent", "suggested_received", "suggest_frequently", "alt_re", "alt_fwd", "send_reminders", "send_delayed", - "reply_all", "send_pending", + "attach_new", "reply_all", "send_pending", "compose_font", "prefix_once", "separate_reply", "extended_reply", "write_below", "quote_reply", "quote_limit", "resize_reply", "signature_location", "signature_new", "signature_reply", "signature_forward", "discard_delete", "reply_move", @@ -125,6 +126,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc rgFwd = view.findViewById(R.id.rgFwd); swSendReminders = view.findViewById(R.id.swSendReminders); spSendDelayed = view.findViewById(R.id.spSendDelayed); + swAttachNew = view.findViewById(R.id.swAttachNew); swReplyAll = view.findViewById(R.id.swReplyAll); swSendPending = view.findViewById(R.id.swSendPending); @@ -265,6 +267,13 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc } }); + swAttachNew.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { + prefs.edit().putBoolean("attach_new", checked).apply(); + } + }); + swReplyAll.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { @@ -537,6 +546,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc break; } + swAttachNew.setChecked(prefs.getBoolean("attach_new", true)); swReplyAll.setChecked(prefs.getBoolean("reply_all", false)); swSendPending.setChecked(prefs.getBoolean("send_pending", true)); diff --git a/app/src/main/res/layout/fragment_options_send.xml b/app/src/main/res/layout/fragment_options_send.xml index 131365dca9..4156118ea6 100644 --- a/app/src/main/res/layout/fragment_options_send.xml +++ b/app/src/main/res/layout/fragment_options_send.xml @@ -309,6 +309,18 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tvSendDelayed" /> + + Alternative reply/forward prefix Show reminders Delay sending messages + Add shared files to a new draft Long press answer button to reply to all Show non-obtrusive send delayed icon