From cc0fd41c90f1f58e5ae552dfacf971420f3c5fab Mon Sep 17 00:00:00 2001 From: rapterjet2004 Date: Tue, 13 Jun 2023 16:47:27 -0500 Subject: [PATCH] WIP filter conversations feature, last minute ui changes Signed-off-by: Julius Linus julius.linus@nextcloud.com Signed-off-by: Andy Scherzinger --- .../ConversationsListActivity.kt | 14 +++++++++++ .../ui/dialog/FilterConversationFragment.kt | 24 ++++++++----------- 2 files changed, 24 insertions(+), 14 deletions(-) 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 175048e68..667bd5cb5 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt @@ -34,6 +34,7 @@ import android.content.ActivityNotFoundException import android.content.Context import android.content.Intent import android.content.pm.PackageManager +import android.content.res.ColorStateList import android.graphics.drawable.ColorDrawable import android.graphics.drawable.Drawable import android.net.Uri @@ -765,6 +766,8 @@ class ConversationsListActivity : } } + updateFilterConversationButtonColor() + binding.filterConversationsButton.setOnClickListener { val newFragment: DialogFragment = FilterConversationFragment.newInstance( adapter!!, @@ -784,6 +787,17 @@ class ConversationsListActivity : binding?.newMentionPopupBubble?.let { viewThemeUtils.material.colorMaterialButtonPrimaryFilled(it) } } + fun updateFilterConversationButtonColor() { + val colorInt: Int = if (filterState[NONE]!!) { + context.getColor(R.color.grey_200) + } else { + context.getColor(R.color.colorPrimary) + } + + val csl = ColorStateList.valueOf(colorInt) + binding.filterConversationsButton.iconTint = csl + } + @Suppress("Detekt.TooGenericExceptionCaught") private fun checkToShowUnreadBubble() { try { 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 940edcb89..e5c874e96 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 @@ -5,6 +5,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.core.content.ContextCompat import androidx.fragment.app.DialogFragment import autodagger.AutoInjector import com.google.android.material.dialog.MaterialAlertDialogBuilder @@ -105,29 +106,22 @@ class FilterConversationFragment( } private fun changeMentionFilter() { - if (filterState[MENTION]!!) { - binding.mentionedFilterButton.setBackgroundColor(resources.getColor(R.color.colorPrimary)) - } else - binding.mentionedFilterButton.setBackgroundColor(resources.getColor(R.color.grey_200)) + val colorInt = if (filterState[MENTION]!!) R.color.colorPrimary else R.color.grey_200 + binding.mentionedFilterButton.setBackgroundColor(ContextCompat.getColor(requireContext(), colorInt)) } private fun changeUnreadFilter() { - if (filterState[UNREAD]!!) { - binding.unreadFilterButton.setBackgroundColor( - resources.getColor(R.color.colorPrimary) - ) - } else binding.unreadFilterButton.setBackgroundColor(resources.getColor(R.color.grey_200)) + val colorInt = if (filterState[UNREAD]!!) R.color.colorPrimary else R.color.grey_200 + binding.unreadFilterButton.setBackgroundColor(ContextCompat.getColor(requireContext(), colorInt)) } private fun changeNoneFilter() { - if (filterState[NONE]!!) { - binding.noFilterButton.setBackgroundColor(resources.getColor(R.color.colorPrimary)) - } else - binding.noFilterButton.setBackgroundColor(resources.getColor(R.color.grey_200)) + val colorInt = if (filterState[NONE]!!) R.color.colorPrimary else R.color.grey_200 + binding.noFilterButton.setBackgroundColor(ContextCompat.getColor(requireContext(), colorInt)) } private fun processSubmit() { - var newItems: MutableList> = ArrayList() + val newItems: MutableList> = ArrayList() if (filterState[NONE]!!) { currentAdapter.updateDataSet(currentItems, true) } else { @@ -145,6 +139,8 @@ class FilterConversationFragment( filterState[MENTION]!!, filterState[UNREAD]!! ) + + conversationsList.updateFilterConversationButtonColor() } private fun filter(conversation: Conversation): Boolean { var result = true