From b44f5c6b34861854861cb61e5a4bef5fe5e02923 Mon Sep 17 00:00:00 2001 From: Ajay Dudani Date: Thu, 9 Jan 2025 14:20:45 -0800 Subject: [PATCH] Settings: TTS: Use a more accurate SliderPreference for speech rate and pitch Bug: 349667984 Flag: EXEMPT bugfix Change-Id: Ie1c214221e2e0e683139cf5f21a44745f4701f05 --- res/xml/tts_settings.xml | 4 +- .../settings/tts/TextToSpeechSettings.java | 66 +++++++++---------- 2 files changed, 34 insertions(+), 36 deletions(-) diff --git a/res/xml/tts_settings.xml b/res/xml/tts_settings.xml index bcc9c85f39d..9e7d0f7d8ed 100644 --- a/res/xml/tts_settings.xml +++ b/res/xml/tts_settings.xml @@ -34,14 +34,14 @@ - - 0 but the minimum value of a seekbar in - * android is fixed at 0. Therefore, we increment the seekbar progress with MIN_SPEECH_VALUE so - * that the minimum seekbar progress value is MIN_SPEECH_PITCH/RATE. SPEECH_VALUE = - * MIN_SPEECH_VALUE + SEEKBAR_PROGRESS + * The minimum speech pitch/rate value should be > 0 but the minimum value of a slider in + * android is fixed at 0. Therefore, we increment the slider progress with MIN_SPEECH_VALUE so + * that the minimum slider progress value is MIN_SPEECH_PITCH/RATE. SPEECH_VALUE = + * MIN_SPEECH_VALUE + SLIDER_PROGRESS */ - private int getValueFromSeekBarProgress(String preferenceKey, int progress) { + private int getValueFromSliderProgress(String preferenceKey, int progress) { if (preferenceKey.equals(KEY_DEFAULT_RATE)) { return MIN_SPEECH_RATE + progress; } else if (preferenceKey.equals(KEY_DEFAULT_PITCH)) { @@ -371,10 +369,10 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment } /** - * Since we are appending the MIN_SPEECH value to the speech seekbar progress, the speech - * seekbar progress should be set to (speechValue - MIN_SPEECH value). + * Since we are appending the MIN_SPEECH value to the speech slider progress, the speech + * slider progress should be set to (speechValue - MIN_SPEECH value). */ - private int getSeekBarProgressFromValue(String preferenceKey, int value) { + private int getSliderProgressFromValue(String preferenceKey, int value) { if (preferenceKey.equals(KEY_DEFAULT_RATE)) { return value - MIN_SPEECH_RATE; } else if (preferenceKey.equals(KEY_DEFAULT_PITCH)) { @@ -686,20 +684,20 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment private void resetTts() { // Reset button. - int speechRateSeekbarProgress = - getSeekBarProgressFromValue( + int speechRateSliderProgress = + getSliderProgressFromValue( KEY_DEFAULT_RATE, TextToSpeech.Engine.DEFAULT_RATE); - mDefaultRatePref.setProgress(speechRateSeekbarProgress); - updateSpeechRate(speechRateSeekbarProgress); - int pitchSeekbarProgress = - getSeekBarProgressFromValue( + mDefaultRatePref.setValue(speechRateSliderProgress); + updateSpeechRate(speechRateSliderProgress); + int pitchSliderProgress = + getSliderProgressFromValue( KEY_DEFAULT_PITCH, TextToSpeech.Engine.DEFAULT_PITCH); - mDefaultPitchPref.setProgress(pitchSeekbarProgress); - updateSpeechPitchValue(pitchSeekbarProgress); + mDefaultPitchPref.setValue(pitchSliderProgress); + updateSpeechPitchValue(pitchSliderProgress); } - private void updateSpeechRate(int speechRateSeekBarProgress) { - mDefaultRate = getValueFromSeekBarProgress(KEY_DEFAULT_RATE, speechRateSeekBarProgress); + private void updateSpeechRate(int speechRateSliderProgress) { + mDefaultRate = getValueFromSliderProgress(KEY_DEFAULT_RATE, speechRateSliderProgress); try { updateTTSSetting(TTS_DEFAULT_RATE, mDefaultRate); if (mTts != null) { @@ -712,8 +710,8 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment return; } - private void updateSpeechPitchValue(int speechPitchSeekBarProgress) { - mDefaultPitch = getValueFromSeekBarProgress(KEY_DEFAULT_PITCH, speechPitchSeekBarProgress); + private void updateSpeechPitchValue(int speechPitchSliderProgress) { + mDefaultPitch = getValueFromSliderProgress(KEY_DEFAULT_PITCH, speechPitchSliderProgress); try { updateTTSSetting(TTS_DEFAULT_PITCH, mDefaultPitch); if (mTts != null) {