Loading java/res/xml/prefs.xml +7 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,13 @@ android:title="@string/gesture_preview_trail" android:defaultValue="true" android:persistent="true" /> <CheckBoxPreference android:key="pref_gesture_space_aware" android:dependency="gesture_input" android:title="@string/gesture_space_aware" android:summary="@string/gesture_space_aware_summary" android:defaultValue="true" android:persistent="true" /> </PreferenceScreen> <PreferenceScreen android:title="@string/settings_screen_correction" Loading java/src/com/android/inputmethod/latin/BinaryDictionary.java +8 −3 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import com.android.inputmethod.latin.makedict.FormatSpec; import com.android.inputmethod.latin.makedict.FormatSpec.DictionaryOptions; import com.android.inputmethod.latin.makedict.UnsupportedFormatException; import com.android.inputmethod.latin.makedict.WordProperty; import com.android.inputmethod.latin.settings.SettingsValuesForSuggestion; import com.android.inputmethod.latin.utils.BinaryDictionaryUtils; import com.android.inputmethod.latin.utils.FileUtils; import com.android.inputmethod.latin.utils.JniUtils; Loading Loading @@ -256,7 +257,7 @@ public final class BinaryDictionary extends Dictionary { @Override public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer, final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo, final boolean blockOffensiveWords, final int[] additionalFeaturesOptions, final SettingsValuesForSuggestion settingsValuesForSuggestion, final int sessionId, final float[] inOutLanguageWeight) { if (!isValidDictionary()) { return null; Loading @@ -279,8 +280,12 @@ public final class BinaryDictionary extends Dictionary { } session.mNativeSuggestOptions.setUseFullEditDistance(mUseFullEditDistance); session.mNativeSuggestOptions.setIsGesture(isGesture); session.mNativeSuggestOptions.setBlockOffensiveWords(blockOffensiveWords); session.mNativeSuggestOptions.setAdditionalFeaturesOptions(additionalFeaturesOptions); session.mNativeSuggestOptions.setBlockOffensiveWords( settingsValuesForSuggestion.mBlockPotentiallyOffensive); session.mNativeSuggestOptions.setSpaceAwareGestureEnabled( settingsValuesForSuggestion.mSpaceAwareGestureEnabled); session.mNativeSuggestOptions.setAdditionalFeaturesOptions( settingsValuesForSuggestion.mAdditionalFeaturesSettingValues); if (inOutLanguageWeight != null) { session.mInputOutputLanguageWeight[0] = inOutLanguageWeight[0]; } else { Loading java/src/com/android/inputmethod/latin/Dictionary.java +4 −4 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.inputmethod.latin; import com.android.inputmethod.annotations.UsedForTesting; import com.android.inputmethod.keyboard.ProximityInfo; import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; import com.android.inputmethod.latin.settings.SettingsValuesForSuggestion; import java.util.ArrayList; Loading Loading @@ -72,8 +73,7 @@ public abstract class Dictionary { * @param composer the key sequence to match with coordinate info, as a WordComposer * @param prevWordsInfo the information of previous words. * @param proximityInfo the object for key proximity. May be ignored by some implementations. * @param blockOffensiveWords whether to block potentially offensive words * @param additionalFeaturesOptions options about additional features used for the suggestion. * @param settingsValuesForSuggestion the settings values used for the suggestion. * @param sessionId the session id. * @param inOutLanguageWeight the language weight used for generating suggestions. * inOutLanguageWeight is a float array that has only one element. This can be updated when the Loading @@ -82,7 +82,7 @@ public abstract class Dictionary { */ abstract public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer, final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo, final boolean blockOffensiveWords, final int[] additionalFeaturesOptions, final SettingsValuesForSuggestion settingsValuesForSuggestion, final int sessionId, final float[] inOutLanguageWeight); /** Loading Loading @@ -168,7 +168,7 @@ public abstract class Dictionary { @Override public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer, final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo, final boolean blockOffensiveWords, final int[] additionalFeaturesOptions, final SettingsValuesForSuggestion settingsValuesForSuggestion, final int sessionId, final float[] inOutLanguageWeight) { return null; } Loading java/src/com/android/inputmethod/latin/DictionaryCollection.java +6 −5 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.util.Log; import com.android.inputmethod.keyboard.ProximityInfo; import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; import com.android.inputmethod.latin.settings.SettingsValuesForSuggestion; import java.util.ArrayList; import java.util.Collection; Loading Loading @@ -57,21 +58,21 @@ public final class DictionaryCollection extends Dictionary { @Override public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer, final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo, final boolean blockOffensiveWords, final int[] additionalFeaturesOptions, final SettingsValuesForSuggestion settingsValuesForSuggestion, final int sessionId, final float[] inOutLanguageWeight) { final CopyOnWriteArrayList<Dictionary> dictionaries = mDictionaries; if (dictionaries.isEmpty()) return null; // To avoid creating unnecessary objects, we get the list out of the first // dictionary and add the rest to it if not null, hence the get(0) ArrayList<SuggestedWordInfo> suggestions = dictionaries.get(0).getSuggestions(composer, prevWordsInfo, proximityInfo, blockOffensiveWords, additionalFeaturesOptions, sessionId, inOutLanguageWeight); prevWordsInfo, proximityInfo, settingsValuesForSuggestion, sessionId, inOutLanguageWeight); if (null == suggestions) suggestions = new ArrayList<>(); final int length = dictionaries.size(); for (int i = 1; i < length; ++ i) { final ArrayList<SuggestedWordInfo> sugg = dictionaries.get(i).getSuggestions(composer, prevWordsInfo, proximityInfo, blockOffensiveWords, additionalFeaturesOptions, sessionId, inOutLanguageWeight); prevWordsInfo, proximityInfo, settingsValuesForSuggestion, sessionId, inOutLanguageWeight); if (null != sugg) suggestions.addAll(sugg); } return suggestions; Loading java/src/com/android/inputmethod/latin/DictionaryFacilitator.java +3 −4 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import com.android.inputmethod.latin.personalization.ContextualDictionary; import com.android.inputmethod.latin.personalization.PersonalizationDataChunk; import com.android.inputmethod.latin.personalization.PersonalizationDictionary; import com.android.inputmethod.latin.personalization.UserHistoryDictionary; import com.android.inputmethod.latin.settings.SettingsValuesForSuggestion; import com.android.inputmethod.latin.settings.SpacingAndPunctuations; import com.android.inputmethod.latin.utils.DistracterFilter; import com.android.inputmethod.latin.utils.DistracterFilterCheckingIsInDictionary; Loading Loading @@ -486,8 +487,7 @@ public class DictionaryFacilitator { // TODO: Revise the way to fusion suggestion results. public SuggestionResults getSuggestionResults(final WordComposer composer, final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo, final boolean blockOffensiveWords, final int[] additionalFeaturesOptions, final int sessionId) { final SettingsValuesForSuggestion settingsValuesForSuggestion, final int sessionId) { final Dictionaries dictionaries = mDictionaries; final SuggestionResults suggestionResults = new SuggestionResults(dictionaries.mLocale, SuggestedWords.MAX_SUGGESTIONS); Loading @@ -497,8 +497,7 @@ public class DictionaryFacilitator { if (null == dictionary) continue; final ArrayList<SuggestedWordInfo> dictionarySuggestions = dictionary.getSuggestions(composer, prevWordsInfo, proximityInfo, blockOffensiveWords, additionalFeaturesOptions, sessionId, languageWeight); settingsValuesForSuggestion, sessionId, languageWeight); if (null == dictionarySuggestions) continue; suggestionResults.addAll(dictionarySuggestions); if (null != suggestionResults.mRawSuggestions) { Loading Loading
java/res/xml/prefs.xml +7 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,13 @@ android:title="@string/gesture_preview_trail" android:defaultValue="true" android:persistent="true" /> <CheckBoxPreference android:key="pref_gesture_space_aware" android:dependency="gesture_input" android:title="@string/gesture_space_aware" android:summary="@string/gesture_space_aware_summary" android:defaultValue="true" android:persistent="true" /> </PreferenceScreen> <PreferenceScreen android:title="@string/settings_screen_correction" Loading
java/src/com/android/inputmethod/latin/BinaryDictionary.java +8 −3 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import com.android.inputmethod.latin.makedict.FormatSpec; import com.android.inputmethod.latin.makedict.FormatSpec.DictionaryOptions; import com.android.inputmethod.latin.makedict.UnsupportedFormatException; import com.android.inputmethod.latin.makedict.WordProperty; import com.android.inputmethod.latin.settings.SettingsValuesForSuggestion; import com.android.inputmethod.latin.utils.BinaryDictionaryUtils; import com.android.inputmethod.latin.utils.FileUtils; import com.android.inputmethod.latin.utils.JniUtils; Loading Loading @@ -256,7 +257,7 @@ public final class BinaryDictionary extends Dictionary { @Override public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer, final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo, final boolean blockOffensiveWords, final int[] additionalFeaturesOptions, final SettingsValuesForSuggestion settingsValuesForSuggestion, final int sessionId, final float[] inOutLanguageWeight) { if (!isValidDictionary()) { return null; Loading @@ -279,8 +280,12 @@ public final class BinaryDictionary extends Dictionary { } session.mNativeSuggestOptions.setUseFullEditDistance(mUseFullEditDistance); session.mNativeSuggestOptions.setIsGesture(isGesture); session.mNativeSuggestOptions.setBlockOffensiveWords(blockOffensiveWords); session.mNativeSuggestOptions.setAdditionalFeaturesOptions(additionalFeaturesOptions); session.mNativeSuggestOptions.setBlockOffensiveWords( settingsValuesForSuggestion.mBlockPotentiallyOffensive); session.mNativeSuggestOptions.setSpaceAwareGestureEnabled( settingsValuesForSuggestion.mSpaceAwareGestureEnabled); session.mNativeSuggestOptions.setAdditionalFeaturesOptions( settingsValuesForSuggestion.mAdditionalFeaturesSettingValues); if (inOutLanguageWeight != null) { session.mInputOutputLanguageWeight[0] = inOutLanguageWeight[0]; } else { Loading
java/src/com/android/inputmethod/latin/Dictionary.java +4 −4 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.inputmethod.latin; import com.android.inputmethod.annotations.UsedForTesting; import com.android.inputmethod.keyboard.ProximityInfo; import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; import com.android.inputmethod.latin.settings.SettingsValuesForSuggestion; import java.util.ArrayList; Loading Loading @@ -72,8 +73,7 @@ public abstract class Dictionary { * @param composer the key sequence to match with coordinate info, as a WordComposer * @param prevWordsInfo the information of previous words. * @param proximityInfo the object for key proximity. May be ignored by some implementations. * @param blockOffensiveWords whether to block potentially offensive words * @param additionalFeaturesOptions options about additional features used for the suggestion. * @param settingsValuesForSuggestion the settings values used for the suggestion. * @param sessionId the session id. * @param inOutLanguageWeight the language weight used for generating suggestions. * inOutLanguageWeight is a float array that has only one element. This can be updated when the Loading @@ -82,7 +82,7 @@ public abstract class Dictionary { */ abstract public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer, final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo, final boolean blockOffensiveWords, final int[] additionalFeaturesOptions, final SettingsValuesForSuggestion settingsValuesForSuggestion, final int sessionId, final float[] inOutLanguageWeight); /** Loading Loading @@ -168,7 +168,7 @@ public abstract class Dictionary { @Override public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer, final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo, final boolean blockOffensiveWords, final int[] additionalFeaturesOptions, final SettingsValuesForSuggestion settingsValuesForSuggestion, final int sessionId, final float[] inOutLanguageWeight) { return null; } Loading
java/src/com/android/inputmethod/latin/DictionaryCollection.java +6 −5 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.util.Log; import com.android.inputmethod.keyboard.ProximityInfo; import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; import com.android.inputmethod.latin.settings.SettingsValuesForSuggestion; import java.util.ArrayList; import java.util.Collection; Loading Loading @@ -57,21 +58,21 @@ public final class DictionaryCollection extends Dictionary { @Override public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer, final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo, final boolean blockOffensiveWords, final int[] additionalFeaturesOptions, final SettingsValuesForSuggestion settingsValuesForSuggestion, final int sessionId, final float[] inOutLanguageWeight) { final CopyOnWriteArrayList<Dictionary> dictionaries = mDictionaries; if (dictionaries.isEmpty()) return null; // To avoid creating unnecessary objects, we get the list out of the first // dictionary and add the rest to it if not null, hence the get(0) ArrayList<SuggestedWordInfo> suggestions = dictionaries.get(0).getSuggestions(composer, prevWordsInfo, proximityInfo, blockOffensiveWords, additionalFeaturesOptions, sessionId, inOutLanguageWeight); prevWordsInfo, proximityInfo, settingsValuesForSuggestion, sessionId, inOutLanguageWeight); if (null == suggestions) suggestions = new ArrayList<>(); final int length = dictionaries.size(); for (int i = 1; i < length; ++ i) { final ArrayList<SuggestedWordInfo> sugg = dictionaries.get(i).getSuggestions(composer, prevWordsInfo, proximityInfo, blockOffensiveWords, additionalFeaturesOptions, sessionId, inOutLanguageWeight); prevWordsInfo, proximityInfo, settingsValuesForSuggestion, sessionId, inOutLanguageWeight); if (null != sugg) suggestions.addAll(sugg); } return suggestions; Loading
java/src/com/android/inputmethod/latin/DictionaryFacilitator.java +3 −4 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import com.android.inputmethod.latin.personalization.ContextualDictionary; import com.android.inputmethod.latin.personalization.PersonalizationDataChunk; import com.android.inputmethod.latin.personalization.PersonalizationDictionary; import com.android.inputmethod.latin.personalization.UserHistoryDictionary; import com.android.inputmethod.latin.settings.SettingsValuesForSuggestion; import com.android.inputmethod.latin.settings.SpacingAndPunctuations; import com.android.inputmethod.latin.utils.DistracterFilter; import com.android.inputmethod.latin.utils.DistracterFilterCheckingIsInDictionary; Loading Loading @@ -486,8 +487,7 @@ public class DictionaryFacilitator { // TODO: Revise the way to fusion suggestion results. public SuggestionResults getSuggestionResults(final WordComposer composer, final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo, final boolean blockOffensiveWords, final int[] additionalFeaturesOptions, final int sessionId) { final SettingsValuesForSuggestion settingsValuesForSuggestion, final int sessionId) { final Dictionaries dictionaries = mDictionaries; final SuggestionResults suggestionResults = new SuggestionResults(dictionaries.mLocale, SuggestedWords.MAX_SUGGESTIONS); Loading @@ -497,8 +497,7 @@ public class DictionaryFacilitator { if (null == dictionary) continue; final ArrayList<SuggestedWordInfo> dictionarySuggestions = dictionary.getSuggestions(composer, prevWordsInfo, proximityInfo, blockOffensiveWords, additionalFeaturesOptions, sessionId, languageWeight); settingsValuesForSuggestion, sessionId, languageWeight); if (null == dictionarySuggestions) continue; suggestionResults.addAll(dictionarySuggestions); if (null != suggestionResults.mRawSuggestions) { Loading