Skip to content

Commit 613cc1b

Browse files
committed
Merge branch 'bullet-fix-2' into temp-integration-pt3
Conflicts: utility/src/main/java/org/oppia/util/parser/HtmlParser.kt
2 parents dab0642 + a775f02 commit 613cc1b

File tree

3 files changed

+22
-12
lines changed

3 files changed

+22
-12
lines changed

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

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import android.text.style.BulletSpan
99
import android.text.style.ClickableSpan
1010
import android.view.View
1111
import android.widget.TextView
12+
import androidx.appcompat.app.AppCompatActivity
1213
import org.xml.sax.Attributes
1314
import javax.inject.Inject
1415

@@ -23,6 +24,7 @@ private const val CUSTOM_CONCEPT_CARD_TAG = "oppia-concept-card-link"
2324
class HtmlParser private constructor(
2425
private val urlImageParserFactory: UrlImageParser.Factory,
2526
private val gcsResourceName: String,
27+
private val activity: AppCompatActivity,
2628
private val entityType: String,
2729
private val entityId: String,
2830
private val imageCenterAlign: Boolean,
@@ -73,7 +75,7 @@ class HtmlParser private constructor(
7375
val end = spannableBuilder.getSpanEnd(it)
7476
spannableBuilder.removeSpan(it)
7577
spannableBuilder.setSpan(
76-
ImprovedBulletSpan(),
78+
ImprovedBulletSpan(activity),
7779
start,
7880
end,
7981
Spanned.SPAN_INCLUSIVE_EXCLUSIVE
@@ -125,13 +127,15 @@ class HtmlParser private constructor(
125127
}
126128

127129
/** Factory for creating new [HtmlParser]s. */
128-
class Factory @Inject constructor(private val urlImageParserFactory: UrlImageParser.Factory) {
130+
class Factory @Inject constructor(
131+
private val urlImageParserFactory: UrlImageParser.Factory, private val activity: AppCompatActivity
132+
) {
129133
/**
130134
* Returns a new [HtmlParser] with the specified entity type and ID for loading images, and an optionally specified
131135
* [CustomOppiaTagActionListener] for handling custom Oppia tag events.
132136
*/
133137
fun create(gcsResourceName: String, entityType: String, entityId: String, imageCenterAlign: Boolean, customOppiaTagActionListener: CustomOppiaTagActionListener? = null): HtmlParser {
134-
return HtmlParser(urlImageParserFactory, gcsResourceName, entityType, entityId, imageCenterAlign, customOppiaTagActionListener)
138+
return HtmlParser(urlImageParserFactory, gcsResourceName, activity, entityType, entityId, imageCenterAlign, customOppiaTagActionListener)
135139
}
136140
}
137141
}

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)