From 8992f59c3bf914b48f2e5c552d54f91df0974b00 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Wed, 2 Jun 2021 16:49:03 -0300 Subject: [PATCH] Update logic for color selection to match spec. --- .../securesms/recipients/Recipient.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/Recipient.java b/app/src/main/java/org/thoughtcrime/securesms/recipients/Recipient.java index 4fd0fec46..1e925643f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/Recipient.java +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/Recipient.java @@ -32,6 +32,7 @@ import org.thoughtcrime.securesms.database.RecipientDatabase.MentionSetting; import org.thoughtcrime.securesms.database.RecipientDatabase.RegisteredState; import org.thoughtcrime.securesms.database.RecipientDatabase.UnidentifiedAccessMode; import org.thoughtcrime.securesms.database.RecipientDatabase.VibrateState; +import org.thoughtcrime.securesms.database.model.databaseprotos.ChatColor; import org.thoughtcrime.securesms.database.model.databaseprotos.RecipientExtras; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; import org.thoughtcrime.securesms.groups.GroupId; @@ -910,21 +911,22 @@ public class Recipient { } public @NonNull ChatColors getChatColors() { - if (chatColors != null && chatColors.getId() instanceof ChatColors.Id.Auto) { - return getAutoChatColor(); - } else if (chatColors != null) { + if (chatColors != null && chatColors.getId() instanceof ChatColors.Id.Custom) { return chatColors; - } else if (SignalStore.chatColorsValues().hasChatColors()) { - return Objects.requireNonNull(SignalStore.chatColorsValues().getChatColors()); - } else { + } if (chatColors != null && chatColors.getId() instanceof ChatColors.Id.Auto) { return getAutoChatColor(); + } else { + ChatColors global = SignalStore.chatColorsValues().getChatColors(); + if (global != null && global.getId() instanceof ChatColors.Id.Custom) { + return global; + } else { + return getAutoChatColor(); + } } } private @NonNull ChatColors getAutoChatColor() { - if (wallpaper != null) { - return wallpaper.getAutoChatColors(); - } else if (getWallpaper() != null) { + if (getWallpaper() != null) { return getWallpaper().getAutoChatColors(); } else { return ChatColorsPalette.Bubbles.getDefault().withId(ChatColors.Id.Auto.INSTANCE);