Skip to content

Commit 5c8515d

Browse files
committed
Added numerical values for volume and speed controls in the TTS dialog.
1 parent db74536 commit 5c8515d

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

android/src/org/coolreader/crengine/TTSToolbarDlg.java

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import android.widget.PopupWindow;
2323
import android.widget.SeekBar;
2424
import android.widget.SeekBar.OnSeekBarChangeListener;
25+
import android.widget.TextView;
2526

2627
import com.s_trace.motion_watchdog.HandlerThread;
2728
import 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

Comments
 (0)