Private
Public Access
1
0

Fix list updates (it was isEqual)

This commit is contained in:
2023-08-17 01:44:19 -07:00
parent 770bb496f5
commit 84e3a27c62
4 changed files with 8 additions and 8 deletions

View File

@@ -30,7 +30,7 @@ fun ConversationListScreen(
viewModel: ConversationListViewModel = hiltViewModel(),
onConversationSelected: (conversationID: String) -> Unit
) {
val conversations by viewModel.conversations.collectAsStateWithLifecycle(initialValue = listOf())
val conversations by viewModel.conversations.collectAsStateWithLifecycle(initialValue = emptyList())
ConversationListView(conversations = conversations, onConversationSelected = onConversationSelected)
}

View File

@@ -24,6 +24,9 @@ class ConversationListViewModel @Inject constructor(
}
init {
// TODO: Is this the best place to put these?
// TODO: Need error handling (exceptions thrown below)
viewModelScope.launch {
repository.synchronize()
}
@@ -31,11 +34,5 @@ class ConversationListViewModel @Inject constructor(
viewModelScope.launch {
repository.beginWatchingForUpdates(this)
}
viewModelScope.launch {
repository.conversationChanges.collect {
Log.v("ViewModel", "Got conversationChanges")
}
}
}
}

View File

@@ -41,7 +41,8 @@ data class Conversation(
date == o.date &&
participants == o.participants &&
displayName == o.displayName &&
unreadCount == o.unreadCount
unreadCount == o.unreadCount &&
lastMessagePreview == o.lastMessagePreview
)
}

View File

@@ -7,6 +7,7 @@ import kotlinx.coroutines.cancel
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import net.buzzert.kordophone.backend.db.CachedChatDatabase
@@ -38,6 +39,7 @@ class ChatRepository(
// Changes Flow
val conversationChanges: Flow<List<Conversation>>
get() = database.conversationChanges
.onEach { Log.d(REPO_LOG, "Got database conversations changed") }
fun messagesChanged(conversation: Conversation): Flow<List<Message>> =
database.messagesChanged(conversation)