diff options
-rw-r--r-- | res/xml/language_settings.xml | 4 | ||||
-rw-r--r-- | src/com/android/settings/LanguageSettings.java | 13 | ||||
-rw-r--r-- | src/com/android/settings/TextToSpeechSettings.java | 8 |
3 files changed, 22 insertions, 3 deletions
diff --git a/res/xml/language_settings.xml b/res/xml/language_settings.xml index 47eb795..d3c0e02 100644 --- a/res/xml/language_settings.xml +++ b/res/xml/language_settings.xml @@ -18,8 +18,8 @@ xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"> <PreferenceScreen - android:title="@string/phone_language" - android:summary="@string/phone_language_summary"> + android:key="phone_language" + android:title="@string/phone_language"> <intent android:action="android.intent.action.MAIN" android:targetPackage="com.android.settings" android:targetClass="com.android.settings.LocalePicker"/> diff --git a/src/com/android/settings/LanguageSettings.java b/src/com/android/settings/LanguageSettings.java index 1b9f0c1..61ede0d 100644 --- a/src/com/android/settings/LanguageSettings.java +++ b/src/com/android/settings/LanguageSettings.java @@ -43,10 +43,12 @@ import java.util.List; public class LanguageSettings extends PreferenceActivity { + private static final String KEY_PHONE_LANGUAGE = "phone_language"; private boolean mHaveHardKeyboard; private List<InputMethodInfo> mInputMethodProperties; private List<CheckBoxPreference> mCheckboxes; + private Preference mLanguagePref; final TextUtils.SimpleStringSplitter mStringColonSplitter = new TextUtils.SimpleStringSplitter(':'); @@ -67,6 +69,8 @@ public class LanguageSettings extends PreferenceActivity { if (getAssets().getLocales().length == 1) { getPreferenceScreen(). removePreference(findPreference("language_category")); + } else { + mLanguagePref = findPreference(KEY_PHONE_LANGUAGE); } Configuration config = getResources().getConfiguration(); @@ -156,6 +160,15 @@ public class LanguageSettings extends PreferenceActivity { } } mLastTickedInputMethodId = null; + + if (mLanguagePref != null) { + Configuration conf = getResources().getConfiguration(); + String locale = conf.locale.getDisplayName(conf.locale); + if (locale != null && locale.length() > 1) { + locale = Character.toUpperCase(locale.charAt(0)) + locale.substring(1); + mLanguagePref.setSummary(locale); + } + } } @Override diff --git a/src/com/android/settings/TextToSpeechSettings.java b/src/com/android/settings/TextToSpeechSettings.java index 86f9919..3c55d10 100644 --- a/src/com/android/settings/TextToSpeechSettings.java +++ b/src/com/android/settings/TextToSpeechSettings.java @@ -265,9 +265,15 @@ public class TextToSpeechSettings extends PreferenceActivity implements if (status == TextToSpeech.SUCCESS) { Log.v(TAG, "TTS engine for settings screen initialized."); mEnableDemo = true; - if (mDefaultLanguage == null){ + if (mDefaultLanguage == null) { mDefaultLanguage = Locale.getDefault().getISO3Language(); } + if (mDefaultCountry == null) { + mDefaultCountry = Locale.getDefault().getISO3Country(); + } + if (mDefaultLocVariant == null) { + mDefaultLocVariant = new String(); + } mTts.setLanguage(new Locale(mDefaultLanguage, mDefaultCountry, mDefaultLocVariant)); mTts.setSpeechRate((float)(mDefaultRate/100.0f)); } else { |