From c86ce1b1cef28c3ba83354f0e87be20723d6084f Mon Sep 17 00:00:00 2001 From: KotlinGeekDev Date: Sun, 27 Oct 2024 00:20:35 +0100 Subject: [PATCH] Load and populate follow sets in Account(since Account is initialized in AccountViewModel anyway). --- .../com/vitorpamplona/amethyst/model/Account.kt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/Account.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/Account.kt index adb0590ce..baadee1fa 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/Account.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/Account.kt @@ -23,6 +23,7 @@ package com.vitorpamplona.amethyst.model import android.util.Log import androidx.compose.runtime.Immutable import androidx.compose.runtime.Stable +import androidx.compose.ui.util.fastFilter import androidx.lifecycle.LiveData import androidx.lifecycle.asLiveData import androidx.lifecycle.liveData @@ -2903,6 +2904,15 @@ class Account( .flowOn(Dispatchers.IO) .stateIn(scope) + fun loadUserFollowSets() { + val sets = + getFollowSetNotes() + .fastFilter { !it.dTag().isNullOrBlank() } + .associate { note -> note.dTag().toString() to note.event as PeopleListEvent } + + userProfile().followSets = sets + } + fun getMuteListFlow(): StateFlow = getMuteListNote().flow().metadata.stateFlow fun getBlockList(): PeopleListEvent? = getBlockListNote().event as? PeopleListEvent @@ -3696,6 +3706,11 @@ class Account( } } + scope.launch(Dispatchers.IO) { + Log.d("AccountFollowSetsWorker", "Loading Follow Sets for Account") + loadUserFollowSets() + } + scope.launch(Dispatchers.Default) { Log.d("AccountRegisterObservers", "Mute List Collector Start") getMuteListFlow().collect {