Quit suggest words that do not include proximity chars.
Bug: 10416722 Change-Id: I74d27c6a22b4ca47d02eb238b2fbcc49f5dee99c
This commit is contained in:
parent
5edae8cea0
commit
d5f5dd74c2
2 changed files with 10 additions and 0 deletions
|
@ -280,6 +280,13 @@ class DicNode {
|
||||||
return !(currentDepth > 0 && (currentDepth != 1 || prevWordLen != 1));
|
return !(currentDepth > 0 && (currentDepth != 1 || prevWordLen != 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool hasMatchedOrProximityCodePoints() const {
|
||||||
|
// This DicNode does not have matched or proximity code points when all code points have
|
||||||
|
// been handled as edit corrections so far.
|
||||||
|
return mDicNodeState.mDicNodeStateScoring.getEditCorrectionCount()
|
||||||
|
< getNodeCodePointCount();
|
||||||
|
}
|
||||||
|
|
||||||
bool isTotalInputSizeExceedingLimit() const {
|
bool isTotalInputSizeExceedingLimit() const {
|
||||||
const int prevWordsLen = mDicNodeState.mDicNodeStatePrevWord.getPrevWordLength();
|
const int prevWordsLen = mDicNodeState.mDicNodeStatePrevWord.getPrevWordLength();
|
||||||
const int currentWordDepth = getNodeCodePointCount();
|
const int currentWordDepth = getNodeCodePointCount();
|
||||||
|
|
|
@ -459,6 +459,9 @@ void Suggest::processTerminalDicNode(
|
||||||
Weighting::addCostAndForwardInputIndex(WEIGHTING, CT_TERMINAL_INSERTION, traverseSession, 0,
|
Weighting::addCostAndForwardInputIndex(WEIGHTING, CT_TERMINAL_INSERTION, traverseSession, 0,
|
||||||
&terminalDicNode, traverseSession->getMultiBigramMap());
|
&terminalDicNode, traverseSession->getMultiBigramMap());
|
||||||
}
|
}
|
||||||
|
if (!dicNode->hasMatchedOrProximityCodePoints()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
Weighting::addCostAndForwardInputIndex(WEIGHTING, CT_TERMINAL, traverseSession, 0,
|
Weighting::addCostAndForwardInputIndex(WEIGHTING, CT_TERMINAL, traverseSession, 0,
|
||||||
&terminalDicNode, traverseSession->getMultiBigramMap());
|
&terminalDicNode, traverseSession->getMultiBigramMap());
|
||||||
traverseSession->getDicTraverseCache()->copyPushTerminal(&terminalDicNode);
|
traverseSession->getDicTraverseCache()->copyPushTerminal(&terminalDicNode);
|
||||||
|
|
Loading…
Reference in a new issue