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>) {
|
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()
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user