aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2013-06-18 15:54:37 +0900
committerTadashi G. Takaoka <takaoka@google.com>2013-06-18 18:27:17 +0900
commit3be8263035b69226aba90fe1f1e4e4c3484ffe3d (patch)
tree733760bdc7f538c1b657bddb0c4f0186b6a8fe98 /java
parent286877b3afc6309b70c5216f05b94729aeb844f3 (diff)
downloadlatinime-3be8263035b69226aba90fe1f1e4e4c3484ffe3d.tar.gz
latinime-3be8263035b69226aba90fe1f1e4e4c3484ffe3d.tar.xz
latinime-3be8263035b69226aba90fe1f1e4e4c3484ffe3d.zip
Get value text from ValueProxy
As a preparation to show "system default" in the settings. LatinIME can't know the actual system default value. Bug: 9468462 Change-Id: I0b7898d1ca29ded7a619dd636d2ad16eb0db292e
Diffstat (limited to 'java')
-rw-r--r--java/res/values/attrs.xml1
-rw-r--r--java/res/xml/prefs.xml2
-rw-r--r--java/src/com/android/inputmethod/latin/SeekBarDialogPreference.java39
-rw-r--r--java/src/com/android/inputmethod/latin/SettingsFragment.java15
4 files changed, 31 insertions, 26 deletions
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 80bf704db..c31831747 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -439,7 +439,6 @@
</declare-styleable>
<declare-styleable name="SeekBarDialogPreference">
- <attr name="valueFormatText" format="reference" />
<attr name="maxValue" format="integer" />
<attr name="minValue" format="integer" />
<attr name="stepValue" format="integer" />
diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml
index 51e3420e9..d77adcef9 100644
--- a/java/res/xml/prefs.xml
+++ b/java/res/xml/prefs.xml
@@ -170,14 +170,12 @@
<com.android.inputmethod.latin.SeekBarDialogPreference
android:key="pref_key_longpress_timeout"
android:title="@string/prefs_key_longpress_timeout_settings"
- latin:valueFormatText="@string/abbreviation_unit_milliseconds"
latin:minValue="@integer/config_min_longpress_timeout"
latin:maxValue="@integer/config_max_longpress_timeout"
latin:stepValue="@integer/config_longpress_timeout_step" />
<com.android.inputmethod.latin.SeekBarDialogPreference
android:key="pref_vibration_duration_settings"
android:title="@string/prefs_keypress_vibration_duration_settings"
- latin:valueFormatText="@string/abbreviation_unit_milliseconds"
latin:maxValue="@integer/config_max_vibration_duration" />
<com.android.inputmethod.latin.SeekBarDialogPreference
android:key="pref_keypress_sound_volume"
diff --git a/java/src/com/android/inputmethod/latin/SeekBarDialogPreference.java b/java/src/com/android/inputmethod/latin/SeekBarDialogPreference.java
index 3ea9fedd7..44065ff33 100644
--- a/java/src/com/android/inputmethod/latin/SeekBarDialogPreference.java
+++ b/java/src/com/android/inputmethod/latin/SeekBarDialogPreference.java
@@ -33,10 +33,10 @@ public final class SeekBarDialogPreference extends DialogPreference
public int readDefaultValue(final String key);
public void writeValue(final int value, final String key);
public void writeDefaultValue(final String key);
+ public String getValueText(final int value);
public void feedbackValue(final int value);
}
- private final int mValueFormatResId;
private final int mMaxValue;
private final int mMinValue;
private final int mStepValue;
@@ -50,7 +50,6 @@ public final class SeekBarDialogPreference extends DialogPreference
super(context, attrs);
final TypedArray a = context.obtainStyledAttributes(
attrs, R.styleable.SeekBarDialogPreference, 0, 0);
- mValueFormatResId = a.getResourceId(R.styleable.SeekBarDialogPreference_valueFormatText, 0);
mMaxValue = a.getInt(R.styleable.SeekBarDialogPreference_maxValue, 0);
mMinValue = a.getInt(R.styleable.SeekBarDialogPreference_minValue, 0);
mStepValue = a.getInt(R.styleable.SeekBarDialogPreference_stepValue, 0);
@@ -60,15 +59,8 @@ public final class SeekBarDialogPreference extends DialogPreference
public void setInterface(final ValueProxy proxy) {
mValueProxy = proxy;
- setSummary(getValueText(clipValue(proxy.readValue(getKey()))));
- }
-
- private String getValueText(final int value) {
- if (mValueFormatResId == 0) {
- return Integer.toString(value);
- } else {
- return getContext().getString(mValueFormatResId, value);
- }
+ final int value = mValueProxy.readValue(getKey());
+ setSummary(mValueProxy.getValueText(value));
}
@Override
@@ -101,16 +93,11 @@ public final class SeekBarDialogPreference extends DialogPreference
return clipValue(getValueFromProgress(progress));
}
- private void setValue(final int value, final boolean fromUser) {
- mValueView.setText(getValueText(value));
- if (!fromUser) {
- mSeekBar.setProgress(getProgressFromValue(value));
- }
- }
-
@Override
protected void onBindDialogView(final View view) {
- setValue(clipValue(mValueProxy.readValue(getKey())), false /* fromUser */);
+ final int value = mValueProxy.readValue(getKey());
+ mValueView.setText(mValueProxy.getValueText(value));
+ mSeekBar.setProgress(getProgressFromValue(clipValue(value)));
}
@Override
@@ -125,13 +112,15 @@ public final class SeekBarDialogPreference extends DialogPreference
super.onClick(dialog, which);
final String key = getKey();
if (which == DialogInterface.BUTTON_NEUTRAL) {
- setValue(clipValue(mValueProxy.readDefaultValue(key)), false /* fromUser */);
+ final int value = mValueProxy.readDefaultValue(key);
+ setSummary(mValueProxy.getValueText(value));
mValueProxy.writeDefaultValue(key);
return;
}
if (which == DialogInterface.BUTTON_POSITIVE) {
- setSummary(mValueView.getText());
- mValueProxy.writeValue(getClippedValueFromProgress(mSeekBar.getProgress()), key);
+ final int value = getClippedValueFromProgress(mSeekBar.getProgress());
+ setSummary(mValueProxy.getValueText(value));
+ mValueProxy.writeValue(value, key);
return;
}
}
@@ -139,7 +128,11 @@ public final class SeekBarDialogPreference extends DialogPreference
@Override
public void onProgressChanged(final SeekBar seekBar, final int progress,
final boolean fromUser) {
- setValue(getClippedValueFromProgress(progress), fromUser);
+ final int value = getClippedValueFromProgress(progress);
+ mValueView.setText(mValueProxy.getValueText(value));
+ if (!fromUser) {
+ mSeekBar.setProgress(getProgressFromValue(value));
+ }
}
@Override
diff --git a/java/src/com/android/inputmethod/latin/SettingsFragment.java b/java/src/com/android/inputmethod/latin/SettingsFragment.java
index 1fad765d7..9cc178598 100644
--- a/java/src/com/android/inputmethod/latin/SettingsFragment.java
+++ b/java/src/com/android/inputmethod/latin/SettingsFragment.java
@@ -364,6 +364,11 @@ public final class SettingsFragment extends InputMethodSettingsFragment
public void feedbackValue(final int value) {
AudioAndHapticFeedbackManager.getInstance().vibrate(value);
}
+
+ @Override
+ public String getValueText(final int value) {
+ return res.getString(R.string.abbreviation_unit_milliseconds, value);
+ }
});
}
@@ -396,6 +401,11 @@ public final class SettingsFragment extends InputMethodSettingsFragment
}
@Override
+ public String getValueText(final int value) {
+ return res.getString(R.string.abbreviation_unit_milliseconds, value);
+ }
+
+ @Override
public void feedbackValue(final int value) {}
});
}
@@ -439,6 +449,11 @@ public final class SettingsFragment extends InputMethodSettingsFragment
}
@Override
+ public String getValueText(final int value) {
+ return Integer.toString(value);
+ }
+
+ @Override
public void feedbackValue(final int value) {
am.playSoundEffect(
AudioManager.FX_KEYPRESS_STANDARD, getValueFromPercentage(value));