refactoring

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
This commit is contained in:
rapterjet2004 2025-03-06 15:18:34 -06:00
parent 7035fb053c
commit e8ac5389e7
No known key found for this signature in database
GPG Key ID: A6A69CFF84968EA1
2 changed files with 3 additions and 14 deletions

View File

@ -515,7 +515,7 @@ class ConversationsListActivity :
private fun setConversationList(list: List<ConversationModel>) {
// Refreshes conversation messages in the background asynchronously
conversationsListViewModel.updateRoomMessages(credentials!!, list)
conversationsListViewModel.updateRoomMessages(list)
// Update Conversations
conversationItems.clear()

View File

@ -17,7 +17,6 @@ import com.nextcloud.talk.invitation.data.InvitationsModel
import com.nextcloud.talk.invitation.data.InvitationsRepository
import com.nextcloud.talk.models.domain.ConversationModel
import com.nextcloud.talk.users.UserManager
import com.nextcloud.talk.utils.ApiUtils
import com.nextcloud.talk.utils.database.user.CurrentUserProviderNew
import io.reactivex.Observer
import io.reactivex.android.schedulers.AndroidSchedulers
@ -95,30 +94,20 @@ class ConversationsListViewModel @Inject constructor(
repository.getRooms()
}
fun updateRoomMessages(
credentials: String,
list: List<ConversationModel>
) {
fun updateRoomMessages(list: List<ConversationModel>) {
val current = list.associateWith { model ->
val unreadMessages = model.unreadMessages
unreadMessages
}
val baseUrl = userManager.currentUser.blockingGet().baseUrl!!
viewModelScope.launch(Dispatchers.IO) {
for ((model, unreadMessages) in current) {
if (unreadMessages > 0) {
updateRoomMessage(model, unreadMessages, credentials, baseUrl)
chatRepository.updateRoomMessages(model.internalId, unreadMessages)
}
}
}
}
private suspend fun updateRoomMessage(model: ConversationModel, limit: Int, credentials: String, baseUrl: String) {
val urlForChatting = ApiUtils.getUrlForChat(1, baseUrl, model.token) // FIXME v1?
chatRepository.setData(model, credentials, urlForChatting)
chatRepository.updateRoomMessages(model.internalId, limit)
}
inner class FederatedInvitationsObserver : Observer<InvitationsModel> {
override fun onSubscribe(d: Disposable) {
// unused atm