From 24a945e4fbe76f1464a2c60057da8fd946672a96 Mon Sep 17 00:00:00 2001 From: Trevor Terris Date: Thu, 29 Apr 2021 14:58:59 -0400 Subject: [PATCH] Add toggle to disable long-press hints --- .../dslul/openboard/inputmethod/keyboard/KeyboardView.java | 6 +++++- .../openboard/inputmethod/latin/settings/Settings.java | 2 ++ .../inputmethod/latin/settings/SettingsValues.java | 2 ++ app/src/main/res/values/strings.xml | 7 ++++++- app/src/main/res/xml/prefs_screen_preferences.xml | 6 ++++++ 5 files changed, 21 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/KeyboardView.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/KeyboardView.java index d031e320f..02bfd1ee2 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/KeyboardView.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/KeyboardView.java @@ -36,6 +36,7 @@ import org.dslul.openboard.inputmethod.keyboard.internal.KeyDrawParams; import org.dslul.openboard.inputmethod.keyboard.internal.KeyVisualAttributes; import org.dslul.openboard.inputmethod.latin.R; import org.dslul.openboard.inputmethod.latin.common.Constants; +import org.dslul.openboard.inputmethod.latin.settings.Settings; import org.dslul.openboard.inputmethod.latin.utils.TypefaceUtils; import java.util.HashSet; @@ -115,6 +116,8 @@ public class KeyboardView extends View { private final Rect mClipRect = new Rect(); /** The keyboard bitmap buffer for faster updates */ private Bitmap mOffscreenBuffer; + /** Flag for whether the key hints should be displayed */ + private boolean mShowsHints; /** The canvas for the above mutable keyboard bitmap */ @Nonnull private final Canvas mOffscreenCanvas = new Canvas(); @@ -284,6 +287,7 @@ public class KeyboardView extends View { return; } + mShowsHints = Settings.getInstance().getCurrent().mShowsHints; final Paint paint = mPaint; final Drawable background = getBackground(); // Calculate clip region and set. @@ -438,7 +442,7 @@ public class KeyboardView extends View { // Draw hint label. final String hintLabel = key.getHintLabel(); - if (hintLabel != null) { + if (hintLabel != null && mShowsHints) { paint.setTextSize(key.selectHintTextSize(params)); paint.setColor(key.selectHintTextColor(params)); // TODO: Should add a way to specify type face for hint letters diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/Settings.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/Settings.java index 5f8b40e71..0dbae0bda 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/Settings.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/Settings.java @@ -106,6 +106,8 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang public static final String PREF_SHOW_NUMBER_ROW = "pref_show_number_row"; + public static final String PREF_SHOW_HINTS = "pref_show_hints"; + // This preference key is deprecated. Use {@link #PREF_SHOW_LANGUAGE_SWITCH_KEY} instead. // This is being used only for the backward compatibility. private static final String PREF_SUPPRESS_LANGUAGE_SWITCH_KEY = diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/SettingsValues.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/SettingsValues.java index 65c4b3365..db584fb86 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/SettingsValues.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/SettingsValues.java @@ -70,6 +70,7 @@ public class SettingsValues { public final boolean mShowsVoiceInputKey; public final boolean mIncludesOtherImesInLanguageSwitchList; public final boolean mShowsNumberRow; + public final boolean mShowsHints; public final boolean mShowsLanguageSwitchKey; public final boolean mShowsEmojiKey; public final boolean mUsePersonalizedDicts; @@ -145,6 +146,7 @@ public class SettingsValues { mShowsVoiceInputKey = needsToShowVoiceInputKey(prefs, res) && mInputAttributes.mShouldShowVoiceInputKey; mIncludesOtherImesInLanguageSwitchList = !Settings.ENABLE_SHOW_LANGUAGE_SWITCH_KEY_SETTINGS || prefs.getBoolean(Settings.PREF_INCLUDE_OTHER_IMES_IN_LANGUAGE_SWITCH_LIST, false) /* forcibly */; mShowsNumberRow = prefs.getBoolean(Settings.PREF_SHOW_NUMBER_ROW, false); + mShowsHints = prefs.getBoolean(Settings.PREF_SHOW_HINTS, true); mShowsLanguageSwitchKey = prefs.getBoolean(Settings.PREF_SHOW_LANGUAGE_SWITCH_KEY, false); mShowsEmojiKey = prefs.getBoolean(Settings.PREF_SHOW_EMOJI_KEY, false); mUsePersonalizedDicts = prefs.getBoolean(Settings.PREF_KEY_USE_PERSONALIZED_DICTS, true); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 149148215..e485cfcfd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -202,12 +202,17 @@ Keyboard theme - + Number row Always show number row + + Show key hints + + Show long-press hints + Enable keyboard resizing diff --git a/app/src/main/res/xml/prefs_screen_preferences.xml b/app/src/main/res/xml/prefs_screen_preferences.xml index 671bd87a0..aefdcd215 100644 --- a/app/src/main/res/xml/prefs_screen_preferences.xml +++ b/app/src/main/res/xml/prefs_screen_preferences.xml @@ -28,6 +28,12 @@ android:summary="@string/number_row_summary" android:defaultValue="false" android:persistent="true" /> +