mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-19 03:29:28 +01:00
fix search
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
This commit is contained in:
parent
853f173740
commit
8231e6b35c
@ -210,6 +210,7 @@ class ConversationsListActivity :
|
|||||||
private var conversationItemsWithHeader: MutableList<AbstractFlexibleItem<*>> = ArrayList()
|
private var conversationItemsWithHeader: MutableList<AbstractFlexibleItem<*>> = ArrayList()
|
||||||
private val searchableConversationItems: MutableList<AbstractFlexibleItem<*>> = ArrayList()
|
private val searchableConversationItems: MutableList<AbstractFlexibleItem<*>> = ArrayList()
|
||||||
private var filterableConversationItems: MutableList<AbstractFlexibleItem<*>> = ArrayList()
|
private var filterableConversationItems: MutableList<AbstractFlexibleItem<*>> = ArrayList()
|
||||||
|
private var nearFutureEventConversationItems: MutableList<AbstractFlexibleItem<*>> = ArrayList()
|
||||||
private var searchItem: MenuItem? = null
|
private var searchItem: MenuItem? = null
|
||||||
private var chooseAccountItem: MenuItem? = null
|
private var chooseAccountItem: MenuItem? = null
|
||||||
private var searchView: SearchView? = null
|
private var searchView: SearchView? = null
|
||||||
@ -519,22 +520,28 @@ class ConversationsListActivity :
|
|||||||
// Update Conversations
|
// Update Conversations
|
||||||
conversationItems.clear()
|
conversationItems.clear()
|
||||||
conversationItemsWithHeader.clear()
|
conversationItemsWithHeader.clear()
|
||||||
searchableConversationItems.clear()
|
nearFutureEventConversationItems.clear()
|
||||||
|
|
||||||
for (conversation in list) {
|
for (conversation in list) {
|
||||||
if (!futureEvent(conversation)) {
|
if (!futureEvent(conversation)) {
|
||||||
addToConversationItems(conversation)
|
addToNearFutureEventConversationItems(conversation)
|
||||||
}
|
}
|
||||||
addToSearchableConversationItems(conversation)
|
addToConversationItems(conversation)
|
||||||
}
|
}
|
||||||
|
|
||||||
sortConversations(conversationItems)
|
sortConversations(conversationItems)
|
||||||
sortConversations(conversationItemsWithHeader)
|
sortConversations(conversationItemsWithHeader)
|
||||||
|
|
||||||
// Filter Conversations
|
if (!hasFilterEnabled() && searchBehaviorSubject.value == false) {
|
||||||
if (!hasFilterEnabled()) filterableConversationItems = conversationItems
|
adapter?.updateDataSet(nearFutureEventConversationItems, false)
|
||||||
filterConversation()
|
} else {
|
||||||
adapter?.updateDataSet(filterableConversationItems, false)
|
// Filter Conversations
|
||||||
|
if (!hasFilterEnabled()) {
|
||||||
|
filterableConversationItems = conversationItems
|
||||||
|
}
|
||||||
|
filterConversation()
|
||||||
|
adapter?.updateDataSet(filterableConversationItems, false)
|
||||||
|
}
|
||||||
Handler().postDelayed({ checkToShowUnreadBubble() }, UNREAD_BUBBLE_DELAY.toLong())
|
Handler().postDelayed({ checkToShowUnreadBubble() }, UNREAD_BUBBLE_DELAY.toLong())
|
||||||
|
|
||||||
// Fetch Open Conversations
|
// Fetch Open Conversations
|
||||||
@ -565,14 +572,9 @@ class ConversationsListActivity :
|
|||||||
AGE_THRESHOLD_FOR_EVENT_CONVERSATIONS
|
AGE_THRESHOLD_FOR_EVENT_CONVERSATIONS
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun addToSearchableConversationItems(conversation: ConversationModel) {
|
private fun addToNearFutureEventConversationItems(conversation: ConversationModel) {
|
||||||
val headerTitle = resources!!.getString(R.string.conversations)
|
val conversationItem = ConversationItem(conversation, currentUser!!, this, null, viewThemeUtils)
|
||||||
val headerItem = callHeaderItems.getOrPut(headerTitle) {
|
nearFutureEventConversationItems.add(conversationItem)
|
||||||
GenericTextHeaderItem(headerTitle, viewThemeUtils)
|
|
||||||
}
|
|
||||||
|
|
||||||
val conversationItem = ConversationItem(conversation, currentUser!!, this, headerItem, viewThemeUtils)
|
|
||||||
searchableConversationItems.add(conversationItem)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun filterConversation() {
|
fun filterConversation() {
|
||||||
@ -862,15 +864,19 @@ class ConversationsListActivity :
|
|||||||
|
|
||||||
override fun onMenuItemActionCollapse(item: MenuItem): Boolean {
|
override fun onMenuItemActionCollapse(item: MenuItem): Boolean {
|
||||||
adapter?.setHeadersShown(false)
|
adapter?.setHeadersShown(false)
|
||||||
|
searchBehaviorSubject.onNext(false)
|
||||||
if (!hasFilterEnabled()) filterableConversationItems = conversationItemsWithHeader
|
if (!hasFilterEnabled()) filterableConversationItems = conversationItemsWithHeader
|
||||||
adapter?.updateDataSet(filterableConversationItems, false)
|
if (!hasFilterEnabled()) {
|
||||||
|
adapter?.updateDataSet(nearFutureEventConversationItems, false)
|
||||||
|
} else {
|
||||||
|
filterableConversationItems = conversationItems
|
||||||
|
}
|
||||||
adapter?.hideAllHeaders()
|
adapter?.hideAllHeaders()
|
||||||
if (searchHelper != null) {
|
if (searchHelper != null) {
|
||||||
// cancel any pending searches
|
// cancel any pending searches
|
||||||
searchHelper!!.cancelSearch()
|
searchHelper!!.cancelSearch()
|
||||||
}
|
}
|
||||||
binding.swipeRefreshLayoutView.isRefreshing = false
|
binding.swipeRefreshLayoutView.isRefreshing = false
|
||||||
searchBehaviorSubject.onNext(false)
|
|
||||||
binding.swipeRefreshLayoutView.isEnabled = true
|
binding.swipeRefreshLayoutView.isEnabled = true
|
||||||
searchView!!.onActionViewCollapsed()
|
searchView!!.onActionViewCollapsed()
|
||||||
|
|
||||||
@ -1094,6 +1100,8 @@ class ConversationsListActivity :
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun fetchOpenConversations(apiVersion: Int) {
|
private fun fetchOpenConversations(apiVersion: Int) {
|
||||||
|
searchableConversationItems.clear()
|
||||||
|
searchableConversationItems.addAll(conversationItemsWithHeader)
|
||||||
if (hasSpreedFeatureCapability(
|
if (hasSpreedFeatureCapability(
|
||||||
currentUser!!.capabilities!!.spreedCapability!!,
|
currentUser!!.capabilities!!.spreedCapability!!,
|
||||||
SpreedFeatures.LISTABLE_ROOMS
|
SpreedFeatures.LISTABLE_ROOMS
|
||||||
|
@ -278,10 +278,10 @@ object Migrations {
|
|||||||
try {
|
try {
|
||||||
db.execSQL(
|
db.execSQL(
|
||||||
"ALTER TABLE Conversations " +
|
"ALTER TABLE Conversations " +
|
||||||
"ADD COLUMN objectId TEXT ;"
|
"ADD COLUMN objectId TEXT NOT NULL DEFAULT '';"
|
||||||
)
|
)
|
||||||
} catch (e: Exception) {
|
} catch (e: SQLException) {
|
||||||
Log.i("Migrations", "Something went wrong when adding column referenceId to table ChatMessages")
|
Log.i("Migrations", "Something went wrong when adding column objectId to table Conversations")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user