From b38ada30e6a3479d68551f8ed9d22877c0b0b81d Mon Sep 17 00:00:00 2001 From: tiann Date: Thu, 20 Apr 2023 15:43:40 +0800 Subject: [PATCH] manager: remove html-text dependency --- manager/app/build.gradle.kts | 2 -- .../weishu/kernelsu/ui/component/AboutCard.kt | 33 ++++++++++++------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/manager/app/build.gradle.kts b/manager/app/build.gradle.kts index 4849d872..d92e22ae 100644 --- a/manager/app/build.gradle.kts +++ b/manager/app/build.gradle.kts @@ -88,8 +88,6 @@ dependencies { implementation("com.github.alorma:compose-settings-ui-m3:0.22.0") - implementation("com.github.ireward:compose-html:1.0.2") - ksp("io.github.raamcosta.compose-destinations:ksp:$composeDestinationsVersion") testImplementation("junit:junit:4.13.2") diff --git a/manager/app/src/main/java/me/weishu/kernelsu/ui/component/AboutCard.kt b/manager/app/src/main/java/me/weishu/kernelsu/ui/component/AboutCard.kt index 0dde70b3..e1659ad1 100644 --- a/manager/app/src/main/java/me/weishu/kernelsu/ui/component/AboutCard.kt +++ b/manager/app/src/main/java/me/weishu/kernelsu/ui/component/AboutCard.kt @@ -1,5 +1,7 @@ package me.weishu.kernelsu.ui.component +import android.text.method.LinkMovementMethod +import android.widget.TextView import androidx.compose.foundation.Image import androidx.compose.foundation.layout.* import androidx.compose.foundation.shape.RoundedCornerShape @@ -7,18 +9,20 @@ import androidx.compose.material3.ElevatedCard import androidx.compose.material3.LocalTextStyle import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text -import androidx.compose.runtime.* +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.runtime.MutableState import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import androidx.compose.ui.viewinterop.AndroidView import androidx.compose.ui.window.Dialog import androidx.core.content.res.ResourcesCompat +import androidx.core.text.HtmlCompat import com.google.accompanist.drawablepainter.rememberDrawablePainter -import com.ireward.htmlcompose.HtmlText import me.weishu.kernelsu.BuildConfig import me.weishu.kernelsu.R @@ -87,21 +91,28 @@ private fun AboutCardContent() { Spacer(modifier = Modifier.height(8.dp)) - val uriHandler = LocalUriHandler.current HtmlText( - text = stringResource( + html = stringResource( id = R.string.about_source_code, "GitHub", "Telegram" - ), - linkClicked = { - uriHandler.openUri(it) - }, - style = MaterialTheme.typography.bodyMedium, - fontSize = 16.sp, + ) ) } } } } +} + +@Composable +fun HtmlText(html: String, modifier: Modifier = Modifier) { + AndroidView( + modifier = modifier, + factory = { context -> + TextView(context).also { + it.movementMethod = LinkMovementMethod.getInstance() + } + }, + update = { it.text = HtmlCompat.fromHtml(html, HtmlCompat.FROM_HTML_MODE_COMPACT) } + ) } \ No newline at end of file