From 0cac56182a085108efe3e52167109acb644e3510 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Mon, 30 Sep 2024 10:26:02 -0500 Subject: [PATCH] Colour account badge by status --- .../conversations/ui/ConversationsActivity.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java index 59b3a4456faa217339c72689afa5b6026cc5d10a..1794f12c4b679d1247a27f72cd3a932e57b84f3d 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java @@ -108,6 +108,7 @@ import eu.siacs.conversations.ui.util.ConversationMenuConfigurator; import eu.siacs.conversations.ui.util.MenuDoubleTabUtil; import eu.siacs.conversations.ui.util.PendingItem; import eu.siacs.conversations.ui.util.ToolbarUtils; +import eu.siacs.conversations.ui.util.SendButtonTool; import eu.siacs.conversations.utils.AccountUtils; import eu.siacs.conversations.utils.ExceptionHelper; import eu.siacs.conversations.utils.PhoneNumberUtilWrapper; @@ -316,6 +317,7 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio } long id = 101; + final boolean nightMode = Activities.isNightMode(this); for (final var a : accounts) { final var size = (int) getResources().getDimension(R.dimen.avatar_on_drawer); final var avatar = xmppConnectionService.getAvatarService().get(a, size, true); @@ -330,11 +332,18 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio com.mikepenz.materialdrawer.model.interfaces.NameableKt.setNameText(p, a.getDisplayName() == null ? "" : a.getDisplayName()); com.mikepenz.materialdrawer.model.interfaces.DescribableKt.setDescriptionText(p, a.getJid().asBareJid().toString()); if (avatar != null) com.mikepenz.materialdrawer.model.interfaces.IconableKt.setIconBitmap(p, FileBackend.drawDrawable(avatar).copy(Bitmap.Config.ARGB_8888, false)); - final var color = MaterialColors.getColor(binding.drawer, com.google.android.material.R.attr.colorPrimaryContainer); + var color = SendButtonTool.getSendButtonColor(binding.drawer, a.getPresenceStatus()); + if (!a.isOnlineAndConnected()) { + if (a.getStatus().isError()) { + color = MaterialColors.harmonizeWithPrimary(this, ContextCompat.getColor(this, nightMode ? R.color.red_300 : R.color.red_800)); + } else { + color = MaterialColors.getColor(binding.drawer, com.google.android.material.R.attr.colorOnSurface); + } + } final var textColor = MaterialColors.getColor(binding.drawer, com.google.android.material.R.attr.colorOnPrimaryContainer); p.setBadgeStyle(new com.mikepenz.materialdrawer.holder.BadgeStyle(com.mikepenz.materialdrawer.R.drawable.material_drawer_badge, color, color, textColor)); final var badgeNumber = accountUnreads.get(a); - p.setBadge(new com.mikepenz.materialdrawer.holder.StringHolder(badgeNumber == null ? null : badgeNumber.toString())); + p.setBadge(new com.mikepenz.materialdrawer.holder.StringHolder(badgeNumber == null ? " " : badgeNumber.toString())); if (inHeader.contains(a)) { accountHeader.updateProfile(p); } else {