diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageFileItem.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageFileItem.kt index c3bd8ba56e..cf8cf1af0e 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageFileItem.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageFileItem.kt @@ -87,10 +87,11 @@ abstract class MessageFileItem : AbsMessageItem() { } } // holder.view.setOnClickListener(clickListener) - val backgroundTint = if (attributes.informationData.messageLayout is TimelineMessageLayout.Bubble) { + val backgroundTint = if (attributes.informationData.messageLayout is TimelineMessageLayout.Bubble + || attributes.informationData.messageLayout is TimelineMessageLayout.ScBubble) { Color.TRANSPARENT } else { - ThemeUtils.getColor(holder.view.context, R.attr.vctr_content_quinary) + ThemeUtils.getColor(holder.view.context, R.attr.sc_message_bg_incoming) } holder.mainLayout.backgroundTintList = ColorStateList.valueOf(backgroundTint) holder.filenameView.onClick(attributes.itemClickListener) @@ -109,7 +110,7 @@ abstract class MessageFileItem : AbsMessageItem() { override fun getViewStubMinimumWidth(holder: Holder): Int { // Guess text width for name and time // On first call, holder.fileImageView.width is not initialized yet - val imageWidth = holder.fileImageView.resources.getDimensionPixelSize(R.dimen.chat_avatar_size) + val imageWidth = holder.fileImageView.resources.getDimensionPixelSize(R.dimen.file_icon_size) val minimumWidthWithText = ceil(guessTextWidth(holder.filenameView, filename)).toInt() + imageWidth + @@ -118,6 +119,11 @@ abstract class MessageFileItem : AbsMessageItem() { return max(absoluteMinimumWidth, minimumWidthWithText) } + override fun applyScBubbleStyle(messageLayout: TimelineMessageLayout.ScBubble, holder: Holder) { + // Undo padding from TimelineContentMediaPillStyle + holder.mainLayout.setPadding(0, 0, 0, 0) + } + override fun getViewStubId() = STUB_ID class Holder : AbsMessageItem.Holder(STUB_ID) { diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageLocationItem.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageLocationItem.kt index 1e2808afd8..b8573de4a0 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageLocationItem.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageLocationItem.kt @@ -60,10 +60,10 @@ abstract class MessageLocationItem : AbsMessageItem( val location = locationUrl ?: return val messageLayout = attributes.informationData.messageLayout val dimensionConverter = DimensionConverter(holder.view.resources) - val imageCornerTransformation = if (messageLayout is TimelineMessageLayout.Bubble) { - messageLayout.cornersRadius.granularRoundedCorners() - } else { - RoundedCorners(dimensionConverter.dpToPx(8)) + val imageCornerTransformation = when (messageLayout) { + is TimelineMessageLayout.ScBubble -> RoundedCorners(dimensionConverter.dpToPx(3)) + is TimelineMessageLayout.Bubble -> messageLayout.cornersRadius.granularRoundedCorners() + else -> RoundedCorners(dimensionConverter.dpToPx(8)) } holder.staticMapImageView.updateLayoutParams { width = mapWidth diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageVoiceItem.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageVoiceItem.kt index 06e1b8e1d6..d7dce00929 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageVoiceItem.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageVoiceItem.kt @@ -100,10 +100,11 @@ abstract class MessageVoiceItem : AbsMessageItem() { } } - val backgroundTint = if (attributes.informationData.messageLayout is TimelineMessageLayout.Bubble) { + val backgroundTint = if (attributes.informationData.messageLayout is TimelineMessageLayout.Bubble || + attributes.informationData.messageLayout is TimelineMessageLayout.ScBubble) { Color.TRANSPARENT } else { - ThemeUtils.getColor(holder.view.context, R.attr.vctr_content_quinary) + ThemeUtils.getColor(holder.view.context, R.attr.sc_message_bg_incoming) } holder.voicePlaybackLayout.backgroundTintList = ColorStateList.valueOf(backgroundTint) holder.voicePlaybackControlButton.setOnClickListener { playbackControlButtonClickListener?.invoke(it) } @@ -146,6 +147,11 @@ abstract class MessageVoiceItem : AbsMessageItem() { voiceMessagePlaybackTracker.unTrack(attributes.informationData.eventId) } + override fun applyScBubbleStyle(messageLayout: TimelineMessageLayout.ScBubble, holder: Holder) { + // Undo padding from TimelineContentMediaPillStyle + holder.voicePlaybackLayout.setPadding(0, 0, 0, 0) + } + override fun getViewStubId() = STUB_ID class Holder : AbsMessageItem.Holder(STUB_ID) { diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/url/PreviewUrlView.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/url/PreviewUrlView.kt index e42e69b8c7..ca76c1e34d 100755 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/url/PreviewUrlView.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/url/PreviewUrlView.kt @@ -87,6 +87,7 @@ class PreviewUrlView @JvmOverloads constructor( val guidelineBegin = DimensionConverter(resources).dpToPx(8) views.urlPreviewStartGuideline.setGuidelineBegin(guidelineBegin) } + is TimelineMessageLayout.ScBubble, is TimelineMessageLayout.Bubble -> { setCardBackgroundColor(Color.TRANSPARENT) rippleColor = ColorStateList.valueOf(Color.TRANSPARENT) diff --git a/vector/src/main/res/layout/item_timeline_event_file_stub.xml b/vector/src/main/res/layout/item_timeline_event_file_stub.xml index ca7211ffff..9b3d69df42 100644 --- a/vector/src/main/res/layout/item_timeline_event_file_stub.xml +++ b/vector/src/main/res/layout/item_timeline_event_file_stub.xml @@ -18,8 +18,8 @@ diff --git a/vector/src/main/res/layout/item_timeline_event_voice_stub.xml b/vector/src/main/res/layout/item_timeline_event_voice_stub.xml index a5911cddee..9186ee8d55 100644 --- a/vector/src/main/res/layout/item_timeline_event_voice_stub.xml +++ b/vector/src/main/res/layout/item_timeline_event_voice_stub.xml @@ -77,7 +77,7 @@ android:layout_height="46dp" android:layout_marginStart="8dp" android:layout_marginTop="8dp" - android:layout_marginEnd="32dp" + android:layout_marginEnd="4dp" android:visibility="gone" tools:visibility="visible" /> diff --git a/vector/src/main/res/values/dimens_sc.xml b/vector/src/main/res/values/dimens_sc.xml index f2b668a925..900225afd9 100644 --- a/vector/src/main/res/values/dimens_sc.xml +++ b/vector/src/main/res/values/dimens_sc.xml @@ -32,4 +32,6 @@ 8dp 4dp + 32dp +