Merge "Add a button to reset pitch to default value." into nyc-dev

This commit is contained in:
Shweta Chahar
2016-04-18 15:14:24 +00:00
committed by Android (Google) Code Review
2 changed files with 35 additions and 12 deletions

View File

@@ -47,6 +47,11 @@
android:title="@string/tts_reset_speech_rate_title" android:title="@string/tts_reset_speech_rate_title"
android:summary="@string/tts_reset_speech_rate_summary" /> android:summary="@string/tts_reset_speech_rate_summary" />
<Preference android:key="reset_speech_pitch"
android:persistent="false"
android:title="@string/tts_reset_speech_pitch_title"
android:summary="@string/tts_reset_speech_pitch_summary" />
<Preference android:key="tts_play_example" <Preference android:key="tts_play_example"
android:persistent="false" android:persistent="false"
android:title="@string/tts_play_example_title" android:title="@string/tts_play_example_title"

View File

@@ -71,6 +71,9 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
/** Preference key for the TTS reset speech rate preference. */ /** Preference key for the TTS reset speech rate preference. */
private static final String KEY_RESET_SPEECH_RATE = "reset_speech_rate"; private static final String KEY_RESET_SPEECH_RATE = "reset_speech_rate";
/** Preference key for the TTS reset speech pitch preference. */
private static final String KEY_RESET_SPEECH_PITCH = "reset_speech_pitch";
/** Preference key for the TTS status field. */ /** Preference key for the TTS status field. */
private static final String KEY_STATUS = "tts_status"; private static final String KEY_STATUS = "tts_status";
@@ -107,6 +110,7 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
private SeekBarPreference mDefaultPitchPref; private SeekBarPreference mDefaultPitchPref;
private SeekBarPreference mDefaultRatePref; private SeekBarPreference mDefaultRatePref;
private Preference mResetSpeechRate; private Preference mResetSpeechRate;
private Preference mResetSpeechPitch;
private Preference mPlayExample; private Preference mPlayExample;
private Preference mEngineStatus; private Preference mEngineStatus;
@@ -189,6 +193,8 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
mResetSpeechRate = findPreference(KEY_RESET_SPEECH_RATE); mResetSpeechRate = findPreference(KEY_RESET_SPEECH_RATE);
mResetSpeechRate.setOnPreferenceClickListener(this); mResetSpeechRate.setOnPreferenceClickListener(this);
mResetSpeechPitch = findPreference(KEY_RESET_SPEECH_PITCH);
mResetSpeechPitch.setOnPreferenceClickListener(this);
mEnginePreferenceCategory = (PreferenceCategory) findPreference( mEnginePreferenceCategory = (PreferenceCategory) findPreference(
KEY_ENGINE_PREFERENCE_SECTION); KEY_ENGINE_PREFERENCE_SECTION);
@@ -506,18 +512,7 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
if (KEY_DEFAULT_RATE.equals(preference.getKey())) { if (KEY_DEFAULT_RATE.equals(preference.getKey())) {
updateSpeechRate((Integer) objValue); updateSpeechRate((Integer) objValue);
} else if (KEY_DEFAULT_PITCH.equals(preference.getKey())) { } else if (KEY_DEFAULT_PITCH.equals(preference.getKey())) {
int progress = (Integer) objValue; updateSpeechPitchValue((Integer) objValue);
mDefaultPitch = getSpeechPitchValueFromSeekBarProgress(progress);
try {
android.provider.Settings.Secure.putInt(getContentResolver(),
TTS_DEFAULT_PITCH, mDefaultPitch);
if (mTts != null) {
mTts.setPitch(mDefaultPitch / 100.0f);
}
if (DBG) Log.d(TAG, "TTS default pitch changed, now" + mDefaultPitch);
} catch (NumberFormatException e) {
Log.e(TAG, "could not persist default TTS pitch setting", e);
}
} }
return true; return true;
} }
@@ -536,7 +531,14 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
mDefaultRatePref.setProgress(TextToSpeech.Engine.DEFAULT_RATE); mDefaultRatePref.setProgress(TextToSpeech.Engine.DEFAULT_RATE);
updateSpeechRate(TextToSpeech.Engine.DEFAULT_RATE); updateSpeechRate(TextToSpeech.Engine.DEFAULT_RATE);
return true; return true;
} else if (preference == mResetSpeechPitch) {
int pitchSeekbarProgress = getPitchSeekBarProgressFromSpeechPitchValue(
TextToSpeech.Engine.DEFAULT_PITCH);
mDefaultPitchPref.setProgress(pitchSeekbarProgress);
updateSpeechPitchValue(pitchSeekbarProgress);
return true;
} }
return false; return false;
} }
@@ -555,6 +557,22 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
return; return;
} }
private void updateSpeechPitchValue(int speechPitchSeekBarProgress) {
mDefaultPitch = getSpeechPitchValueFromSeekBarProgress(
speechPitchSeekBarProgress);
try {
android.provider.Settings.Secure.putInt(getContentResolver(),
TTS_DEFAULT_PITCH, mDefaultPitch);
if (mTts != null) {
mTts.setPitch(mDefaultPitch / 100.0f);
}
if (DBG) Log.d(TAG, "TTS default pitch changed, now" + mDefaultPitch);
} catch (NumberFormatException e) {
Log.e(TAG, "could not persist default TTS pitch setting", e);
}
return;
}
private void updateWidgetState(boolean enable) { private void updateWidgetState(boolean enable) {
mPlayExample.setEnabled(enable); mPlayExample.setEnabled(enable);
mDefaultRatePref.setEnabled(enable); mDefaultRatePref.setEnabled(enable);