From 9297afc02a4b7c19d89a785067ad1be1806278b9 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Wed, 15 Mar 2023 15:13:23 -0400 Subject: [PATCH] Deleting contact lists from pausing the app --- .../com/vitorpamplona/amethyst/ServiceManager.kt | 1 + .../com/vitorpamplona/amethyst/model/LocalCache.kt | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt b/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt index 399c78f99..fbff99b63 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt @@ -71,6 +71,7 @@ object ServiceManager { account?.let { LocalCache.pruneOldAndHiddenMessages(it) LocalCache.pruneHiddenMessages(it) + LocalCache.pruneContactLists(it) // LocalCache.pruneNonFollows(it) } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt b/app/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt index 7bdd23cee..5d13f91ca 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt @@ -708,6 +708,18 @@ object LocalCache { println("PRUNE: ${toBeRemoved.size} messages removed because they were Hidden") } + fun pruneContactLists(userAccount: Account) { + var removingContactList = 0 + users.values.forEach { + if (it != userAccount.userProfile() && (it.liveSet == null || it.liveSet?.isInUse() == false)) { + it.latestContactList = null + removingContactList++ + } + } + + println("PRUNE: $removingContactList contact lists") + } + // Observers line up here. val live: LocalCacheLiveData = LocalCacheLiveData(this)