Class BaseChannelProcessor
-
- All Implemented Interfaces:
-
ai.nexconn.chatui.channel.messagelist.processor.IChannelProcessor
public abstract class BaseChannelProcessor implements IChannelProcessor
Base class for handling common logic across direct, group, and discussion channels.
-
-
Field Summary
Fields Modifier and Type Field Description protected StateContextmState
-
Constructor Summary
Constructors Constructor Description BaseChannelProcessor()
-
Method Summary
Modifier and Type Method Description voidinit(ChannelViewModel messageViewModel, Bundle bundle)First-time initialization: bind events, etc. booleanonReceived(ChannelViewModel viewModel, UiMessage message, int left, boolean hasPackage, boolean offline)Callback invoked when a message is received. booleanonReceivedCmd(ChannelViewModel messageViewModel, Message message)Callback for command messages (MessageTag is None or Status). voidonMessageItemClick(UiMessage uiMessage)Message click event. booleanonMessageItemLongClick(UiMessage uiMessage)Message long-press event. voidonUserPortraitClick(Context context, ChannelType conversationType, UserInfo userInfo, String targetId)User portrait click event. booleanonUserPortraitLongClick(Context context, ChannelType conversationType, UserInfo userInfo, String targetId)User portrait long-press event. booleanonBackPressed(ChannelViewModel viewModel)voidonDestroy(ChannelViewModel viewModel)voidonExistUnreadMessage(ChannelViewModel viewModel, long sentTime, int unreadMessageCount)voidonMessageReceiptRequest(ChannelViewModel viewModel, ChannelType conversationType, String targetId, String messageUId)voidonLoadMessage(ChannelViewModel viewModel, List<Message> messages)voidonConnectStatusChange(ChannelViewModel viewModel, ConnectionStatus status)Checks the read status; if persisted state exists, sends a read receipt. voidonResume(ChannelViewModel viewModel)intgetHistoryMessageCount()voidonLoadMore(ChannelViewModel viewModel)voidonClearMessage(ChannelViewModel viewModel)voidonRefresh(ChannelViewModel viewModel)voidnewMessageBarClick(ChannelViewModel viewModel)voidunreadBarClick(ChannelViewModel viewModel)voidnewMentionMessageBarClick(ChannelViewModel viewModel)booleanisNormalState(ChannelViewModel viewModel)booleanisHistoryState(ChannelViewModel viewModel)voidonScrollToBottom(ChannelViewModel viewModel)-
-
Method Detail
-
init
void init(ChannelViewModel messageViewModel, Bundle bundle)
First-time initialization: bind events, etc.
- Parameters:
messageViewModel- the message ViewModelbundle- the bundle passed from the previous page
-
onReceived
boolean onReceived(ChannelViewModel viewModel, UiMessage message, int left, boolean hasPackage, boolean offline)
Callback invoked when a message is received.
- Returns:
whether the event is intercepted
-
onReceivedCmd
boolean onReceivedCmd(ChannelViewModel messageViewModel, Message message)
Callback for command messages (MessageTag is None or Status).
- Parameters:
message- the intercepted command message- Returns:
true to suppress UI display; false to show in UI
-
onMessageItemClick
void onMessageItemClick(UiMessage uiMessage)
Message click event.
-
onMessageItemLongClick
boolean onMessageItemLongClick(UiMessage uiMessage)
Message long-press event.
- Returns:
whether the event is intercepted
-
onUserPortraitClick
void onUserPortraitClick(Context context, ChannelType conversationType, UserInfo userInfo, String targetId)
User portrait click event.
-
onUserPortraitLongClick
boolean onUserPortraitLongClick(Context context, ChannelType conversationType, UserInfo userInfo, String targetId)
User portrait long-press event.
- Returns:
whether the event is consumed
-
onBackPressed
boolean onBackPressed(ChannelViewModel viewModel)
-
onDestroy
void onDestroy(ChannelViewModel viewModel)
-
onExistUnreadMessage
void onExistUnreadMessage(ChannelViewModel viewModel, long sentTime, int unreadMessageCount)
-
onMessageReceiptRequest
void onMessageReceiptRequest(ChannelViewModel viewModel, ChannelType conversationType, String targetId, String messageUId)
-
onLoadMessage
void onLoadMessage(ChannelViewModel viewModel, List<Message> messages)
-
onConnectStatusChange
void onConnectStatusChange(ChannelViewModel viewModel, ConnectionStatus status)
Checks the read status; if persisted state exists, sends a read receipt.
-
onResume
void onResume(ChannelViewModel viewModel)
-
getHistoryMessageCount
int getHistoryMessageCount()
- Returns:
the number of history messages to fetch on init; currently only chatrooms need to override this
-
onLoadMore
void onLoadMore(ChannelViewModel viewModel)
-
onClearMessage
void onClearMessage(ChannelViewModel viewModel)
-
onRefresh
void onRefresh(ChannelViewModel viewModel)
-
newMessageBarClick
void newMessageBarClick(ChannelViewModel viewModel)
-
unreadBarClick
void unreadBarClick(ChannelViewModel viewModel)
-
newMentionMessageBarClick
void newMentionMessageBarClick(ChannelViewModel viewModel)
-
isNormalState
boolean isNormalState(ChannelViewModel viewModel)
-
isHistoryState
boolean isHistoryState(ChannelViewModel viewModel)
-
onScrollToBottom
void onScrollToBottom(ChannelViewModel viewModel)
-
-
-
-