From 075efd15738d7cc0853c357ce2019393d08cb889 Mon Sep 17 00:00:00 2001 From: dslul Date: Sun, 27 Sep 2020 16:41:15 +0200 Subject: [PATCH] Force incognito mode option --- .../keyboard/KeyboardSwitcher.java | 4 +- .../keyboard/MainKeyboardView.java | 8 +--- .../internal/KeyPreviewDrawParams.java | 10 +---- .../openboard/inputmethod/latin/LatinIME.java | 3 +- .../settings/AdvancedSettingsFragment.java | 38 +------------------ .../settings/PreferencesSettingsFragment.java | 5 --- .../inputmethod/latin/settings/Settings.java | 12 ++---- .../latin/settings/SettingsValues.java | 6 +-- app/src/main/res/values/strings.xml | 2 + .../main/res/xml/prefs_screen_advanced.xml | 9 +++-- 10 files changed, 18 insertions(+), 79 deletions(-) diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/KeyboardSwitcher.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/KeyboardSwitcher.java index 01432e65c..7ec769e32 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/KeyboardSwitcher.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/KeyboardSwitcher.java @@ -152,9 +152,7 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions { final Keyboard newKeyboard = mKeyboardLayoutSet.getKeyboard(keyboardId); keyboardView.setKeyboard(newKeyboard); mCurrentInputView.setKeyboardTopPadding(newKeyboard.mTopPadding); - keyboardView.setKeyPreviewPopupEnabled( - currentSettingsValues.mKeyPreviewPopupOn, - currentSettingsValues.mKeyPreviewPopupDismissDelay); + keyboardView.setKeyPreviewPopupEnabled(currentSettingsValues.mKeyPreviewPopupOn); keyboardView.setKeyPreviewAnimationParams( currentSettingsValues.mHasCustomKeyPreviewAnimationParams, currentSettingsValues.mKeyPreviewShowUpStartXScale, diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/MainKeyboardView.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/MainKeyboardView.java index 9d0030cf0..69c9ebafb 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/MainKeyboardView.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/MainKeyboardView.java @@ -412,10 +412,9 @@ public final class MainKeyboardView extends KeyboardView implements DrawingProxy * Enables or disables the key preview popup. This is a popup that shows a magnified * version of the depressed key. By default the preview is enabled. * @param previewEnabled whether or not to enable the key feedback preview - * @param delay the delay after which the preview is dismissed */ - public void setKeyPreviewPopupEnabled(final boolean previewEnabled, final int delay) { - mKeyPreviewDrawParams.setPopupEnabled(previewEnabled, delay); + public void setKeyPreviewPopupEnabled(final boolean previewEnabled) { + mKeyPreviewDrawParams.setPopupEnabled(previewEnabled); } /** @@ -508,10 +507,7 @@ public final class MainKeyboardView extends KeyboardView implements DrawingProxy private void dismissKeyPreview(@Nonnull final Key key) { if (isHardwareAccelerated()) { mKeyPreviewChoreographer.dismissKeyPreview(key); - return; } - // TODO: Implement preference option to control key preview method and duration. - mTimerHandler.postDismissKeyPreview(key, mKeyPreviewDrawParams.getLingerTimeout()); } public void setSlidingKeyInputPreviewEnabled(final boolean enabled) { diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyPreviewDrawParams.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyPreviewDrawParams.java index 2582d5603..20310a60b 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyPreviewDrawParams.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyPreviewDrawParams.java @@ -32,7 +32,6 @@ public final class KeyPreviewDrawParams { public final int mPreviewOffset; public final int mPreviewHeight; public final int mPreviewBackgroundResId; - private int mLingerTimeout; private boolean mShowPopup = true; // The graphical geometry of the key preview. @@ -67,8 +66,6 @@ public final class KeyPreviewDrawParams { R.styleable.MainKeyboardView_keyPreviewHeight, 0); mPreviewBackgroundResId = mainKeyboardViewAttr.getResourceId( R.styleable.MainKeyboardView_keyPreviewBackground, 0); - mLingerTimeout = mainKeyboardViewAttr.getInt( - R.styleable.MainKeyboardView_keyPreviewLingerTimeout, 0); } public void setVisibleOffset(final int previewVisibleOffset) { @@ -100,19 +97,14 @@ public final class KeyPreviewDrawParams { return mVisibleHeight; } - public void setPopupEnabled(final boolean enabled, final int lingerTimeout) { + public void setPopupEnabled(final boolean enabled) { mShowPopup = enabled; - mLingerTimeout = lingerTimeout; } public boolean isPopupEnabled() { return mShowPopup; } - public int getLingerTimeout() { - return mLingerTimeout; - } - public void setAnimationParams(final boolean hasCustomAnimationParams, final float showUpStartXScale, final float showUpStartYScale, final int showUpDuration, final float dismissEndXScale, final float dismissEndYScale, final int dismissDuration) { diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/LatinIME.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/LatinIME.java index 16fac1363..5f5455caf 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/LatinIME.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/LatinIME.java @@ -1014,8 +1014,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen mainKeyboardView.setMainDictionaryAvailability( mDictionaryFacilitator.hasAtLeastOneInitializedMainDictionary()); - mainKeyboardView.setKeyPreviewPopupEnabled(currentSettingsValues.mKeyPreviewPopupOn, - currentSettingsValues.mKeyPreviewPopupDismissDelay); + mainKeyboardView.setKeyPreviewPopupEnabled(currentSettingsValues.mKeyPreviewPopupOn); mainKeyboardView.setSlidingKeyInputPreviewEnabled( currentSettingsValues.mSlidingKeyInputPreviewEnabled); mainKeyboardView.setGestureHandlingEnabledByUser( diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/AdvancedSettingsFragment.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/AdvancedSettingsFragment.java index dea62a7ab..8decda762 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/AdvancedSettingsFragment.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/AdvancedSettingsFragment.java @@ -62,53 +62,17 @@ public final class AdvancedSettingsFragment extends SubScreenFragment { removePreference(Settings.PREF_VIBRATION_DURATION_SETTINGS); } - // TODO: consolidate key preview dismiss delay with the key preview animation parameters. - if (!Settings.readFromBuildConfigIfToShowKeyPreviewPopupOption(res)) { - removePreference(Settings.PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY); - } else { - // TODO: Cleanup this setup. - final ListPreference keyPreviewPopupDismissDelay = - (ListPreference) findPreference(Settings.PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY); - final String popupDismissDelayDefaultValue = Integer.toString(res.getInteger( - R.integer.config_key_preview_linger_timeout)); - keyPreviewPopupDismissDelay.setEntries(new String[] { - res.getString(R.string.key_preview_popup_dismiss_no_delay), - res.getString(R.string.key_preview_popup_dismiss_default_delay), - }); - keyPreviewPopupDismissDelay.setEntryValues(new String[] { - "0", - popupDismissDelayDefaultValue - }); - if (null == keyPreviewPopupDismissDelay.getValue()) { - keyPreviewPopupDismissDelay.setValue(popupDismissDelayDefaultValue); - } - keyPreviewPopupDismissDelay.setEnabled( - Settings.readKeyPreviewPopupEnabled(prefs, res)); - } - setupKeypressVibrationDurationSettings(); setupKeypressSoundVolumeSettings(); setupKeyLongpressTimeoutSettings(); refreshEnablingsOfKeypressSoundAndVibrationSettings(); } - @Override - public void onResume() { - super.onResume(); - final SharedPreferences prefs = getPreferenceManager().getSharedPreferences(); - updateListPreferenceSummaryToCurrentValue(Settings.PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY); - } - @Override public void onSharedPreferenceChanged(final SharedPreferences prefs, final String key) { - final Resources res = getResources(); - if (key.equals(Settings.PREF_POPUP_ON)) { - setPreferenceEnabled(Settings.PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY, - Settings.readKeyPreviewPopupEnabled(prefs, res)); - } else if (key.equals(Settings.PREF_SHOW_SETUP_WIZARD_ICON)) { + if (key.equals(Settings.PREF_SHOW_SETUP_WIZARD_ICON)) { SystemBroadcastReceiver.toggleAppIcon(getActivity()); } - updateListPreferenceSummaryToCurrentValue(Settings.PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY); refreshEnablingsOfKeypressSoundAndVibrationSettings(); } diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/PreferencesSettingsFragment.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/PreferencesSettingsFragment.java index 8e9edb5b3..3b9f92975 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/PreferencesSettingsFragment.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/PreferencesSettingsFragment.java @@ -84,11 +84,6 @@ public final class PreferencesSettingsFragment extends SubScreenFragment { @Override public void onSharedPreferenceChanged(final SharedPreferences prefs, final String key) { - final Resources res = getResources(); - if (key.equals(Settings.PREF_POPUP_ON)) { - setPreferenceEnabled(Settings.PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY, - Settings.readKeyPreviewPopupEnabled(prefs, res)); - } refreshEnablingsOfKeypressSoundAndVibrationSettings(); } 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 dc9d461cb..cf04461aa 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 @@ -83,9 +83,8 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang public static final String PREF_KEYBOARD_HEIGHT_SCALE = "pref_keyboard_height_scale"; public static final String PREF_SPACE_TRACKPAD = "pref_space_trackpad"; public static final String PREF_DELETE_SWIPE = "pref_delete_swipe"; - // TODO: consolidate key preview dismiss delay with the key preview animation parameters. - public static final String PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY = - "pref_key_preview_popup_dismiss_delay"; + public static final String PREF_ALWAYS_INCOGNITO_MODE = + "pref_always_incognito_mode"; public static final String PREF_BIGRAM_PREDICTIONS = "next_word_prediction"; public static final String PREF_GESTURE_INPUT = "gesture_input"; public static final String PREF_VIBRATION_DURATION_SETTINGS = @@ -262,11 +261,8 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang return prefs.getBoolean(PREF_POPUP_ON, defaultKeyPreviewPopup); } - public static int readKeyPreviewPopupDismissDelay(final SharedPreferences prefs, - final Resources res) { - return Integer.parseInt(prefs.getString(PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY, - Integer.toString(res.getInteger( - R.integer.config_key_preview_linger_timeout)))); + public static boolean readAlwaysIncognitoMode(final SharedPreferences prefs) { + return prefs.getBoolean(PREF_ALWAYS_INCOGNITO_MODE, true); } public static String readPrefAdditionalSubtypes(final SharedPreferences prefs, 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 70e6bdb9a..7b1649f38 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 @@ -101,7 +101,6 @@ public class SettingsValues { // Deduced settings public final int mKeypressVibrationDuration; public final float mKeypressSoundVolume; - public final int mKeyPreviewPopupDismissDelay; private final boolean mAutoCorrectEnabled; public final float mAutoCorrectionThreshold; public final float mPlausibilityThreshold; @@ -169,7 +168,6 @@ public class SettingsValues { mKeyLongpressTimeout = Settings.readKeyLongpressTimeout(prefs, res); mKeypressVibrationDuration = Settings.readKeypressVibrationDuration(prefs, res); mKeypressSoundVolume = Settings.readKeypressSoundVolume(prefs, res); - mKeyPreviewPopupDismissDelay = Settings.readKeyPreviewPopupDismissDelay(prefs, res); mEnableEmojiAltPhysicalKey = prefs.getBoolean( Settings.PREF_ENABLE_EMOJI_ALT_PHYSICAL_KEY, true); mShowAppIcon = Settings.readShowSetupWizardIcon(prefs, context); @@ -188,7 +186,7 @@ public class SettingsValues { //&& !mInputAttributes.mInputTypeNoAutoCorrect; mSuggestionsEnabledPerUserSettings = !mInputAttributes.mIsPasswordField && readSuggestionsEnabled(prefs); - mIncognitoModeEnabled = mInputAttributes.mNoLearning; + mIncognitoModeEnabled = Settings.readAlwaysIncognitoMode(prefs) || mInputAttributes.mNoLearning; mIsInternal = Settings.isInternal(prefs); mHasCustomKeyPreviewAnimationParams = prefs.getBoolean( DebugSettings.PREF_HAS_CUSTOM_KEY_PREVIEW_ANIMATION_PARAMS, false); @@ -412,8 +410,6 @@ public class SettingsValues { sb.append("" + mKeypressVibrationDuration); sb.append("\n mKeypressSoundVolume = "); sb.append("" + mKeypressSoundVolume); - sb.append("\n mKeyPreviewPopupDismissDelay = "); - sb.append("" + mKeyPreviewPopupDismissDelay); sb.append("\n mAutoCorrectEnabled = "); sb.append("" + mAutoCorrectEnabled); sb.append("\n mAutoCorrectionThreshold = "); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5140accc5..75b8ec2e3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -607,4 +607,6 @@ Tip: You can download and remove dictionaries by going to <b>Languages & Perform a swipe from the delete key to select and remove bigger portions of text at once Swipe on the spacebar to move the cursor More keys + Force incognito mode + Disable learning of new words diff --git a/app/src/main/res/xml/prefs_screen_advanced.xml b/app/src/main/res/xml/prefs_screen_advanced.xml index 0dec0555f..11adce32d 100644 --- a/app/src/main/res/xml/prefs_screen_advanced.xml +++ b/app/src/main/res/xml/prefs_screen_advanced.xml @@ -19,10 +19,11 @@ xmlns:latin="http://schemas.android.com/apk/res-auto" android:title="@string/settings_screen_advanced" android:key="screen_advanced"> - - +