diff --git a/app/src/main/java/eu/faircode/email/FragmentMessage.java b/app/src/main/java/eu/faircode/email/FragmentMessage.java index fc85f5dfd2..47c1dcfe59 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessage.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessage.java @@ -25,6 +25,7 @@ import android.content.Intent; import android.graphics.Typeface; import android.net.Uri; import android.os.Bundle; +import android.preference.PreferenceManager; import android.text.Html; import android.text.Layout; import android.text.Spannable; @@ -70,6 +71,7 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; public class FragmentMessage extends FragmentEx { + private boolean debug; private TextView tvTime; private TextView tvFrom; private TextView tvTo; @@ -96,6 +98,8 @@ public class FragmentMessage extends FragmentEx { public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_message, container, false); + this.debug = PreferenceManager.getDefaultSharedPreferences(getContext()).getBoolean("debug", false); + // Get arguments Bundle args = getArguments(); final long id = (args == null ? -1 : args.getLong("id")); @@ -247,6 +251,10 @@ public class FragmentMessage extends FragmentEx { if (FragmentMessage.this.isVisible()) getFragmentManager().popBackStack(); } else { + final boolean inbox = EntityFolder.TYPE_INBOX.equals(message.folderType); + final boolean outbox = EntityFolder.TYPE_INBOX.equals(message.folderType); + final boolean archive = EntityFolder.TYPE_ARCHIVE.equals(message.folderType); + setSubtitle(Helper.localizeFolderName(getContext(), message.folderName)); tvFrom.setText(message.from == null ? null : TextUtils.join(", ", message.from)); @@ -256,6 +264,7 @@ public class FragmentMessage extends FragmentEx { tvTime.setText(message.sent == null ? null : df.format(new Date(message.sent))); tvSubject.setText(message.subject); tvCount.setText(Integer.toString(message.count)); + tvCount.setVisibility(debug || message.count > 1 ? View.VISIBLE : View.GONE); int typeface = (message.ui_seen ? Typeface.NORMAL : Typeface.BOLD); tvFrom.setTypeface(null, typeface); @@ -279,6 +288,9 @@ public class FragmentMessage extends FragmentEx { }); top_navigation.getMenu().findItem(R.id.action_thread).setVisible(message.count > 1); + top_navigation.getMenu().findItem(R.id.action_seen).setVisible(!outbox); + top_navigation.getMenu().findItem(R.id.action_forward).setVisible(!outbox); + top_navigation.getMenu().findItem(R.id.action_reply_all).setVisible(!outbox); MenuItem actionSeen = top_navigation.getMenu().findItem(R.id.action_seen); actionSeen.setIcon(message.ui_seen @@ -311,13 +323,11 @@ public class FragmentMessage extends FragmentEx { hasUser = true; } - final boolean inbox = EntityFolder.TYPE_INBOX.equals(message.folderType); - final boolean outbox = EntityFolder.TYPE_OUTBOX.equals(message.folderType); - - bottom_navigation.getMenu().findItem(R.id.action_trash).setVisible(hasTrash); + bottom_navigation.getMenu().findItem(R.id.action_trash).setVisible(!outbox && hasTrash); bottom_navigation.getMenu().findItem(R.id.action_spam).setVisible(!outbox && hasJunk); bottom_navigation.getMenu().findItem(R.id.action_move).setVisible(!outbox && (!inbox || hasUser)); - bottom_navigation.getMenu().findItem(R.id.action_archive).setVisible(!outbox && hasArchive); + bottom_navigation.getMenu().findItem(R.id.action_archive).setVisible(!outbox && !archive && hasArchive); + bottom_navigation.getMenu().findItem(R.id.action_reply).setVisible(!outbox); bottom_navigation.setVisibility(View.VISIBLE); } });