From a44322b120907d15e7f9a3d0e987df4b46417232 Mon Sep 17 00:00:00 2001 From: Emily Kager Date: Thu, 16 May 2019 13:30:09 -0700 Subject: [PATCH] Update mapping to represent steps of 5 from 50-200 --- .../fenix/settings/AccessibilityFragment.kt | 7 +++-- ...a => TextPercentageSeekBarPreference.java} | 27 +++++++++++-------- .../res/layout/layout_percentage_seek_bar.xml | 9 ++++--- app/src/main/res/values/colors.xml | 2 ++ .../res/xml/accessibility_preferences.xml | 13 ++++----- 5 files changed, 35 insertions(+), 23 deletions(-) rename app/src/main/java/org/mozilla/fenix/settings/{PercentageSeekBarPreference.java => TextPercentageSeekBarPreference.java} (95%) diff --git a/app/src/main/java/org/mozilla/fenix/settings/AccessibilityFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/AccessibilityFragment.kt index 0e400bd33..e40542bd9 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/AccessibilityFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/AccessibilityFragment.kt @@ -17,11 +17,12 @@ class AccessibilityFragment : PreferenceFragmentCompat() { (activity as AppCompatActivity).title = getString(R.string.preferences_accessibility) (activity as AppCompatActivity).supportActionBar?.show() val textSizePreference = - findPreference(getString(R.string.pref_key_accessibility_font_scale)) + findPreference(getString(R.string.pref_key_accessibility_font_scale)) textSizePreference?.onPreferenceChangeListener = Preference.OnPreferenceChangeListener { _, newValue -> (newValue as? Int).let { - val newTextScale = (newValue as Int).toFloat() / PERCENT_TO_DECIMAL + // Value is mapped from 0->30 in steps of 1 so let's convert to float in range 0.5->2.0 + val newTextScale = ((newValue as Int * STEP_SIZE) + MIN_SCALE_VALUE).toFloat() / PERCENT_TO_DECIMAL Settings.getInstance(context!!).setFontSizeFactor(newTextScale) } true @@ -33,6 +34,8 @@ class AccessibilityFragment : PreferenceFragmentCompat() { } companion object { + const val MIN_SCALE_VALUE = 50 + const val STEP_SIZE = 5 const val PERCENT_TO_DECIMAL = 100f } } diff --git a/app/src/main/java/org/mozilla/fenix/settings/PercentageSeekBarPreference.java b/app/src/main/java/org/mozilla/fenix/settings/TextPercentageSeekBarPreference.java similarity index 95% rename from app/src/main/java/org/mozilla/fenix/settings/PercentageSeekBarPreference.java rename to app/src/main/java/org/mozilla/fenix/settings/TextPercentageSeekBarPreference.java index 1605b7e81..f9994b222 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/PercentageSeekBarPreference.java +++ b/app/src/main/java/org/mozilla/fenix/settings/TextPercentageSeekBarPreference.java @@ -50,8 +50,11 @@ import java.text.NumberFormat; * max}) * can be set directly on the preference widget layout. */ -public class PercentageSeekBarPreference extends Preference { +public class TextPercentageSeekBarPreference extends Preference { private static final String TAG = "SeekBarPreference"; + private static final int STEP_SIZE = 5; + private static final int MIN_VALUE = 50; + private static final float DECIMAL_CONVERSION = 100f; @SuppressWarnings("WeakerAccess") /* synthetic access */ int mSeekBarValue; @SuppressWarnings("WeakerAccess") /* synthetic access */ @@ -134,7 +137,7 @@ public class PercentageSeekBarPreference extends Preference { } }; - public PercentageSeekBarPreference( + public TextPercentageSeekBarPreference( Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); @@ -154,15 +157,15 @@ public class PercentageSeekBarPreference extends Preference { a.recycle(); } - public PercentageSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr) { + public TextPercentageSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr) { this(context, attrs, defStyleAttr, 0); } - public PercentageSeekBarPreference(Context context, AttributeSet attrs) { + public TextPercentageSeekBarPreference(Context context, AttributeSet attrs) { this(context, attrs, R.attr.seekBarPreferenceStyle); } - public PercentageSeekBarPreference(Context context) { + public TextPercentageSeekBarPreference(Context context) { this(context, null); } @@ -415,23 +418,25 @@ public class PercentageSeekBarPreference extends Preference { @SuppressWarnings("WeakerAccess") /* synthetic access */ void updateLabelValue(int value) { if (mSeekBarValueTextView != null) { - double m = value / 100d; - final String percentage = NumberFormat.getPercentInstance().format(m); + value = (value * STEP_SIZE) + MIN_VALUE; + final double decimalValue = value / DECIMAL_CONVERSION; + final String percentage = NumberFormat.getPercentInstance().format(decimalValue); mSeekBarValueTextView.setText(percentage); } } /** - * Attempts to update the example TextView text to given text scale size. + * Attempts to update the example TextView text with text scale size. * * @param value the value of text size */ @SuppressWarnings("WeakerAccess") /* synthetic access */ void updateExampleTextValue(int value) { if (mExampleTextTextView != null) { - float decimal = value / 100f; - final float textsize = 16f * decimal; - mExampleTextTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, textsize); + value = (value * STEP_SIZE) + MIN_VALUE; + final float decimal = value / DECIMAL_CONVERSION; + final float textSize = 16f * decimal; + mExampleTextTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, textSize); } } diff --git a/app/src/main/res/layout/layout_percentage_seek_bar.xml b/app/src/main/res/layout/layout_percentage_seek_bar.xml index 4f3b9a507..2223d276a 100644 --- a/app/src/main/res/layout/layout_percentage_seek_bar.xml +++ b/app/src/main/res/layout/layout_percentage_seek_bar.xml @@ -35,8 +35,8 @@ #15141A @color/white_color #cccccc + #E7DFFF + #232749 @color/primary_text_light_theme diff --git a/app/src/main/res/xml/accessibility_preferences.xml b/app/src/main/res/xml/accessibility_preferences.xml index 000add156..78f496549 100644 --- a/app/src/main/res/xml/accessibility_preferences.xml +++ b/app/src/main/res/xml/accessibility_preferences.xml @@ -5,16 +5,17 @@ - +