class HashtagFormatter : CometChatTextFormatter('#') {
override fun search(context: Context, queryString: String?) {
// Fetch hashtag suggestions based on query
val suggestions = fetchHashtags(queryString)
setSuggestionItemList(suggestions)
}
override fun onScrollToBottom() {
// Load more suggestions
}
override fun prepareLeftMessageBubbleSpan(
context: Context,
baseMessage: BaseMessage,
spannable: SpannableStringBuilder
): SpannableStringBuilder? {
// Apply blue color to #hashtags in received messages
applyHashtagSpans(spannable, context)
return spannable
}
override fun prepareRightMessageBubbleSpan(
context: Context,
baseMessage: BaseMessage,
spannable: SpannableStringBuilder
): SpannableStringBuilder? {
// Apply blue color to #hashtags in sent messages
applyHashtagSpans(spannable, context)
return spannable
}
override fun prepareComposerSpan(
context: Context,
baseMessage: BaseMessage,
spannable: SpannableStringBuilder
): SpannableStringBuilder? {
applyHashtagSpans(spannable, context)
return spannable
}
override fun prepareConversationSpan(
context: Context,
baseMessage: BaseMessage,
spannable: SpannableStringBuilder
): SpannableStringBuilder? {
applyHashtagSpans(spannable, context)
return spannable
}
}