mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-19 03:29:28 +01:00
Merge d7d53f5a2b
into 2a7359c1e9
This commit is contained in:
commit
36a23728cd
@ -215,7 +215,6 @@ class ConversationsListActivity :
|
||||
private var conversationItemsWithHeader: MutableList<AbstractFlexibleItem<*>> = ArrayList()
|
||||
private var searchableConversationItems: MutableList<AbstractFlexibleItem<*>> = ArrayList()
|
||||
private var filterableConversationItems: MutableList<AbstractFlexibleItem<*>> = ArrayList()
|
||||
private var nearFutureEventConversationItems: MutableList<AbstractFlexibleItem<*>> = 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
|
||||
|
@ -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"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user