From 13f385a8372b6ab7ffa93a6650d02c1a8ce13026 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 14 Apr 2021 07:48:44 +0200 Subject: [PATCH] Pin msgid --- app/src/main/java/eu/faircode/email/ActivityMain.java | 1 + app/src/main/java/eu/faircode/email/ActivityView.java | 1 + app/src/main/java/eu/faircode/email/FragmentMessages.java | 5 ++++- app/src/main/java/eu/faircode/email/Shortcuts.java | 1 + 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityMain.java b/app/src/main/java/eu/faircode/email/ActivityMain.java index 8882e7941b..3d3782ed3d 100644 --- a/app/src/main/java/eu/faircode/email/ActivityMain.java +++ b/app/src/main/java/eu/faircode/email/ActivityMain.java @@ -89,6 +89,7 @@ public class ActivityMain extends ActivityBase implements FragmentManager.OnBack thread.putExtra("thread", message.thread); thread.putExtra("filter_archive", true); thread.putExtra("pinned", true); + thread.putExtra("msgid", message.msgid); startActivity(thread); } diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index f7c3872e60..086f1ac6d6 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -1459,6 +1459,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB args.putBoolean("filter_archive", intent.getBooleanExtra("filter_archive", true)); args.putBoolean("found", found); args.putBoolean("pinned", intent.getBooleanExtra("pinned", false)); + args.putString("msgid", intent.getStringExtra("msgid")); FragmentMessages fragment = new FragmentMessages(); fragment.setArguments(args); diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 0fbfdcf2a9..19015a24ac 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -278,6 +278,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. private boolean filter_archive; private boolean found; private boolean pinned; + private String msgid; private BoundaryCallbackMessages.SearchCriteria criteria = null; private boolean pane; @@ -390,6 +391,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. filter_archive = args.getBoolean("filter_archive", true); found = args.getBoolean("found", false); pinned = args.getBoolean("pinned", false); + msgid = args.getString("msgid"); criteria = (BoundaryCallbackMessages.SearchCriteria) args.getSerializable("criteria"); pane = args.getBoolean("pane", false); primary = args.getLong("primary", -1); @@ -4910,7 +4912,8 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. } } - if (pinned && message.id.equals(id)) + if (pinned && + (message.id.equals(id) || Objects.equals(message.msgid, msgid))) pin = message; if (message.folder == folder && diff --git a/app/src/main/java/eu/faircode/email/Shortcuts.java b/app/src/main/java/eu/faircode/email/Shortcuts.java index 7d2b465180..5882ac9cff 100644 --- a/app/src/main/java/eu/faircode/email/Shortcuts.java +++ b/app/src/main/java/eu/faircode/email/Shortcuts.java @@ -233,6 +233,7 @@ class Shortcuts { thread.putExtra("thread", message.thread); thread.putExtra("filter_archive", true); thread.putExtra("pinned", true); + thread.putExtra("msgid", message.msgid); Bitmap bm; if (contactInfo[0].hasPhoto())