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>) { private fun setConversationList(list: List<ConversationModel>) {
// Refreshes conversation messages in the background asynchronously // Refreshes conversation messages in the background asynchronously
conversationsListViewModel.updateRoomMessages(credentials!!, list) conversationsListViewModel.updateRoomMessages(list)
// Update Conversations // Update Conversations
conversationItems.clear() 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.invitation.data.InvitationsRepository
import com.nextcloud.talk.models.domain.ConversationModel import com.nextcloud.talk.models.domain.ConversationModel
import com.nextcloud.talk.users.UserManager import com.nextcloud.talk.users.UserManager
import com.nextcloud.talk.utils.ApiUtils
import com.nextcloud.talk.utils.database.user.CurrentUserProviderNew import com.nextcloud.talk.utils.database.user.CurrentUserProviderNew
import io.reactivex.Observer import io.reactivex.Observer
import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.android.schedulers.AndroidSchedulers
@ -95,30 +94,20 @@ class ConversationsListViewModel @Inject constructor(
repository.getRooms() repository.getRooms()
} }
fun updateRoomMessages( fun updateRoomMessages(list: List<ConversationModel>) {
credentials: String,
list: List<ConversationModel>
) {
val current = list.associateWith { model -> val current = list.associateWith { model ->
val unreadMessages = model.unreadMessages val unreadMessages = model.unreadMessages
unreadMessages unreadMessages
} }
val baseUrl = userManager.currentUser.blockingGet().baseUrl!!
viewModelScope.launch(Dispatchers.IO) { viewModelScope.launch(Dispatchers.IO) {
for ((model, unreadMessages) in current) { for ((model, unreadMessages) in current) {
if (unreadMessages > 0) { 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> { inner class FederatedInvitationsObserver : Observer<InvitationsModel> {
override fun onSubscribe(d: Disposable) { override fun onSubscribe(d: Disposable) {
// unused atm // unused atm