Experiment: use shadow for selected messages

This commit is contained in:
M66B 2021-12-27 12:09:03 +01:00
parent e7d43f7079
commit 43c2d0fe6a
1 changed files with 15 additions and 9 deletions

View File

@ -1626,19 +1626,25 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
}
private void bindSeen(TupleMessageEx message) {
if (cards && shadow_unread) {
boolean shadow = (message.unseen > 0);
int color = (shadow
? ColorUtils.setAlphaComponent(shadow_highlight ? colorUnreadHighlight : colorAccent, 127)
: Color.TRANSPARENT);
if (!Objects.equals(itemView.getTag(), shadow)) {
itemView.setTag(shadow);
if (cards) {
boolean unseen = (shadow_unread && message.unseen > 0);
boolean selected = properties.getValue("selected", message.id);
int color;
if (unseen)
color = ColorUtils.setAlphaComponent(shadow_highlight ? colorUnreadHighlight : colorAccent, 127);
else if (selected)
color = ColorUtils.setAlphaComponent(colorSeparator, 127);
else
color = Color.TRANSPARENT;
if (!Objects.equals(itemView.getTag(), color)) {
itemView.setTag(color);
itemView.setBackgroundColor(color);
ViewGroup.MarginLayoutParams lparam = (ViewGroup.MarginLayoutParams) itemView.getLayoutParams();
lparam.topMargin = (shadow ? dp1 : 0);
lparam.bottomMargin = (shadow ? dp1 : 0);
lparam.topMargin = (unseen || selected ? dp1 : 0);
lparam.bottomMargin = (unseen || selected ? dp1 : 0);
itemView.setLayoutParams(lparam);
}
}