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