Commit deb483de authored by Filipe de Lima Brito's avatar Filipe de Lima Brito

Add getOpenChatRooms and sortChatRooms functions.

parent faf2c821
...@@ -4,17 +4,30 @@ import chat.rocket.android.core.lifecycle.CancelStrategy ...@@ -4,17 +4,30 @@ import chat.rocket.android.core.lifecycle.CancelStrategy
import chat.rocket.android.util.launchUI import chat.rocket.android.util.launchUI
import chat.rocket.core.RocketChatClient import chat.rocket.core.RocketChatClient
import chat.rocket.core.internal.rest.chatRooms import chat.rocket.core.internal.rest.chatRooms
import chat.rocket.core.model.ChatRoom
import javax.inject.Inject import javax.inject.Inject
class ChatRoomsPresenter @Inject constructor(private val view: ChatRoomsView, private val strategy: CancelStrategy) { class ChatRoomsPresenter @Inject constructor(private val view: ChatRoomsView, private val strategy: CancelStrategy) {
@Inject lateinit var client: RocketChatClient @Inject lateinit var client: RocketChatClient
fun getChatRooms() { fun chatRooms() {
launchUI(strategy) { launchUI(strategy) {
view.showLoading() view.showLoading()
// TODO How to get the chat rooms? val chatRooms = client.chatRooms().update
//view.showChatRooms(client.chatRooms().update.toMutableList()) val openChatRooms = getOpenChatRooms(chatRooms)
val sortedOpenChatRooms = sortChatRooms(openChatRooms)
view.showChatRooms(sortedOpenChatRooms.toMutableList())
view.hideLoading() view.hideLoading()
} }
} }
private fun getOpenChatRooms(chatRooms: List<ChatRoom>): List<ChatRoom> {
return chatRooms.filter(ChatRoom::open)
}
private fun sortChatRooms(chatRooms: List<ChatRoom>): List<ChatRoom> {
return chatRooms.sortedByDescending {
chatRoom -> chatRoom.lastMessage?.timestamp
}
}
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment