From 1fd43f1a25a5bfff61d5536af685dac597c17189 Mon Sep 17 00:00:00 2001 From: Krocks Date: Mon, 21 Aug 2017 11:51:34 +0300 Subject: [PATCH] added sorting by last message in chats --- .../mvp/presenters/RoomListPresenter.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/nynja/mobile/communicator/mvp/presenters/RoomListPresenter.java b/app/src/main/java/com/nynja/mobile/communicator/mvp/presenters/RoomListPresenter.java index 5ba2ae020e..2229251a4f 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/mvp/presenters/RoomListPresenter.java +++ b/app/src/main/java/com/nynja/mobile/communicator/mvp/presenters/RoomListPresenter.java @@ -6,11 +6,14 @@ import com.nynja.mobile.communicator.data.models.mqtt.Response; import com.nynja.mobile.communicator.mvp.view.RoomListView; import com.nynja.mobile.communicator.ui.fragments.chats.ChatFragment; +import java.util.Collections; +import java.util.List; + @InjectViewState public class RoomListPresenter extends BasePresenter { public void getAllChats() { - getViewState().setAllChats(mDataManager.getChats()); + getViewState().setAllChats(sortChatsByLastMessage(mDataManager.getChats())); } public void initListener() { @@ -24,10 +27,15 @@ public class RoomListPresenter extends BasePresenter { } @Override protected void handleResponse(Response response) { - + //need to sort by last msg on received msg } public void onChatClick(ChatModel item, int position) { mRouter.replaceScreen(ChatFragment.class.getSimpleName(), item); } + + private List sortChatsByLastMessage(List chats) { + Collections.sort(chats, (o1, o2) -> (int) (o2.lastMessage.created - o1.lastMessage.created)); + return chats; + } } -- GitLab