diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ColorizerView.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ColorizerView.kt index 6e9df85fc8..57f7f1cd83 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ColorizerView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ColorizerView.kt @@ -44,5 +44,6 @@ class ColorizerView @JvmOverloads constructor( override fun onDetachedFromWindow() { super.onDetachedFromWindow() projections.forEach { it.release() } + projections = emptyList() } } 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 b1dc501854..e696b17f93 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 @@ -107,9 +107,19 @@ class ChatColorPreviewView @JvmOverloads constructor( } } + override fun onAttachedToWindow() { + super.onAttachedToWindow() + + redrawChatColors() + } + override fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int) { super.onLayout(changed, left, top, right, bottom) + redrawChatColors() + } + + private fun redrawChatColors() { if (chatColors != null) { setChatColors(requireNotNull(chatColors)) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/custom/CustomChatColorCreatorPageFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/custom/CustomChatColorCreatorPageFragment.kt index 230cff9732..997353ff43 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/custom/CustomChatColorCreatorPageFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/custom/CustomChatColorCreatorPageFragment.kt @@ -48,6 +48,7 @@ class CustomChatColorCreatorPageFragment : private lateinit var hueSlider: AppCompatSeekBar private lateinit var saturationSlider: AppCompatSeekBar + private lateinit var preview: ChatColorPreviewView override fun onViewCreated(view: View, savedInstanceState: Bundle?) { val args: CustomChatColorCreatorFragmentArgs = CustomChatColorCreatorFragmentArgs.fromBundle(requireArguments()) @@ -59,7 +60,8 @@ class CustomChatColorCreatorPageFragment : factory )[CustomChatColorCreatorViewModel::class.java] - val preview: ChatColorPreviewView = view.findViewById(R.id.chat_color_preview) + preview = view.findViewById(R.id.chat_color_preview) + val hueThumb = ThumbDrawable(requireContext()) val saturationThumb = ThumbDrawable(requireContext())