diff --git a/utility/src/main/java/org/oppia/util/parser/HtmlParser.kt b/utility/src/main/java/org/oppia/util/parser/HtmlParser.kt index affe7096d5f..c202f69acd6 100755 --- a/utility/src/main/java/org/oppia/util/parser/HtmlParser.kt +++ b/utility/src/main/java/org/oppia/util/parser/HtmlParser.kt @@ -49,12 +49,12 @@ class HtmlParser private constructor( Html.fromHtml( htmlContent, Html.FROM_HTML_MODE_LEGACY, - imageGetter, /* tagHandler= */ - null + imageGetter, + UlTagHandler() ) as SpannableStringBuilder ) } else { - trimSpannable(Html.fromHtml(htmlContent, imageGetter, /* tagHandler= */ null) as SpannableStringBuilder) + trimSpannable(Html.fromHtml(htmlContent, imageGetter, UlTagHandler()) as SpannableStringBuilder) } } diff --git a/utility/src/main/java/org/oppia/util/parser/UlTagHandler.kt b/utility/src/main/java/org/oppia/util/parser/UlTagHandler.kt new file mode 100644 index 00000000000..81969a42a46 --- /dev/null +++ b/utility/src/main/java/org/oppia/util/parser/UlTagHandler.kt @@ -0,0 +1,16 @@ +package org.oppia.util.parser + +import android.text.Editable +import android.text.Html +import android.text.Html.TagHandler +import org.xml.sax.XMLReader + +class UlTagHandler : Html.TagHandler { + override fun handleTag( + opening: Boolean, tag: String, output: Editable, + xmlReader: XMLReader + ) { + if (tag == "ul" && !opening) output.append("\n") + if (tag == "li" && opening) output.append("\n\t• ") + } +}