From 191254d920ce5a78ed141d1387a2785f551996a8 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Sun, 22 Oct 2023 17:16:06 -0400 Subject: [PATCH] Makes sure only one npub is logged in at the same time --- .../vitorpamplona/amethyst/LocalPreferences.kt | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/LocalPreferences.kt b/app/src/main/java/com/vitorpamplona/amethyst/LocalPreferences.kt index 605baddad..f545887fd 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/LocalPreferences.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/LocalPreferences.kt @@ -156,12 +156,9 @@ object LocalPreferences { private val prefsDirPath: String get() = "${Amethyst.instance.filesDir.parent}/shared_prefs/" - private suspend fun addAccount(npub: AccountInfo) { - val accounts = savedAccounts().toMutableList() - if (npub !in accounts) { - accounts.add(npub) - updateSavedAccounts(accounts) - } + private suspend fun addAccount(accInfo: AccountInfo) { + val accounts = savedAccounts().filter { it.npub != accInfo.npub }.plus(accInfo) + updateSavedAccounts(accounts) } private suspend fun setCurrentAccount(account: Account) = withContext(Dispatchers.IO) { @@ -183,10 +180,8 @@ object LocalPreferences { * Removes the account from the app level shared preferences */ private suspend fun removeAccount(accountInfo: AccountInfo) { - val accounts = savedAccounts().toMutableList() - if (accounts.remove(accountInfo)) { - updateSavedAccounts(accounts) - } + val accounts = savedAccounts().filter { it.npub != accountInfo.npub } + updateSavedAccounts(accounts) } /**