mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-20 12:09:45 +01:00
Refactored
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
This commit is contained in:
parent
0d080defad
commit
f837caad8b
@ -25,11 +25,11 @@ import eu.davidea.flexibleadapter.items.IFlexible
|
|||||||
import eu.davidea.flexibleadapter.items.ISectionable
|
import eu.davidea.flexibleadapter.items.ISectionable
|
||||||
import eu.davidea.viewholders.FlexibleViewHolder
|
import eu.davidea.viewholders.FlexibleViewHolder
|
||||||
|
|
||||||
data class MessageResultItem constructor(
|
data class MessageResultItem(
|
||||||
private val context: Context,
|
private val context: Context,
|
||||||
private val currentUser: User,
|
private val currentUser: User,
|
||||||
val messageEntry: SearchMessageEntry,
|
val messageEntry: SearchMessageEntry,
|
||||||
private val showHeader: Boolean = false,
|
var showHeader: Boolean = false,
|
||||||
private val viewThemeUtils: ViewThemeUtils
|
private val viewThemeUtils: ViewThemeUtils
|
||||||
) :
|
) :
|
||||||
AbstractFlexibleItem<MessageResultItem.ViewHolder>(),
|
AbstractFlexibleItem<MessageResultItem.ViewHolder>(),
|
||||||
|
@ -411,7 +411,7 @@ class ConversationsListActivity :
|
|||||||
is RoomUiState.Success -> {
|
is RoomUiState.Success -> {
|
||||||
val conversation = state.conversation
|
val conversation = state.conversation
|
||||||
val bundle = Bundle()
|
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)
|
val chatIntent = Intent(context, ChatActivity::class.java)
|
||||||
chatIntent.putExtras(bundle)
|
chatIntent.putExtras(bundle)
|
||||||
chatIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
|
chatIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
|
||||||
@ -827,7 +827,7 @@ class ConversationsListActivity :
|
|||||||
if (!hasFilterEnabled()) filterableConversationItems = searchableConversationItems
|
if (!hasFilterEnabled()) filterableConversationItems = searchableConversationItems
|
||||||
adapter!!.updateDataSet(filterableConversationItems, false)
|
adapter!!.updateDataSet(filterableConversationItems, false)
|
||||||
adapter!!.showAllHeaders()
|
adapter!!.showAllHeaders()
|
||||||
binding.swipeRefreshLayoutView?.isEnabled = false
|
binding.swipeRefreshLayoutView.isEnabled = false
|
||||||
searchBehaviorSubject.onNext(true)
|
searchBehaviorSubject.onNext(true)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
@ -2021,14 +2021,12 @@ class ConversationsListActivity :
|
|||||||
if (entries.isNotEmpty()) {
|
if (entries.isNotEmpty()) {
|
||||||
val adapterItems: MutableList<AbstractFlexibleItem<*>> = ArrayList(entries.size + 1)
|
val adapterItems: MutableList<AbstractFlexibleItem<*>> = ArrayList(entries.size + 1)
|
||||||
for (i in entries.indices) {
|
for (i in entries.indices) {
|
||||||
val showHeader = i == 0
|
|
||||||
adapterItems.add(
|
adapterItems.add(
|
||||||
MessageResultItem(
|
MessageResultItem(
|
||||||
context,
|
context,
|
||||||
currentUser!!,
|
currentUser!!,
|
||||||
entries[i],
|
entries[i],
|
||||||
showHeader,
|
viewThemeUtils = viewThemeUtils
|
||||||
viewThemeUtils
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -2036,8 +2034,14 @@ class ConversationsListActivity :
|
|||||||
adapterItems.add(LoadMoreResultsItem)
|
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)
|
binding.recyclerView.scrollToPosition(0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user