mirror of https://github.com/M66B/FairEmail.git
Better action conditions
This commit is contained in:
parent
bd489df9a5
commit
971781b416
|
@ -25,6 +25,7 @@ import android.content.Intent;
|
||||||
import android.graphics.Typeface;
|
import android.graphics.Typeface;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.preference.PreferenceManager;
|
||||||
import android.text.Html;
|
import android.text.Html;
|
||||||
import android.text.Layout;
|
import android.text.Layout;
|
||||||
import android.text.Spannable;
|
import android.text.Spannable;
|
||||||
|
@ -70,6 +71,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
public class FragmentMessage extends FragmentEx {
|
public class FragmentMessage extends FragmentEx {
|
||||||
|
private boolean debug;
|
||||||
private TextView tvTime;
|
private TextView tvTime;
|
||||||
private TextView tvFrom;
|
private TextView tvFrom;
|
||||||
private TextView tvTo;
|
private TextView tvTo;
|
||||||
|
@ -96,6 +98,8 @@ public class FragmentMessage extends FragmentEx {
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
View view = inflater.inflate(R.layout.fragment_message, container, false);
|
View view = inflater.inflate(R.layout.fragment_message, container, false);
|
||||||
|
|
||||||
|
this.debug = PreferenceManager.getDefaultSharedPreferences(getContext()).getBoolean("debug", false);
|
||||||
|
|
||||||
// Get arguments
|
// Get arguments
|
||||||
Bundle args = getArguments();
|
Bundle args = getArguments();
|
||||||
final long id = (args == null ? -1 : args.getLong("id"));
|
final long id = (args == null ? -1 : args.getLong("id"));
|
||||||
|
@ -247,6 +251,10 @@ public class FragmentMessage extends FragmentEx {
|
||||||
if (FragmentMessage.this.isVisible())
|
if (FragmentMessage.this.isVisible())
|
||||||
getFragmentManager().popBackStack();
|
getFragmentManager().popBackStack();
|
||||||
} else {
|
} 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));
|
setSubtitle(Helper.localizeFolderName(getContext(), message.folderName));
|
||||||
|
|
||||||
tvFrom.setText(message.from == null ? null : TextUtils.join(", ", message.from));
|
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)));
|
tvTime.setText(message.sent == null ? null : df.format(new Date(message.sent)));
|
||||||
tvSubject.setText(message.subject);
|
tvSubject.setText(message.subject);
|
||||||
tvCount.setText(Integer.toString(message.count));
|
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);
|
int typeface = (message.ui_seen ? Typeface.NORMAL : Typeface.BOLD);
|
||||||
tvFrom.setTypeface(null, typeface);
|
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_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);
|
MenuItem actionSeen = top_navigation.getMenu().findItem(R.id.action_seen);
|
||||||
actionSeen.setIcon(message.ui_seen
|
actionSeen.setIcon(message.ui_seen
|
||||||
|
@ -311,13 +323,11 @@ public class FragmentMessage extends FragmentEx {
|
||||||
hasUser = true;
|
hasUser = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final boolean inbox = EntityFolder.TYPE_INBOX.equals(message.folderType);
|
bottom_navigation.getMenu().findItem(R.id.action_trash).setVisible(!outbox && hasTrash);
|
||||||
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_spam).setVisible(!outbox && hasJunk);
|
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_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);
|
bottom_navigation.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue