mirror of
https://github.com/element-hq/element-android
synced 2024-11-27 03:48:12 +03:00
Merge pull request #7601 from vector-im/feature/ons/fix_truncated_italic_text
Fix italic text is truncated when bubble mode and markdown is enabled (PSG-1006)
This commit is contained in:
commit
664b0665cf
3 changed files with 13 additions and 1 deletions
1
changelog.d/5679.bugfix
Normal file
1
changelog.d/5679.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
Fix italic text is truncated when bubble mode and markdown is enabled
|
|
@ -29,6 +29,7 @@ import io.mockk.verify
|
|||
import io.noties.markwon.core.spans.EmphasisSpan
|
||||
import io.noties.markwon.core.spans.OrderedListItemSpan
|
||||
import io.noties.markwon.core.spans.StrongEmphasisSpan
|
||||
import me.gujun.android.span.style.CustomTypefaceSpan
|
||||
|
||||
fun Spannable.toTestSpan(): String {
|
||||
var output = toString()
|
||||
|
@ -54,7 +55,7 @@ private fun Any.readTags(): SpanTags {
|
|||
OrderedListItemSpan::class -> SpanTags("[list item]", "[/list item]")
|
||||
HtmlCodeSpan::class -> SpanTags("[code]", "[/code]")
|
||||
StrongEmphasisSpan::class -> SpanTags("[bold]", "[/bold]")
|
||||
EmphasisSpan::class -> SpanTags("[italic]", "[/italic]")
|
||||
EmphasisSpan::class, CustomTypefaceSpan::class -> SpanTags("[italic]", "[/italic]")
|
||||
else -> throw IllegalArgumentException("Unknown ${this::class}")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@ package im.vector.app.features.html
|
|||
|
||||
import android.content.Context
|
||||
import android.content.res.Resources
|
||||
import android.graphics.Typeface
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.text.Spannable
|
||||
import androidx.core.text.toSpannable
|
||||
|
@ -40,6 +41,7 @@ import im.vector.app.features.settings.VectorPreferences
|
|||
import io.noties.markwon.AbstractMarkwonPlugin
|
||||
import io.noties.markwon.Markwon
|
||||
import io.noties.markwon.MarkwonPlugin
|
||||
import io.noties.markwon.MarkwonSpansFactory
|
||||
import io.noties.markwon.PrecomputedFutureTextSetterCompat
|
||||
import io.noties.markwon.ext.latex.JLatexMathPlugin
|
||||
import io.noties.markwon.ext.latex.JLatexMathTheme
|
||||
|
@ -50,6 +52,8 @@ import io.noties.markwon.inlineparser.EntityInlineProcessor
|
|||
import io.noties.markwon.inlineparser.HtmlInlineProcessor
|
||||
import io.noties.markwon.inlineparser.MarkwonInlineParser
|
||||
import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin
|
||||
import me.gujun.android.span.style.CustomTypefaceSpan
|
||||
import org.commonmark.node.Emphasis
|
||||
import org.commonmark.node.Node
|
||||
import org.commonmark.parser.Parser
|
||||
import org.matrix.android.sdk.api.MatrixUrls.isMxcUrl
|
||||
|
@ -123,6 +127,12 @@ class EventHtmlRenderer @Inject constructor(
|
|||
)
|
||||
)
|
||||
.usePlugin(object : AbstractMarkwonPlugin() {
|
||||
override fun configureSpansFactory(builder: MarkwonSpansFactory.Builder) {
|
||||
builder.setFactory(
|
||||
Emphasis::class.java
|
||||
) { _, _ -> CustomTypefaceSpan(Typeface.create(Typeface.DEFAULT, Typeface.ITALIC)) }
|
||||
}
|
||||
|
||||
override fun configureParser(builder: Parser.Builder) {
|
||||
/* Configuring the Markwon block formatting processor.
|
||||
* Default settings are all Markdown blocks. Turn those off.
|
||||
|
|
Loading…
Reference in a new issue