Fix: Suggested words from user history are invalid. DO NOT MERGE.
- Suggestions form user history can contain invalid words. - isValidWord always returns false. Bug: 11139426 Change-Id: I6075b275603332ddb00f4a9284afcaa82d824270
This commit is contained in:
parent
2e7f360a04
commit
029d9eeb38
2 changed files with 9 additions and 11 deletions
|
@ -113,15 +113,6 @@ public abstract class DecayingExpandableBinaryDictionaryBase extends ExpandableB
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Return whether the passed charsequence is in the dictionary.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public boolean isValidWord(final String word) {
|
|
||||||
// Words included only in the user history should be treated as not in dictionary words.
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pair will be added to the decaying dictionary.
|
* Pair will be added to the decaying dictionary.
|
||||||
*
|
*
|
||||||
|
|
|
@ -55,9 +55,16 @@ void DynamicPatriciaTriePolicy::createAndGetAllChildNodes(const DicNode *const d
|
||||||
readingHelper.initWithPtNodeArrayPos(dicNode->getChildrenPos());
|
readingHelper.initWithPtNodeArrayPos(dicNode->getChildrenPos());
|
||||||
const DynamicPatriciaTrieNodeReader *const nodeReader = readingHelper.getNodeReader();
|
const DynamicPatriciaTrieNodeReader *const nodeReader = readingHelper.getNodeReader();
|
||||||
while (!readingHelper.isEnd()) {
|
while (!readingHelper.isEnd()) {
|
||||||
|
bool isTerminal = nodeReader->isTerminal() && !nodeReader->isDeleted();
|
||||||
|
if (isTerminal && mHeaderPolicy.isDecayingDict()) {
|
||||||
|
// A DecayingDict may have a terminal PtNode that has a terminal DicNode whose
|
||||||
|
// probability is NOT_A_PROBABILITY. In such case, we don't want to treat it as a
|
||||||
|
// valid terminal DicNode.
|
||||||
|
isTerminal = getProbability(nodeReader->getProbability(), NOT_A_PROBABILITY)
|
||||||
|
!= NOT_A_PROBABILITY;
|
||||||
|
}
|
||||||
childDicNodes->pushLeavingChild(dicNode, nodeReader->getHeadPos(),
|
childDicNodes->pushLeavingChild(dicNode, nodeReader->getHeadPos(),
|
||||||
nodeReader->getChildrenPos(), nodeReader->getProbability(),
|
nodeReader->getChildrenPos(), nodeReader->getProbability(), isTerminal,
|
||||||
nodeReader->isTerminal() && !nodeReader->isDeleted(),
|
|
||||||
nodeReader->hasChildren(), nodeReader->isBlacklisted() || nodeReader->isNotAWord(),
|
nodeReader->hasChildren(), nodeReader->isBlacklisted() || nodeReader->isNotAWord(),
|
||||||
nodeReader->getCodePointCount(), readingHelper.getMergedNodeCodePoints());
|
nodeReader->getCodePointCount(), readingHelper.getMergedNodeCodePoints());
|
||||||
readingHelper.readNextSiblingNode();
|
readingHelper.readNextSiblingNode();
|
||||||
|
|
Loading…
Reference in a new issue