diff --git a/android/res/layout/seekbar_preference.xml b/android/res/layout/seekbar_preference.xml
index fc807883..8cc1f36f 100644
--- a/android/res/layout/seekbar_preference.xml
+++ b/android/res/layout/seekbar_preference.xml
@@ -19,4 +19,19 @@
android:layout_height="0dp"
android:layout_weight="1" />
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml
index 2e0180c0..de671c77 100755
--- a/android/res/values/strings.xml
+++ b/android/res/values/strings.xml
@@ -135,5 +135,6 @@
Volume
%s WPM
%s%%
+ Set to default
\ No newline at end of file
diff --git a/android/src/com/reecedunn/espeak/SeekBarPreference.java b/android/src/com/reecedunn/espeak/SeekBarPreference.java
index 622ac1aa..e96c359c 100644
--- a/android/src/com/reecedunn/espeak/SeekBarPreference.java
+++ b/android/src/com/reecedunn/espeak/SeekBarPreference.java
@@ -22,6 +22,7 @@ import android.content.SharedPreferences;
import android.preference.DialogPreference;
import android.util.AttributeSet;
import android.view.View;
+import android.widget.Button;
import android.widget.SeekBar;
import android.widget.TextView;
@@ -31,6 +32,7 @@ public class SeekBarPreference extends DialogPreference implements SeekBar.OnSee
private TextView mValueText;
private int mProgress = 0;
+ private int mDefaultValue = 0;
private int mMin = 0;
private int mMax = 100;
private String mFormatter = "%s";
@@ -53,6 +55,14 @@ public class SeekBarPreference extends DialogPreference implements SeekBar.OnSee
callChangeListener(text);
}
+ public void setDefaultValue(int defaultValue) {
+ mDefaultValue = defaultValue;
+ }
+
+ public int getDefaultValue() {
+ return mDefaultValue;
+ }
+
public int getMin() {
return mMin;
}
@@ -96,6 +106,15 @@ public class SeekBarPreference extends DialogPreference implements SeekBar.OnSee
View root = super.onCreateDialogView();
mSeekBar = (SeekBar)root.findViewById(R.id.seekBar);
mValueText = (TextView)root.findViewById(R.id.valueText);
+
+ Button reset = (Button)root.findViewById(R.id.resetToDefault);
+ reset.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v)
+ {
+ mSeekBar.setProgress(getDefaultValue());
+ }
+ });
return root;
}
diff --git a/android/src/com/reecedunn/espeak/TtsSettingsActivity.java b/android/src/com/reecedunn/espeak/TtsSettingsActivity.java
index 523b1118..5ef51a2b 100644
--- a/android/src/com/reecedunn/espeak/TtsSettingsActivity.java
+++ b/android/src/com/reecedunn/espeak/TtsSettingsActivity.java
@@ -60,6 +60,7 @@ public class TtsSettingsActivity extends PreferenceActivity {
private static Preference createPreference(Context context, SpeechSynthesis.Parameter parameter, String key, int titleRes) {
final String title = context.getString(titleRes);
+ final int defaultValue = parameter.getDefaultValue();
final SeekBarPreference pref = new SeekBarPreference(context);
pref.setTitle(title);
@@ -82,11 +83,12 @@ public class TtsSettingsActivity extends PreferenceActivity {
pref.setMin(parameter.getMinValue());
pref.setMax(parameter.getMaxValue());
+ pref.setDefaultValue(defaultValue);
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
final String prefString = prefs.getString(key, null);
if (prefString == null) {
- pref.setProgress(parameter.getDefaultValue());
+ pref.setProgress(defaultValue);
} else {
pref.setProgress(Integer.parseInt(prefString));
}