diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index e4dcc60dd4..74db55024a 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -359,15 +359,20 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB Intent intent = getIntent(); String action = intent.getAction(); Log.i(Helper.TAG, "View intent=" + intent + " action=" + action); - if (action != null && action.startsWith("thread")) { + if (action != null) { intent.setAction(null); setIntent(intent); - ViewModelMessages model = ViewModelProviders.of(this).get(ViewModelMessages.class); - model.setMessages(null); + if ("unified".equals(action)) + getSupportFragmentManager().popBackStack("unified", 0); - intent.putExtra("thread", action.split(":", 2)[1]); - onViewThread(intent); + else if (action.startsWith("thread")) { + ViewModelMessages model = ViewModelProviders.of(this).get(ViewModelMessages.class); + model.setMessages(null); + + intent.putExtra("thread", action.split(":", 2)[1]); + onViewThread(intent); + } } if (getIntent().hasExtra(Intent.EXTRA_PROCESS_TEXT)) { diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 49c32da54f..dd119ef097 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -384,6 +384,7 @@ public class ServiceSynchronize extends LifecycleService { // Build pending intent Intent view = new Intent(this, ActivityView.class); + view.setAction("unified"); view.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); PendingIntent piView = PendingIntent.getActivity( this, ActivityView.REQUEST_UNIFIED, view, PendingIntent.FLAG_UPDATE_CURRENT); diff --git a/app/src/main/java/eu/faircode/email/Widget.java b/app/src/main/java/eu/faircode/email/Widget.java index b9c2df2189..43cc4e3022 100644 --- a/app/src/main/java/eu/faircode/email/Widget.java +++ b/app/src/main/java/eu/faircode/email/Widget.java @@ -47,6 +47,7 @@ public class Widget extends AppWidgetProvider { private static void update(int[] appWidgetIds, AppWidgetManager appWidgetManager, Context context, int count) { Intent intent = new Intent(context, ActivityView.class); + intent.setAction("unified"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); PendingIntent pi = PendingIntent.getActivity(context, ActivityView.REQUEST_UNIFIED, intent, PendingIntent.FLAG_UPDATE_CURRENT); for (int id : appWidgetIds) {