Refactors RoomSummaryItem
This commit is contained in:
parent
7e415e82b0
commit
7cc79fef0f
@ -105,14 +105,14 @@ abstract class RoomSummaryItem : VectorEpoxyModel<RoomSummaryItem.Holder>() {
|
|||||||
|
|
||||||
override fun bind(holder: Holder) {
|
override fun bind(holder: Holder) {
|
||||||
super.bind(holder)
|
super.bind(holder)
|
||||||
|
|
||||||
|
renderDisplayMode(holder)
|
||||||
holder.rootView.onClick(itemClickListener)
|
holder.rootView.onClick(itemClickListener)
|
||||||
holder.rootView.setOnLongClickListener {
|
holder.rootView.setOnLongClickListener {
|
||||||
it.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS)
|
it.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS)
|
||||||
itemLongClickListener?.onLongClick(it) ?: false
|
itemLongClickListener?.onLongClick(it) ?: false
|
||||||
}
|
}
|
||||||
holder.titleView.text = matrixItem.getBestName()
|
holder.titleView.text = matrixItem.getBestName()
|
||||||
holder.lastEventTimeView.text = lastEventTime
|
|
||||||
holder.subtitleView.text = getTextForLastEventView()
|
|
||||||
holder.unreadCounterBadgeView.render(UnreadCounterBadgeView.State(unreadNotificationCount, showHighlighted))
|
holder.unreadCounterBadgeView.render(UnreadCounterBadgeView.State(unreadNotificationCount, showHighlighted))
|
||||||
holder.unreadIndentIndicator.isVisible = hasUnreadMessage
|
holder.unreadIndentIndicator.isVisible = hasUnreadMessage
|
||||||
holder.draftView.isVisible = hasDraft
|
holder.draftView.isVisible = hasDraft
|
||||||
@ -122,22 +122,24 @@ abstract class RoomSummaryItem : VectorEpoxyModel<RoomSummaryItem.Holder>() {
|
|||||||
holder.roomAvatarFailSendingImageView.isVisible = hasFailedSending
|
holder.roomAvatarFailSendingImageView.isVisible = hasFailedSending
|
||||||
renderSelection(holder, showSelected)
|
renderSelection(holder, showSelected)
|
||||||
holder.roomAvatarPresenceImageView.render(showPresence, userPresence)
|
holder.roomAvatarPresenceImageView.render(showPresence, userPresence)
|
||||||
showTypingViewIfNecessary(holder)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun showTypingViewIfNecessary(holder: Holder) {
|
private fun renderDisplayMode(holder: Holder) = when (displayMode) {
|
||||||
if (displayMode != RoomListDisplayMode.FILTERED) {
|
RoomListDisplayMode.ROOMS,
|
||||||
holder.typingView.setTextOrHide(typingMessage)
|
RoomListDisplayMode.PEOPLE,
|
||||||
holder.subtitleView.isInvisible = holder.typingView.isVisible
|
RoomListDisplayMode.NOTIFICATIONS -> renderForDefaultDisplayMode(holder)
|
||||||
}
|
RoomListDisplayMode.FILTERED -> renderForFilteredDisplayMode(holder)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getTextForLastEventView(): CharSequence {
|
private fun renderForDefaultDisplayMode(holder: Holder) {
|
||||||
return if (displayMode == RoomListDisplayMode.FILTERED) {
|
holder.subtitleView.text = lastFormattedEvent.charSequence
|
||||||
subtitle
|
holder.lastEventTimeView.text = lastEventTime
|
||||||
} else {
|
}
|
||||||
lastFormattedEvent.charSequence
|
|
||||||
}
|
private fun renderForFilteredDisplayMode(holder: Holder) {
|
||||||
|
holder.subtitleView.text = subtitle
|
||||||
|
holder.typingView.setTextOrHide(typingMessage)
|
||||||
|
holder.subtitleView.isInvisible = holder.typingView.isVisible
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun unbind(holder: Holder) {
|
override fun unbind(holder: Holder) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user