Loading res/xml/tts_settings.xml +2 −2 Original line number Original line Diff line number Diff line Loading @@ -34,14 +34,14 @@ <!-- The max value for seek bars here should be kept in sync <!-- The max value for seek bars here should be kept in sync with the max value specified in TextToSpeechSettings class. --> with the max value specified in TextToSpeechSettings class. --> <com.android.settings.widget.SeekBarPreference <com.android.settingslib.widget.SliderPreference android:key="tts_default_rate" android:key="tts_default_rate" android:title="@string/tts_default_rate_title" android:title="@string/tts_default_rate_title" android:summary="@string/tts_default_rate_summary" android:summary="@string/tts_default_rate_summary" android:defaultValue="50" android:defaultValue="50" android:max="600"/> android:max="600"/> <com.android.settings.widget.SeekBarPreference <com.android.settingslib.widget.SliderPreference android:key="tts_default_pitch" android:key="tts_default_pitch" android:title="@string/tts_default_pitch_title" android:title="@string/tts_default_pitch_title" android:summary="@string/tts_default_pitch_summary" android:summary="@string/tts_default_pitch_summary" Loading src/com/android/settings/tts/TextToSpeechSettings.java +32 −34 Original line number Original line Diff line number Diff line Loading @@ -49,7 +49,7 @@ import com.android.settings.Utils; import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.widget.GearPreference; import com.android.settings.widget.GearPreference; import com.android.settings.widget.SeekBarPreference; import com.android.settingslib.widget.SliderPreference; import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.widget.ActionButtonsPreference; import com.android.settingslib.widget.ActionButtonsPreference; Loading Loading @@ -114,8 +114,8 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment private static final int MIN_SPEECH_PITCH = 25; private static final int MIN_SPEECH_PITCH = 25; private SeekBarPreference mDefaultPitchPref; private SliderPreference mDefaultPitchPref; private SeekBarPreference mDefaultRatePref; private SliderPreference mDefaultRatePref; private ActionButtonsPreference mActionButtons; private ActionButtonsPreference mActionButtons; private int mDefaultPitch = TextToSpeech.Engine.DEFAULT_PITCH; private int mDefaultPitch = TextToSpeech.Engine.DEFAULT_PITCH; Loading Loading @@ -174,8 +174,8 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment mLocalePreference = (ListPreference) findPreference(KEY_ENGINE_LOCALE); mLocalePreference = (ListPreference) findPreference(KEY_ENGINE_LOCALE); mLocalePreference.setOnPreferenceChangeListener(this); mLocalePreference.setOnPreferenceChangeListener(this); mDefaultPitchPref = (SeekBarPreference) findPreference(KEY_DEFAULT_PITCH); mDefaultPitchPref = (SliderPreference) findPreference(KEY_DEFAULT_PITCH); mDefaultRatePref = (SeekBarPreference) findPreference(KEY_DEFAULT_RATE); mDefaultRatePref = (SliderPreference) findPreference(KEY_DEFAULT_RATE); mActionButtons = ((ActionButtonsPreference) findPreference(KEY_ACTION_BUTTONS)) mActionButtons = ((ActionButtonsPreference) findPreference(KEY_ACTION_BUTTONS)) .setButton1Text(R.string.tts_play) .setButton1Text(R.string.tts_play) Loading Loading @@ -317,18 +317,16 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment android.provider.Settings.Secure.getInt( android.provider.Settings.Secure.getInt( resolver, TTS_DEFAULT_PITCH, TextToSpeech.Engine.DEFAULT_PITCH); resolver, TTS_DEFAULT_PITCH, TextToSpeech.Engine.DEFAULT_PITCH); mDefaultRatePref.setProgress(getSeekBarProgressFromValue(KEY_DEFAULT_RATE, mDefaultRate)); mDefaultRatePref.setValue(getSliderProgressFromValue(KEY_DEFAULT_RATE, mDefaultRate)); mDefaultRatePref.setOnPreferenceChangeListener(this); mDefaultRatePref.setOnPreferenceChangeListener(this); mDefaultRatePref.setMax(getSeekBarProgressFromValue(KEY_DEFAULT_RATE, MAX_SPEECH_RATE)); mDefaultRatePref.setMax(getSliderProgressFromValue(KEY_DEFAULT_RATE, MAX_SPEECH_RATE)); mDefaultRatePref.setContinuousUpdates(true); mDefaultRatePref.setUpdatesContinuously(true); mDefaultRatePref.setHapticFeedbackMode(SeekBarPreference.HAPTIC_FEEDBACK_MODE_ON_ENDS); mDefaultPitchPref.setProgress( mDefaultPitchPref.setValue( getSeekBarProgressFromValue(KEY_DEFAULT_PITCH, mDefaultPitch)); getSliderProgressFromValue(KEY_DEFAULT_PITCH, mDefaultPitch)); mDefaultPitchPref.setOnPreferenceChangeListener(this); mDefaultPitchPref.setOnPreferenceChangeListener(this); mDefaultPitchPref.setMax(getSeekBarProgressFromValue(KEY_DEFAULT_PITCH, MAX_SPEECH_PITCH)); mDefaultPitchPref.setMax(getSliderProgressFromValue(KEY_DEFAULT_PITCH, MAX_SPEECH_PITCH)); mDefaultPitchPref.setContinuousUpdates(true); mDefaultPitchPref.setUpdatesContinuously(true); mDefaultPitchPref.setHapticFeedbackMode(SeekBarPreference.HAPTIC_FEEDBACK_MODE_ON_ENDS); if (mTts != null) { if (mTts != null) { mCurrentEngine = mTts.getCurrentEngine(); mCurrentEngine = mTts.getCurrentEngine(); Loading Loading @@ -356,12 +354,12 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment } } /** /** * The minimum speech pitch/rate value should be > 0 but the minimum value of a seekbar in * 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 seekbar progress with MIN_SPEECH_VALUE so * android is fixed at 0. Therefore, we increment the slider progress with MIN_SPEECH_VALUE so * that the minimum seekbar progress value is MIN_SPEECH_PITCH/RATE. SPEECH_VALUE = * that the minimum slider progress value is MIN_SPEECH_PITCH/RATE. SPEECH_VALUE = * MIN_SPEECH_VALUE + SEEKBAR_PROGRESS * 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)) { if (preferenceKey.equals(KEY_DEFAULT_RATE)) { return MIN_SPEECH_RATE + progress; return MIN_SPEECH_RATE + progress; } else if (preferenceKey.equals(KEY_DEFAULT_PITCH)) { } else if (preferenceKey.equals(KEY_DEFAULT_PITCH)) { Loading @@ -371,10 +369,10 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment } } /** /** * Since we are appending the MIN_SPEECH value to the speech seekbar progress, the speech * Since we are appending the MIN_SPEECH value to the speech slider progress, the speech * seekbar progress should be set to (speechValue - MIN_SPEECH value). * 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)) { if (preferenceKey.equals(KEY_DEFAULT_RATE)) { return value - MIN_SPEECH_RATE; return value - MIN_SPEECH_RATE; } else if (preferenceKey.equals(KEY_DEFAULT_PITCH)) { } else if (preferenceKey.equals(KEY_DEFAULT_PITCH)) { Loading Loading @@ -686,20 +684,20 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment private void resetTts() { private void resetTts() { // Reset button. // Reset button. int speechRateSeekbarProgress = int speechRateSliderProgress = getSeekBarProgressFromValue( getSliderProgressFromValue( KEY_DEFAULT_RATE, TextToSpeech.Engine.DEFAULT_RATE); KEY_DEFAULT_RATE, TextToSpeech.Engine.DEFAULT_RATE); mDefaultRatePref.setProgress(speechRateSeekbarProgress); mDefaultRatePref.setValue(speechRateSliderProgress); updateSpeechRate(speechRateSeekbarProgress); updateSpeechRate(speechRateSliderProgress); int pitchSeekbarProgress = int pitchSliderProgress = getSeekBarProgressFromValue( getSliderProgressFromValue( KEY_DEFAULT_PITCH, TextToSpeech.Engine.DEFAULT_PITCH); KEY_DEFAULT_PITCH, TextToSpeech.Engine.DEFAULT_PITCH); mDefaultPitchPref.setProgress(pitchSeekbarProgress); mDefaultPitchPref.setValue(pitchSliderProgress); updateSpeechPitchValue(pitchSeekbarProgress); updateSpeechPitchValue(pitchSliderProgress); } } private void updateSpeechRate(int speechRateSeekBarProgress) { private void updateSpeechRate(int speechRateSliderProgress) { mDefaultRate = getValueFromSeekBarProgress(KEY_DEFAULT_RATE, speechRateSeekBarProgress); mDefaultRate = getValueFromSliderProgress(KEY_DEFAULT_RATE, speechRateSliderProgress); try { try { updateTTSSetting(TTS_DEFAULT_RATE, mDefaultRate); updateTTSSetting(TTS_DEFAULT_RATE, mDefaultRate); if (mTts != null) { if (mTts != null) { Loading @@ -712,8 +710,8 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment return; return; } } private void updateSpeechPitchValue(int speechPitchSeekBarProgress) { private void updateSpeechPitchValue(int speechPitchSliderProgress) { mDefaultPitch = getValueFromSeekBarProgress(KEY_DEFAULT_PITCH, speechPitchSeekBarProgress); mDefaultPitch = getValueFromSliderProgress(KEY_DEFAULT_PITCH, speechPitchSliderProgress); try { try { updateTTSSetting(TTS_DEFAULT_PITCH, mDefaultPitch); updateTTSSetting(TTS_DEFAULT_PITCH, mDefaultPitch); if (mTts != null) { if (mTts != null) { Loading Loading
res/xml/tts_settings.xml +2 −2 Original line number Original line Diff line number Diff line Loading @@ -34,14 +34,14 @@ <!-- The max value for seek bars here should be kept in sync <!-- The max value for seek bars here should be kept in sync with the max value specified in TextToSpeechSettings class. --> with the max value specified in TextToSpeechSettings class. --> <com.android.settings.widget.SeekBarPreference <com.android.settingslib.widget.SliderPreference android:key="tts_default_rate" android:key="tts_default_rate" android:title="@string/tts_default_rate_title" android:title="@string/tts_default_rate_title" android:summary="@string/tts_default_rate_summary" android:summary="@string/tts_default_rate_summary" android:defaultValue="50" android:defaultValue="50" android:max="600"/> android:max="600"/> <com.android.settings.widget.SeekBarPreference <com.android.settingslib.widget.SliderPreference android:key="tts_default_pitch" android:key="tts_default_pitch" android:title="@string/tts_default_pitch_title" android:title="@string/tts_default_pitch_title" android:summary="@string/tts_default_pitch_summary" android:summary="@string/tts_default_pitch_summary" Loading
src/com/android/settings/tts/TextToSpeechSettings.java +32 −34 Original line number Original line Diff line number Diff line Loading @@ -49,7 +49,7 @@ import com.android.settings.Utils; import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.widget.GearPreference; import com.android.settings.widget.GearPreference; import com.android.settings.widget.SeekBarPreference; import com.android.settingslib.widget.SliderPreference; import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.widget.ActionButtonsPreference; import com.android.settingslib.widget.ActionButtonsPreference; Loading Loading @@ -114,8 +114,8 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment private static final int MIN_SPEECH_PITCH = 25; private static final int MIN_SPEECH_PITCH = 25; private SeekBarPreference mDefaultPitchPref; private SliderPreference mDefaultPitchPref; private SeekBarPreference mDefaultRatePref; private SliderPreference mDefaultRatePref; private ActionButtonsPreference mActionButtons; private ActionButtonsPreference mActionButtons; private int mDefaultPitch = TextToSpeech.Engine.DEFAULT_PITCH; private int mDefaultPitch = TextToSpeech.Engine.DEFAULT_PITCH; Loading Loading @@ -174,8 +174,8 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment mLocalePreference = (ListPreference) findPreference(KEY_ENGINE_LOCALE); mLocalePreference = (ListPreference) findPreference(KEY_ENGINE_LOCALE); mLocalePreference.setOnPreferenceChangeListener(this); mLocalePreference.setOnPreferenceChangeListener(this); mDefaultPitchPref = (SeekBarPreference) findPreference(KEY_DEFAULT_PITCH); mDefaultPitchPref = (SliderPreference) findPreference(KEY_DEFAULT_PITCH); mDefaultRatePref = (SeekBarPreference) findPreference(KEY_DEFAULT_RATE); mDefaultRatePref = (SliderPreference) findPreference(KEY_DEFAULT_RATE); mActionButtons = ((ActionButtonsPreference) findPreference(KEY_ACTION_BUTTONS)) mActionButtons = ((ActionButtonsPreference) findPreference(KEY_ACTION_BUTTONS)) .setButton1Text(R.string.tts_play) .setButton1Text(R.string.tts_play) Loading Loading @@ -317,18 +317,16 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment android.provider.Settings.Secure.getInt( android.provider.Settings.Secure.getInt( resolver, TTS_DEFAULT_PITCH, TextToSpeech.Engine.DEFAULT_PITCH); resolver, TTS_DEFAULT_PITCH, TextToSpeech.Engine.DEFAULT_PITCH); mDefaultRatePref.setProgress(getSeekBarProgressFromValue(KEY_DEFAULT_RATE, mDefaultRate)); mDefaultRatePref.setValue(getSliderProgressFromValue(KEY_DEFAULT_RATE, mDefaultRate)); mDefaultRatePref.setOnPreferenceChangeListener(this); mDefaultRatePref.setOnPreferenceChangeListener(this); mDefaultRatePref.setMax(getSeekBarProgressFromValue(KEY_DEFAULT_RATE, MAX_SPEECH_RATE)); mDefaultRatePref.setMax(getSliderProgressFromValue(KEY_DEFAULT_RATE, MAX_SPEECH_RATE)); mDefaultRatePref.setContinuousUpdates(true); mDefaultRatePref.setUpdatesContinuously(true); mDefaultRatePref.setHapticFeedbackMode(SeekBarPreference.HAPTIC_FEEDBACK_MODE_ON_ENDS); mDefaultPitchPref.setProgress( mDefaultPitchPref.setValue( getSeekBarProgressFromValue(KEY_DEFAULT_PITCH, mDefaultPitch)); getSliderProgressFromValue(KEY_DEFAULT_PITCH, mDefaultPitch)); mDefaultPitchPref.setOnPreferenceChangeListener(this); mDefaultPitchPref.setOnPreferenceChangeListener(this); mDefaultPitchPref.setMax(getSeekBarProgressFromValue(KEY_DEFAULT_PITCH, MAX_SPEECH_PITCH)); mDefaultPitchPref.setMax(getSliderProgressFromValue(KEY_DEFAULT_PITCH, MAX_SPEECH_PITCH)); mDefaultPitchPref.setContinuousUpdates(true); mDefaultPitchPref.setUpdatesContinuously(true); mDefaultPitchPref.setHapticFeedbackMode(SeekBarPreference.HAPTIC_FEEDBACK_MODE_ON_ENDS); if (mTts != null) { if (mTts != null) { mCurrentEngine = mTts.getCurrentEngine(); mCurrentEngine = mTts.getCurrentEngine(); Loading Loading @@ -356,12 +354,12 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment } } /** /** * The minimum speech pitch/rate value should be > 0 but the minimum value of a seekbar in * 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 seekbar progress with MIN_SPEECH_VALUE so * android is fixed at 0. Therefore, we increment the slider progress with MIN_SPEECH_VALUE so * that the minimum seekbar progress value is MIN_SPEECH_PITCH/RATE. SPEECH_VALUE = * that the minimum slider progress value is MIN_SPEECH_PITCH/RATE. SPEECH_VALUE = * MIN_SPEECH_VALUE + SEEKBAR_PROGRESS * 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)) { if (preferenceKey.equals(KEY_DEFAULT_RATE)) { return MIN_SPEECH_RATE + progress; return MIN_SPEECH_RATE + progress; } else if (preferenceKey.equals(KEY_DEFAULT_PITCH)) { } else if (preferenceKey.equals(KEY_DEFAULT_PITCH)) { Loading @@ -371,10 +369,10 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment } } /** /** * Since we are appending the MIN_SPEECH value to the speech seekbar progress, the speech * Since we are appending the MIN_SPEECH value to the speech slider progress, the speech * seekbar progress should be set to (speechValue - MIN_SPEECH value). * 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)) { if (preferenceKey.equals(KEY_DEFAULT_RATE)) { return value - MIN_SPEECH_RATE; return value - MIN_SPEECH_RATE; } else if (preferenceKey.equals(KEY_DEFAULT_PITCH)) { } else if (preferenceKey.equals(KEY_DEFAULT_PITCH)) { Loading Loading @@ -686,20 +684,20 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment private void resetTts() { private void resetTts() { // Reset button. // Reset button. int speechRateSeekbarProgress = int speechRateSliderProgress = getSeekBarProgressFromValue( getSliderProgressFromValue( KEY_DEFAULT_RATE, TextToSpeech.Engine.DEFAULT_RATE); KEY_DEFAULT_RATE, TextToSpeech.Engine.DEFAULT_RATE); mDefaultRatePref.setProgress(speechRateSeekbarProgress); mDefaultRatePref.setValue(speechRateSliderProgress); updateSpeechRate(speechRateSeekbarProgress); updateSpeechRate(speechRateSliderProgress); int pitchSeekbarProgress = int pitchSliderProgress = getSeekBarProgressFromValue( getSliderProgressFromValue( KEY_DEFAULT_PITCH, TextToSpeech.Engine.DEFAULT_PITCH); KEY_DEFAULT_PITCH, TextToSpeech.Engine.DEFAULT_PITCH); mDefaultPitchPref.setProgress(pitchSeekbarProgress); mDefaultPitchPref.setValue(pitchSliderProgress); updateSpeechPitchValue(pitchSeekbarProgress); updateSpeechPitchValue(pitchSliderProgress); } } private void updateSpeechRate(int speechRateSeekBarProgress) { private void updateSpeechRate(int speechRateSliderProgress) { mDefaultRate = getValueFromSeekBarProgress(KEY_DEFAULT_RATE, speechRateSeekBarProgress); mDefaultRate = getValueFromSliderProgress(KEY_DEFAULT_RATE, speechRateSliderProgress); try { try { updateTTSSetting(TTS_DEFAULT_RATE, mDefaultRate); updateTTSSetting(TTS_DEFAULT_RATE, mDefaultRate); if (mTts != null) { if (mTts != null) { Loading @@ -712,8 +710,8 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment return; return; } } private void updateSpeechPitchValue(int speechPitchSeekBarProgress) { private void updateSpeechPitchValue(int speechPitchSliderProgress) { mDefaultPitch = getValueFromSeekBarProgress(KEY_DEFAULT_PITCH, speechPitchSeekBarProgress); mDefaultPitch = getValueFromSliderProgress(KEY_DEFAULT_PITCH, speechPitchSliderProgress); try { try { updateTTSSetting(TTS_DEFAULT_PITCH, mDefaultPitch); updateTTSSetting(TTS_DEFAULT_PITCH, mDefaultPitch); if (mTts != null) { if (mTts != null) { Loading