mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-25 06:29:52 +01:00
Ironed out the bugs
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
This commit is contained in:
parent
94f33c13bc
commit
39305d7e96
@ -748,8 +748,12 @@ class ConversationInfoActivity :
|
|||||||
binding.archiveConversationBtn.setOnClickListener {
|
binding.archiveConversationBtn.setOnClickListener {
|
||||||
if (conversation!!.hasArchived) {
|
if (conversation!!.hasArchived) {
|
||||||
viewModel.unarchiveConversation(conversationUser, conversationToken)
|
viewModel.unarchiveConversation(conversationUser, conversationToken)
|
||||||
|
binding.archiveConversationIcon.setImageDrawable(resources.getDrawable(R.drawable.outline_archive_24))
|
||||||
|
binding.archiveConversationText.text = resources.getString(R.string.archive_conversation)
|
||||||
} else {
|
} else {
|
||||||
viewModel.archiveConversation(conversationUser, conversationToken)
|
viewModel.archiveConversation(conversationUser, conversationToken)
|
||||||
|
binding.archiveConversationIcon.setImageDrawable(resources.getDrawable(R.drawable.ic_eye))
|
||||||
|
binding.archiveConversationText.text = resources.getString(R.string.unarchive_conversation)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -211,7 +211,8 @@ class ConversationsListActivity :
|
|||||||
mutableMapOf(
|
mutableMapOf(
|
||||||
FilterConversationFragment.MENTION to false,
|
FilterConversationFragment.MENTION to false,
|
||||||
FilterConversationFragment.UNREAD to false,
|
FilterConversationFragment.UNREAD to false,
|
||||||
FilterConversationFragment.ARCHIVE to false
|
FilterConversationFragment.ARCHIVE to false,
|
||||||
|
FilterConversationFragment.DEFAULT to true
|
||||||
)
|
)
|
||||||
val searchBehaviorSubject = BehaviorSubject.createDefault(false)
|
val searchBehaviorSubject = BehaviorSubject.createDefault(false)
|
||||||
private lateinit var accountIconBadge: BadgeDrawable
|
private lateinit var accountIconBadge: BadgeDrawable
|
||||||
@ -381,7 +382,7 @@ class ConversationsListActivity :
|
|||||||
sortConversations(conversationItemsWithHeader)
|
sortConversations(conversationItemsWithHeader)
|
||||||
|
|
||||||
// Filter Conversations
|
// Filter Conversations
|
||||||
if (!filterState.containsValue(true)) filterableConversationItems = conversationItems
|
if (!containsTrue()) filterableConversationItems = conversationItems
|
||||||
filterConversation()
|
filterConversation()
|
||||||
adapter!!.updateDataSet(filterableConversationItems, false)
|
adapter!!.updateDataSet(filterableConversationItems, false)
|
||||||
Handler().postDelayed({ checkToShowUnreadBubble() }, UNREAD_BUBBLE_DELAY.toLong())
|
Handler().postDelayed({ checkToShowUnreadBubble() }, UNREAD_BUBBLE_DELAY.toLong())
|
||||||
@ -396,6 +397,14 @@ class ConversationsListActivity :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun containsTrue(): Boolean {
|
||||||
|
for ((k, v) in filterState) {
|
||||||
|
if (k != FilterConversationFragment.DEFAULT && v) return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
fun filterConversation() {
|
fun filterConversation() {
|
||||||
val accountId = UserIdUtils.getIdForUser(userManager.currentUser.blockingGet())
|
val accountId = UserIdUtils.getIdForUser(userManager.currentUser.blockingGet())
|
||||||
filterState[FilterConversationFragment.UNREAD] = (
|
filterState[FilterConversationFragment.UNREAD] = (
|
||||||
@ -423,12 +432,6 @@ class ConversationsListActivity :
|
|||||||
) == "true"
|
) == "true"
|
||||||
|
|
||||||
val newItems: MutableList<AbstractFlexibleItem<*>> = ArrayList()
|
val newItems: MutableList<AbstractFlexibleItem<*>> = ArrayList()
|
||||||
if (filterState[FilterConversationFragment.UNREAD] == false &&
|
|
||||||
filterState[FilterConversationFragment.MENTION] == false &&
|
|
||||||
filterState[FilterConversationFragment.ARCHIVE] == false
|
|
||||||
) {
|
|
||||||
adapter!!.updateDataSet(conversationItems, true)
|
|
||||||
} else {
|
|
||||||
val items = conversationItems
|
val items = conversationItems
|
||||||
for (i in items) {
|
for (i in items) {
|
||||||
val conversation = (i as ConversationItem).model
|
val conversation = (i as ConversationItem).model
|
||||||
@ -438,7 +441,6 @@ class ConversationsListActivity :
|
|||||||
}
|
}
|
||||||
adapter!!.updateDataSet(newItems, true)
|
adapter!!.updateDataSet(newItems, true)
|
||||||
setFilterableItems(newItems)
|
setFilterableItems(newItems)
|
||||||
}
|
|
||||||
|
|
||||||
updateFilterConversationButtonColor()
|
updateFilterConversationButtonColor()
|
||||||
}
|
}
|
||||||
@ -460,11 +462,18 @@ class ConversationsListActivity :
|
|||||||
|
|
||||||
FilterConversationFragment.UNREAD -> result = result && (conversation.unreadMessages > 0)
|
FilterConversationFragment.UNREAD -> result = result && (conversation.unreadMessages > 0)
|
||||||
|
|
||||||
FilterConversationFragment.ARCHIVE -> result = result && conversation.hasArchived
|
FilterConversationFragment.DEFAULT -> {
|
||||||
|
result = if (filterState[FilterConversationFragment.ARCHIVE] == true) {
|
||||||
|
result && conversation.hasArchived
|
||||||
|
} else {
|
||||||
|
result && !conversation.hasArchived
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Log.d("Julius", "Conversation: ${conversation.name} Result: $result")
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -661,7 +670,7 @@ class ConversationsListActivity :
|
|||||||
override fun onMenuItemActionExpand(item: MenuItem): Boolean {
|
override fun onMenuItemActionExpand(item: MenuItem): Boolean {
|
||||||
initSearchDisposable()
|
initSearchDisposable()
|
||||||
adapter!!.setHeadersShown(true)
|
adapter!!.setHeadersShown(true)
|
||||||
if (!filterState.containsValue(true)) filterableConversationItems = searchableConversationItems
|
if (!containsTrue()) filterableConversationItems = searchableConversationItems
|
||||||
adapter!!.updateDataSet(filterableConversationItems, false)
|
adapter!!.updateDataSet(filterableConversationItems, false)
|
||||||
adapter!!.showAllHeaders()
|
adapter!!.showAllHeaders()
|
||||||
binding.swipeRefreshLayoutView?.isEnabled = false
|
binding.swipeRefreshLayoutView?.isEnabled = false
|
||||||
@ -671,7 +680,7 @@ class ConversationsListActivity :
|
|||||||
|
|
||||||
override fun onMenuItemActionCollapse(item: MenuItem): Boolean {
|
override fun onMenuItemActionCollapse(item: MenuItem): Boolean {
|
||||||
adapter!!.setHeadersShown(false)
|
adapter!!.setHeadersShown(false)
|
||||||
if (!filterState.containsValue(true)) filterableConversationItems = conversationItemsWithHeader
|
if (!containsTrue()) filterableConversationItems = conversationItemsWithHeader
|
||||||
adapter!!.updateDataSet(filterableConversationItems, false)
|
adapter!!.updateDataSet(filterableConversationItems, false)
|
||||||
adapter!!.hideAllHeaders()
|
adapter!!.hideAllHeaders()
|
||||||
if (searchHelper != null) {
|
if (searchHelper != null) {
|
||||||
@ -1838,7 +1847,7 @@ class ConversationsListActivity :
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun updateFilterConversationButtonColor() {
|
fun updateFilterConversationButtonColor() {
|
||||||
if (filterState.containsValue(true)) {
|
if (containsTrue()) {
|
||||||
binding.filterConversationsButton.let { viewThemeUtils.platform.colorImageView(it, ColorRole.PRIMARY) }
|
binding.filterConversationsButton.let { viewThemeUtils.platform.colorImageView(it, ColorRole.PRIMARY) }
|
||||||
} else {
|
} else {
|
||||||
binding.filterConversationsButton.let {
|
binding.filterConversationsButton.let {
|
||||||
|
@ -104,6 +104,7 @@ class FilterConversationFragment : DialogFragment() {
|
|||||||
private fun setUpChips() {
|
private fun setUpChips() {
|
||||||
binding.unreadFilterChip.isChecked = filterState[UNREAD]!!
|
binding.unreadFilterChip.isChecked = filterState[UNREAD]!!
|
||||||
binding.mentionedFilterChip.isChecked = filterState[MENTION]!!
|
binding.mentionedFilterChip.isChecked = filterState[MENTION]!!
|
||||||
|
binding.archivedFilterChip.isChecked = filterState[ARCHIVE]!!
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun processSubmit() {
|
private fun processSubmit() {
|
||||||
@ -136,5 +137,6 @@ class FilterConversationFragment : DialogFragment() {
|
|||||||
const val MENTION: String = "mention"
|
const val MENTION: String = "mention"
|
||||||
const val UNREAD: String = "unread"
|
const val UNREAD: String = "unread"
|
||||||
const val ARCHIVE: String = "archive"
|
const val ARCHIVE: String = "archive"
|
||||||
|
const val DEFAULT: String = "default"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
android:layout_marginTop="@dimen/standard_half_margin"
|
android:layout_marginTop="@dimen/standard_half_margin"
|
||||||
android:layout_marginEnd="@dimen/standard_margin"
|
android:layout_marginEnd="@dimen/standard_margin"
|
||||||
android:layout_marginBottom="@dimen/standard_half_margin"
|
android:layout_marginBottom="@dimen/standard_half_margin"
|
||||||
app:chipSpacingHorizontal="@dimen/standard_margin">
|
app:chipSpacingHorizontal="@dimen/standard_half_margin">
|
||||||
|
|
||||||
<com.google.android.material.chip.Chip
|
<com.google.android.material.chip.Chip
|
||||||
android:id="@+id/unread_filter_chip"
|
android:id="@+id/unread_filter_chip"
|
||||||
|
Loading…
Reference in New Issue
Block a user