diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java
index 26d5fca3dc..a02e8563f9 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java
@@ -233,6 +233,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
private SwitchCompat swMdn;
private SwitchCompat swAppChooser;
private SwitchCompat swAppChooserShare;
+ private SwitchCompat swShareTask;
private SwitchCompat swAdjacentLinks;
private SwitchCompat swAdjacentDocuments;
private SwitchCompat swAdjacentPortrait;
@@ -301,7 +302,8 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
"native_dkim", "native_arc", "native_arc_whitelist", "strict_alignment",
"webp", "animate_images",
"easy_correct", "paste_plain", "infra", "tld_flags", "json_ld", "dup_msgids", "thread_byref", "save_user_flags", "mdn",
- "app_chooser", "app_chooser_share", "adjacent_links", "adjacent_documents", "adjacent_portrait", "adjacent_landscape",
+ "app_chooser", "app_chooser_share", "share_task",
+ "adjacent_links", "adjacent_documents", "adjacent_portrait", "adjacent_landscape",
"delete_confirmation", "delete_notification", "global_keywords", "test_iab"
));
@@ -486,6 +488,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
swMdn = view.findViewById(R.id.swMdn);
swAppChooser = view.findViewById(R.id.swAppChooser);
swAppChooserShare = view.findViewById(R.id.swAppChooserShare);
+ swShareTask = view.findViewById(R.id.swShareTask);
swAdjacentLinks = view.findViewById(R.id.swAdjacentLinks);
swAdjacentDocuments = view.findViewById(R.id.swAdjacentDocuments);
swAdjacentPortrait = view.findViewById(R.id.swAdjacentPortrait);
@@ -1676,6 +1679,13 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
}
});
+ swShareTask.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("share_task", checked).apply();
+ }
+ });
+
swAdjacentLinks.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
@@ -2467,6 +2477,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
swMdn.setChecked(prefs.getBoolean("mdn", swExperiments.isChecked()));
swAppChooser.setChecked(prefs.getBoolean("app_chooser", false));
swAppChooserShare.setChecked(prefs.getBoolean("app_chooser_share", false));
+ swShareTask.setChecked(prefs.getBoolean("share_task", false));
swAdjacentLinks.setChecked(prefs.getBoolean("adjacent_links", false));
swAdjacentDocuments.setChecked(prefs.getBoolean("adjacent_documents", true));
swAdjacentPortrait.setChecked(prefs.getBoolean("adjacent_portrait", false));
diff --git a/app/src/main/java/eu/faircode/email/Helper.java b/app/src/main/java/eu/faircode/email/Helper.java
index 35765c4b2e..7d28690eb6 100644
--- a/app/src/main/java/eu/faircode/email/Helper.java
+++ b/app/src/main/java/eu/faircode/email/Helper.java
@@ -1015,6 +1015,11 @@ public class Helper {
intent.setDataAndTypeAndNormalize(uri, type);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ boolean share_task = prefs.getBoolean("share_task", false);
+ if (share_task)
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+
if (launchAdjacent(context, true))
intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT | Intent.FLAG_ACTIVITY_NEW_TASK);
diff --git a/app/src/main/res/layout/fragment_options_misc.xml b/app/src/main/res/layout/fragment_options_misc.xml
index 7839044cde..f044f535b1 100644
--- a/app/src/main/res/layout/fragment_options_misc.xml
+++ b/app/src/main/res/layout/fragment_options_misc.xml
@@ -1995,6 +1995,17 @@
app:layout_constraintTop_toBottomOf="@id/swAppChooser"
app:switchPadding="12dp" />
+
+
+ app:layout_constraintTop_toBottomOf="@id/swShareTask" />
Process MDNs
Use Android app chooser for links
Use Android app chooser for files
+ View files in a separate task
Open side-by-side
Links
Documents