aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardSet.java6
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java7
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java4
-rw-r--r--java/src/com/android/inputmethod/latin/Settings.java6
-rw-r--r--java/src/com/android/inputmethod/latin/SettingsValues.java6
-rw-r--r--java/src/com/android/inputmethod/latin/SubtypeLocale.java11
-rw-r--r--java/src/com/android/inputmethod/latin/SubtypeSwitcher.java23
-rw-r--r--java/src/com/android/inputmethod/latin/Suggest.java4
9 files changed, 38 insertions, 31 deletions
diff --git a/java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java b/java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java
index 5c351e41f..43c19d7eb 100644
--- a/java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java
+++ b/java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java
@@ -136,6 +136,8 @@ public class SuggestionSpanUtils {
? (OBJ_FLAG_EASY_CORRECT | OBJ_FLAG_MISSPELLED)
: 0;
+ // TODO: We should avoid adding suggestion span candidates that came from the bigram
+ // prediction.
final Object[] args =
{ context, null, suggestionsList.toArray(new String[suggestionsList.size()]), flag,
(Class<?>) SuggestionSpanPickedNotificationReceiver.class };
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSet.java b/java/src/com/android/inputmethod/keyboard/KeyboardSet.java
index efa4021b0..f9b6b72c7 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSet.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSet.java
@@ -25,6 +25,7 @@ import android.text.InputType;
import android.util.Log;
import android.util.Xml;
import android.view.inputmethod.EditorInfo;
+import android.view.inputmethod.InputMethodSubtype;
import com.android.inputmethod.compat.EditorInfoCompatUtils;
import com.android.inputmethod.keyboard.KeyboardSet.Params.ElementParams;
@@ -242,7 +243,10 @@ public class KeyboardSet {
return this;
}
- public Builder setSubtype(Locale inputLocale, boolean asciiCapable) {
+ public Builder setSubtype(InputMethodSubtype subtype) {
+ final Locale inputLocale = SubtypeLocale.getSubtypeLocale(subtype);
+ final boolean asciiCapable = subtype.containsExtraValueKey(
+ LatinIME.SUBTYPE_EXTRA_VALUE_ASCII_CAPABLE);
final boolean deprecatedForceAscii = StringUtils.inPrivateImeOptions(
mPackageName, LatinIME.IME_OPTION_FORCE_ASCII, mEditorInfo);
final boolean forceAscii = EditorInfoCompatUtils.hasFlagForceAscii(
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index 93d8704de..3bc63f3dd 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -137,10 +137,7 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions {
final KeyboardSet.Builder builder = new KeyboardSet.Builder(mThemeContext, editorInfo);
builder.setScreenGeometry(mThemeContext.getResources().getConfiguration().orientation,
mThemeContext.getResources().getDisplayMetrics().widthPixels);
- builder.setSubtype(
- mSubtypeSwitcher.getInputLocale(),
- mSubtypeSwitcher.currentSubtypeContainsExtraValueKey(
- LatinIME.SUBTYPE_EXTRA_VALUE_ASCII_CAPABLE));
+ builder.setSubtype(mSubtypeSwitcher.getCurrentSubtype());
builder.setOptions(
settingsValues.isVoiceKeyEnabled(editorInfo),
settingsValues.isVoiceKeyOnMain(),
@@ -384,7 +381,7 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions {
public void onNetworkStateChanged() {
if (mKeyboardView != null) {
- mKeyboardView.updateShortcutKey(SubtypeSwitcher.getInstance().isShortcutImeReady());
+ mKeyboardView.updateShortcutKey(mSubtypeSwitcher.isShortcutImeReady());
}
}
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index db57044e9..8a26d2b9e 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -713,9 +713,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
mSuggest.setAutoCorrectionThreshold(mSettingsValues.mAutoCorrectionThreshold);
}
- if (mSubtypeSwitcher.isKeyboardMode()) {
- switcher.loadKeyboard(editorInfo, mSettingsValues);
- }
+ switcher.loadKeyboard(editorInfo, mSettingsValues);
if (mSuggestionsView != null)
mSuggestionsView.clear();
diff --git a/java/src/com/android/inputmethod/latin/Settings.java b/java/src/com/android/inputmethod/latin/Settings.java
index 7b98a7188..6bc049894 100644
--- a/java/src/com/android/inputmethod/latin/Settings.java
+++ b/java/src/com/android/inputmethod/latin/Settings.java
@@ -66,8 +66,8 @@ public class Settings extends InputMethodSettingsActivity
public static final String PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY =
"pref_key_preview_popup_dismiss_delay";
public static final String PREF_KEY_USE_CONTACTS_DICT = "pref_key_use_contacts_dict";
- public static final String PREF_BIGRAM_SUGGESTION = "bigram_suggestion";
- public static final String PREF_BIGRAM_PREDICTIONS = "bigram_prediction";
+ public static final String PREF_BIGRAM_SUGGESTION = "next_word_suggestion";
+ public static final String PREF_BIGRAM_PREDICTIONS = "next_word_prediction";
public static final String PREF_KEY_ENABLE_SPAN_INSERT = "enable_span_insert";
public static final String PREF_VIBRATION_DURATION_SETTINGS =
"pref_vibration_duration_settings";
@@ -167,7 +167,7 @@ public class Settings extends InputMethodSettingsActivity
}
final boolean showBigramSuggestionsOption = res.getBoolean(
- R.bool.config_enable_bigram_suggestions_option);
+ R.bool.config_enable_next_word_suggestions_option);
if (!showBigramSuggestionsOption) {
textCorrectionGroup.removePreference(mBigramSuggestion);
if (null != mBigramPrediction) {
diff --git a/java/src/com/android/inputmethod/latin/SettingsValues.java b/java/src/com/android/inputmethod/latin/SettingsValues.java
index 103678403..49ab7f9d7 100644
--- a/java/src/com/android/inputmethod/latin/SettingsValues.java
+++ b/java/src/com/android/inputmethod/latin/SettingsValues.java
@@ -236,18 +236,18 @@ public class SettingsValues {
private static boolean isBigramSuggestionEnabled(final SharedPreferences sp,
final Resources resources, final boolean autoCorrectEnabled) {
final boolean showBigramSuggestionsOption = resources.getBoolean(
- R.bool.config_enable_bigram_suggestions_option);
+ R.bool.config_enable_next_word_suggestions_option);
if (!showBigramSuggestionsOption) {
return autoCorrectEnabled;
}
return sp.getBoolean(Settings.PREF_BIGRAM_SUGGESTION, resources.getBoolean(
- R.bool.config_default_bigram_suggestions));
+ R.bool.config_default_next_word_suggestions));
}
private static boolean isBigramPredictionEnabled(final SharedPreferences sp,
final Resources resources) {
return sp.getBoolean(Settings.PREF_BIGRAM_PREDICTIONS, resources.getBoolean(
- R.bool.config_default_bigram_prediction));
+ R.bool.config_default_next_word_prediction));
}
private static double getAutoCorrectionThreshold(final Resources resources,
diff --git a/java/src/com/android/inputmethod/latin/SubtypeLocale.java b/java/src/com/android/inputmethod/latin/SubtypeLocale.java
index ba67f3358..fac74f0b5 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeLocale.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeLocale.java
@@ -18,6 +18,7 @@ package com.android.inputmethod.latin;
import android.content.Context;
import android.content.res.Resources;
+import android.view.inputmethod.InputMethodSubtype;
import java.util.Locale;
@@ -120,4 +121,14 @@ public class SubtypeLocale {
// - It also does not work with unicode surrogate code points.
return s.toUpperCase(locale).charAt(0) + s.substring(1);
}
+
+ public static String getSubtypeLocaleString(InputMethodSubtype subtype) {
+ final String keyboardLocale = subtype.getExtraValueOf(
+ LatinIME.SUBTYPE_EXTRA_VALUE_KEYBOARD_LOCALE);
+ return keyboardLocale != null ? keyboardLocale : subtype.getLocale();
+ }
+
+ public static Locale getSubtypeLocale(InputMethodSubtype subtype) {
+ return LocaleUtils.constructLocaleFromString(getSubtypeLocaleString(subtype));
+ }
}
diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
index 7541bd31b..3ed7f8700 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
@@ -419,30 +419,23 @@ public class SubtypeSwitcher {
}
}
- public boolean isKeyboardMode() {
+ // TODO: Remove this method
+ private boolean isKeyboardMode() {
return KEYBOARD_MODE.equals(getCurrentSubtypeMode());
}
- /////////////////////////////
- // Other utility functions //
- /////////////////////////////
-
- public String getCurrentSubtypeExtraValue() {
- // If null, return what an empty ExtraValue would return : the empty string.
- return mCurrentSubtype.getExtraValue();
+ // TODO: Remove this method
+ private String getCurrentSubtypeMode() {
+ return mCurrentSubtype.getMode();
}
+ // TODO: Remove this method
public boolean currentSubtypeContainsExtraValueKey(String key) {
// If null, return what an empty ExtraValue would return : false.
return mCurrentSubtype.containsExtraValueKey(key);
}
- public String getCurrentSubtypeExtraValueOf(String key) {
- // If null, return what an empty ExtraValue would return : null.
- return mCurrentSubtype.getExtraValueOf(key);
- }
-
- public String getCurrentSubtypeMode() {
- return mCurrentSubtype.getMode();
+ public InputMethodSubtype getCurrentSubtype() {
+ return mCurrentSubtype;
}
}
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index b31f3019c..0fcac58a6 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -261,7 +261,9 @@ public class Suggest implements Dictionary.WordCallback {
SuggestedWordInfo.removeDups(mSuggestions);
return new SuggestedWords(mSuggestions,
- false /* typedWordValid */,
+ // TODO: Just assuming the suggestions that came from the bigram prediction are
+ // valid now. Need to assign a correct value for typedWordValid.
+ true /* typedWordValid */,
false /* hasAutoCorrectionCandidate */,
false /* allowsToBeAutoCorrected */,
false /* isPunctuationSuggestions */,