|
1 | 1 | package com.anysoftkeyboard.janus.app.ui |
2 | 2 |
|
| 3 | +import android.os.Build |
3 | 4 | import android.text.Html |
4 | 5 | import android.text.method.LinkMovementMethod |
5 | 6 | import android.widget.TextView |
@@ -38,6 +39,15 @@ import com.anysoftkeyboard.janus.app.ui.data.UiTranslation |
38 | 39 | import com.anysoftkeyboard.janus.app.viewmodels.TranslateViewModel |
39 | 40 | import com.anysoftkeyboard.janus.network.SearchResult |
40 | 41 |
|
| 42 | +private fun setHtmlToText(view: TextView, snippet: String) { |
| 43 | + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { |
| 44 | + view.text = Html.fromHtml(snippet, Html.FROM_HTML_MODE_COMPACT) |
| 45 | + } else { |
| 46 | + @Suppress("DEPRECATION") |
| 47 | + view.text = Html.fromHtml(snippet) |
| 48 | + } |
| 49 | +} |
| 50 | + |
41 | 51 | @Composable |
42 | 52 | fun TranslateScreen(viewModel: TranslateViewModel) { |
43 | 53 | var text by remember { mutableStateOf("") } |
@@ -92,7 +102,7 @@ fun SearchResultItem(result: SearchResult, onClick: () -> Unit) { |
92 | 102 | factory = { context -> |
93 | 103 | TextView(context).apply { movementMethod = LinkMovementMethod.getInstance() } |
94 | 104 | }, |
95 | | - update = { it.text = Html.fromHtml(result.snippet, Html.FROM_HTML_MODE_COMPACT) }) |
| 105 | + update = { setHtmlToText(it, result.snippet) }) |
96 | 106 | } |
97 | 107 | } |
98 | 108 | } |
@@ -132,9 +142,7 @@ fun TranslationCard(translation: UiTranslation) { |
132 | 142 | factory = { context -> |
133 | 143 | TextView(context).apply { movementMethod = LinkMovementMethod.getInstance() } |
134 | 144 | }, |
135 | | - update = { |
136 | | - it.text = Html.fromHtml(translation.shortDescription ?: "", Html.FROM_HTML_MODE_COMPACT) |
137 | | - }) |
| 145 | + update = { setHtmlToText(it, translation.shortDescription ?: "") }) |
138 | 146 | IconButton(onClick = { /* TODO */ }) { |
139 | 147 | Icon(imageVector = translation.favoriteIcon, contentDescription = "Favorite") |
140 | 148 | } |
|
0 commit comments