diff --git a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt index 3bf0610d5..3e94a9ed7 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt @@ -215,7 +215,6 @@ class ConversationsListActivity : private var conversationItemsWithHeader: MutableList> = ArrayList() private var searchableConversationItems: MutableList> = ArrayList() private var filterableConversationItems: MutableList> = ArrayList() - private var nearFutureEventConversationItems: MutableList> = ArrayList() private var searchItem: MenuItem? = null private var chooseAccountItem: MenuItem? = null private var searchView: SearchView? = null @@ -558,31 +557,20 @@ class ConversationsListActivity : // Update Conversations conversationItems.clear() conversationItemsWithHeader.clear() - nearFutureEventConversationItems.clear() + searchableConversationItems.clear() for (conversation in list) { - if (!isFutureEvent(conversation) && !conversation.hasArchived) { - addToNearFutureEventConversationItems(conversation) - } addToConversationItems(conversation) } + searchableConversationItems.addAll(conversationItemsWithHeader) getFilterStates() - val noFiltersActive = !( - filterState[MENTION] == true || - filterState[UNREAD] == true || - filterState[ARCHIVE] == true - ) sortConversations(conversationItems) sortConversations(conversationItemsWithHeader) - sortConversations(nearFutureEventConversationItems) + sortConversations(searchableConversationItems) - if (noFiltersActive && searchBehaviorSubject.value == false) { - adapter?.updateDataSet(nearFutureEventConversationItems, false) - } else { - applyFilter() - } + applyFilter() Handler().postDelayed({ checkToShowUnreadBubble() }, UNREAD_BUBBLE_DELAY.toLong()) @@ -620,17 +608,6 @@ class ConversationsListActivity : return conversation.objectType == ConversationEnums.ObjectType.EVENT && sixteenHoursAfterTimeStamp } - fun showOnlyNearFutureEvents() { - sortConversations(nearFutureEventConversationItems) - adapter?.updateDataSet(nearFutureEventConversationItems, false) - adapter?.smoothScrollToPosition(0) - } - - private fun addToNearFutureEventConversationItems(conversation: ConversationModel) { - val conversationItem = ConversationItem(conversation, currentUser!!, this, null, viewThemeUtils) - nearFutureEventConversationItems.add(conversationItem) - } - fun getFilterStates() { val accountId = UserIdUtils.getIdForUser(currentUser) filterState[UNREAD] = ( @@ -922,12 +899,7 @@ class ConversationsListActivity : override fun onMenuItemActionCollapse(item: MenuItem): Boolean { adapter?.setHeadersShown(false) searchBehaviorSubject.onNext(false) - if (!hasFilterEnabled()) filterableConversationItems = conversationItemsWithHeader - if (!hasFilterEnabled()) { - adapter?.updateDataSet(nearFutureEventConversationItems, false) - } else { - filterableConversationItems = conversationItems - } + applyFilter() adapter?.hideAllHeaders() if (searchHelper != null) { // cancel any pending searches @@ -1082,7 +1054,7 @@ class ConversationsListActivity : this, viewThemeUtils ) - conversationItems.add(conversationItem) + val conversationItemWithHeader = ConversationItem( conversation, currentUser!!, @@ -1090,7 +1062,13 @@ class ConversationsListActivity : callHeaderItems[headerTitle], viewThemeUtils ) - conversationItemsWithHeader.add(conversationItemWithHeader) + + if (isFutureEvent(conversation)) { + searchableConversationItems.add(conversationItem) + } else { + conversationItems.add(conversationItem) + conversationItemsWithHeader.add(conversationItemWithHeader) + } } private fun showErrorDialog() { @@ -1157,8 +1135,6 @@ class ConversationsListActivity : } private fun fetchOpenConversations(apiVersion: Int) { - searchableConversationItems.clear() - searchableConversationItems.addAll(conversationItemsWithHeader) if (hasSpreedFeatureCapability( currentUser!!.capabilities!!.spreedCapability!!, SpreedFeatures.LISTABLE_ROOMS diff --git a/app/src/main/java/com/nextcloud/talk/ui/dialog/FilterConversationFragment.kt b/app/src/main/java/com/nextcloud/talk/ui/dialog/FilterConversationFragment.kt index c95a7464a..d78f3d2e8 100644 --- a/app/src/main/java/com/nextcloud/talk/ui/dialog/FilterConversationFragment.kt +++ b/app/src/main/java/com/nextcloud/talk/ui/dialog/FilterConversationFragment.kt @@ -7,7 +7,6 @@ package com.nextcloud.talk.ui.dialog import android.app.Dialog -import android.content.DialogInterface import android.os.Build import android.os.Bundle import android.view.LayoutInflater @@ -100,14 +99,6 @@ class FilterConversationFragment : DialogFragment() { } binding.buttonClose.setOnClickListener { - val noFiltersActive = !( - filterState[MENTION] == true || - filterState[UNREAD] == true || - filterState[ARCHIVE] == true - ) - if (noFiltersActive) { - (requireActivity() as ConversationsListActivity).showOnlyNearFutureEvents() - } dismiss() } } @@ -139,18 +130,6 @@ class FilterConversationFragment : DialogFragment() { (requireActivity() as ConversationsListActivity).filterConversation() } - override fun onDismiss(dialog: DialogInterface) { - super.onDismiss(dialog) - val noFiltersActive = !( - filterState[MENTION] == true || - filterState[UNREAD] == true || - filterState[ARCHIVE] == true - ) - if (noFiltersActive) { - (requireActivity() as ConversationsListActivity).showOnlyNearFutureEvents() - } - } - companion object { private const val FILTER_STATE_ARG = "FILTER_STATE_ARG"