diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt index d33853dd9e..78e1f81051 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt @@ -1155,11 +1155,19 @@ class ConversationActivityV2 : ScreenLockActionBarActivity(), InputBarDelegate, liveData.observe(this@ConversationActivityV2) { state -> val recipients = state?.typists ?: emptyList() - // Quick-fix behavior kept as-is - val viewContainer = binding.typingIndicatorViewContainer - viewContainer.isVisible = - recipients.isNotEmpty() && isScrolledToBottom - viewContainer.setTypists(recipients) + val shouldShowTypingIndicator = recipients.isNotEmpty() && + isScrolledToBottom + + if (shouldShowTypingIndicator) { + binding.typingIndicatorViewContainer.isVisible = true + binding.typingIndicatorViewContainer.startAnimation() + + // Make sure we are actually at the end + gotoConversationEnd(smoothScroll = false) + } else { + binding.typingIndicatorViewContainer.stopAnimation() + binding.typingIndicatorViewContainer.isVisible = false + } } } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/components/TypingIndicatorViewContainer.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/components/TypingIndicatorViewContainer.kt index e362531fbb..7edd34ef7c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/components/TypingIndicatorViewContainer.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/components/TypingIndicatorViewContainer.kt @@ -5,7 +5,6 @@ import android.util.AttributeSet import android.view.LayoutInflater import android.widget.LinearLayout import network.loki.messenger.databinding.ViewConversationTypingContainerBinding -import org.session.libsession.utilities.Address class TypingIndicatorViewContainer : LinearLayout { private lateinit var binding: ViewConversationTypingContainerBinding @@ -18,11 +17,6 @@ class TypingIndicatorViewContainer : LinearLayout { binding = ViewConversationTypingContainerBinding.inflate(LayoutInflater.from(context), this, true) } - fun setTypists(typists: List
) { - if (typists.isEmpty()) { stopAnimation(); return } - startAnimation() - } - fun startAnimation() = binding.typingIndicator.root.startAnimation() fun stopAnimation() = binding.typingIndicator.root.stopAnimation() } \ No newline at end of file