Skip to content

Commit 97ff918

Browse files
author
Rajat Talesra
committed
Fixes for MDPI devices
1 parent 7b992e5 commit 97ff918

File tree

3 files changed

+20
-12
lines changed

3 files changed

+20
-12
lines changed

utility/src/main/java/org/oppia/util/parser/HtmlParser.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import android.text.SpannableStringBuilder
77
import android.text.Spanned
88
import android.text.style.BulletSpan
99
import android.widget.TextView
10+
import androidx.appcompat.app.AppCompatActivity
1011
import javax.inject.Inject
1112

1213
private const val CUSTOM_IMG_TAG = "oppia-noninteractive-image"
@@ -17,6 +18,7 @@ private const val REPLACE_IMG_FILE_PATH_ATTRIBUTE = "src"
1718
/** Html Parser to parse custom Oppia tags with Android-compatible versions. */
1819
class HtmlParser private constructor(
1920
private val urlImageParserFactory: UrlImageParser.Factory,
21+
private val activity: AppCompatActivity,
2022
private val entityType: String,
2123
private val entityId: String,
2224
private val imageCenterAlign: Boolean
@@ -62,7 +64,7 @@ class HtmlParser private constructor(
6264
val end = spannableBuilder.getSpanEnd(it)
6365
spannableBuilder.removeSpan(it)
6466
spannableBuilder.setSpan(
65-
ImprovedBulletSpan(),
67+
ImprovedBulletSpan(activity),
6668
start,
6769
end,
6870
Spanned.SPAN_INCLUSIVE_EXCLUSIVE
@@ -90,9 +92,9 @@ class HtmlParser private constructor(
9092
return spannable.delete(0, trimStart).delete(spannable.length - trimEnd, spannable.length)
9193
}
9294

93-
class Factory @Inject constructor(private val urlImageParserFactory: UrlImageParser.Factory) {
95+
class Factory @Inject constructor(private val urlImageParserFactory: UrlImageParser.Factory, private val activity: AppCompatActivity) {
9496
fun create(entityType: String, entityId: String, imageCenterAlign: Boolean): HtmlParser {
95-
return HtmlParser(urlImageParserFactory, entityType, entityId, imageCenterAlign)
97+
return HtmlParser(urlImageParserFactory, activity, entityType, entityId, imageCenterAlign)
9698
}
9799
}
98100
}

utility/src/main/java/org/oppia/util/parser/ImprovedBulletSpan.kt

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,29 @@
11
package org.oppia.util.parser
22

3+
import android.content.Context
34
import android.graphics.Canvas
45
import android.graphics.Paint
56
import android.graphics.Path
67
import android.graphics.Path.Direction
78
import android.text.Layout
89
import android.text.Spanned
910
import android.text.style.LeadingMarginSpan
11+
import androidx.appcompat.app.AppCompatActivity
12+
import org.oppia.util.R
1013

1114
/**
1215
* Copy of [android.text.style.BulletSpan] from android SDK 28 with removed internal code.
1316
*
1417
* Reference: https://github.com/davidbilik/bullet-span-sample
1518
*/
16-
class ImprovedBulletSpan(
17-
private val bulletRadius: Int = STANDARD_BULLET_RADIUS,
18-
private val gapWidth: Int = STANDARD_GAP_WIDTH,
19-
val color: Int = STANDARD_COLOR
20-
) : LeadingMarginSpan {
19+
class ImprovedBulletSpan(activity: AppCompatActivity) : LeadingMarginSpan {
2120

22-
companion object {
23-
private const val STANDARD_BULLET_RADIUS = 8
24-
private const val STANDARD_GAP_WIDTH = 32
25-
private const val STANDARD_COLOR = 0
21+
private var bulletRadius: Int = 0
22+
private var gapWidth: Int = 0
23+
24+
init {
25+
bulletRadius = (activity as Context).resources.getDimensionPixelSize(R.dimen.bullet_radius)
26+
gapWidth = (activity as Context).resources.getDimensionPixelSize(R.dimen.bullet_gap_width)
2627
}
2728

2829
private var mBulletPath: Path? = null
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<dimen name="bullet_radius">4dp</dimen>
4+
<dimen name="bullet_gap_width">16dp</dimen>
5+
</resources>

0 commit comments

Comments
 (0)