From 55b29bced6a6d039e5d63a3406c5b7185bb9c36f Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 29 Apr 2023 12:36:14 +0200 Subject: [PATCH] Finished affinity --- .../java/eu/faircode/email/ActivityCompose.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityCompose.java b/app/src/main/java/eu/faircode/email/ActivityCompose.java index d877325161..ac7656ebf3 100644 --- a/app/src/main/java/eu/faircode/email/ActivityCompose.java +++ b/app/src/main/java/eu/faircode/email/ActivityCompose.java @@ -76,6 +76,7 @@ public class ActivityCompose extends ActivityBase implements FragmentManager.OnB Intent intent = getIntent(); String action = intent.getAction(); + boolean shared = isShared(action); boolean widget = (action != null && action.startsWith("widget:")); String[] tos = intent.getStringArrayExtra(Intent.EXTRA_EMAIL); @@ -87,7 +88,7 @@ public class ActivityCompose extends ActivityBase implements FragmentManager.OnB .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK) .putExtra("tab", "backup"); startActivity(setup); - } else if (!isShared(action) && !widget) { + } else if (!shared && !widget) { Intent parent = getParentActivityIntent(); if (parent != null) if (shouldUpRecreateTask(parent)) @@ -103,7 +104,16 @@ public class ActivityCompose extends ActivityBase implements FragmentManager.OnB SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); prefs.edit().remove("last_composing").apply(); - finishAndRemoveTask(); + try { + if (shared || widget) { + Helper.excludeFromRecents(this); + finishAffinity(); + } else + finishAndRemoveTask(); + } catch (Throwable ex) { + Log.e(ex); + finish(); + } } }