diff options
Diffstat (limited to 'native/jni/src/proximity_info_state.cpp')
-rw-r--r-- | native/jni/src/proximity_info_state.cpp | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/native/jni/src/proximity_info_state.cpp b/native/jni/src/proximity_info_state.cpp index 7fcfd5dc8..a10b260e1 100644 --- a/native/jni/src/proximity_info_state.cpp +++ b/native/jni/src/proximity_info_state.cpp @@ -28,16 +28,19 @@ namespace latinime { +// TODO: Remove the dependency of "isGeometric" void ProximityInfoState::initInputParams(const int pointerId, const float maxPointToKeyLength, const ProximityInfo *proximityInfo, const int *const inputCodes, const int inputSize, const int *const xCoordinates, const int *const yCoordinates, const int *const times, const int *const pointerIds, const bool isGeometric) { ASSERT(isGeometric || (inputSize < MAX_WORD_LENGTH)); - mIsContinuationPossible = ProximityInfoStateUtils::checkAndReturnIsContinuationPossible( - inputSize, xCoordinates, yCoordinates, times, mSampledInputSize, &mSampledInputXs, - &mSampledInputYs, &mSampledTimes, &mSampledInputIndice); + mIsContinuousSuggestionPossible = + ProximityInfoStateUtils::checkAndReturnIsContinuousSuggestionPossible( + inputSize, xCoordinates, yCoordinates, times, mSampledInputSize, + &mSampledInputXs, &mSampledInputYs, &mSampledTimes, &mSampledInputIndice); if (DEBUG_DICT) { - AKLOGI("isContinuationPossible = %s", (mIsContinuationPossible ? "true" : "false")); + AKLOGI("isContinuousSuggestionPossible = %s", + (mIsContinuousSuggestionPossible ? "true" : "false")); } mProximityInfo = proximityInfo; @@ -64,7 +67,7 @@ void ProximityInfoState::initInputParams(const int pointerId, const float maxPoi mSampledInputSize = 0; mMostProbableStringProbability = 0.0f; - if (mIsContinuationPossible && mSampledInputIndice.size() > 1) { + if (mIsContinuousSuggestionPossible && mSampledInputIndice.size() > 1) { // Just update difference. // Previous two points are never skipped. Thus, we pop 2 input point data here. pushTouchPointStartIndex = ProximityInfoStateUtils::trimLastTwoTouchPoints( @@ -92,12 +95,17 @@ void ProximityInfoState::initInputParams(const int pointerId, const float maxPoi pushTouchPointStartIndex, lastSavedInputSize); } + // TODO: Remove the dependency of "isGeometric" + const float verticalSweetSpotScale = isGeometric + ? ProximityInfoParams::VERTICAL_SWEET_SPOT_SCALE_G + : ProximityInfoParams::VERTICAL_SWEET_SPOT_SCALE; + if (xCoordinates && yCoordinates) { mSampledInputSize = ProximityInfoStateUtils::updateTouchPoints(mProximityInfo, mMaxPointToKeyLength, mInputProximities, xCoordinates, yCoordinates, times, - pointerIds, inputSize, isGeometric, pointerId, pushTouchPointStartIndex, - &mSampledInputXs, &mSampledInputYs, &mSampledTimes, &mSampledLengthCache, - &mSampledInputIndice); + pointerIds, verticalSweetSpotScale, inputSize, isGeometric, pointerId, + pushTouchPointStartIndex, &mSampledInputXs, &mSampledInputYs, &mSampledTimes, + &mSampledLengthCache, &mSampledInputIndice); } if (mSampledInputSize > 0 && isGeometric) { @@ -113,8 +121,8 @@ void ProximityInfoState::initInputParams(const int pointerId, const float maxPoi if (mSampledInputSize > 0) { ProximityInfoStateUtils::initGeometricDistanceInfos(mProximityInfo, mSampledInputSize, - lastSavedInputSize, &mSampledInputXs, &mSampledInputYs, &mSampledNearKeySets, - &mSampledDistanceCache_G); + lastSavedInputSize, verticalSweetSpotScale, &mSampledInputXs, &mSampledInputYs, + &mSampledNearKeySets, &mSampledDistanceCache_G); if (isGeometric) { // updates probabilities of skipping or mapping each key for all points. ProximityInfoStateUtils::updateAlignPointProbabilities( |