From 606f630cb68b76c2ac2d30df39f1b0a66ab18107 Mon Sep 17 00:00:00 2001 From: KotlinGeekDev Date: Wed, 5 Feb 2025 15:31:48 +0100 Subject: [PATCH] Use data classes/objects for state. Only update follow sets through exposed functions. --- .../src/main/java/com/vitorpamplona/amethyst/model/User.kt | 5 +++++ .../amethyst/ui/screen/loggedIn/lists/FollowSetState.kt | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/User.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/User.kt index 15273f6da..7847977b3 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/User.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/User.kt @@ -66,6 +66,7 @@ class User( var latestContactList: ContactListEvent? = null var latestBookmarkList: BookmarkListEvent? = null var followSets: List = listOf() + private set var reports = mapOf>() private set @@ -164,6 +165,10 @@ class User( flowSet?.relays?.invalidateData() } + fun updateFollowSets(sets: List) { + followSets = followSets + sets + } + fun addReport(note: Note) { val author = note.author ?: return diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/FollowSetState.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/FollowSetState.kt index ad646211f..7f0c374dc 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/FollowSetState.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/FollowSetState.kt @@ -23,13 +23,13 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.lists sealed class FollowSetState { data object Loading : FollowSetState() - class Loaded( + data class Loaded( val feed: List, ) : FollowSetState() - object Empty : FollowSetState() + data object Empty : FollowSetState() - class FeedError( + data class FeedError( val errorMessage: String, ) : FollowSetState() }