From 05623ea6795d92091e049f502f7ed4dc5a95ad01 Mon Sep 17 00:00:00 2001 From: Chiara Chiappini Date: Thu, 18 Jun 2026 13:37:49 +0100 Subject: [PATCH 1/2] Fixes padding for html --- .../designsystem/component/HtmlTextContainer.kt | 10 ++++++++-- .../com/example/jetcaster/ui/episode/EpisodeScreen.kt | 9 ++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Jetcaster/core/designsystem/src/main/java/com/example/jetcaster/designsystem/component/HtmlTextContainer.kt b/Jetcaster/core/designsystem/src/main/java/com/example/jetcaster/designsystem/component/HtmlTextContainer.kt index b9e8bd06b2..3dccbfc5e0 100644 --- a/Jetcaster/core/designsystem/src/main/java/com/example/jetcaster/designsystem/component/HtmlTextContainer.kt +++ b/Jetcaster/core/designsystem/src/main/java/com/example/jetcaster/designsystem/component/HtmlTextContainer.kt @@ -22,16 +22,22 @@ import androidx.compose.runtime.remember import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.fromHtml +import androidx.compose.ui.Modifier + /** * A container for text that should be HTML formatted. This container will handle building the * annotated string from [text], and enable text selection if [text] has any selectable element. */ @Composable -fun HtmlTextContainer(text: String, content: @Composable (AnnotatedString) -> Unit) { +fun HtmlTextContainer( + text: String, + modifier: Modifier = Modifier, + content: @Composable (AnnotatedString) -> Unit +) { val annotatedString = remember(key1 = text) { AnnotatedString.fromHtml(htmlString = text) } - SelectionContainer { + SelectionContainer(modifier = modifier) { content(annotatedString) } } diff --git a/Jetcaster/wear/src/main/java/com/example/jetcaster/ui/episode/EpisodeScreen.kt b/Jetcaster/wear/src/main/java/com/example/jetcaster/ui/episode/EpisodeScreen.kt index 90457a4e72..cd4d6e07f6 100644 --- a/Jetcaster/wear/src/main/java/com/example/jetcaster/ui/episode/EpisodeScreen.kt +++ b/Jetcaster/wear/src/main/java/com/example/jetcaster/ui/episode/EpisodeScreen.kt @@ -51,6 +51,7 @@ import androidx.wear.compose.material3.PlaceholderState import androidx.wear.compose.material3.ScreenScaffold import androidx.wear.compose.material3.SurfaceTransformation import androidx.wear.compose.material3.Text +import androidx.wear.compose.material3.TextDefaults import androidx.wear.compose.material3.lazy.TransformationSpec import androidx.wear.compose.material3.lazy.rememberTransformationSpec import androidx.wear.compose.material3.lazy.transformedHeight @@ -298,7 +299,13 @@ private fun TransformingLazyColumnScope.episodeInfoContent(episode: PlayerEpisod if (summary != null) { val summaryInParagraphs = summary.split("\n+".toRegex()).orEmpty() items(summaryInParagraphs) { - HtmlTextContainer(text = summary) { + HtmlTextContainer( + text = summary, + modifier = Modifier.minimumVerticalContentPadding( + TextDefaults.minimumTopListContentPadding, + TextDefaults.minimumBottomListContentPadding + ) + ) { Text( text = it, style = MaterialTheme.typography.bodySmall, From e72782646d079da3ea19281cb2336a058e421c36 Mon Sep 17 00:00:00 2001 From: Chiara Chiappini Date: Thu, 18 Jun 2026 13:37:49 +0100 Subject: [PATCH 2/2] Fixes padding for html --- .../designsystem/component/HtmlTextContainer.kt | 10 ++++++++-- .../com/example/jetcaster/ui/episode/EpisodeScreen.kt | 9 ++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Jetcaster/core/designsystem/src/main/java/com/example/jetcaster/designsystem/component/HtmlTextContainer.kt b/Jetcaster/core/designsystem/src/main/java/com/example/jetcaster/designsystem/component/HtmlTextContainer.kt index b9e8bd06b2..3dccbfc5e0 100644 --- a/Jetcaster/core/designsystem/src/main/java/com/example/jetcaster/designsystem/component/HtmlTextContainer.kt +++ b/Jetcaster/core/designsystem/src/main/java/com/example/jetcaster/designsystem/component/HtmlTextContainer.kt @@ -22,16 +22,22 @@ import androidx.compose.runtime.remember import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.fromHtml +import androidx.compose.ui.Modifier + /** * A container for text that should be HTML formatted. This container will handle building the * annotated string from [text], and enable text selection if [text] has any selectable element. */ @Composable -fun HtmlTextContainer(text: String, content: @Composable (AnnotatedString) -> Unit) { +fun HtmlTextContainer( + text: String, + modifier: Modifier = Modifier, + content: @Composable (AnnotatedString) -> Unit +) { val annotatedString = remember(key1 = text) { AnnotatedString.fromHtml(htmlString = text) } - SelectionContainer { + SelectionContainer(modifier = modifier) { content(annotatedString) } } diff --git a/Jetcaster/wear/src/main/java/com/example/jetcaster/ui/episode/EpisodeScreen.kt b/Jetcaster/wear/src/main/java/com/example/jetcaster/ui/episode/EpisodeScreen.kt index 90457a4e72..cd4d6e07f6 100644 --- a/Jetcaster/wear/src/main/java/com/example/jetcaster/ui/episode/EpisodeScreen.kt +++ b/Jetcaster/wear/src/main/java/com/example/jetcaster/ui/episode/EpisodeScreen.kt @@ -51,6 +51,7 @@ import androidx.wear.compose.material3.PlaceholderState import androidx.wear.compose.material3.ScreenScaffold import androidx.wear.compose.material3.SurfaceTransformation import androidx.wear.compose.material3.Text +import androidx.wear.compose.material3.TextDefaults import androidx.wear.compose.material3.lazy.TransformationSpec import androidx.wear.compose.material3.lazy.rememberTransformationSpec import androidx.wear.compose.material3.lazy.transformedHeight @@ -298,7 +299,13 @@ private fun TransformingLazyColumnScope.episodeInfoContent(episode: PlayerEpisod if (summary != null) { val summaryInParagraphs = summary.split("\n+".toRegex()).orEmpty() items(summaryInParagraphs) { - HtmlTextContainer(text = summary) { + HtmlTextContainer( + text = summary, + modifier = Modifier.minimumVerticalContentPadding( + TextDefaults.minimumTopListContentPadding, + TextDefaults.minimumBottomListContentPadding + ) + ) { Text( text = it, style = MaterialTheme.typography.bodySmall,