From 796e5f6f8684c5c0f0db9390519adcbd2d4c1d65 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Mon, 6 Jun 2022 09:45:31 -0300 Subject: [PATCH] Add proper tinting to typing indicator. --- .../securesms/components/ConversationTypingView.java | 10 ++++++---- .../securesms/components/TypingIndicatorView.java | 11 ++++++++--- .../securesms/conversation/ConversationItem.java | 5 ++--- .../conversation/colors/ui/ChatColorPreviewView.kt | 2 +- .../securesms/wallpaper/ChatWallpaperFragment.java | 2 +- .../chat_wallpaper_preview_bubble_background.xml | 2 +- .../wallpaper_message_decoration_background.xml | 2 +- app/src/main/res/values-night/dark_colors.xml | 5 ++++- app/src/main/res/values/light_colors.xml | 5 ++++- 9 files changed, 28 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/ConversationTypingView.java b/app/src/main/java/org/thoughtcrime/securesms/components/ConversationTypingView.java index 0969b79fb6..a56bcf2f82 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/ConversationTypingView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/ConversationTypingView.java @@ -68,11 +68,13 @@ public class ConversationTypingView extends ConstraintLayout { } if (hasWallpaper) { - bubble.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.conversation_item_wallpaper_bubble_color)); - typistCount.getBackground().setColorFilter(ContextCompat.getColor(getContext(), R.color.conversation_item_wallpaper_bubble_color), PorterDuff.Mode.SRC_IN); + bubble.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.conversation_item_recv_bubble_color_wallpaper)); + typistCount.getBackground().setColorFilter(ContextCompat.getColor(getContext(), R.color.conversation_item_recv_bubble_color_wallpaper), PorterDuff.Mode.SRC_IN); + indicator.setDotTint(ContextCompat.getColor(getContext(), R.color.conversation_typing_indicator_foreground_tint_wallpaper)); } else { - bubble.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.signal_background_secondary)); - typistCount.getBackground().setColorFilter(ContextCompat.getColor(getContext(), R.color.signal_background_secondary), PorterDuff.Mode.SRC_IN); + bubble.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.conversation_item_recv_bubble_color_normal)); + typistCount.getBackground().setColorFilter(ContextCompat.getColor(getContext(), R.color.conversation_item_recv_bubble_color_normal), PorterDuff.Mode.SRC_IN); + indicator.setDotTint(ContextCompat.getColor(getContext(), R.color.conversation_typing_indicator_foreground_tint_normal)); } indicator.startAnimation(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/TypingIndicatorView.java b/app/src/main/java/org/thoughtcrime/securesms/components/TypingIndicatorView.java index 5221d783b5..404a39da23 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/TypingIndicatorView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/TypingIndicatorView.java @@ -9,6 +9,7 @@ import android.util.AttributeSet; import android.view.View; import android.widget.LinearLayout; +import androidx.annotation.ColorInt; import androidx.annotation.Nullable; import org.thoughtcrime.securesms.R; @@ -54,12 +55,16 @@ public class TypingIndicatorView extends LinearLayout { int tint = typedArray.getColor(R.styleable.TypingIndicatorView_typingIndicator_tint, Color.WHITE); typedArray.recycle(); - dot1.getBackground().setColorFilter(tint, PorterDuff.Mode.MULTIPLY); - dot2.getBackground().setColorFilter(tint, PorterDuff.Mode.MULTIPLY); - dot3.getBackground().setColorFilter(tint, PorterDuff.Mode.MULTIPLY); + setDotTint(tint); } } + public void setDotTint(@ColorInt int tint) { + dot1.getBackground().setColorFilter(tint, PorterDuff.Mode.MULTIPLY); + dot2.getBackground().setColorFilter(tint, PorterDuff.Mode.MULTIPLY); + dot3.getBackground().setColorFilter(tint, PorterDuff.Mode.MULTIPLY); + } + @Override protected void onDraw(Canvas canvas) { if (!isActive) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java index 15b7fd9652..f53d92171f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java @@ -22,7 +22,6 @@ import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; import android.graphics.Color; -import android.graphics.ColorFilter; import android.graphics.PorterDuff; import android.graphics.Rect; import android.graphics.Typeface; @@ -611,8 +610,8 @@ public final class ConversationItem extends RelativeLayout implements BindableCo } private void initializeAttributes() { - defaultBubbleColor = ContextCompat.getColor(context, R.color.signal_colorSurfaceVariant); - defaultBubbleColorForWallpaper = ContextCompat.getColor(context, R.color.conversation_item_wallpaper_bubble_color); + defaultBubbleColor = ContextCompat.getColor(context, R.color.conversation_item_recv_bubble_color_normal); + defaultBubbleColorForWallpaper = ContextCompat.getColor(context, R.color.conversation_item_recv_bubble_color_wallpaper); } private @ColorInt int getDefaultBubbleColor(boolean hasWallpaper) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorPreviewView.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorPreviewView.kt index e696b17f93..8725983c88 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorPreviewView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorPreviewView.kt @@ -140,7 +140,7 @@ class ChatColorPreviewView @JvmOverloads constructor( } val backgroundColor = if (chatWallpaper != null) { - R.color.conversation_item_wallpaper_bubble_color + R.color.conversation_item_recv_bubble_color_wallpaper } else { R.color.signal_background_secondary } diff --git a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperFragment.java b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperFragment.java index 10f5b25f73..e71409c90e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperFragment.java @@ -80,7 +80,7 @@ public class ChatWallpaperFragment extends Fragment { viewModel.getCurrentWallpaper().observe(getViewLifecycleOwner(), wallpaper -> { if (wallpaper.isPresent()) { wallpaper.get().loadInto(chatWallpaperPreview); - ImageViewCompat.setImageTintList(recvBubble, ColorStateList.valueOf(ContextCompat.getColor(requireContext(), R.color.conversation_item_wallpaper_bubble_color))); + ImageViewCompat.setImageTintList(recvBubble, ColorStateList.valueOf(ContextCompat.getColor(requireContext(), R.color.conversation_item_recv_bubble_color_wallpaper))); } else { chatWallpaperPreview.setImageDrawable(null); ImageViewCompat.setImageTintList(recvBubble, ColorStateList.valueOf(ContextCompat.getColor(requireContext(), R.color.signal_background_secondary))); diff --git a/app/src/main/res/drawable/chat_wallpaper_preview_bubble_background.xml b/app/src/main/res/drawable/chat_wallpaper_preview_bubble_background.xml index 33cf2cb881..1f61e6ba43 100644 --- a/app/src/main/res/drawable/chat_wallpaper_preview_bubble_background.xml +++ b/app/src/main/res/drawable/chat_wallpaper_preview_bubble_background.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/wallpaper_message_decoration_background.xml b/app/src/main/res/drawable/wallpaper_message_decoration_background.xml index 825fb502b2..b76588e704 100644 --- a/app/src/main/res/drawable/wallpaper_message_decoration_background.xml +++ b/app/src/main/res/drawable/wallpaper_message_decoration_background.xml @@ -1,5 +1,5 @@ - + diff --git a/app/src/main/res/values-night/dark_colors.xml b/app/src/main/res/values-night/dark_colors.xml index 4e1ff9d42d..031e7d2abb 100644 --- a/app/src/main/res/values-night/dark_colors.xml +++ b/app/src/main/res/values-night/dark_colors.xml @@ -82,7 +82,8 @@ @color/signal_colorOnSurfaceVariant @color/core_grey_25 @color/core_grey_05 - @color/signal_colorBackground + @color/signal_colorSurfaceVariant + @color/signal_colorNeutral @color/signal_colorNeutralInverse @color/signal_colorOnSurface @color/signal_colorNeutralInverse @@ -96,6 +97,8 @@ @color/transparent_white_20 @color/core_grey_05 @color/transparent_white_80 + @color/signal_colorOnSurfaceVariant + @color/signal_colorNeutralVariantInverse @color/signal_colorTransparentInverse4 diff --git a/app/src/main/res/values/light_colors.xml b/app/src/main/res/values/light_colors.xml index 135a04dcd2..39d9cb5828 100644 --- a/app/src/main/res/values/light_colors.xml +++ b/app/src/main/res/values/light_colors.xml @@ -84,7 +84,8 @@ @color/core_grey_60 @color/signal_colorOnSurface @color/signal_colorOnSurface - @color/signal_colorBackground + @color/signal_colorSurfaceVariant + @color/signal_colorNeutral @color/signal_colorNeutral @color/signal_colorOnSurface @color/signal_colorNeutralInverse @@ -98,6 +99,8 @@ @color/transparent_white_20 @color/core_white @color/transparent_white_90 + @color/signal_colorOnSurfaceVariant + @color/signal_colorNeutralVariantInverse @color/signal_colorTransparent4 @color/signal_colorNeutralVariantInverse