X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdatabase%2Fmemory%2FMemoryFriendDatabase.java;h=6661be04e050b85f664107366d62d57a5af90239;hb=62573c314957b1851f4fbe693b8746686caa940a;hp=a2d51a3540c56ffe04876d40951de848e3f7c620;hpb=cbd6de75a2a96966a2381100c5b643feea702458;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/database/memory/MemoryFriendDatabase.java b/src/main/java/net/pterodactylus/sone/database/memory/MemoryFriendDatabase.java index a2d51a3..6661be0 100644 --- a/src/main/java/net/pterodactylus/sone/database/memory/MemoryFriendDatabase.java +++ b/src/main/java/net/pterodactylus/sone/database/memory/MemoryFriendDatabase.java @@ -12,8 +12,6 @@ import com.google.common.collect.Multimap; /** * In-memory implementation of friend-related functionality. - * - * @author David ‘Bombe’ Roden */ class MemoryFriendDatabase { @@ -66,6 +64,13 @@ class MemoryFriendDatabase { try { if (soneFriends.remove(localSoneId, friendSoneId)) { configurationLoader.saveFriends(localSoneId, soneFriends.get(localSoneId)); + boolean unfollowedSoneStillFollowed = false; + for (String soneId : soneFriends.keys()) { + unfollowedSoneStillFollowed |= getFriends(soneId).contains(friendSoneId); + } + if (!unfollowedSoneStillFollowed) { + configurationLoader.removeSoneFollowingTime(friendSoneId); + } } } finally { lock.writeLock().unlock();