From 8e4b6044dcd4c7c64675eb86be8f4ece9de78eb4 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Fri, 3 May 2013 11:54:25 +0100 Subject: [PATCH] SeekBarPreference: make formatter an explicit property instead of using the extras bundle. --- android/src/com/reecedunn/espeak/SeekBarPreference.java | 9 +++++++++ .../src/com/reecedunn/espeak/TtsSettingsActivity.java | 7 ++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/android/src/com/reecedunn/espeak/SeekBarPreference.java b/android/src/com/reecedunn/espeak/SeekBarPreference.java index 5f0f9ac2..f1b4aee1 100644 --- a/android/src/com/reecedunn/espeak/SeekBarPreference.java +++ b/android/src/com/reecedunn/espeak/SeekBarPreference.java @@ -31,6 +31,7 @@ public class SeekBarPreference extends DialogPreference private int mProgress = 0; private int mMin = 0; private int mMax = 100; + private String mFormatter = "%s"; public void setProgress(int progress) { mProgress = progress + mMin; @@ -62,6 +63,14 @@ public class SeekBarPreference extends DialogPreference return mMax; } + public void setFormatter(String formatter) { + mFormatter = formatter; + } + + public String getFormatter() { + return mFormatter; + } + public SeekBarPreference(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); diff --git a/android/src/com/reecedunn/espeak/TtsSettingsActivity.java b/android/src/com/reecedunn/espeak/TtsSettingsActivity.java index 6096e01e..523b1118 100644 --- a/android/src/com/reecedunn/espeak/TtsSettingsActivity.java +++ b/android/src/com/reecedunn/espeak/TtsSettingsActivity.java @@ -71,10 +71,10 @@ public class TtsSettingsActivity extends PreferenceActivity { switch (parameter.getUnitType()) { case Percentage: - pref.getExtras().putString("formatter", context.getString(R.string.formatter_percentage)); + pref.setFormatter(context.getString(R.string.formatter_percentage)); break; case WordsPerMinute: - pref.getExtras().putString("formatter", context.getString(R.string.formatter_wpm)); + pref.setFormatter(context.getString(R.string.formatter_wpm)); break; default: throw new IllegalStateException("Unsupported unit type for the parameter."); @@ -140,7 +140,8 @@ public class TtsSettingsActivity extends PreferenceActivity { summary = entries[index].toString(); } } else if (preference instanceof SeekBarPreference) { - String formatter = preference.getExtras().getString("formatter"); + final SeekBarPreference seekBarPreference = (SeekBarPreference) preference; + String formatter = seekBarPreference.getFormatter(); summary = String.format(formatter, (String)newValue); } preference.setSummary(summary);