Fixed chat rooms list not being refreshed when native contacts parsing is done

This commit is contained in:
Sylvain Berfini 2019-09-30 10:05:55 +02:00
parent ff66a63bdb
commit 956fca289c
2 changed files with 14 additions and 5 deletions

View file

@ -70,13 +70,22 @@ public class ChatRoomsAdapter extends SelectableAdapter<ChatRoomViewHolder> {
}
public void refresh() {
refresh(false);
}
public void refresh(boolean force) {
ChatRoom[] rooms = LinphoneManager.getCore().getChatRooms();
List<ChatRoom> roomsList = Arrays.asList(rooms);
if (force) {
DiffUtil.DiffResult diffResult =
DiffUtil.calculateDiff(new ChatRoomDiffCallback(roomsList, mRooms));
diffResult.dispatchUpdatesTo(this);
mRooms = roomsList;
} else {
mRooms = roomsList;
notifyDataSetChanged();
}
}
/** Adapter's methods */

View file

@ -259,7 +259,7 @@ public class ChatRoomsFragment extends Fragment
public void onContactsUpdated() {
ChatRoomsAdapter adapter = (ChatRoomsAdapter) mChatRoomsList.getAdapter();
if (adapter != null) {
adapter.refresh();
adapter.refresh(true);
}
}