Merge pull request #4289 from nextcloud/bugfix/4288/fixTypingIndicatorPosition

fix position and animation of typing indicator
This commit is contained in:
Sowjanya Kota 2024-10-01 13:37:35 +02:00 committed by GitHub
commit acd31ec2b5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1307,16 +1307,16 @@ class ChatActivity :
runOnUiThread { runOnUiThread {
binding.typingIndicator.text = typingString binding.typingIndicator.text = typingString
if (participantNames.size > 0) { val typingIndicatorPositionY = if (participantNames.size > 0) {
binding.typingIndicatorWrapper.visibility = View.VISIBLE TYPING_INDICATOR_POSITION_VISIBLE
binding.typingIndicatorWrapper.animate()
.translationYBy(DisplayUtils.convertDpToPixel(-18f, context))
.setInterpolator(AccelerateDecelerateInterpolator())
.duration = TYPING_INDICATOR_ANIMATION_DURATION
} else { } else {
binding.typingIndicatorWrapper.visibility = View.INVISIBLE TYPING_INDICATOR_POSITION_HIDDEN
binding.typingIndicatorWrapper.y += DisplayUtils.convertDpToPixel(18f, context)
} }
binding.typingIndicatorWrapper.animate()
.translationY(DisplayUtils.convertDpToPixel(typingIndicatorPositionY, context))
.setInterpolator(AccelerateDecelerateInterpolator())
.duration = TYPING_INDICATOR_ANIMATION_DURATION
} }
} }
@ -3696,6 +3696,8 @@ class ChatActivity :
private const val COMMA = ", " private const val COMMA = ", "
private const val TYPING_INDICATOR_ANIMATION_DURATION = 200L private const val TYPING_INDICATOR_ANIMATION_DURATION = 200L
private const val TYPING_INDICATOR_MAX_NAME_LENGTH = 14 private const val TYPING_INDICATOR_MAX_NAME_LENGTH = 14
private const val TYPING_INDICATOR_POSITION_VISIBLE = -18f
private const val TYPING_INDICATOR_POSITION_HIDDEN = -1f
private const val TYPING_DURATION_TO_SEND_NEXT_TYPING_MESSAGE = 10000L private const val TYPING_DURATION_TO_SEND_NEXT_TYPING_MESSAGE = 10000L
private const val TYPING_INTERVAL_TO_SEND_NEXT_TYPING_MESSAGE = 1000L private const val TYPING_INTERVAL_TO_SEND_NEXT_TYPING_MESSAGE = 1000L
private const val TYPING_STARTED_SIGNALING_MESSAGE_TYPE = "startedTyping" private const val TYPING_STARTED_SIGNALING_MESSAGE_TYPE = "startedTyping"