Skip to content

Commit 52e8835

Browse files
authored
Merge pull request #137 from halilozercan/halilozercan/1.0.0-alpha01
Update Compose version to 1.6.0
2 parents bbc25a2 + 00cc29a commit 52e8835

7 files changed

Lines changed: 24 additions & 21 deletions

File tree

buildSrc/src/main/kotlin/Dependencies.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ val ktlint = "org.jlleitschuh.gradle:ktlint-gradle:10.0.0"
3232
object Compose {
3333
val version = "1.5.4"
3434
val compilerVersion = "1.5.8"
35-
val desktopVersion = "1.5.12"
36-
val activity = "androidx.activity:activity-compose:1.7.2"
35+
val desktopVersion = "1.6.0"
36+
val activity = "androidx.activity:activity-compose:1.8.2"
37+
val annotatedText = "io.github.aghajari:AnnotatedText:1.0.3"
3738
val toolingData = "androidx.compose.ui:ui-tooling-data:$version"
3839
val multiplatformUiUtil = "org.jetbrains.compose.ui:ui-util:$desktopVersion"
3940
val coil = "io.coil-kt:coil-compose:2.5.0"

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ kotlin.code.style=official
2222
systemProp.org.gradle.internal.publish.checksums.insecure=true
2323

2424
GROUP=com.halilibo.compose-richtext
25-
VERSION_NAME=0.20.0
25+
VERSION_NAME=1.0.0-alpha01
2626

2727
POM_DESCRIPTION=A collection of Compose libraries for advanced text formatting and alternative display types.
2828

printing/src/main/java/com/zachklipp/richtext/ui/printing/Printable.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,9 +165,7 @@ public abstract class PrintableController {
165165
onDispose { controller.unregisterComposable(printable) }
166166
}
167167

168-
BoxWithConstraints {
169-
Box(modifier) { content() }
170-
}
168+
Box(modifier) { content() }
171169
}
172170

173171
private tailrec fun Context.findComponentActivity(): ComponentActivity? {

richtext-markdown/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ kotlin {
2626
val androidMain by getting {
2727
dependencies {
2828
implementation(Compose.coil)
29+
implementation(Compose.annotatedText)
2930

3031
implementation(Commonmark.core)
3132
implementation(Commonmark.tables)

richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,23 @@ import android.os.Build.VERSION_CODES
55
import android.text.Html
66
import android.widget.TextView
77
import androidx.compose.runtime.Composable
8+
import androidx.compose.runtime.remember
9+
import androidx.compose.ui.util.fastForEach
810
import androidx.compose.ui.viewinterop.AndroidView
11+
import com.aghajari.compose.text.BasicAnnotatedText
12+
import com.aghajari.compose.text.fromHtml
13+
import com.halilibo.richtext.ui.RichTextScope
14+
import com.halilibo.richtext.ui.string.Text
15+
import com.halilibo.richtext.ui.string.richTextString
916

1017
@Composable
11-
internal actual fun HtmlBlock(content: String) {
12-
AndroidView(
13-
factory = { context ->
14-
// TODO: pass current styling to legacy TextView
15-
TextView(context)
16-
},
17-
update = {
18-
it.text = if (VERSION.SDK_INT >= VERSION_CODES.N) {
19-
Html.fromHtml(content, 0)
20-
} else {
21-
@Suppress("DEPRECATION")
22-
Html.fromHtml(content)
18+
internal actual fun RichTextScope.HtmlBlock(content: String) {
19+
val richTextString = remember(content) {
20+
richTextString {
21+
withAnnotatedString {
22+
append(content.fromHtml().annotatedString)
2323
}
2424
}
25-
)
25+
}
26+
Text(richTextString)
2627
}
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
package com.halilibo.richtext.markdown
22

33
import androidx.compose.runtime.Composable
4+
import com.halilibo.richtext.ui.RichTextScope
45

56
/**
67
* Android and JVM can have different WebView or HTML rendering implementations.
78
* We are leaving HTML rendering to platform side.
89
*/
910
@Composable
10-
internal expect fun HtmlBlock(content: String)
11+
internal expect fun RichTextScope.HtmlBlock(content: String)

richtext-markdown/src/jvmMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ package com.halilibo.richtext.markdown
33
import androidx.compose.foundation.text.BasicText
44
import androidx.compose.runtime.Composable
55
import androidx.compose.runtime.DisposableEffect
6+
import com.halilibo.richtext.ui.RichTextScope
67

78
@Composable
8-
internal actual fun HtmlBlock(content: String) {
9+
internal actual fun RichTextScope.HtmlBlock(content: String) {
910
DisposableEffect(Unit) {
1011
println("Html blocks are rendered literally in Compose Desktop!")
1112
onDispose { }

0 commit comments

Comments
 (0)