aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--java/src/com/android/inputmethod/latin/RichInputConnection.java4
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/utils/file_utils.cpp3
-rw-r--r--tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java10
3 files changed, 13 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/latin/RichInputConnection.java b/java/src/com/android/inputmethod/latin/RichInputConnection.java
index 323256d1c..965518e34 100644
--- a/java/src/com/android/inputmethod/latin/RichInputConnection.java
+++ b/java/src/com/android/inputmethod/latin/RichInputConnection.java
@@ -357,9 +357,9 @@ public final class RichInputConnection {
mExpectedSelEnd -= beforeLength;
} else {
// There are fewer characters before the cursor in the buffer than we are being asked to
- // delete. Only delete what is there.
- mExpectedSelStart = 0;
+ // delete. Only delete what is there, and update the end with the amount deleted.
mExpectedSelEnd -= mExpectedSelStart;
+ mExpectedSelStart = 0;
}
if (null != mIC) {
mIC.deleteSurroundingText(beforeLength, afterLength);
diff --git a/native/jni/src/suggest/policyimpl/dictionary/utils/file_utils.cpp b/native/jni/src/suggest/policyimpl/dictionary/utils/file_utils.cpp
index 9441a75fc..fb80f38c5 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/utils/file_utils.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/utils/file_utils.cpp
@@ -68,6 +68,9 @@ namespace latinime {
if (dirent->d_type == DT_DIR) {
continue;
}
+ if (strcmp(dirent->d_name, ".") == 0 || strcmp(dirent->d_name, "..") == 0) {
+ continue;
+ }
const int filePathBufSize = getFilePathBufSize(dirPath, dirent->d_name);
char filePath[filePathBufSize];
getFilePath(dirPath, dirent->d_name, filePathBufSize, filePath);
diff --git a/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java b/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java
index d9c35c497..4d44135e6 100644
--- a/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java
+++ b/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java
@@ -948,10 +948,13 @@ public class BinaryDictionaryTests extends AndroidTestCase {
final HashSet<String> bigramWord1s = bigrams.get(word0);
final WordProperty wordProperty = binaryDictionary.getWordProperty(word0);
assertEquals(bigramWord1s.size(), wordProperty.mBigrams.size());
+ final int unigramProbability = wordProperty.getProbability();
for (int j = 0; j < wordProperty.mBigrams.size(); j++) {
final String word1 = wordProperty.mBigrams.get(j).mWord;
assertTrue(bigramWord1s.contains(word1));
- final int probability = wordProperty.mBigrams.get(j).getProbability();
+ final int bigramProbability = wordProperty.mBigrams.get(j).getProbability();
+ final int probability = binaryDictionary.calculateProbability(
+ unigramProbability, bigramProbability);
assertEquals((int)bigramProbabilities.get(new Pair<String, String>(word0, word1)),
probability);
assertEquals(wordProperty.mBigrams.get(j).getProbability(), probability);
@@ -1037,11 +1040,14 @@ public class BinaryDictionaryTests extends AndroidTestCase {
assertEquals((int)wordProbabilitiesToCheckLater.get(word0),
wordProperty.mProbabilityInfo.mProbability);
wordSet.remove(word0);
+ final int unigramProbability = wordProperty.getProbability();
final HashSet<String> bigramWord1s = bigrams.get(word0);
for (int j = 0; j < wordProperty.mBigrams.size(); j++) {
final String word1 = wordProperty.mBigrams.get(j).mWord;
assertTrue(bigramWord1s.contains(word1));
- final int probability = wordProperty.mBigrams.get(j).getProbability();
+ final int bigramProbability = wordProperty.mBigrams.get(j).getProbability();
+ final int probability = binaryDictionary.calculateProbability(
+ unigramProbability, bigramProbability);
final Pair<String, String> bigram = new Pair<String, String>(word0, word1);
assertEquals((int)bigramProbabilitiesToCheckLater.get(bigram), probability);
bigramSet.remove(bigram);