summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/tts
diff options
context:
space:
mode:
authorshwetachahar <shwetachahar@google.com>2016-02-12 17:17:33 +0000
committershwetachahar <shwetachahar@google.com>2016-02-12 22:44:52 +0000
commitbc170fd680e6215225768cc35fe5b148046e6664 (patch)
tree03c94c85a6eddfbf7c24f7668f1341a1c234e8a5 /src/com/android/settings/tts
parent6b00d3fe40b250956724c49302cf2dba4ef4ad05 (diff)
downloadpackages_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.java42
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);