From 7025cabd2ff010f49000de3498ac558ab46c69e4 Mon Sep 17 00:00:00 2001 From: DieGurke <55625494+DieGurke@users.noreply.github.com> Date: Thu, 11 Jun 2020 13:21:16 +0200 Subject: [PATCH] Fixed issue reagarding missing chats --- src/main/java/envoy/client/data/LocalDB.java | 9 +++++++++ src/main/java/envoy/client/ui/controller/LoginScene.java | 1 + 2 files changed, 10 insertions(+) diff --git a/src/main/java/envoy/client/data/LocalDB.java b/src/main/java/envoy/client/data/LocalDB.java index 60bf7c0..38aeea4 100644 --- a/src/main/java/envoy/client/data/LocalDB.java +++ b/src/main/java/envoy/client/data/LocalDB.java @@ -200,4 +200,13 @@ public abstract class LocalDB { } }); } + + /** + * Creates a new {@link Chat} for all {@link Contact}s that do not have a chat. + * + * @since Envoy Client v0.1-beta + */ + public void createMissingChats() { + users.values().stream().filter(u -> !u.equals(user) && getChat(u.getID()).isEmpty()).map(Chat::new).forEach(chats::add); + } } diff --git a/src/main/java/envoy/client/ui/controller/LoginScene.java b/src/main/java/envoy/client/ui/controller/LoginScene.java index 6717661..f015b6e 100644 --- a/src/main/java/envoy/client/ui/controller/LoginScene.java +++ b/src/main/java/envoy/client/ui/controller/LoginScene.java @@ -185,6 +185,7 @@ public final class LoginScene { // Save all users to the local database and flush cache localDB.setUsers(client.getUsers()); + localDB.createMissingChats(); writeProxy.flushCache(); } else // Set all contacts to offline mode