Refactored

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
This commit is contained in:
rapterjet2004 2025-04-04 11:12:38 -05:00 committed by Marcel Hibbe
parent 0d080defad
commit f837caad8b
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B
2 changed files with 13 additions and 9 deletions

View File

@ -25,11 +25,11 @@ import eu.davidea.flexibleadapter.items.IFlexible
import eu.davidea.flexibleadapter.items.ISectionable
import eu.davidea.viewholders.FlexibleViewHolder
data class MessageResultItem constructor(
data class MessageResultItem(
private val context: Context,
private val currentUser: User,
val messageEntry: SearchMessageEntry,
private val showHeader: Boolean = false,
var showHeader: Boolean = false,
private val viewThemeUtils: ViewThemeUtils
) :
AbstractFlexibleItem<MessageResultItem.ViewHolder>(),

View File

@ -411,7 +411,7 @@ class ConversationsListActivity :
is RoomUiState.Success -> {
val conversation = state.conversation
val bundle = Bundle()
bundle.putString(BundleKeys.KEY_ROOM_TOKEN, conversation?.token)
bundle.putString(KEY_ROOM_TOKEN, conversation?.token)
val chatIntent = Intent(context, ChatActivity::class.java)
chatIntent.putExtras(bundle)
chatIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
@ -827,7 +827,7 @@ class ConversationsListActivity :
if (!hasFilterEnabled()) filterableConversationItems = searchableConversationItems
adapter!!.updateDataSet(filterableConversationItems, false)
adapter!!.showAllHeaders()
binding.swipeRefreshLayoutView?.isEnabled = false
binding.swipeRefreshLayoutView.isEnabled = false
searchBehaviorSubject.onNext(true)
return true
}
@ -2021,14 +2021,12 @@ class ConversationsListActivity :
if (entries.isNotEmpty()) {
val adapterItems: MutableList<AbstractFlexibleItem<*>> = ArrayList(entries.size + 1)
for (i in entries.indices) {
val showHeader = i == 0
adapterItems.add(
MessageResultItem(
context,
currentUser!!,
entries[i],
showHeader,
viewThemeUtils
viewThemeUtils = viewThemeUtils
)
)
}
@ -2036,8 +2034,14 @@ class ConversationsListActivity :
adapterItems.add(LoadMoreResultsItem)
}
@SuppressLint()
adapter?.addItems(-1, adapterItems)
adapter?.addItems(Int.MAX_VALUE, adapterItems)
val pos = adapter?.currentItems?.indexOfFirst { it is MessageResultItem }
val item = (adapter?.currentItems?.get(pos!!) as MessageResultItem).apply { showHeader = true }
adapter?.addItem(pos!!, item)
adapter?.notifyItemInserted(pos!!)
adapter?.removeItem(pos!! - 1)
adapter?.notifyItemRemoved(pos!! - 1)
binding.recyclerView.scrollToPosition(0)
}
}