diff options
author | 2014-06-05 10:07:58 +0000 | |
---|---|---|
committer | 2014-06-05 10:07:59 +0000 | |
commit | 0ee8644666c01431adcc7d651ab1841c61f0bb43 (patch) | |
tree | a6c7bb7f5c7c26746982375d4c76c9b3440a7f17 /java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java | |
parent | 0dbf15f1528276105b434e50217dc5964f6bb63e (diff) | |
parent | d988fcc93db24ff180330537ad18eb092a1c14ec (diff) | |
download | latinime-0ee8644666c01431adcc7d651ab1841c61f0bb43.tar.gz latinime-0ee8644666c01431adcc7d651ab1841c61f0bb43.tar.xz latinime-0ee8644666c01431adcc7d651ab1841c61f0bb43.zip |
Merge "Add getMaxFrequencyOfExactMatches() to Dictionary."
Diffstat (limited to 'java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java index b10bae01a..8664c09e4 100644 --- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java @@ -441,6 +441,30 @@ abstract public class ExpandableBinaryDictionary extends Dictionary { return mBinaryDictionary.isValidWord(word); } + @Override + public int getMaxFrequencyOfExactMatches(final String word) { + reloadDictionaryIfRequired(); + boolean lockAcquired = false; + try { + lockAcquired = mLock.readLock().tryLock( + TIMEOUT_FOR_READ_OPS_IN_MILLISECONDS, TimeUnit.MILLISECONDS); + if (lockAcquired) { + if (mBinaryDictionary == null) { + return NOT_A_PROBABILITY; + } + return mBinaryDictionary.getMaxFrequencyOfExactMatches(word); + } + } catch (final InterruptedException e) { + Log.e(TAG, "Interrupted tryLock() in getMaxFrequencyOfExactMatches().", e); + } finally { + if (lockAcquired) { + mLock.readLock().unlock(); + } + } + return NOT_A_PROBABILITY; + } + + protected boolean isValidNgramLocked(final PrevWordsInfo prevWordsInfo, final String word) { if (mBinaryDictionary == null) return false; return mBinaryDictionary.isValidNgram(prevWordsInfo, word); |