From 7e0ae2e8310587dda485e26b6d2055a2bb7096f9 Mon Sep 17 00:00:00 2001 From: kske Date: Mon, 3 Feb 2020 22:06:56 +0100 Subject: [PATCH] Added Chat#isUnread() for future use in message notifications --- src/main/java/envoy/client/Chat.java | 7 +++++++ src/main/java/envoy/client/ui/list/ComponentListModel.java | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/src/main/java/envoy/client/Chat.java b/src/main/java/envoy/client/Chat.java index b51f068..1a54e42 100644 --- a/src/main/java/envoy/client/Chat.java +++ b/src/main/java/envoy/client/Chat.java @@ -59,6 +59,13 @@ public class Chat implements Serializable { } } + /** + * @return {@code true} if the newest message received in the chat doesn't have + * the status {@code READ} + * @since Envoy v0.3-alpha + */ + public boolean isUnread() { return !model.isEmpty() && model.get(model.size() - 1).getStatus() != MessageStatus.READ; } + /** * @return all messages in the current chat * @since Envoy v0.1-alpha diff --git a/src/main/java/envoy/client/ui/list/ComponentListModel.java b/src/main/java/envoy/client/ui/list/ComponentListModel.java index 8fb1d68..fff3e6c 100644 --- a/src/main/java/envoy/client/ui/list/ComponentListModel.java +++ b/src/main/java/envoy/client/ui/list/ComponentListModel.java @@ -78,6 +78,12 @@ public final class ComponentListModel implements Iterable, Serializable { */ public int size() { return elements.size(); } + /** + * @return {@code true} if this model contains no elements + * @see java.util.List#isEmpty() + */ + public boolean isEmpty() { return elements.isEmpty(); } + /** * @return an iterator over the elements of this list model * @see java.util.List#iterator()