From 1926bd4f2e6d94a956428cb4f94a56aa87d6b6a7 Mon Sep 17 00:00:00 2001 From: Narayan Kamath Date: Fri, 20 Jul 2012 13:27:12 +0100 Subject: [PATCH] Fix some long forgottten TTS settings bugs - Handle radio button clicks correctly - Handle injecting voice data correctly bug:5998256 bug:5938852 bug:5998418 Change-Id: Ib30afa6558e51ac9a88e28c51500ebaad93ad7fe --- src/com/android/settings/tts/TtsEnginePreference.java | 8 +++++--- .../android/settings/tts/TtsEngineSettingsFragment.java | 9 ++++++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/com/android/settings/tts/TtsEnginePreference.java b/src/com/android/settings/tts/TtsEnginePreference.java index 196882f77b5..3d612f0644c 100644 --- a/src/com/android/settings/tts/TtsEnginePreference.java +++ b/src/com/android/settings/tts/TtsEnginePreference.java @@ -16,8 +16,6 @@ package com.android.settings.tts; -import com.android.settings.R; - import android.content.Context; import android.content.Intent; import android.os.Bundle; @@ -31,6 +29,9 @@ import android.widget.CompoundButton; import android.widget.RadioButton; +import com.android.settings.R; + + public class TtsEnginePreference extends Preference { /** @@ -173,7 +174,8 @@ public class TtsEnginePreference extends Preference { } private void onRadioButtonClicked(CompoundButton buttonView, boolean isChecked) { - if (mPreventRadioButtonCallbacks) { + if (mPreventRadioButtonCallbacks || + (mSharedState.getCurrentChecked() == buttonView)) { return; } diff --git a/src/com/android/settings/tts/TtsEngineSettingsFragment.java b/src/com/android/settings/tts/TtsEngineSettingsFragment.java index fcc2f2e7fae..b39d5e9110b 100644 --- a/src/com/android/settings/tts/TtsEngineSettingsFragment.java +++ b/src/com/android/settings/tts/TtsEngineSettingsFragment.java @@ -63,7 +63,6 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem @Override public void run() { mLocalePreference.setEnabled(true); - updateVoiceDetails(); } }); } @@ -103,6 +102,9 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem mInstallVoicesPreference.setEnabled(false); mLocalePreference.setEnabled(false); + + updateVoiceDetails(); + mTts = new TextToSpeech(getActivity().getApplicationContext(), mTtsInitListener, getEngineName()); } @@ -117,9 +119,10 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem final Intent voiceDataDetails = getArguments().getParcelable( TtsEnginePreference.FRAGMENT_ARGS_VOICES); if (DBG) Log.d(TAG, "Parsing voice data details, data: " + voiceDataDetails.toUri(0)); - ArrayList available = voiceDataDetails.getStringArrayListExtra( + + final ArrayList available = voiceDataDetails.getStringArrayListExtra( TextToSpeech.Engine.EXTRA_AVAILABLE_VOICES); - ArrayList unavailable = voiceDataDetails.getStringArrayListExtra( + final ArrayList unavailable = voiceDataDetails.getStringArrayListExtra( TextToSpeech.Engine.EXTRA_UNAVAILABLE_VOICES); if (available == null){