Fetch and pass the bigram position on suggestions.
This is a cherry-pick of change I2d81742f
Bug: 6313806
Change-Id: Ic1190b7980d032bc11b57841bca040d980889b6b
diff --git a/native/jni/src/dictionary.h b/native/jni/src/dictionary.h
index 5b9ddb3..e0feeaf 100644
--- a/native/jni/src/dictionary.h
+++ b/native/jni/src/dictionary.h
@@ -33,12 +33,12 @@
int fullWordMultiplier, int maxWordLength, int maxWords);
int getSuggestions(ProximityInfo *proximityInfo, int *xcoordinates, int *ycoordinates,
- int *codes, int codesSize, bool useFullEditDistance, unsigned short *outWords,
- int *frequencies) {
+ int *codes, int codesSize, const int32_t* prevWordChars, const int prevWordLength,
+ bool useFullEditDistance, unsigned short *outWords, int *frequencies) {
// bigramListPosition is, as an int, the offset of the bigram list in the file.
// If none, it's zero.
- // TODO: get this from the bigram dictionary instance
- const int bigramListPosition = 0;
+ const int bigramListPosition = !prevWordChars ? 0
+ : mBigramDictionary->getBigramListPositionForWord(prevWordChars, prevWordLength);
return mUnigramDictionary->getSuggestions(proximityInfo, mWordsPriorityQueuePool,
mCorrection, xcoordinates, ycoordinates, codes, codesSize, bigramListPosition,
useFullEditDistance, outWords, frequencies);