diff options
author | shwetachahar <shwetachahar@google.com> | 2016-02-12 17:17:33 +0000 |
---|---|---|
committer | shwetachahar <shwetachahar@google.com> | 2016-02-12 22:44:52 +0000 |
commit | bc170fd680e6215225768cc35fe5b148046e6664 (patch) | |
tree | 03c94c85a6eddfbf7c24f7668f1341a1c234e8a5 /src/com/android/settings/tts | |
parent | 6b00d3fe40b250956724c49302cf2dba4ef4ad05 (diff) | |
download | packages_apps_Settings-bc170fd680e6215225768cc35fe5b148046e6664.tar.gz packages_apps_Settings-bc170fd680e6215225768cc35fe5b148046e6664.tar.bz2 packages_apps_Settings-bc170fd680e6215225768cc35fe5b148046e6664.zip |
Add a reset speech rate button to Text-to-Speech settings UI
which resets the speech rate to 1x.
Bug Id: 27166001
Change-Id: Ie5b923e51de645e23ef0ba5d756c271070f11984
Diffstat (limited to 'src/com/android/settings/tts')
-rw-r--r-- | src/com/android/settings/tts/TextToSpeechSettings.java | 42 |
1 files changed, 28 insertions, 14 deletions
diff --git a/src/com/android/settings/tts/TextToSpeechSettings.java b/src/com/android/settings/tts/TextToSpeechSettings.java index 7504218785..dcf50e81ca 100644 --- a/src/com/android/settings/tts/TextToSpeechSettings.java +++ b/src/com/android/settings/tts/TextToSpeechSettings.java @@ -64,6 +64,9 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements /** Preference key for the TTS rate selection dialog. */ private static final String KEY_DEFAULT_RATE = "tts_default_rate"; + /** Preference key for the TTS reset speech rate preference. */ + private static final String KEY_RESET_SPEECH_RATE = "reset_speech_rate"; + /** Preference key for the TTS status field. */ private static final String KEY_STATUS = "tts_status"; @@ -87,6 +90,7 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements private PreferenceCategory mEnginePreferenceCategory; private SeekBarPreference mDefaultRatePref; private SwitchPreference mHigherRateSwitchPref; + private Preference mResetSpeechRate; private Preference mPlayExample; private Preference mEngineStatus; @@ -171,6 +175,9 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements mPlayExample.setOnPreferenceClickListener(this); mPlayExample.setEnabled(false); + mResetSpeechRate = findPreference(KEY_RESET_SPEECH_RATE); + mResetSpeechRate.setOnPreferenceClickListener(this); + mEnginePreferenceCategory = (PreferenceCategory) findPreference( KEY_ENGINE_PREFERENCE_SECTION); mDefaultRatePref = (SeekBarPreference) findPreference(KEY_DEFAULT_RATE); @@ -459,24 +466,13 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements @Override public boolean onPreferenceChange(Preference preference, Object objValue) { if (KEY_DEFAULT_RATE.equals(preference.getKey())) { - // Default rate - mDefaultRate = ((Integer) objValue).intValue(); - try { - android.provider.Settings.Secure.putInt(getContentResolver(), - TTS_DEFAULT_RATE, mDefaultRate); - if (mTts != null) { - mTts.setSpeechRate(mDefaultRate / 100.0f); - } - if (DBG) Log.d(TAG, "TTS default rate changed, now " + mDefaultRate); - } catch (NumberFormatException e) { - Log.e(TAG, "could not persist default TTS rate setting", e); - } + updateSpeechRate(((Integer) objValue).intValue()); } return true; } /** - * Called when mPlayExample is clicked + * Called when mPlayExample or mResetSpeechRate is clicked. */ @Override public boolean onPreferenceClick(Preference preference) { @@ -485,11 +481,29 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements // the actual speaking speakSampleText(); return true; + } else if (preference == mResetSpeechRate) { + mDefaultRatePref.setProgress(TextToSpeech.Engine.DEFAULT_RATE); + updateSpeechRate(TextToSpeech.Engine.DEFAULT_RATE); + return true; } - return false; } + private void updateSpeechRate(int speechRate) { + mDefaultRate = speechRate; + try { + android.provider.Settings.Secure.putInt(getContentResolver(), + TTS_DEFAULT_RATE, mDefaultRate); + if (mTts != null) { + mTts.setSpeechRate(mDefaultRate / 100.0f); + } + if (DBG) Log.d(TAG, "TTS default rate changed, now " + mDefaultRate); + } catch (NumberFormatException e) { + Log.e(TAG, "could not persist default TTS rate setting", e); + } + return; + } + private void updateWidgetState(boolean enable) { mPlayExample.setEnabled(enable); mDefaultRatePref.setEnabled(enable); |