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 conversationItemsWithHeader: MutableList<AbstractFlexibleItem<*>> = ArrayList()
|
||||||
private var searchableConversationItems: MutableList<AbstractFlexibleItem<*>> = ArrayList()
|
private var 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
|
||||||
@ -558,31 +557,20 @@ class ConversationsListActivity :
|
|||||||
// Update Conversations
|
// Update Conversations
|
||||||
conversationItems.clear()
|
conversationItems.clear()
|
||||||
conversationItemsWithHeader.clear()
|
conversationItemsWithHeader.clear()
|
||||||
nearFutureEventConversationItems.clear()
|
searchableConversationItems.clear()
|
||||||
|
|
||||||
for (conversation in list) {
|
for (conversation in list) {
|
||||||
if (!isFutureEvent(conversation) && !conversation.hasArchived) {
|
|
||||||
addToNearFutureEventConversationItems(conversation)
|
|
||||||
}
|
|
||||||
addToConversationItems(conversation)
|
addToConversationItems(conversation)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
searchableConversationItems.addAll(conversationItemsWithHeader)
|
||||||
getFilterStates()
|
getFilterStates()
|
||||||
val noFiltersActive = !(
|
|
||||||
filterState[MENTION] == true ||
|
|
||||||
filterState[UNREAD] == true ||
|
|
||||||
filterState[ARCHIVE] == true
|
|
||||||
)
|
|
||||||
|
|
||||||
sortConversations(conversationItems)
|
sortConversations(conversationItems)
|
||||||
sortConversations(conversationItemsWithHeader)
|
sortConversations(conversationItemsWithHeader)
|
||||||
sortConversations(nearFutureEventConversationItems)
|
sortConversations(searchableConversationItems)
|
||||||
|
|
||||||
if (noFiltersActive && searchBehaviorSubject.value == false) {
|
applyFilter()
|
||||||
adapter?.updateDataSet(nearFutureEventConversationItems, false)
|
|
||||||
} else {
|
|
||||||
applyFilter()
|
|
||||||
}
|
|
||||||
|
|
||||||
Handler().postDelayed({ checkToShowUnreadBubble() }, UNREAD_BUBBLE_DELAY.toLong())
|
Handler().postDelayed({ checkToShowUnreadBubble() }, UNREAD_BUBBLE_DELAY.toLong())
|
||||||
|
|
||||||
@ -620,17 +608,6 @@ class ConversationsListActivity :
|
|||||||
return conversation.objectType == ConversationEnums.ObjectType.EVENT && sixteenHoursAfterTimeStamp
|
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() {
|
fun getFilterStates() {
|
||||||
val accountId = UserIdUtils.getIdForUser(currentUser)
|
val accountId = UserIdUtils.getIdForUser(currentUser)
|
||||||
filterState[UNREAD] = (
|
filterState[UNREAD] = (
|
||||||
@ -922,12 +899,7 @@ class ConversationsListActivity :
|
|||||||
override fun onMenuItemActionCollapse(item: MenuItem): Boolean {
|
override fun onMenuItemActionCollapse(item: MenuItem): Boolean {
|
||||||
adapter?.setHeadersShown(false)
|
adapter?.setHeadersShown(false)
|
||||||
searchBehaviorSubject.onNext(false)
|
searchBehaviorSubject.onNext(false)
|
||||||
if (!hasFilterEnabled()) filterableConversationItems = conversationItemsWithHeader
|
applyFilter()
|
||||||
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
|
||||||
@ -1082,7 +1054,7 @@ class ConversationsListActivity :
|
|||||||
this,
|
this,
|
||||||
viewThemeUtils
|
viewThemeUtils
|
||||||
)
|
)
|
||||||
conversationItems.add(conversationItem)
|
|
||||||
val conversationItemWithHeader = ConversationItem(
|
val conversationItemWithHeader = ConversationItem(
|
||||||
conversation,
|
conversation,
|
||||||
currentUser!!,
|
currentUser!!,
|
||||||
@ -1090,7 +1062,13 @@ class ConversationsListActivity :
|
|||||||
callHeaderItems[headerTitle],
|
callHeaderItems[headerTitle],
|
||||||
viewThemeUtils
|
viewThemeUtils
|
||||||
)
|
)
|
||||||
conversationItemsWithHeader.add(conversationItemWithHeader)
|
|
||||||
|
if (isFutureEvent(conversation)) {
|
||||||
|
searchableConversationItems.add(conversationItem)
|
||||||
|
} else {
|
||||||
|
conversationItems.add(conversationItem)
|
||||||
|
conversationItemsWithHeader.add(conversationItemWithHeader)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun showErrorDialog() {
|
private fun showErrorDialog() {
|
||||||
@ -1157,8 +1135,6 @@ 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
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
package com.nextcloud.talk.ui.dialog
|
package com.nextcloud.talk.ui.dialog
|
||||||
|
|
||||||
import android.app.Dialog
|
import android.app.Dialog
|
||||||
import android.content.DialogInterface
|
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
@ -100,14 +99,6 @@ class FilterConversationFragment : DialogFragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
binding.buttonClose.setOnClickListener {
|
binding.buttonClose.setOnClickListener {
|
||||||
val noFiltersActive = !(
|
|
||||||
filterState[MENTION] == true ||
|
|
||||||
filterState[UNREAD] == true ||
|
|
||||||
filterState[ARCHIVE] == true
|
|
||||||
)
|
|
||||||
if (noFiltersActive) {
|
|
||||||
(requireActivity() as ConversationsListActivity).showOnlyNearFutureEvents()
|
|
||||||
}
|
|
||||||
dismiss()
|
dismiss()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -139,18 +130,6 @@ class FilterConversationFragment : DialogFragment() {
|
|||||||
(requireActivity() as ConversationsListActivity).filterConversation()
|
(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 {
|
companion object {
|
||||||
private const val FILTER_STATE_ARG = "FILTER_STATE_ARG"
|
private const val FILTER_STATE_ARG = "FILTER_STATE_ARG"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user