diff --git a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt index daec27426..0eada3e66 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt @@ -1297,25 +1297,14 @@ class ChatActivity : binding.typingIndicator.text = typingString if (participantNames.size > 0) { + binding.typingIndicatorWrapper.visibility = View.VISIBLE binding.typingIndicatorWrapper.animate() - .translationY(binding.fragmentContainerActivityChat.y - DisplayUtils.convertDpToPixel(18f, context)) + .translationYBy(DisplayUtils.convertDpToPixel(-18f, context)) .setInterpolator(AccelerateDecelerateInterpolator()) .duration = TYPING_INDICATOR_ANIMATION_DURATION } else { - if (binding.typingIndicator.lineCount == 1) { - binding.typingIndicatorWrapper.animate() - .translationY(binding.fragmentContainerActivityChat.y) - .setInterpolator(AccelerateDecelerateInterpolator()) - .duration = TYPING_INDICATOR_ANIMATION_DURATION - } else if (binding.typingIndicator.lineCount == 2) { - binding.typingIndicatorWrapper.animate() - .translationY( - binding.fragmentContainerActivityChat.y + - DisplayUtils.convertDpToPixel(15f, context) - ) - .setInterpolator(AccelerateDecelerateInterpolator()) - .duration = TYPING_INDICATOR_ANIMATION_DURATION - } + binding.typingIndicatorWrapper.visibility = View.GONE + binding.typingIndicatorWrapper.y += DisplayUtils.convertDpToPixel(18f, context) } } } @@ -3384,10 +3373,12 @@ class ChatActivity : val messageTemp = message as ChatMessage messageTemp.lastEditTimestamp = message.lastEditTimestamp - val index = adapter?.getMessagePositionById(messageTemp.id) ?: 0 - val adapterMsg = adapter?.items?.get(index)?.item as ChatMessage + val index = adapter?.getMessagePositionById(messageTemp.id)!! + if (index > 0) { + val adapterMsg = adapter?.items?.get(index)?.item as ChatMessage + messageTemp.parentMessage = adapterMsg.parentMessage + } - messageTemp.parentMessage = adapterMsg.parentMessage messageTemp.isOneToOneConversation = currentConversation?.type == ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL messageTemp.activeUser = conversationUser diff --git a/app/src/main/res/layout/activity_chat.xml b/app/src/main/res/layout/activity_chat.xml index 554ffbddb..ee60f4fd4 100644 --- a/app/src/main/res/layout/activity_chat.xml +++ b/app/src/main/res/layout/activity_chat.xml @@ -226,8 +226,8 @@ android:id="@+id/typing_indicator" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginStart="@dimen/side_margin" - android:layout_marginEnd="@dimen/side_margin" + android:paddingStart="@dimen/side_margin" + android:paddingEnd="@dimen/side_margin" android:background="@color/bg_default" android:ellipsize="end" android:maxLines="2"