From fd49b13b1423be1e1ccaefba9f8edeca6a1606bc Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Tue, 2 Aug 2022 16:37:31 +0200 Subject: [PATCH] theme checked reactions Signed-off-by: Andy Scherzinger --- .../talk/ui/dialog/MessageActionsDialog.kt | 3 +-- .../com/nextcloud/talk/ui/theme/ViewThemeUtils.kt | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/ui/dialog/MessageActionsDialog.kt b/app/src/main/java/com/nextcloud/talk/ui/dialog/MessageActionsDialog.kt index ebc38c366..a968d7c3e 100644 --- a/app/src/main/java/com/nextcloud/talk/ui/dialog/MessageActionsDialog.kt +++ b/app/src/main/java/com/nextcloud/talk/ui/dialog/MessageActionsDialog.kt @@ -31,7 +31,6 @@ import android.view.View import android.view.ViewGroup import android.view.inputmethod.InputMethodManager import androidx.annotation.NonNull -import androidx.appcompat.content.res.AppCompatResources import autodagger.AutoInjector import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetDialog @@ -228,7 +227,7 @@ class MessageActionsDialog( private fun checkAndSetEmojiSelfReaction(emoji: EmojiTextView) { if (emoji.text?.toString() != null && message.reactionsSelf?.contains(emoji.text?.toString()) == true) { - emoji.background = AppCompatResources.getDrawable(context, R.drawable.reaction_self_bottom_sheet_background) + viewThemeUtils.setCheckedBackground(emoji) } } diff --git a/app/src/main/java/com/nextcloud/talk/ui/theme/ViewThemeUtils.kt b/app/src/main/java/com/nextcloud/talk/ui/theme/ViewThemeUtils.kt index 8c0d3e1e3..5c5cb6bff 100644 --- a/app/src/main/java/com/nextcloud/talk/ui/theme/ViewThemeUtils.kt +++ b/app/src/main/java/com/nextcloud/talk/ui/theme/ViewThemeUtils.kt @@ -49,6 +49,7 @@ import androidx.appcompat.widget.SearchView.SearchAutoComplete import androidx.appcompat.widget.SwitchCompat import androidx.core.content.ContextCompat import androidx.core.content.res.ResourcesCompat +import androidx.core.graphics.drawable.DrawableCompat import androidx.core.view.ViewCompat import androidx.core.view.children import androidx.swiperefreshlayout.widget.SwipeRefreshLayout @@ -67,6 +68,7 @@ import com.nextcloud.talk.utils.DisplayUtils import com.nextcloud.talk.utils.DrawableUtils import com.nextcloud.talk.utils.ui.ColorUtil import com.nextcloud.talk.utils.ui.PlatformThemeUtil.isDarkMode +import com.vanniktech.emoji.EmojiTextView import com.yarolegovich.mp.MaterialPreferenceCategory import com.yarolegovich.mp.MaterialSwitchPreference import scheme.Scheme @@ -676,6 +678,18 @@ class ViewThemeUtils @Inject constructor(private val theme: ServerTheme, private } } + fun setCheckedBackground(emoji: EmojiTextView) { + withScheme(emoji) { scheme -> + val drawable = AppCompatResources + .getDrawable(emoji.context, R.drawable.reaction_self_bottom_sheet_background)!! + .mutate() + DrawableCompat.setTintList( + drawable, + ColorStateList.valueOf(scheme.primary)) + emoji.background = drawable + } + } + companion object { private val THEMEABLE_PLACEHOLDER_IDS = listOf( R.drawable.ic_mimetype_package_x_generic,