From 3c5d8d31ea7e25af20223ed51d10ffe3b1f4553b Mon Sep 17 00:00:00 2001 From: mcarare Date: Tue, 21 Apr 2020 19:05:38 +0300 Subject: [PATCH] For #10083: Adjust thumb offset to thumb circumference to avoid cutoff --- .../fenix/settings/TextPercentageSeekBarPreference.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/src/main/java/org/mozilla/fenix/settings/TextPercentageSeekBarPreference.kt b/app/src/main/java/org/mozilla/fenix/settings/TextPercentageSeekBarPreference.kt index b5b86b7d45..052c6ba470 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/TextPercentageSeekBarPreference.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/TextPercentageSeekBarPreference.kt @@ -37,6 +37,8 @@ import androidx.preference.PreferenceViewHolder import org.mozilla.fenix.R import java.text.NumberFormat +import kotlin.math.PI +import kotlin.math.roundToInt /** * Preference based on android.preference.SeekBarPreference but uses support preference as a base. @@ -54,6 +56,7 @@ import java.text.NumberFormat * Other [SeekBar] specific attributes (e.g. `title, summary, defaultValue, min, max`) * can be set directly on the preference widget layout. */ +@SuppressWarnings("LargeClass") class TextPercentageSeekBarPreference @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, @@ -268,6 +271,9 @@ class TextPercentageSeekBarPreference @JvmOverloads constructor( updateExampleTextValue(mSeekBarValue) updateLabelValue(mSeekBarValue) mSeekBar?.isEnabled = isEnabled + mSeekBar?.let { + it.thumbOffset = it.thumb.intrinsicWidth.div(2 * PI).roundToInt() + } } override fun onSetInitialValue(initialValue: Any?) {