Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3be82630 authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka
Browse files

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
parent 286877b3
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -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" />
+0 −2
Original line number Diff line number Diff line
@@ -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"
+16 −23
Original line number Diff line number Diff line
@@ -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
+15 −0
Original line number Diff line number Diff line
@@ -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);
            }
        });
    }

@@ -395,6 +400,11 @@ public final class SettingsFragment extends InputMethodSettingsFragment
                return Settings.readDefaultKeyLongpressTimeout(res);
            }

            @Override
            public String getValueText(final int value) {
                return res.getString(R.string.abbreviation_unit_milliseconds, value);
            }

            @Override
            public void feedbackValue(final int value) {}
        });
@@ -438,6 +448,11 @@ public final class SettingsFragment extends InputMethodSettingsFragment
                return getPercentageFromValue(Settings.readDefaultKeypressSoundVolume(res));
            }

            @Override
            public String getValueText(final int value) {
                return Integer.toString(value);
            }

            @Override
            public void feedbackValue(final int value) {
                am.playSoundEffect(