am 95b7bd3b: Add a private IME option to suppress the gesture floating preview text.

* commit '95b7bd3ba5bc76dedb964f0fb9a858e072ea4e91':
  Add a private IME option to suppress the gesture floating preview text.
This commit is contained in:
David Faden 2014-09-01 04:11:35 +00:00 committed by Android Git Automerger
commit bc66b2bcb4
3 changed files with 20 additions and 2 deletions

View file

@ -57,6 +57,13 @@ public final class Constants {
@SuppressWarnings("dep-ann")
public static final String FORCE_ASCII = "forceAscii";
/**
* The private IME option used to suppress the floating gesture preview for a given text
* field. This overrides the corresponding keyboard settings preference.
* {@link com.android.inputmethod.latin.settings.SettingsValues#mGestureFloatingPreviewTextEnabled}
*/
public static final String NO_FLOATING_GESTURE_PREVIEW = "noGestureFloatingPreview";
private ImeOption() {
// This utility class is not publicly instantiable.
}

View file

@ -16,6 +16,7 @@
package com.android.inputmethod.latin;
import static com.android.inputmethod.latin.Constants.ImeOption.NO_FLOATING_GESTURE_PREVIEW;
import static com.android.inputmethod.latin.Constants.ImeOption.NO_MICROPHONE;
import static com.android.inputmethod.latin.Constants.ImeOption.NO_MICROPHONE_COMPAT;
@ -42,6 +43,12 @@ public final class InputAttributes {
final public boolean mApplicationSpecifiedCompletionOn;
final public boolean mShouldInsertSpacesAutomatically;
final public boolean mShouldShowVoiceInputKey;
/**
* Whether the floating gesture preview should be disabled. If true, this should override the
* corresponding keyboard settings preference, always suppressing the floating preview text.
* {@link com.android.inputmethod.latin.settings.SettingsValues#mGestureFloatingPreviewTextEnabled}
*/
final public boolean mDisableGestureFloatingPreviewText;
final private int mInputType;
final private EditorInfo mEditorInfo;
final private String mPackageNameForPrivateImeOptions;
@ -76,6 +83,7 @@ public final class InputAttributes {
mApplicationSpecifiedCompletionOn = false;
mShouldInsertSpacesAutomatically = false;
mShouldShowVoiceInputKey = false;
mDisableGestureFloatingPreviewText = false;
return;
}
// inputClass == InputType.TYPE_CLASS_TEXT
@ -107,6 +115,9 @@ public final class InputAttributes {
|| hasNoMicrophoneKeyOption();
mShouldShowVoiceInputKey = !noMicrophone;
mDisableGestureFloatingPreviewText = InputAttributes.inPrivateImeOptions(
mPackageNameForPrivateImeOptions, NO_FLOATING_GESTURE_PREVIEW, editorInfo);
// If it's a browser edit field and auto correct is not ON explicitly, then
// disable auto correction, but keep suggestions on.
// If NO_SUGGESTIONS is set, don't do prediction.

View file

@ -162,8 +162,8 @@ public class SettingsValues {
autoCorrectionThresholdRawValue);
mGestureInputEnabled = Settings.readGestureInputEnabled(prefs, res);
mGestureTrailEnabled = prefs.getBoolean(Settings.PREF_GESTURE_PREVIEW_TRAIL, true);
mGestureFloatingPreviewTextEnabled = prefs.getBoolean(
Settings.PREF_GESTURE_FLOATING_PREVIEW_TEXT, true);
mGestureFloatingPreviewTextEnabled = !mInputAttributes.mDisableGestureFloatingPreviewText
&& prefs.getBoolean(Settings.PREF_GESTURE_FLOATING_PREVIEW_TEXT, true);
mPhraseGestureEnabled = Settings.readPhraseGestureEnabled(prefs, res);
mAutoCorrectionEnabledPerUserSettings = mAutoCorrectEnabled
&& !mInputAttributes.mInputTypeNoAutoCorrect;