mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-19 03:29:28 +01:00
refactoring
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
This commit is contained in:
parent
7035fb053c
commit
e8ac5389e7
@ -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()
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user