From 58b3a30fb66bd73e9e7bef743711b03a3d13b3b3 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 16 Sep 2020 09:11:50 +0200 Subject: [PATCH] Workaround stale intents from recent apps --- .../main/java/eu/faircode/email/ActivityView.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index 231a57b442..c74ddf3b8d 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -145,6 +145,14 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState, false); + // Workaround stale intents from recent apps screen + boolean recents = (getIntent().getFlags() & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) != 0; + if (recents) { + Intent intent = getIntent(); + intent.setAction(null); + setIntent(intent); + } + LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(this); lbm.registerReceiver(creceiver, new IntentFilter(ACTION_NEW_MESSAGE)); @@ -970,7 +978,6 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB String action = intent.getAction(); Log.i("View intent=" + intent + " action=" + action); - //boolean recents = (getIntent().getFlags() & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) != 0; if (action != null) { intent.setAction(null); setIntent(intent); @@ -1033,11 +1040,11 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB onMenuOutbox(); - } else if (action.startsWith("thread") /*&& !recents*/) { + } else if (action.startsWith("thread")) { intent.putExtra("thread", action.split(":", 2)[1]); onViewThread(intent); - } else if (action.equals("widget") /*&& !recents*/) { + } else if (action.equals("widget")) { long account = intent.getLongExtra("widget_account", -1); long folder = intent.getLongExtra("widget_folder", -1); String type = intent.getStringExtra("widget_type");