From b4d77eca55fa48eaf29ab036ac3b098ebac5e691 Mon Sep 17 00:00:00 2001 From: Keisuke Kuroyanagi Date: Thu, 12 Jun 2014 12:21:44 +0900 Subject: Add jni method for removeUnigramEntry(). Bug: 15552347 Change-Id: Iadcdc73d3335d561a27b9314d3fcdab0b0c96e49 --- .../com/android/inputmethod/latin/BinaryDictionary.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'java/src') diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java index 1d087439d..a414b9c9d 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java @@ -207,6 +207,7 @@ public final class BinaryDictionary extends Dictionary { private static native boolean addUnigramWordNative(long dict, int[] word, int probability, int[] shortcutTarget, int shortcutProbability, boolean isBeginningOfSentence, boolean isNotAWord, boolean isBlacklisted, int timestamp); + private static native boolean removeUnigramWordNative(long dict, int[] word); private static native boolean addBigramWordsNative(long dict, int[] word0, boolean isBeginningOfSentence, int[] word1, int probability, int timestamp); private static native boolean removeBigramWordsNative(long dict, int[] word0, @@ -443,6 +444,19 @@ public final class BinaryDictionary extends Dictionary { return true; } + // Remove a unigram entry from the binary dictionary in native code. + public boolean removeUnigramEntry(final String word) { + if (TextUtils.isEmpty(word)) { + return false; + } + final int[] codePoints = StringUtils.toCodePointArray(word); + if (!removeUnigramWordNative(mNativeDict, codePoints)) { + return false; + } + mHasUpdated = true; + return true; + } + // Add an n-gram entry to the binary dictionary with timestamp in native code. public boolean addNgramEntry(final PrevWordsInfo prevWordsInfo, final String word, final int probability, final int timestamp) { -- cgit v1.2.3-83-g751a