Move decoder specific constants to DecoderSpecificConstants.java
Change-Id: Ie4d325b3152e1e7e424b8b436e222e194e4d9da0main
parent
608ef4729c
commit
0f7d881dc7
|
@ -173,15 +173,6 @@ public final class Constants {
|
||||||
// right for this.
|
// right for this.
|
||||||
public static final int MAX_CHARACTERS_FOR_RECAPITALIZATION = 1024 * 100;
|
public static final int MAX_CHARACTERS_FOR_RECAPITALIZATION = 1024 * 100;
|
||||||
|
|
||||||
// Must be equal to MAX_WORD_LENGTH in native/jni/src/defines.h
|
|
||||||
// TODO: create a overlay and update the value appropriately for the new decoder.
|
|
||||||
public static final int DICTIONARY_MAX_WORD_LENGTH = 48;
|
|
||||||
|
|
||||||
// (MAX_PREV_WORD_COUNT_FOR_N_GRAM + 1)-gram is supported in Java side. Needs to modify
|
|
||||||
// MAX_PREV_WORD_COUNT_FOR_N_GRAM in native/jni/src/defines.h for suggestions.
|
|
||||||
// TODO: create a overlay and update the value appropriately for the new decoder.
|
|
||||||
public static final int MAX_PREV_WORD_COUNT_FOR_N_GRAM = 3;
|
|
||||||
|
|
||||||
// Key events coming any faster than this are long-presses.
|
// Key events coming any faster than this are long-presses.
|
||||||
public static final int LONG_PRESS_MILLISECONDS = 200;
|
public static final int LONG_PRESS_MILLISECONDS = 200;
|
||||||
// TODO: Set this value appropriately.
|
// TODO: Set this value appropriately.
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2015 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.inputmethod.latin.define;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Decoder specific constants for LatinIme.
|
||||||
|
*/
|
||||||
|
public class DecoderSpecificConstants {
|
||||||
|
|
||||||
|
// Must be equal to MAX_WORD_LENGTH in native/jni/src/defines.h
|
||||||
|
public static final int DICTIONARY_MAX_WORD_LENGTH = 48;
|
||||||
|
|
||||||
|
// (MAX_PREV_WORD_COUNT_FOR_N_GRAM + 1)-gram is supported in Java side. Needs to modify
|
||||||
|
// MAX_PREV_WORD_COUNT_FOR_N_GRAM in native/jni/src/defines.h for suggestions.
|
||||||
|
public static final int MAX_PREV_WORD_COUNT_FOR_N_GRAM = 3;
|
||||||
|
}
|
|
@ -27,6 +27,7 @@ import com.android.inputmethod.latin.common.Constants;
|
||||||
import com.android.inputmethod.latin.common.FileUtils;
|
import com.android.inputmethod.latin.common.FileUtils;
|
||||||
import com.android.inputmethod.latin.common.InputPointers;
|
import com.android.inputmethod.latin.common.InputPointers;
|
||||||
import com.android.inputmethod.latin.common.StringUtils;
|
import com.android.inputmethod.latin.common.StringUtils;
|
||||||
|
import com.android.inputmethod.latin.define.DecoderSpecificConstants;
|
||||||
import com.android.inputmethod.latin.makedict.DictionaryHeader;
|
import com.android.inputmethod.latin.makedict.DictionaryHeader;
|
||||||
import com.android.inputmethod.latin.makedict.FormatSpec;
|
import com.android.inputmethod.latin.makedict.FormatSpec;
|
||||||
import com.android.inputmethod.latin.makedict.FormatSpec.DictionaryOptions;
|
import com.android.inputmethod.latin.makedict.FormatSpec.DictionaryOptions;
|
||||||
|
@ -319,9 +320,9 @@ public final class BinaryDictionary extends Dictionary {
|
||||||
final int count = session.mOutputSuggestionCount[0];
|
final int count = session.mOutputSuggestionCount[0];
|
||||||
final ArrayList<SuggestedWordInfo> suggestions = new ArrayList<>();
|
final ArrayList<SuggestedWordInfo> suggestions = new ArrayList<>();
|
||||||
for (int j = 0; j < count; ++j) {
|
for (int j = 0; j < count; ++j) {
|
||||||
final int start = j * Constants.DICTIONARY_MAX_WORD_LENGTH;
|
final int start = j * DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH;
|
||||||
int len = 0;
|
int len = 0;
|
||||||
while (len < Constants.DICTIONARY_MAX_WORD_LENGTH
|
while (len < DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH
|
||||||
&& session.mOutputCodePoints[start + len] != 0) {
|
&& session.mOutputCodePoints[start + len] != 0) {
|
||||||
++len;
|
++len;
|
||||||
}
|
}
|
||||||
|
@ -390,7 +391,7 @@ public final class BinaryDictionary extends Dictionary {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final int[] codePoints = StringUtils.toCodePointArray(word);
|
final int[] codePoints = StringUtils.toCodePointArray(word);
|
||||||
final int[] outCodePoints = new int[Constants.DICTIONARY_MAX_WORD_LENGTH];
|
final int[] outCodePoints = new int[DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH];
|
||||||
final boolean[] outFlags = new boolean[FORMAT_WORD_PROPERTY_OUTPUT_FLAG_COUNT];
|
final boolean[] outFlags = new boolean[FORMAT_WORD_PROPERTY_OUTPUT_FLAG_COUNT];
|
||||||
final int[] outProbabilityInfo =
|
final int[] outProbabilityInfo =
|
||||||
new int[FORMAT_WORD_PROPERTY_OUTPUT_PROBABILITY_INFO_COUNT];
|
new int[FORMAT_WORD_PROPERTY_OUTPUT_PROBABILITY_INFO_COUNT];
|
||||||
|
@ -431,7 +432,7 @@ public final class BinaryDictionary extends Dictionary {
|
||||||
* If token is 0, this method newly starts iterating the dictionary.
|
* If token is 0, this method newly starts iterating the dictionary.
|
||||||
*/
|
*/
|
||||||
public GetNextWordPropertyResult getNextWordProperty(final int token) {
|
public GetNextWordPropertyResult getNextWordProperty(final int token) {
|
||||||
final int[] codePoints = new int[Constants.DICTIONARY_MAX_WORD_LENGTH];
|
final int[] codePoints = new int[DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH];
|
||||||
final boolean[] isBeginningOfSentence = new boolean[1];
|
final boolean[] isBeginningOfSentence = new boolean[1];
|
||||||
final int nextToken = getNextWordNative(mNativeDict, token, codePoints,
|
final int nextToken = getNextWordNative(mNativeDict, token, codePoints,
|
||||||
isBeginningOfSentence);
|
isBeginningOfSentence);
|
||||||
|
|
|
@ -16,8 +16,8 @@
|
||||||
|
|
||||||
package com.android.inputmethod.latin;
|
package com.android.inputmethod.latin;
|
||||||
|
|
||||||
import com.android.inputmethod.latin.common.Constants;
|
|
||||||
import com.android.inputmethod.latin.common.NativeSuggestOptions;
|
import com.android.inputmethod.latin.common.NativeSuggestOptions;
|
||||||
|
import com.android.inputmethod.latin.define.DecoderSpecificConstants;
|
||||||
import com.android.inputmethod.latin.utils.JniUtils;
|
import com.android.inputmethod.latin.utils.JniUtils;
|
||||||
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
@ -28,14 +28,15 @@ public final class DicTraverseSession {
|
||||||
}
|
}
|
||||||
// Must be equal to MAX_RESULTS in native/jni/src/defines.h
|
// Must be equal to MAX_RESULTS in native/jni/src/defines.h
|
||||||
private static final int MAX_RESULTS = 18;
|
private static final int MAX_RESULTS = 18;
|
||||||
public final int[] mInputCodePoints = new int[Constants.DICTIONARY_MAX_WORD_LENGTH];
|
public final int[] mInputCodePoints =
|
||||||
|
new int[DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH];
|
||||||
public final int[][] mPrevWordCodePointArrays =
|
public final int[][] mPrevWordCodePointArrays =
|
||||||
new int[Constants.MAX_PREV_WORD_COUNT_FOR_N_GRAM][];
|
new int[DecoderSpecificConstants.MAX_PREV_WORD_COUNT_FOR_N_GRAM][];
|
||||||
public final boolean[] mIsBeginningOfSentenceArray =
|
public final boolean[] mIsBeginningOfSentenceArray =
|
||||||
new boolean[Constants.MAX_PREV_WORD_COUNT_FOR_N_GRAM];
|
new boolean[DecoderSpecificConstants.MAX_PREV_WORD_COUNT_FOR_N_GRAM];
|
||||||
public final int[] mOutputSuggestionCount = new int[1];
|
public final int[] mOutputSuggestionCount = new int[1];
|
||||||
public final int[] mOutputCodePoints =
|
public final int[] mOutputCodePoints =
|
||||||
new int[Constants.DICTIONARY_MAX_WORD_LENGTH * MAX_RESULTS];
|
new int[DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH * MAX_RESULTS];
|
||||||
public final int[] mSpaceIndices = new int[MAX_RESULTS];
|
public final int[] mSpaceIndices = new int[MAX_RESULTS];
|
||||||
public final int[] mOutputScores = new int[MAX_RESULTS];
|
public final int[] mOutputScores = new int[MAX_RESULTS];
|
||||||
public final int[] mOutputTypes = new int[MAX_RESULTS];
|
public final int[] mOutputTypes = new int[MAX_RESULTS];
|
||||||
|
|
|
@ -22,8 +22,8 @@ import android.util.Log;
|
||||||
import com.android.inputmethod.annotations.UsedForTesting;
|
import com.android.inputmethod.annotations.UsedForTesting;
|
||||||
import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
|
import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
|
||||||
import com.android.inputmethod.latin.common.ComposedData;
|
import com.android.inputmethod.latin.common.ComposedData;
|
||||||
import com.android.inputmethod.latin.common.Constants;
|
|
||||||
import com.android.inputmethod.latin.common.FileUtils;
|
import com.android.inputmethod.latin.common.FileUtils;
|
||||||
|
import com.android.inputmethod.latin.define.DecoderSpecificConstants;
|
||||||
import com.android.inputmethod.latin.makedict.DictionaryHeader;
|
import com.android.inputmethod.latin.makedict.DictionaryHeader;
|
||||||
import com.android.inputmethod.latin.makedict.FormatSpec;
|
import com.android.inputmethod.latin.makedict.FormatSpec;
|
||||||
import com.android.inputmethod.latin.makedict.UnsupportedFormatException;
|
import com.android.inputmethod.latin.makedict.UnsupportedFormatException;
|
||||||
|
@ -73,7 +73,8 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
|
||||||
/**
|
/**
|
||||||
* The maximum length of a word in this dictionary.
|
* The maximum length of a word in this dictionary.
|
||||||
*/
|
*/
|
||||||
protected static final int MAX_WORD_LENGTH = Constants.DICTIONARY_MAX_WORD_LENGTH;
|
protected static final int MAX_WORD_LENGTH =
|
||||||
|
DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH;
|
||||||
|
|
||||||
private static final int DICTIONARY_FORMAT_VERSION = FormatSpec.VERSION4;
|
private static final int DICTIONARY_FORMAT_VERSION = FormatSpec.VERSION4;
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,8 @@ package com.android.inputmethod.latin;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import com.android.inputmethod.event.Event;
|
import com.android.inputmethod.event.Event;
|
||||||
import com.android.inputmethod.latin.common.Constants;
|
|
||||||
import com.android.inputmethod.latin.common.InputPointers;
|
import com.android.inputmethod.latin.common.InputPointers;
|
||||||
|
import com.android.inputmethod.latin.define.DecoderSpecificConstants;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ public final class LastComposedWord {
|
||||||
public final NgramContext mNgramContext;
|
public final NgramContext mNgramContext;
|
||||||
public final int mCapitalizedMode;
|
public final int mCapitalizedMode;
|
||||||
public final InputPointers mInputPointers =
|
public final InputPointers mInputPointers =
|
||||||
new InputPointers(Constants.DICTIONARY_MAX_WORD_LENGTH);
|
new InputPointers(DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH);
|
||||||
|
|
||||||
private boolean mActive;
|
private boolean mActive;
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,8 @@ package com.android.inputmethod.latin;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import com.android.inputmethod.annotations.UsedForTesting;
|
import com.android.inputmethod.annotations.UsedForTesting;
|
||||||
import com.android.inputmethod.latin.common.Constants;
|
|
||||||
import com.android.inputmethod.latin.common.StringUtils;
|
import com.android.inputmethod.latin.common.StringUtils;
|
||||||
|
import com.android.inputmethod.latin.define.DecoderSpecificConstants;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
@ -111,8 +111,8 @@ public class NgramContext {
|
||||||
// Create next prevWordsInfo using current prevWordsInfo.
|
// Create next prevWordsInfo using current prevWordsInfo.
|
||||||
@Nonnull
|
@Nonnull
|
||||||
public NgramContext getNextNgramContext(final WordInfo wordInfo) {
|
public NgramContext getNextNgramContext(final WordInfo wordInfo) {
|
||||||
final int nextPrevWordCount = Math.min(Constants.MAX_PREV_WORD_COUNT_FOR_N_GRAM,
|
final int nextPrevWordCount = Math.min(
|
||||||
mPrevWordsCount + 1);
|
DecoderSpecificConstants.MAX_PREV_WORD_COUNT_FOR_N_GRAM, mPrevWordsCount + 1);
|
||||||
final WordInfo[] prevWordsInfo = new WordInfo[nextPrevWordCount];
|
final WordInfo[] prevWordsInfo = new WordInfo[nextPrevWordCount];
|
||||||
prevWordsInfo[0] = wordInfo;
|
prevWordsInfo[0] = wordInfo;
|
||||||
System.arraycopy(mPrevWordsInfo, 0, prevWordsInfo, 1, nextPrevWordCount - 1);
|
System.arraycopy(mPrevWordsInfo, 0, prevWordsInfo, 1, nextPrevWordCount - 1);
|
||||||
|
|
|
@ -16,6 +16,8 @@
|
||||||
|
|
||||||
package com.android.inputmethod.latin;
|
package com.android.inputmethod.latin;
|
||||||
|
|
||||||
|
import static com.android.inputmethod.latin.define.DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH;
|
||||||
|
|
||||||
import android.inputmethodservice.InputMethodService;
|
import android.inputmethodservice.InputMethodService;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
@ -35,6 +37,7 @@ import com.android.inputmethod.compat.InputConnectionCompatUtils;
|
||||||
import com.android.inputmethod.latin.common.Constants;
|
import com.android.inputmethod.latin.common.Constants;
|
||||||
import com.android.inputmethod.latin.common.UnicodeSurrogate;
|
import com.android.inputmethod.latin.common.UnicodeSurrogate;
|
||||||
import com.android.inputmethod.latin.common.StringUtils;
|
import com.android.inputmethod.latin.common.StringUtils;
|
||||||
|
import com.android.inputmethod.latin.define.DecoderSpecificConstants;
|
||||||
import com.android.inputmethod.latin.inputlogic.PrivateCommandPerformer;
|
import com.android.inputmethod.latin.inputlogic.PrivateCommandPerformer;
|
||||||
import com.android.inputmethod.latin.settings.SpacingAndPunctuations;
|
import com.android.inputmethod.latin.settings.SpacingAndPunctuations;
|
||||||
import com.android.inputmethod.latin.utils.CapsModeUtils;
|
import com.android.inputmethod.latin.utils.CapsModeUtils;
|
||||||
|
@ -60,9 +63,9 @@ public final class RichInputConnection implements PrivateCommandPerformer {
|
||||||
private static final boolean DEBUG_PREVIOUS_TEXT = false;
|
private static final boolean DEBUG_PREVIOUS_TEXT = false;
|
||||||
private static final boolean DEBUG_BATCH_NESTING = false;
|
private static final boolean DEBUG_BATCH_NESTING = false;
|
||||||
// Provision for long words and separators between the words.
|
// Provision for long words and separators between the words.
|
||||||
private static final int LOOKBACK_CHARACTER_NUM = Constants.DICTIONARY_MAX_WORD_LENGTH
|
private static final int LOOKBACK_CHARACTER_NUM = DICTIONARY_MAX_WORD_LENGTH
|
||||||
* (Constants.MAX_PREV_WORD_COUNT_FOR_N_GRAM + 1) /* words */
|
* (DecoderSpecificConstants.MAX_PREV_WORD_COUNT_FOR_N_GRAM + 1) /* words */
|
||||||
+ Constants.MAX_PREV_WORD_COUNT_FOR_N_GRAM /* separators */;
|
+ DecoderSpecificConstants.MAX_PREV_WORD_COUNT_FOR_N_GRAM /* separators */;
|
||||||
private static final int INVALID_CURSOR_POSITION = -1;
|
private static final int INVALID_CURSOR_POSITION = -1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -26,6 +26,7 @@ import com.android.inputmethod.latin.common.CoordinateUtils;
|
||||||
import com.android.inputmethod.latin.common.InputPointers;
|
import com.android.inputmethod.latin.common.InputPointers;
|
||||||
import com.android.inputmethod.latin.common.StringUtils;
|
import com.android.inputmethod.latin.common.StringUtils;
|
||||||
import com.android.inputmethod.latin.define.DebugFlags;
|
import com.android.inputmethod.latin.define.DebugFlags;
|
||||||
|
import com.android.inputmethod.latin.define.DecoderSpecificConstants;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
@ -36,7 +37,7 @@ import javax.annotation.Nonnull;
|
||||||
* A place to store the currently composing word with information such as adjacent key codes as well
|
* A place to store the currently composing word with information such as adjacent key codes as well
|
||||||
*/
|
*/
|
||||||
public final class WordComposer {
|
public final class WordComposer {
|
||||||
private static final int MAX_WORD_LENGTH = Constants.DICTIONARY_MAX_WORD_LENGTH;
|
private static final int MAX_WORD_LENGTH = DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH;
|
||||||
private static final boolean DBG = DebugFlags.DEBUG_ENABLED;
|
private static final boolean DBG = DebugFlags.DEBUG_ENABLED;
|
||||||
|
|
||||||
public static final int CAPS_MODE_OFF = 0;
|
public static final int CAPS_MODE_OFF = 0;
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
package com.android.inputmethod.latin.makedict;
|
package com.android.inputmethod.latin.makedict;
|
||||||
|
|
||||||
import com.android.inputmethod.annotations.UsedForTesting;
|
import com.android.inputmethod.annotations.UsedForTesting;
|
||||||
import com.android.inputmethod.latin.common.Constants;
|
import com.android.inputmethod.latin.define.DecoderSpecificConstants;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -186,7 +186,7 @@ public final class FormatSpec {
|
||||||
|
|
||||||
// TODO: Make this value adaptative to content data, store it in the header, and
|
// TODO: Make this value adaptative to content data, store it in the header, and
|
||||||
// use it in the reading code.
|
// use it in the reading code.
|
||||||
static final int MAX_WORD_LENGTH = Constants.DICTIONARY_MAX_WORD_LENGTH;
|
static final int MAX_WORD_LENGTH = DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH;
|
||||||
|
|
||||||
// These flags are used only in the static dictionary.
|
// These flags are used only in the static dictionary.
|
||||||
static final int MASK_CHILDREN_ADDRESS_TYPE = 0xC0;
|
static final int MASK_CHILDREN_ADDRESS_TYPE = 0xC0;
|
||||||
|
|
|
@ -17,17 +17,14 @@
|
||||||
package com.android.inputmethod.latin.personalization;
|
package com.android.inputmethod.latin.personalization;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
|
||||||
import android.preference.PreferenceManager;
|
|
||||||
|
|
||||||
import com.android.inputmethod.annotations.ExternallyReferenced;
|
import com.android.inputmethod.annotations.ExternallyReferenced;
|
||||||
import com.android.inputmethod.annotations.UsedForTesting;
|
import com.android.inputmethod.annotations.UsedForTesting;
|
||||||
import com.android.inputmethod.latin.Dictionary;
|
import com.android.inputmethod.latin.Dictionary;
|
||||||
import com.android.inputmethod.latin.ExpandableBinaryDictionary;
|
import com.android.inputmethod.latin.ExpandableBinaryDictionary;
|
||||||
import com.android.inputmethod.latin.NgramContext;
|
import com.android.inputmethod.latin.NgramContext;
|
||||||
import com.android.inputmethod.latin.common.Constants;
|
import com.android.inputmethod.latin.define.DecoderSpecificConstants;
|
||||||
import com.android.inputmethod.latin.define.ProductionFlags;
|
import com.android.inputmethod.latin.define.ProductionFlags;
|
||||||
import com.android.inputmethod.latin.settings.LocalSettingsConstants;
|
|
||||||
import com.android.inputmethod.latin.utils.DistracterFilter;
|
import com.android.inputmethod.latin.utils.DistracterFilter;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
@ -102,7 +99,7 @@ public class UserHistoryDictionary extends DecayingExpandableBinaryDictionaryBas
|
||||||
public static void addToDictionary(final ExpandableBinaryDictionary userHistoryDictionary,
|
public static void addToDictionary(final ExpandableBinaryDictionary userHistoryDictionary,
|
||||||
@Nonnull final NgramContext ngramContext, final String word, final boolean isValid,
|
@Nonnull final NgramContext ngramContext, final String word, final boolean isValid,
|
||||||
final int timestamp, @Nonnull final DistracterFilter distracterFilter) {
|
final int timestamp, @Nonnull final DistracterFilter distracterFilter) {
|
||||||
if (word.length() > Constants.DICTIONARY_MAX_WORD_LENGTH) {
|
if (word.length() > DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
userHistoryDictionary.updateEntriesForWordWithCheckingDistracter(ngramContext, word,
|
userHistoryDictionary.updateEntriesForWordWithCheckingDistracter(ngramContext, word,
|
||||||
|
|
|
@ -27,8 +27,8 @@ import com.android.inputmethod.annotations.UsedForTesting;
|
||||||
import com.android.inputmethod.latin.AssetFileAddress;
|
import com.android.inputmethod.latin.AssetFileAddress;
|
||||||
import com.android.inputmethod.latin.BinaryDictionaryGetter;
|
import com.android.inputmethod.latin.BinaryDictionaryGetter;
|
||||||
import com.android.inputmethod.latin.R;
|
import com.android.inputmethod.latin.R;
|
||||||
import com.android.inputmethod.latin.common.Constants;
|
|
||||||
import com.android.inputmethod.latin.common.LocaleUtils;
|
import com.android.inputmethod.latin.common.LocaleUtils;
|
||||||
|
import com.android.inputmethod.latin.define.DecoderSpecificConstants;
|
||||||
import com.android.inputmethod.latin.makedict.DictionaryHeader;
|
import com.android.inputmethod.latin.makedict.DictionaryHeader;
|
||||||
import com.android.inputmethod.latin.makedict.UnsupportedFormatException;
|
import com.android.inputmethod.latin.makedict.UnsupportedFormatException;
|
||||||
import com.android.inputmethod.latin.settings.SpacingAndPunctuations;
|
import com.android.inputmethod.latin.settings.SpacingAndPunctuations;
|
||||||
|
@ -450,7 +450,7 @@ public class DictionaryInfoUtils {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
final int length = text.length();
|
final int length = text.length();
|
||||||
if (length > Constants.DICTIONARY_MAX_WORD_LENGTH) {
|
if (length > DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
|
@ -18,7 +18,7 @@ package com.android.inputmethod.latin.utils;
|
||||||
|
|
||||||
import com.android.inputmethod.latin.NgramContext;
|
import com.android.inputmethod.latin.NgramContext;
|
||||||
import com.android.inputmethod.latin.NgramContext.WordInfo;
|
import com.android.inputmethod.latin.NgramContext.WordInfo;
|
||||||
import com.android.inputmethod.latin.common.Constants;
|
import com.android.inputmethod.latin.define.DecoderSpecificConstants;
|
||||||
import com.android.inputmethod.latin.settings.SpacingAndPunctuations;
|
import com.android.inputmethod.latin.settings.SpacingAndPunctuations;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
@ -59,7 +59,8 @@ public final class NgramContextUtils {
|
||||||
final SpacingAndPunctuations spacingAndPunctuations, final int n) {
|
final SpacingAndPunctuations spacingAndPunctuations, final int n) {
|
||||||
if (prev == null) return NgramContext.EMPTY_PREV_WORDS_INFO;
|
if (prev == null) return NgramContext.EMPTY_PREV_WORDS_INFO;
|
||||||
final String[] w = SPACE_REGEX.split(prev);
|
final String[] w = SPACE_REGEX.split(prev);
|
||||||
final WordInfo[] prevWordsInfo = new WordInfo[Constants.MAX_PREV_WORD_COUNT_FOR_N_GRAM];
|
final WordInfo[] prevWordsInfo =
|
||||||
|
new WordInfo[DecoderSpecificConstants.MAX_PREV_WORD_COUNT_FOR_N_GRAM];
|
||||||
Arrays.fill(prevWordsInfo, WordInfo.EMPTY_WORD_INFO);
|
Arrays.fill(prevWordsInfo, WordInfo.EMPTY_WORD_INFO);
|
||||||
for (int i = 0; i < prevWordsInfo.length; i++) {
|
for (int i = 0; i < prevWordsInfo.length; i++) {
|
||||||
final int focusedWordIndex = w.length - n - i;
|
final int focusedWordIndex = w.length - n - i;
|
||||||
|
|
|
@ -20,8 +20,8 @@ import android.util.Log;
|
||||||
|
|
||||||
import com.android.inputmethod.annotations.UsedForTesting;
|
import com.android.inputmethod.annotations.UsedForTesting;
|
||||||
import com.android.inputmethod.latin.NgramContext;
|
import com.android.inputmethod.latin.NgramContext;
|
||||||
import com.android.inputmethod.latin.common.Constants;
|
|
||||||
import com.android.inputmethod.latin.common.StringUtils;
|
import com.android.inputmethod.latin.common.StringUtils;
|
||||||
|
import com.android.inputmethod.latin.define.DecoderSpecificConstants;
|
||||||
import com.android.inputmethod.latin.settings.SpacingAndPunctuations;
|
import com.android.inputmethod.latin.settings.SpacingAndPunctuations;
|
||||||
import com.android.inputmethod.latin.utils.DistracterFilter.HandlingType;
|
import com.android.inputmethod.latin.utils.DistracterFilter.HandlingType;
|
||||||
|
|
||||||
|
@ -37,9 +37,10 @@ public final class WordInputEventForPersonalization {
|
||||||
|
|
||||||
public final int[] mTargetWord;
|
public final int[] mTargetWord;
|
||||||
public final int mPrevWordsCount;
|
public final int mPrevWordsCount;
|
||||||
public final int[][] mPrevWordArray = new int[Constants.MAX_PREV_WORD_COUNT_FOR_N_GRAM][];
|
public final int[][] mPrevWordArray =
|
||||||
|
new int[DecoderSpecificConstants.MAX_PREV_WORD_COUNT_FOR_N_GRAM][];
|
||||||
public final boolean[] mIsPrevWordBeginningOfSentenceArray =
|
public final boolean[] mIsPrevWordBeginningOfSentenceArray =
|
||||||
new boolean[Constants.MAX_PREV_WORD_COUNT_FOR_N_GRAM];
|
new boolean[DecoderSpecificConstants.MAX_PREV_WORD_COUNT_FOR_N_GRAM];
|
||||||
public final boolean mIsValid;
|
public final boolean mIsValid;
|
||||||
// Time stamp in seconds.
|
// Time stamp in seconds.
|
||||||
public final int mTimestamp;
|
public final int mTimestamp;
|
||||||
|
|
|
@ -23,8 +23,8 @@ import android.util.Pair;
|
||||||
|
|
||||||
import com.android.inputmethod.latin.NgramContext.WordInfo;
|
import com.android.inputmethod.latin.NgramContext.WordInfo;
|
||||||
import com.android.inputmethod.latin.common.CodePointUtils;
|
import com.android.inputmethod.latin.common.CodePointUtils;
|
||||||
import com.android.inputmethod.latin.common.Constants;
|
|
||||||
import com.android.inputmethod.latin.common.FileUtils;
|
import com.android.inputmethod.latin.common.FileUtils;
|
||||||
|
import com.android.inputmethod.latin.define.DecoderSpecificConstants;
|
||||||
import com.android.inputmethod.latin.makedict.DictionaryHeader;
|
import com.android.inputmethod.latin.makedict.DictionaryHeader;
|
||||||
import com.android.inputmethod.latin.makedict.FormatSpec;
|
import com.android.inputmethod.latin.makedict.FormatSpec;
|
||||||
import com.android.inputmethod.latin.makedict.WeightedString;
|
import com.android.inputmethod.latin.makedict.WeightedString;
|
||||||
|
@ -171,7 +171,7 @@ public class BinaryDictionaryTests extends AndroidTestCase {
|
||||||
private void testAddTooLongWord(final int formatVersion) {
|
private void testAddTooLongWord(final int formatVersion) {
|
||||||
final BinaryDictionary binaryDictionary = getEmptyBinaryDictionary(formatVersion);
|
final BinaryDictionary binaryDictionary = getEmptyBinaryDictionary(formatVersion);
|
||||||
final StringBuffer stringBuilder = new StringBuffer();
|
final StringBuffer stringBuilder = new StringBuffer();
|
||||||
for (int i = 0; i < Constants.DICTIONARY_MAX_WORD_LENGTH; i++) {
|
for (int i = 0; i < DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH; i++) {
|
||||||
stringBuilder.append('a');
|
stringBuilder.append('a');
|
||||||
}
|
}
|
||||||
final String validLongWord = stringBuilder.toString();
|
final String validLongWord = stringBuilder.toString();
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
package com.android.inputmethod.latin.makedict;
|
package com.android.inputmethod.latin.makedict;
|
||||||
|
|
||||||
import com.android.inputmethod.annotations.UsedForTesting;
|
import com.android.inputmethod.annotations.UsedForTesting;
|
||||||
import com.android.inputmethod.latin.common.Constants;
|
import com.android.inputmethod.latin.define.DecoderSpecificConstants;
|
||||||
import com.android.inputmethod.latin.makedict.DictDecoder.DictionaryBufferFactory;
|
import com.android.inputmethod.latin.makedict.DictDecoder.DictionaryBufferFactory;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
@ -183,7 +183,7 @@ public final class BinaryDictIOUtils {
|
||||||
dictDecoder.readHeader();
|
dictDecoder.readHeader();
|
||||||
int wordPos = 0;
|
int wordPos = 0;
|
||||||
final int wordLen = word.codePointCount(0, word.length());
|
final int wordLen = word.codePointCount(0, word.length());
|
||||||
for (int depth = 0; depth < Constants.DICTIONARY_MAX_WORD_LENGTH; ++depth) {
|
for (int depth = 0; depth < DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH; ++depth) {
|
||||||
if (wordPos >= wordLen) return FormatSpec.NOT_VALID_WORD;
|
if (wordPos >= wordLen) return FormatSpec.NOT_VALID_WORD;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
package com.android.inputmethod.latin.makedict;
|
package com.android.inputmethod.latin.makedict;
|
||||||
|
|
||||||
import com.android.inputmethod.annotations.UsedForTesting;
|
import com.android.inputmethod.annotations.UsedForTesting;
|
||||||
import com.android.inputmethod.latin.common.Constants;
|
import com.android.inputmethod.latin.define.DecoderSpecificConstants;
|
||||||
import com.android.inputmethod.latin.makedict.FormatSpec.DictionaryOptions;
|
import com.android.inputmethod.latin.makedict.FormatSpec.DictionaryOptions;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -387,7 +387,7 @@ public final class FusionDictionary implements Iterable<WordProperty> {
|
||||||
final ArrayList<WeightedString> shortcutTargets,
|
final ArrayList<WeightedString> shortcutTargets,
|
||||||
final boolean isNotAWord, final boolean isPossiblyOffensive) {
|
final boolean isNotAWord, final boolean isPossiblyOffensive) {
|
||||||
assert(probabilityInfo.mProbability <= FormatSpec.MAX_TERMINAL_FREQUENCY);
|
assert(probabilityInfo.mProbability <= FormatSpec.MAX_TERMINAL_FREQUENCY);
|
||||||
if (word.length >= Constants.DICTIONARY_MAX_WORD_LENGTH) {
|
if (word.length >= DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH) {
|
||||||
MakedictLog.w("Ignoring a word that is too long: word.length = " + word.length);
|
MakedictLog.w("Ignoring a word that is too long: word.length = " + word.length);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue