mirror of
https://github.com/nextcloud/talk-android
synced 2025-07-09 13:59:48 +01:00
fix search
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
This commit is contained in:
parent
fd47146729
commit
a18e192d28
@ -519,9 +519,15 @@ class ConversationsListActivity :
|
||||
// Update Conversations
|
||||
conversationItems.clear()
|
||||
conversationItemsWithHeader.clear()
|
||||
searchableConversationItems.clear()
|
||||
|
||||
for (conversation in list) {
|
||||
if (!FutureEvent(conversation)) {
|
||||
addToConversationItems(conversation)
|
||||
}
|
||||
addToSearchableConversationItems(conversation)
|
||||
}
|
||||
|
||||
sortConversations(conversationItems)
|
||||
sortConversations(conversationItemsWithHeader)
|
||||
|
||||
@ -550,6 +556,21 @@ class ConversationsListActivity :
|
||||
return false
|
||||
}
|
||||
|
||||
private fun FutureEvent(conversation: ConversationModel): Boolean {
|
||||
return conversation.objectType == ConversationEnums.ObjectType.EVENT &&
|
||||
(conversation.objectId.split("#")[0].toLong() - (System.currentTimeMillis() / 1000)) > AGE_THRESHOLD_FOR_EVENT_CONVERSATIONS
|
||||
}
|
||||
|
||||
private fun addToSearchableConversationItems(conversation: ConversationModel) {
|
||||
val headerTitle = resources!!.getString(R.string.conversations)
|
||||
val headerItem = callHeaderItems.getOrPut(headerTitle) {
|
||||
GenericTextHeaderItem(headerTitle, viewThemeUtils)
|
||||
}
|
||||
|
||||
val conversationItem = ConversationItem(conversation, currentUser!!, this, headerItem, viewThemeUtils)
|
||||
searchableConversationItems.add(conversationItem)
|
||||
}
|
||||
|
||||
fun filterConversation() {
|
||||
val accountId = UserIdUtils.getIdForUser(currentUser)
|
||||
filterState[FilterConversationFragment.UNREAD] = (
|
||||
@ -1069,8 +1090,6 @@ class ConversationsListActivity :
|
||||
}
|
||||
|
||||
private fun fetchOpenConversations(apiVersion: Int) {
|
||||
searchableConversationItems.clear()
|
||||
searchableConversationItems.addAll(conversationItemsWithHeader)
|
||||
if (hasSpreedFeatureCapability(
|
||||
currentUser!!.capabilities!!.spreedCapability!!,
|
||||
SpreedFeatures.LISTABLE_ROOMS
|
||||
@ -2114,5 +2133,6 @@ class ConversationsListActivity :
|
||||
const val NOTIFICATION_WARNING_DATE_NOT_SET = 0L
|
||||
const val OFFSET_HEIGHT_DIVIDER: Int = 3
|
||||
const val ROOM_TYPE_ONE_ONE = "1"
|
||||
private const val AGE_THRESHOLD_FOR_EVENT_CONVERSATIONS: Long = 86400
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,6 @@ import com.nextcloud.talk.data.database.model.ConversationEntity
|
||||
import com.nextcloud.talk.data.network.NetworkMonitor
|
||||
import com.nextcloud.talk.data.user.model.User
|
||||
import com.nextcloud.talk.models.domain.ConversationModel
|
||||
import com.nextcloud.talk.models.json.conversations.ConversationEnums
|
||||
import com.nextcloud.talk.utils.CapabilitiesUtil.isUserStatusAvailable
|
||||
import com.nextcloud.talk.utils.database.user.CurrentUserProviderNew
|
||||
import io.reactivex.Observer
|
||||
@ -122,15 +121,7 @@ class OfflineFirstConversationsRepository @Inject constructor(
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.blockingSingle()
|
||||
|
||||
val currentTime = System.currentTimeMillis() / 1000
|
||||
|
||||
val conversationListWithoutEvents = conversationsList.filterNot { conversation ->
|
||||
|
||||
conversation.objectType == ConversationEnums.ObjectType.EVENT &&
|
||||
conversation.objectId.split("#")[0].toLong() - currentTime >
|
||||
AGE_THRESHOLD_FOR_EVENT_CONVERSATIONS
|
||||
}
|
||||
conversationsFromSync = conversationListWithoutEvents.map {
|
||||
conversationsFromSync = conversationsList.map {
|
||||
it.asEntity(user.id!!)
|
||||
}
|
||||
|
||||
@ -165,6 +156,5 @@ class OfflineFirstConversationsRepository @Inject constructor(
|
||||
|
||||
companion object {
|
||||
val TAG = OfflineFirstConversationsRepository::class.simpleName
|
||||
private const val AGE_THRESHOLD_FOR_EVENT_CONVERSATIONS: Long = 86400
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user