diff options
author | 2014-10-30 03:37:26 +0000 | |
---|---|---|
committer | 2014-10-30 03:37:26 +0000 | |
commit | 0ca400c8279b17a5e37a95d53a4f445d3d583e44 (patch) | |
tree | 9eed57bf3bab2f51813cb4f90fa80b1c0dca1e07 /java/src/com/android/inputmethod/latin/settings/DebugSettingsFragment.java | |
parent | d9b1327c218c813e5556d5894621c82bd0a99297 (diff) | |
parent | bb9400aebc4cb0291b4f0208ecbc9ddc01dc79e1 (diff) | |
download | latinime-0ca400c8279b17a5e37a95d53a4f445d3d583e44.tar.gz latinime-0ca400c8279b17a5e37a95d53a4f445d3d583e44.tar.xz latinime-0ca400c8279b17a5e37a95d53a4f445d3d583e44.zip |
Merge "Add a preference to resize the keyboard height."
Diffstat (limited to 'java/src/com/android/inputmethod/latin/settings/DebugSettingsFragment.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/settings/DebugSettingsFragment.java | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/settings/DebugSettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/DebugSettingsFragment.java index 2e5c3c479..068f56df1 100644 --- a/java/src/com/android/inputmethod/latin/settings/DebugSettingsFragment.java +++ b/java/src/com/android/inputmethod/latin/settings/DebugSettingsFragment.java @@ -89,6 +89,8 @@ public final class DebugSettingsFragment extends SubScreenFragment defaultKeyPreviewDismissEndScale); setupKeyPreviewAnimationScale(DebugSettings.PREF_KEY_PREVIEW_DISMISS_END_Y_SCALE, defaultKeyPreviewDismissEndScale); + setupKeyboardHeight( + DebugSettings.PREF_KEYBOARD_HEIGHT_SCALE, SettingsValues.DEFAULT_SIZE_SCALE); mServiceNeedsRestart = false; mDebugMode = (TwoStatePreference) findPreference(DebugSettings.PREF_DEBUG_MODE); @@ -250,4 +252,51 @@ public final class DebugSettingsFragment extends SubScreenFragment public void feedbackValue(final int value) {} }); } + + private void setupKeyboardHeight(final String prefKey, final float defaultValue) { + final SharedPreferences prefs = getSharedPreferences(); + final SeekBarDialogPreference pref = (SeekBarDialogPreference)findPreference(prefKey); + if (pref == null) { + return; + } + pref.setInterface(new SeekBarDialogPreference.ValueProxy() { + private static final float PERCENTAGE_FLOAT = 100.0f; + private float getValueFromPercentage(final int percentage) { + return percentage / PERCENTAGE_FLOAT; + } + + private int getPercentageFromValue(final float floatValue) { + return (int)(floatValue * PERCENTAGE_FLOAT); + } + + @Override + public void writeValue(final int value, final String key) { + prefs.edit().putFloat(key, getValueFromPercentage(value)).apply(); + } + + @Override + public void writeDefaultValue(final String key) { + prefs.edit().remove(key).apply(); + } + + @Override + public int readValue(final String key) { + return getPercentageFromValue( + Settings.readKeyboardHeight(prefs, key, defaultValue)); + } + + @Override + public int readDefaultValue(final String key) { + return getPercentageFromValue(defaultValue); + } + + @Override + public String getValueText(final int value) { + return String.format(Locale.ROOT, "%d%%", value); + } + + @Override + public void feedbackValue(final int value) {} + }); + } } |