Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 54334961 authored by shwetachahar's avatar shwetachahar Committed by Shweta Chahar
Browse files

Remove 'Higher speech rate' button based on the results of the speech

rate slider a11y UX study.

Also, group speech rate, sample sentence synthesis and default language
status into a single preference category as they all fall under the
general TTS settings category.

Bug: 24527715
Change-Id: If7253e2e8a468393afcb4c24f5a775cb9af79db9
parent fd9f4511
Loading
Loading
Loading
Loading
+12 −15
Original line number Original line Diff line number Diff line
@@ -29,11 +29,7 @@
            android:title="@string/tts_default_rate_title"
            android:title="@string/tts_default_rate_title"
            android:summary="@string/tts_default_rate_summary"
            android:summary="@string/tts_default_rate_summary"
            android:defaultValue="50"
            android:defaultValue="50"
            android:max="400" />
            android:max="600" />
        <SwitchPreference
            android:key="tts_default_higher_speech_rate_enabled"
            android:title="Higher speech rate" />
    </PreferenceCategory>


        <Preference android:key="tts_play_example"
        <Preference android:key="tts_play_example"
            android:persistent="false"
            android:persistent="false"
@@ -45,4 +41,5 @@
            android:shouldDisableView="false"
            android:shouldDisableView="false"
            android:persistent="false"
            android:persistent="false"
            android:title="@string/tts_status_title"/>
            android:title="@string/tts_status_title"/>
    </PreferenceCategory>
</PreferenceScreen>
</PreferenceScreen>
+2 −34
Original line number Original line Diff line number Diff line
@@ -50,7 +50,6 @@ import java.util.Set;


import static android.provider.Settings.Secure.TTS_DEFAULT_RATE;
import static android.provider.Settings.Secure.TTS_DEFAULT_RATE;
import static android.provider.Settings.Secure.TTS_DEFAULT_SYNTH;
import static android.provider.Settings.Secure.TTS_DEFAULT_SYNTH;
import static android.provider.Settings.Secure.TTS_DEFAULT_HIGHER_SPEECH_RATE_ENABLED;


public class TextToSpeechSettings extends SettingsPreferenceFragment implements
public class TextToSpeechSettings extends SettingsPreferenceFragment implements
        Preference.OnPreferenceChangeListener, Preference.OnPreferenceClickListener,
        Preference.OnPreferenceChangeListener, Preference.OnPreferenceClickListener,
@@ -65,10 +64,6 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
    /** Preference key for the TTS rate selection dialog. */
    /** Preference key for the TTS rate selection dialog. */
    private static final String KEY_DEFAULT_RATE = "tts_default_rate";
    private static final String KEY_DEFAULT_RATE = "tts_default_rate";


    /** Preference key for the TTS advanced speech rate switch. */
    private static final String KEY_HIGHER_RATE_SWITCH =
        "tts_default_higher_speech_rate_enabled";

    /** 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";


@@ -87,8 +82,7 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
    /**
    /**
     * Maximum speech rate values.
     * Maximum speech rate values.
     */
     */
    private static final int MAX_SPEECH_RATE = 400;
    private static final int MAX_SPEECH_RATE = 600;
    private static final int MAX_HIGHER_SPEECH_RATE = 600;


    private PreferenceCategory mEnginePreferenceCategory;
    private PreferenceCategory mEnginePreferenceCategory;
    private SeekBarPreference mDefaultRatePref;
    private SeekBarPreference mDefaultRatePref;
@@ -180,7 +174,6 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
        mEnginePreferenceCategory = (PreferenceCategory) findPreference(
        mEnginePreferenceCategory = (PreferenceCategory) findPreference(
                KEY_ENGINE_PREFERENCE_SECTION);
                KEY_ENGINE_PREFERENCE_SECTION);
        mDefaultRatePref = (SeekBarPreference) findPreference(KEY_DEFAULT_RATE);
        mDefaultRatePref = (SeekBarPreference) findPreference(KEY_DEFAULT_RATE);
        mHigherRateSwitchPref = (SwitchPreference) findPreference(KEY_HIGHER_RATE_SWITCH);


        mEngineStatus = findPreference(KEY_STATUS);
        mEngineStatus = findPreference(KEY_STATUS);
        updateEngineStatus(R.string.tts_status_checking);
        updateEngineStatus(R.string.tts_status_checking);
@@ -242,24 +235,13 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
        // Set up the default rate.
        // Set up the default rate.
        try {
        try {
            mDefaultRate = android.provider.Settings.Secure.getInt(resolver, TTS_DEFAULT_RATE);
            mDefaultRate = android.provider.Settings.Secure.getInt(resolver, TTS_DEFAULT_RATE);
            mHigherRateSwitch = android.provider.Settings.Secure.getInt(resolver,
                    TTS_DEFAULT_HIGHER_SPEECH_RATE_ENABLED) == 1;
        } catch (SettingNotFoundException e) {
        } catch (SettingNotFoundException e) {
            // Default rate setting not found, initialize it
            // Default rate setting not found, initialize it
            mDefaultRate = TextToSpeech.Engine.DEFAULT_RATE;
            mDefaultRate = TextToSpeech.Engine.DEFAULT_RATE;
            mHigherRateSwitch = false;
        }
        }
        mDefaultRatePref.setProgress(mDefaultRate);
        mDefaultRatePref.setProgress(mDefaultRate);
        mDefaultRatePref.setOnPreferenceChangeListener(this);
        mDefaultRatePref.setOnPreferenceChangeListener(this);

        mHigherRateSwitchPref.setChecked(mHigherRateSwitch);
        mHigherRateSwitchPref.setOnPreferenceChangeListener(this);

        if (mHigherRateSwitch) {
            mDefaultRatePref.setMax(MAX_HIGHER_SPEECH_RATE);
        } else {
        mDefaultRatePref.setMax(MAX_SPEECH_RATE);
        mDefaultRatePref.setMax(MAX_SPEECH_RATE);
        }


        mCurrentEngine = mTts.getCurrentEngine();
        mCurrentEngine = mTts.getCurrentEngine();


@@ -489,20 +471,6 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
            } catch (NumberFormatException e) {
            } catch (NumberFormatException e) {
                Log.e(TAG, "could not persist default TTS rate setting", e);
                Log.e(TAG, "could not persist default TTS rate setting", e);
            }
            }
        } else if (KEY_HIGHER_RATE_SWITCH.equals(preference.getKey())) {
            // Adjust range of speech rate depending on switch setting.
            mHigherRateSwitch = ((Boolean) objValue).booleanValue();
            try {
              android.provider.Settings.Secure.putInt(getContentResolver(),
                  TTS_DEFAULT_HIGHER_SPEECH_RATE_ENABLED, mHigherRateSwitch ? 1 : 0);
              if (mHigherRateSwitch) {
                mDefaultRatePref.setMax(MAX_HIGHER_SPEECH_RATE);
              } else {
                mDefaultRatePref.setMax(MAX_SPEECH_RATE);
              }
            } catch (NumberFormatException e) {
              Log.e(TAG, "could not persist default higher speech rate setting", e);
            }
        }
        }
        return true;
        return true;
    }
    }