From 5f2aaeac575548a1984bb256c0150b7fcb0e2f2d Mon Sep 17 00:00:00 2001 From: arkon Date: Thu, 9 Jan 2020 21:32:30 -0500 Subject: [PATCH] Remove reflection to get TextView color field (closes #2469) --- .../tachiyomi/ui/reader/PageIndicatorTextView.kt | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/PageIndicatorTextView.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/PageIndicatorTextView.kt index a938039720..c467ce0db0 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/PageIndicatorTextView.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/PageIndicatorTextView.kt @@ -24,12 +24,12 @@ class PageIndicatorTextView( private val strokeColor = Color.rgb(45, 45, 45) override fun onDraw(canvas: Canvas) { - textColorField.set(this, strokeColor) + setTextColor(strokeColor) paint.strokeWidth = 4f paint.style = Paint.Style.STROKE super.onDraw(canvas) - textColorField.set(this, fillColor) + setTextColor(fillColor) paint.strokeWidth = 0f paint.style = Paint.Style.FILL super.onDraw(canvas) @@ -50,12 +50,4 @@ class PageIndicatorTextView( super.setText(finalText, TextView.BufferType.SPANNABLE) } - - private companion object { - // We need to use reflection to set the text color instead of using [setTextColor], - // otherwise the view is invalidated inside [onDraw] and there's an infinite loop - val textColorField = TextView::class.java.getDeclaredField("mCurTextColor").apply { - isAccessible = true - }!! - } }