Эх сурвалжийг харах

partial fix - now need to reset highlighting after exit

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
rapterjet2004 10 сар өмнө
parent
commit
45cb74d4ce

+ 9 - 1
app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt

@@ -373,7 +373,8 @@ class ConversationsListActivity :
             conversationsListViewModel.getRoomsFlow
             conversationsListViewModel.getRoomsFlow
                 .onEach { list ->
                 .onEach { list ->
                     // Update Conversations
                     // Update Conversations
-                    conversationItems.clear()
+                    conversationItemsWithHeader.clear()
+                    conversationItems.clear() // fixme remove this
                     for (conversation in list) {
                     for (conversation in list) {
                         addToConversationItems(conversation)
                         addToConversationItems(conversation)
                     }
                     }
@@ -538,6 +539,12 @@ class ConversationsListActivity :
             if (searchManager != null) {
             if (searchManager != null) {
                 searchView!!.setSearchableInfo(searchManager.getSearchableInfo(componentName))
                 searchView!!.setSearchableInfo(searchManager.getSearchableInfo(componentName))
             }
             }
+            initSearchDisposable()
+        }
+    }
+
+    private fun initSearchDisposable() {
+        if (searchViewDisposable == null || searchViewDisposable?.isDisposed == true) {
             searchViewDisposable = observeSearchView(searchView!!)
             searchViewDisposable = observeSearchView(searchView!!)
                 .debounce { query: String? ->
                 .debounce { query: String? ->
                     if (TextUtils.isEmpty(query)) {
                     if (TextUtils.isEmpty(query)) {
@@ -629,6 +636,7 @@ class ConversationsListActivity :
             }
             }
             searchItem!!.setOnActionExpandListener(object : MenuItem.OnActionExpandListener {
             searchItem!!.setOnActionExpandListener(object : MenuItem.OnActionExpandListener {
                 override fun onMenuItemActionExpand(item: MenuItem): Boolean {
                 override fun onMenuItemActionExpand(item: MenuItem): Boolean {
+                    initSearchDisposable()
                     adapter!!.setHeadersShown(true)
                     adapter!!.setHeadersShown(true)
                     if (!filterState.containsValue(true)) filterableConversationItems = searchableConversationItems
                     if (!filterState.containsValue(true)) filterableConversationItems = searchableConversationItems
                     adapter!!.updateDataSet(filterableConversationItems, false)
                     adapter!!.updateDataSet(filterableConversationItems, false)