chatkit: add message checking

This commit is contained in:
Yuriy Liskov
2022-07-10 17:24:05 +03:00
parent dfc7cfad68
commit 077c42278b
3 changed files with 10 additions and 10 deletions

View File

@@ -151,6 +151,10 @@ public class MessagesListAdapter<MESSAGE extends IMessage>
* @param scroll {@code true} if need to scroll list to bottom when message added.
*/
public void addToStart(MESSAGE message, boolean scroll) {
if (!checkMessage(message)) {
return;
}
boolean isNewMessageToday = !isPreviousSameDate(0, message.getCreatedAt());
if (isNewMessageToday) {
items.add(0, new Wrapper<>(message.getCreatedAt()));
@@ -699,6 +703,10 @@ public class MessagesListAdapter<MESSAGE extends IMessage>
}
}
private boolean checkMessage(MESSAGE message) {
return message != null && message.getId() != null && message.getUser() != null && message.getUser().getId() != null;
}
void setLayoutManager(RecyclerView.LayoutManager layoutManager) {
this.layoutManager = layoutManager;
}

View File

@@ -67,11 +67,7 @@ public class ChatPreferenceDialogFragment extends LeanbackPreferenceDialogFragme
messagesList.setAdapter(adapter);
if (mChatReceiver != null) {
mChatReceiver.setCallback(chatItem -> {
if (chatItem.getId() != null) {
adapter.addToStart(ChatItemMessage.from(chatItem), true);
}
});
mChatReceiver.setCallback(chatItem -> adapter.addToStart(ChatItemMessage.from(chatItem), true));
}
if (mIsTransparent) {

View File

@@ -62,10 +62,6 @@ public class LiveChatView extends com.stfalcon.chatkit.messages.MessagesList {
setAdapter(mAdapter);
}
mChatReceiver.setCallback(chatItem -> {
if (chatItem.getId() != null) {
mAdapter.addToStart(ChatItemMessage.from(chatItem), true);
}
});
mChatReceiver.setCallback(chatItem -> mAdapter.addToStart(ChatItemMessage.from(chatItem), true));
}
}