2222import android .widget .PopupWindow ;
2323import android .widget .SeekBar ;
2424import android .widget .SeekBar .OnSeekBarChangeListener ;
25+ import android .widget .TextView ;
2526
2627import com .s_trace .motion_watchdog .HandlerThread ;
2728import com .s_trace .motion_watchdog .MotionWatchdogHandler ;
@@ -51,6 +52,8 @@ public class TTSToolbarDlg implements Settings {
5152 private TextToSpeech mTTS ;
5253 private TTSControlServiceAccessor mTTSControl ;
5354 private ImageButton mPlayPauseButton ;
55+ private TextView mVolumeTextView ;
56+ private TextView mSpeedTextView ;
5457 private SeekBar mSbSpeed ;
5558 private SeekBar mSbVolume ;
5659 private HandlerThread mMotionWatchdog ;
@@ -300,7 +303,7 @@ public void setAppSettings(Properties newSettings, Properties oldSettings) {
300303 mSbSpeed .setProgress (mTTSSpeedPercent );
301304 }
302305
303- public void processAppSetting (String key , String value ) {
306+ private void processAppSetting (String key , String value ) {
304307 boolean flg = "1" .equals (value );
305308 switch (key ) {
306309 case PROP_APP_MOTION_TIMEOUT :
@@ -603,25 +606,32 @@ public TTSToolbarDlg(CoolReader coolReader, ReaderView readerView, TextToSpeech
603606 setReaderMode ();
604607
605608 // setup speed && volume seek bars
609+ int volume = mCoolReader .getVolume ();
610+ mVolumeTextView = panel .findViewById (R .id .tts_lbl_volume );
611+ mVolumeTextView .setText (String .format (Locale .getDefault (), "%s (%d%%)" , context .getString (R .string .tts_volume ), volume ));
612+ mSpeedTextView = panel .findViewById (R .id .tts_lbl_speed );
613+ mSpeedTextView .setText (String .format (Locale .getDefault (), "%s (x%.2f)" , context .getString (R .string .tts_rate ), speechRateFromPercent (50 )));
614+
606615 mSbSpeed = panel .findViewById (R .id .tts_sb_speed );
607616 mSbVolume = panel .findViewById (R .id .tts_sb_volume );
608617
609618 mSbSpeed .setMax (100 );
610619 mSbSpeed .setProgress (50 );
611620 mSbVolume .setMax (100 );
612- mSbVolume .setProgress (mCoolReader . getVolume () );
621+ mSbVolume .setProgress (volume );
613622 mSbSpeed .setOnSeekBarChangeListener (new OnSeekBarChangeListener () {
614623 @ Override
615624 public void onProgressChanged (SeekBar seekBar , int progress ,
616625 boolean fromUser ) {
617- // round to a multiple of 10
618- int roundedVal = 10 *(( progress + 5 )/ 10 );
626+ // round to a multiple of 5
627+ int roundedVal = 5 *( progress / 5 );
619628 if (progress != roundedVal ) {
620629 mSbSpeed .setProgress (roundedVal );
621630 return ;
622631 }
623632 mTTSSpeedPercent = progress ;
624633 mTTS .setSpeechRate (speechRateFromPercent (mTTSSpeedPercent ));
634+ mSpeedTextView .setText (String .format (Locale .getDefault (), "%s (x%.2f)" , context .getString (R .string .tts_rate ), speechRateFromPercent (progress )));
625635 }
626636
627637 @ Override
@@ -638,6 +648,7 @@ public void onStopTrackingTouch(SeekBar seekBar) {
638648 public void onProgressChanged (SeekBar seekBar , int progress ,
639649 boolean fromUser ) {
640650 mCoolReader .setVolume (progress );
651+ mVolumeTextView .setText (String .format (Locale .getDefault (), "%s (%d%%)" , context .getString (R .string .tts_volume ), progress ));
641652 }
642653
643654 @ Override
0 commit comments