From 8b9b6061b9ad2153e3d6cbeb37418a901aa04034 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Wed, 22 Feb 2023 18:07:01 -0500 Subject: [PATCH] The live follows is held at the User not at the Account. --- .../vitorpamplona/amethyst/LocalPreferences.kt | 2 +- .../vitorpamplona/amethyst/model/Account.kt | 18 ++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/LocalPreferences.kt b/app/src/main/java/com/vitorpamplona/amethyst/LocalPreferences.kt index f2401e983..153dafcef 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/LocalPreferences.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/LocalPreferences.kt @@ -41,7 +41,7 @@ class LocalPreferences(context: Context) { account.dontTranslateFrom.let { putStringSet("dontTranslateFrom", it) } account.translateTo.let { putString("translateTo", it) } account.zapAmountChoices.let { putString("zapAmounts", gson.toJson(it)) } - account.latestContactList.let { putString("latestContactList", Event.gson.toJson(it)) } + account.backupContactList.let { putString("latestContactList", Event.gson.toJson(it)) } }.apply() } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/model/Account.kt b/app/src/main/java/com/vitorpamplona/amethyst/model/Account.kt index a5b3797b3..a64431392 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/model/Account.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/model/Account.kt @@ -58,7 +58,7 @@ class Account( var dontTranslateFrom: Set = getLanguagesSpokenByUser(), var translateTo: String = Locale.getDefault().language, var zapAmountChoices: List = listOf(500L, 1000L, 5000L), - var latestContactList: ContactListEvent? = null + var backupContactList: ContactListEvent? = null ) { var transientHiddenUsers: Set = setOf() @@ -86,7 +86,7 @@ class Account( fun sendNewRelayList(relays: Map) { if (!isWriteable()) return - val contactList = latestContactList + val contactList = userProfile().latestContactList if (contactList != null && contactList.follows.size > 0) { val event = ContactListEvent.create( @@ -219,7 +219,7 @@ class Account( fun follow(user: User) { if (!isWriteable()) return - val contactList = latestContactList + val contactList = userProfile().latestContactList val event = if (contactList != null && contactList.follows.size > 0) { ContactListEvent.create( @@ -242,7 +242,7 @@ class Account( fun unfollow(user: User) { if (!isWriteable()) return - val contactList = latestContactList + val contactList = userProfile().latestContactList if (contactList != null && contactList.follows.size > 0) { val event = ContactListEvent.create( @@ -421,8 +421,8 @@ class Account( if (newContactList?.follows.isNullOrEmpty()) return // Events might be different objects, we have to compare their ids. - if (latestContactList?.id?.toHex() != newContactList?.id?.toHex()) { - latestContactList = newContactList + if (backupContactList?.id?.toHex() != newContactList?.id?.toHex()) { + backupContactList = newContactList saveable.invalidateData() } } @@ -492,7 +492,7 @@ class Account( } init { - latestContactList?.let { + backupContactList?.let { println("Loading saved contacts ${it.toJson()}") if (userProfile().latestContactList == null) { LocalCache.consume(it) @@ -508,9 +508,7 @@ class Account( // saves contact list for the next time. userProfile().live().follows.observeForever { - GlobalScope.launch(Dispatchers.IO) { - updateContactListTo(userProfile().latestContactList) - } + updateContactListTo(userProfile().latestContactList) } // imports transient blocks due to spam.