From 077c42278b0804e2fe3a649bce2b5e572da97f86 Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Sun, 10 Jul 2022 17:24:05 +0300 Subject: [PATCH] chatkit: add message checking --- .../stfalcon/chatkit/messages/MessagesListAdapter.java | 8 ++++++++ .../tv/ui/dialogs/other/ChatPreferenceDialogFragment.java | 6 +----- .../smartyoutubetv2/tv/ui/widgets/chat/LiveChatView.java | 6 +----- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessagesListAdapter.java b/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessagesListAdapter.java index ecff4bf17..f25189500 100644 --- a/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessagesListAdapter.java +++ b/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessagesListAdapter.java @@ -151,6 +151,10 @@ public class MessagesListAdapter * @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 } } + 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; } diff --git a/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/dialogs/other/ChatPreferenceDialogFragment.java b/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/dialogs/other/ChatPreferenceDialogFragment.java index f9b7a8aeb..37dba527f 100644 --- a/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/dialogs/other/ChatPreferenceDialogFragment.java +++ b/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/dialogs/other/ChatPreferenceDialogFragment.java @@ -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) { diff --git a/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/chat/LiveChatView.java b/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/chat/LiveChatView.java index 169f1285f..d5800503a 100644 --- a/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/chat/LiveChatView.java +++ b/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/chat/LiveChatView.java @@ -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)); } }