Added folder / search unread

pull/207/head
M66B 3 years ago
parent 279a8823f6
commit fb01525bb9

@ -135,7 +135,7 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
private ImageView ivAutoAdd; private ImageView ivAutoAdd;
private TextView tvName; private TextView tvName;
private TextView tvMessages; private TextView tvMessages;
private ImageView ivMessages; private ImageButton ibMessages;
private ImageView ivType; private ImageView ivType;
private TextView tvType; private TextView tvType;
@ -145,7 +145,7 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
private TextView tvKeywords; private TextView tvKeywords;
private TextView tvFlagged; private TextView tvFlagged;
private ImageView ibFlagged; private ImageButton ibFlagged;
private TextView tvError; private TextView tvError;
private Button btnHelp; private Button btnHelp;
@ -174,7 +174,7 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
ivAutoAdd = itemView.findViewById(R.id.ivAutoAdd); ivAutoAdd = itemView.findViewById(R.id.ivAutoAdd);
tvName = itemView.findViewById(R.id.tvName); tvName = itemView.findViewById(R.id.tvName);
tvMessages = itemView.findViewById(R.id.tvMessages); tvMessages = itemView.findViewById(R.id.tvMessages);
ivMessages = itemView.findViewById(R.id.ivMessages); ibMessages = itemView.findViewById(R.id.ibMessages);
ivType = itemView.findViewById(R.id.ivType); ivType = itemView.findViewById(R.id.ivType);
tvType = itemView.findViewById(R.id.tvType); tvType = itemView.findViewById(R.id.tvType);
@ -200,6 +200,10 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
view.setOnClickListener(this); view.setOnClickListener(this);
view.setOnLongClickListener(this); view.setOnLongClickListener(this);
ibExpander.setOnClickListener(this); ibExpander.setOnClickListener(this);
if (tvMessages != null)
tvMessages.setOnClickListener(this);
if (ibMessages != null)
ibMessages.setOnClickListener(this);
if (tvFlagged != null) if (tvFlagged != null)
tvFlagged.setOnClickListener(this); tvFlagged.setOnClickListener(this);
if (ibFlagged != null) if (ibFlagged != null)
@ -214,6 +218,10 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
view.setOnClickListener(null); view.setOnClickListener(null);
view.setOnLongClickListener(null); view.setOnLongClickListener(null);
ibExpander.setOnClickListener(null); ibExpander.setOnClickListener(null);
if (tvMessages != null)
tvMessages.setOnClickListener(null);
if (ibMessages != null)
ibMessages.setOnClickListener(null);
if (tvFlagged != null) if (tvFlagged != null)
tvFlagged.setOnClickListener(null); tvFlagged.setOnClickListener(null);
if (ibFlagged != null) if (ibFlagged != null)
@ -340,7 +348,7 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
} }
tvMessages.setText(sb.toString()); tvMessages.setText(sb.toString());
ivMessages.setImageResource(folder.download || EntityFolder.OUTBOX.equals(folder.type) ibMessages.setImageResource(folder.download || EntityFolder.OUTBOX.equals(folder.type)
? R.drawable.twotone_mail_24 : R.drawable.twotone_mail_outline_24); ? R.drawable.twotone_mail_24 : R.drawable.twotone_mail_outline_24);
} }
@ -408,8 +416,6 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
tvFlagged.setText(NF.format(folder.flagged)); tvFlagged.setText(NF.format(folder.flagged));
ibFlagged.setImageResource(folder.flagged == 0 ibFlagged.setImageResource(folder.flagged == 0
? R.drawable.twotone_star_border_24 : R.drawable.twotone_star_24); ? R.drawable.twotone_star_border_24 : R.drawable.twotone_star_24);
tvFlagged.setEnabled(folder.flagged > 0);
ibFlagged.setEnabled(folder.flagged > 0);
tvError.setText(folder.error); tvError.setText(folder.error);
tvError.setVisibility(folder.error != null ? View.VISIBLE : View.GONE); tvError.setVisibility(folder.error != null ? View.VISIBLE : View.GONE);
@ -437,6 +443,9 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
int id = view.getId(); int id = view.getId();
if (id == R.id.ibExpander) { if (id == R.id.ibExpander) {
onCollapse(folder, pos); onCollapse(folder, pos);
} else if (show_flagged &&
(id == R.id.tvMessages || id == R.id.ibMessages)) {
onUnread(folder);
} else if (id == R.id.tvFlagged || id == R.id.ibFlagged) { } else if (id == R.id.tvFlagged || id == R.id.ibFlagged) {
onFlagged(folder); onFlagged(folder);
} else if (id == R.id.ibSync) { } else if (id == R.id.ibSync) {
@ -498,6 +507,20 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
}.execute(context, owner, args, "folder:collapse"); }.execute(context, owner, args, "folder:collapse");
} }
private void onUnread(TupleFolderEx folder) {
BoundaryCallbackMessages.SearchCriteria criteria = new BoundaryCallbackMessages.SearchCriteria();
criteria.in_senders = false;
criteria.in_recipients = false;
criteria.in_subject = false;
criteria.in_keywords = false;
criteria.in_message = false;
criteria.in_notes = false;
criteria.with_unseen = true;
FragmentMessages.search(
context, owner, parentFragment.getParentFragmentManager(),
folder.account, folder.id, false, criteria);
}
private void onFlagged(TupleFolderEx folder) { private void onFlagged(TupleFolderEx folder) {
BoundaryCallbackMessages.SearchCriteria criteria = new BoundaryCallbackMessages.SearchCriteria(); BoundaryCallbackMessages.SearchCriteria criteria = new BoundaryCallbackMessages.SearchCriteria();
criteria.in_senders = false; criteria.in_senders = false;
@ -506,8 +529,6 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
criteria.in_keywords = false; criteria.in_keywords = false;
criteria.in_message = false; criteria.in_message = false;
criteria.in_notes = false; criteria.in_notes = false;
criteria.in_headers = false;
criteria.in_html = false;
criteria.with_flagged = true; criteria.with_flagged = true;
FragmentMessages.search( FragmentMessages.search(
context, owner, parentFragment.getParentFragmentManager(), context, owner, parentFragment.getParentFragmentManager(),

@ -145,14 +145,15 @@
android:text="123" android:text="123"
android:textAppearance="@android:style/TextAppearance.Small" android:textAppearance="@android:style/TextAppearance.Small"
app:layout_constraintBottom_toBottomOf="@+id/tvName" app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintEnd_toStartOf="@+id/ivMessages" app:layout_constraintEnd_toStartOf="@+id/ibMessages"
app:layout_constraintTop_toTopOf="@+id/tvName" /> app:layout_constraintTop_toTopOf="@+id/tvName" />
<eu.faircode.email.FixedImageView <eu.faircode.email.FixedImageButton
android:id="@+id/ivMessages" android:id="@+id/ibMessages"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="24dp" android:layout_height="24dp"
android:layout_marginEnd="6dp" android:layout_marginEnd="6dp"
android:background="?android:attr/selectableItemBackgroundBorderless"
app:layout_constraintBottom_toBottomOf="@+id/tvName" app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/tvName" app:layout_constraintTop_toTopOf="@+id/tvName"
@ -247,7 +248,7 @@
app:layout_constraintEnd_toStartOf="@+id/ibFlagged" app:layout_constraintEnd_toStartOf="@+id/ibFlagged"
app:layout_constraintTop_toTopOf="@+id/tvKeywords" /> app:layout_constraintTop_toTopOf="@+id/tvKeywords" />
<eu.faircode.email.FixedImageView <eu.faircode.email.FixedImageButton
android:id="@+id/ibFlagged" android:id="@+id/ibFlagged"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="24dp" android:layout_height="24dp"

Loading…
Cancel
Save