aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/res/values/themes-common.xml14
-rw-r--r--java/res/values/themes-holo.xml33
-rw-r--r--java/res/values/themes-ics.xml12
-rw-r--r--java/res/values/themes-klp.xml12
-rw-r--r--java/res/values/themes-lxx-dark.xml12
-rw-r--r--java/res/values/themes-lxx-light.xml12
-rw-r--r--java/res/values/themes-lxx.xml34
-rw-r--r--java/res/xml/method.xml16
-rw-r--r--java/src/com/android/inputmethod/latin/DictionaryFacilitator.java4
-rw-r--r--java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java58
10 files changed, 143 insertions, 64 deletions
diff --git a/java/res/values/themes-common.xml b/java/res/values/themes-common.xml
index 08a14210f..cdd2aee47 100644
--- a/java/res/values/themes-common.xml
+++ b/java/res/values/themes-common.xml
@@ -22,14 +22,20 @@
<style name="KeyboardIcons" />
<!-- Default theme values -->
<style name="Keyboard">
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_default</item>
<item name="rowHeight">25%p</item>
- <item name="moreKeysTemplate">@xml/kbd_more_keys_keyboard_template</item>
+ <item name="horizontalGap">@fraction/config_key_horizontal_gap_holo</item>
+ <item name="verticalGap">@fraction/config_key_vertical_gap_holo</item>
+ <item name="touchPositionCorrectionData">@array/touch_position_correction_data_holo</item>
+ <item name="keyboardTopPadding">@fraction/config_keyboard_top_padding_holo</item>
+ <item name="keyboardBottomPadding">@fraction/config_keyboard_bottom_padding_holo</item>
<item name="keyboardLeftPadding">@fraction/config_keyboard_left_padding</item>
<item name="keyboardRightPadding">@fraction/config_keyboard_right_padding</item>
+ <item name="moreKeysTemplate">@xml/kbd_more_keys_keyboard_template</item>
<item name="maxMoreKeysColumn">@integer/config_max_more_keys_column</item>
</style>
<style name="KeyboardView">
+ <!-- This keyBackground is needed to run unit tests based on {@link InputTestBase}. -->
+ <!-- TODO: Apply default {@link KeyboardTheme} to {@link InputTestBase} and remove this. -->
<item name="keyBackground">@drawable/btn_keyboard_key_klp</item>
<item name="keyLetterSize">@fraction/config_key_letter_ratio</item>
<item name="keyLargeLetterRatio">@fraction/config_key_large_letter_ratio</item>
@@ -39,6 +45,8 @@
<item name="keyHintLabelRatio">@fraction/config_key_hint_label_ratio</item>
<item name="keyShiftedLetterHintRatio">@fraction/config_key_shifted_letter_hint_ratio</item>
<item name="keyTypeface">normal</item>
+ <!-- A negative value to disable key text shadow layer. -->
+ <item name="keyTextShadowRadius">-1.0</item>
<item name="keyHintLetterPadding">@dimen/config_key_hint_letter_padding</item>
<item name="keyPopupHintLetterPadding">@dimen/config_key_popup_hint_letter_padding</item>
<item name="keyShiftedLetterHintPadding">@dimen/config_key_shifted_letter_hint_padding</item>
@@ -110,7 +118,7 @@
<style name="MoreKeysKeyboard" />
<style
name="MoreKeysKeyboardView"
- parent="MainKeyboardView" />
+ parent="KeyboardView" />
<style name="MoreKeysKeyboardContainer" />
<style name="SuggestionStripView" />
<style name="SuggestionWord">
diff --git a/java/res/values/themes-holo.xml b/java/res/values/themes-holo.xml
new file mode 100644
index 000000000..f344dd7c8
--- /dev/null
+++ b/java/res/values/themes-holo.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+ <!-- Holo KeyboardView theme (ICS and KLP) -->
+ <style
+ name="KeyboardView.Holo"
+ parent="KeyboardView"
+ >
+ <item name="keyTypeface">bold</item>
+ <item name="keyLargeLetterRatio">@fraction/config_key_large_letter_ratio</item>
+ <item name="keyHintLabelRatio">@fraction/config_key_hint_label_ratio</item>
+ <!-- U+2026: "…" HORIZONTAL ELLIPSIS -->
+ <item name="keyPopupHintLetter">&#x2026;</item>
+ </style>
+</resources>
diff --git a/java/res/values/themes-ics.xml b/java/res/values/themes-ics.xml
index a6f390cbb..6fddcb905 100644
--- a/java/res/values/themes-ics.xml
+++ b/java/res/values/themes-ics.xml
@@ -35,21 +35,15 @@
>
<!-- This should be aligned with KeyboardSwitcher.KEYBOARD_THEMES[] -->
<item name="themeId">2</item>
- <item name="keyboardTopPadding">@fraction/config_keyboard_top_padding_holo</item>
- <item name="keyboardBottomPadding">@fraction/config_keyboard_bottom_padding_holo</item>
- <item name="horizontalGap">@fraction/config_key_horizontal_gap_holo</item>
- <item name="verticalGap">@fraction/config_key_vertical_gap_holo</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_holo</item>
</style>
<style
name="KeyboardView.ICS"
- parent="KeyboardView"
+ parent="KeyboardView.Holo"
>
<item name="android:background">@drawable/keyboard_background_holo</item>
<item name="keyBackground">@drawable/btn_keyboard_key_ics</item>
<item name="functionalKeyBackground">@drawable/btn_keyboard_key_functional_ics</item>
<item name="spacebarBackground">@drawable/btn_keyboard_spacebar_ics</item>
- <item name="keyTypeface">bold</item>
<item name="keyTextColor">@color/key_text_color_holo</item>
<item name="keyTextInactivatedColor">@color/key_text_inactivated_color_holo</item>
<item name="functionalTextColor">@color/key_text_color_holo</item>
@@ -58,10 +52,6 @@
<item name="keyShiftedLetterHintInactivatedColor">@color/key_shifted_letter_hint_inactivated_color_holo</item>
<item name="keyShiftedLetterHintActivatedColor">@color/key_shifted_letter_hint_activated_color_holo</item>
<item name="keyPreviewTextColor">@color/key_text_color_holo</item>
- <!-- A negative value to disable key text shadow layer. -->
- <item name="keyTextShadowRadius">-1.0</item>
- <!-- U+2026: "…" HORIZONTAL ELLIPSIS -->
- <item name="keyPopupHintLetter">&#x2026;</item>
</style>
<style
name="MainKeyboardView.ICS"
diff --git a/java/res/values/themes-klp.xml b/java/res/values/themes-klp.xml
index 8782a76aa..c9b83316c 100644
--- a/java/res/values/themes-klp.xml
+++ b/java/res/values/themes-klp.xml
@@ -35,21 +35,15 @@
>
<!-- This should be aligned with KeyboardSwitcher.KEYBOARD_THEMES[] -->
<item name="themeId">0</item>
- <item name="keyboardTopPadding">@fraction/config_keyboard_top_padding_holo</item>
- <item name="keyboardBottomPadding">@fraction/config_keyboard_bottom_padding_holo</item>
- <item name="horizontalGap">@fraction/config_key_horizontal_gap_holo</item>
- <item name="verticalGap">@fraction/config_key_vertical_gap_holo</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_holo</item>
</style>
<style
name="KeyboardView.KLP"
- parent="KeyboardView"
+ parent="KeyboardView.Holo"
>
<item name="android:background">@drawable/keyboard_background_holo</item>
<item name="keyBackground">@drawable/btn_keyboard_key_klp</item>
<item name="functionalKeyBackground">@drawable/btn_keyboard_key_functional_klp</item>
<item name="spacebarBackground">@drawable/btn_keyboard_spacebar_klp</item>
- <item name="keyTypeface">bold</item>
<item name="keyTextColor">@color/key_text_color_holo</item>
<item name="keyTextInactivatedColor">@color/key_text_inactivated_color_holo</item>
<item name="functionalTextColor">@color/key_text_color_holo</item>
@@ -58,10 +52,6 @@
<item name="keyShiftedLetterHintInactivatedColor">@color/key_shifted_letter_hint_inactivated_color_holo</item>
<item name="keyShiftedLetterHintActivatedColor">@color/key_shifted_letter_hint_activated_color_holo</item>
<item name="keyPreviewTextColor">@color/key_text_color_holo</item>
- <!-- A negative value to disable key text shadow layer. -->
- <item name="keyTextShadowRadius">-1.0</item>
- <!-- U+2026: "…" HORIZONTAL ELLIPSIS -->
- <item name="keyPopupHintLetter">&#x2026;</item>
</style>
<style
name="MainKeyboardView.KLP"
diff --git a/java/res/values/themes-lxx-dark.xml b/java/res/values/themes-lxx-dark.xml
index fa6aa62e5..6afbd9b15 100644
--- a/java/res/values/themes-lxx-dark.xml
+++ b/java/res/values/themes-lxx-dark.xml
@@ -35,22 +35,15 @@
>
<!-- This should be aligned with KeyboardSwitcher.KEYBOARD_THEMES[] -->
<item name="themeId">4</item>
- <item name="keyboardTopPadding">@fraction/config_keyboard_top_padding_holo</item>
- <item name="keyboardBottomPadding">@fraction/config_keyboard_bottom_padding_holo</item>
- <item name="horizontalGap">@fraction/config_key_horizontal_gap_holo</item>
- <item name="verticalGap">@fraction/config_key_vertical_gap_holo</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_holo</item>
</style>
<style
name="KeyboardView.LXX_Dark"
- parent="KeyboardView"
+ parent="KeyboardView.LXX"
>
<item name="android:background">@drawable/keyboard_background_lxx_dark</item>
<item name="keyBackground">@drawable/btn_keyboard_key_lxx_dark</item>
<item name="functionalKeyBackground">@drawable/btn_keyboard_key_functional_lxx_dark</item>
<item name="spacebarBackground">@drawable/btn_keyboard_spacebar_lxx_dark</item>
- <item name="spacebarIconWidthRatio">0.9</item>
- <item name="keyTypeface">normal</item>
<item name="keyTextColor">@color/key_text_color_lxx_dark</item>
<item name="keyTextInactivatedColor">@color/key_functional_text_color_lxx_dark</item>
<item name="functionalTextColor">@color/key_text_color_lxx_dark</item>
@@ -59,9 +52,6 @@
<item name="keyShiftedLetterHintInactivatedColor">@color/key_text_inactive_color_lxx_dark</item>
<item name="keyShiftedLetterHintActivatedColor">@color/key_text_color_lxx_dark</item>
<item name="keyPreviewTextColor">@color/key_text_color_lxx_dark</item>
- <!-- A negative value to disable key text shadow layer. -->
- <item name="keyTextShadowRadius">-1.0</item>
- <item name="keyPopupHintLetter"></item> <!-- No popup hint letter -->
</style>
<style
name="MainKeyboardView.LXX_Dark"
diff --git a/java/res/values/themes-lxx-light.xml b/java/res/values/themes-lxx-light.xml
index e7350f924..b3ced80a1 100644
--- a/java/res/values/themes-lxx-light.xml
+++ b/java/res/values/themes-lxx-light.xml
@@ -35,22 +35,15 @@
>
<!-- This should be aligned with KeyboardSwitcher.KEYBOARD_THEMES[] -->
<item name="themeId">3</item>
- <item name="keyboardTopPadding">@fraction/config_keyboard_top_padding_holo</item>
- <item name="keyboardBottomPadding">@fraction/config_keyboard_bottom_padding_holo</item>
- <item name="horizontalGap">@fraction/config_key_horizontal_gap_holo</item>
- <item name="verticalGap">@fraction/config_key_vertical_gap_holo</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_holo</item>
</style>
<style
name="KeyboardView.LXX_Light"
- parent="KeyboardView"
+ parent="KeyboardView.LXX"
>
<item name="android:background">@drawable/keyboard_background_lxx_light</item>
<item name="keyBackground">@drawable/btn_keyboard_key_lxx_light</item>
<item name="functionalKeyBackground">@drawable/btn_keyboard_key_functional_lxx_light</item>
<item name="spacebarBackground">@drawable/btn_keyboard_spacebar_lxx_light</item>
- <item name="spacebarIconWidthRatio">0.9</item>
- <item name="keyTypeface">normal</item>
<item name="keyTextColor">@color/key_text_color_lxx_light</item>
<item name="keyTextInactivatedColor">@color/key_text_inactive_color_lxx_light</item>
<item name="functionalTextColor">@color/key_functional_text_color_lxx_light</item>
@@ -59,9 +52,6 @@
<item name="keyShiftedLetterHintInactivatedColor">@color/key_text_inactive_color_lxx_light</item>
<item name="keyShiftedLetterHintActivatedColor">@color/key_text_color_lxx_light</item>
<item name="keyPreviewTextColor">@color/key_text_color_lxx_light</item>
- <!-- A negative value to disable key text shadow layer. -->
- <item name="keyTextShadowRadius">-1.0</item>
- <item name="keyPopupHintLetter"></item> <!-- No popup hint letter -->
</style>
<style
name="MainKeyboardView.LXX_Light"
diff --git a/java/res/values/themes-lxx.xml b/java/res/values/themes-lxx.xml
new file mode 100644
index 000000000..3a022e591
--- /dev/null
+++ b/java/res/values/themes-lxx.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+ <!-- LXX KeyboardView theme (LXX_Light and LXX_Dark) -->
+ <style
+ name="KeyboardView.LXX"
+ parent="KeyboardView"
+ >
+ <item name="keyTypeface">normal</item>
+ <item name="keyLargeLetterRatio">@fraction/config_key_large_letter_ratio</item>
+ <item name="keyHintLabelRatio">@fraction/config_key_hint_label_ratio</item>
+ <item name="spacebarIconWidthRatio">0.9</item>
+ <!-- No popup hint letter -->
+ <item name="keyPopupHintLetter"></item>
+ </style>
+</resources>
diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml
index cfe25d1c4..7013c6b86 100644
--- a/java/res/xml/method.xml
+++ b/java/res/xml/method.xml
@@ -178,6 +178,7 @@
/>
<!-- TODO: This bengali keyboard is a preliminary layout.
This isn't based on the final specification. -->
+ <!--
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0xbff5986c"
@@ -186,6 +187,7 @@
android:imeSubtypeExtraValue="KeyboardLayoutSet=bengali,EmojiCapable"
android:isAsciiCapable="false"
/>
+ -->
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0xd2e520d5"
@@ -446,6 +448,7 @@
/>
<!-- TODO: This kannada keyboard is a preliminary layout.
This isn't based on the final specification. -->
+ <!--
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0x8c78064f"
@@ -454,6 +457,7 @@
android:imeSubtypeExtraValue="KeyboardLayoutSet=kannada,EmojiCapable"
android:isAsciiCapable="false"
/>
+ -->
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0x2e391c04"
@@ -496,6 +500,7 @@
/>
<!-- TODO: This malayalam keyboard is a preliminary layout.
This isn't based on the final specification. -->
+ <!--
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0xc182ebd4"
@@ -504,6 +509,7 @@
android:imeSubtypeExtraValue="KeyboardLayoutSet=malayalam,EmojiCapable"
android:isAsciiCapable="false"
/>
+ -->
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0xcdcfc3ab"
@@ -514,6 +520,7 @@
/>
<!-- TODO: This marathi keyboard is a preliminary layout.
This isn't based on the final specification. -->
+ <!--
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0x747b9f03"
@@ -522,6 +529,7 @@
android:imeSubtypeExtraValue="KeyboardLayoutSet=marathi,EmojiCapable"
android:isAsciiCapable="false"
/>
+ -->
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0x84c87c61"
@@ -532,6 +540,7 @@
/>
<!-- TODO: This Myanmar keyboard is a preliminary layout.
This isn't based on the final specification. -->
+ <!--
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0xea266ea4"
@@ -540,6 +549,7 @@
android:imeSubtypeExtraValue="KeyboardLayoutSet=myanmar,EmojiCapable,CombiningRules=MyanmarReordering"
android:isAsciiCapable="false"
/>
+ -->
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0x3f12ee14"
@@ -622,6 +632,7 @@
/>
<!-- TODO: This sinhala keyboard is a preliminary layout.
This isn't based on the final specification. -->
+ <!--
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0x5c6b3bde"
@@ -630,6 +641,7 @@
android:imeSubtypeExtraValue="KeyboardLayoutSet=sinhala,EmojiCapable"
android:isAsciiCapable="false"
/>
+ -->
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0x8e94d413"
@@ -690,6 +702,7 @@
/>
<!-- TODO: This tamil keyboard is a preliminary layout.
This isn't based on the final specification. -->
+ <!--
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0x67acea2a"
@@ -698,8 +711,10 @@
android:imeSubtypeExtraValue="KeyboardLayoutSet=tamil,EmojiCapable"
android:isAsciiCapable="false"
/>
+ -->
<!-- TODO: This telugu keyboard is a preliminary layout.
This isn't based on the final specification. -->
+ <!--
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0x1e177389"
@@ -708,6 +723,7 @@
android:imeSubtypeExtraValue="KeyboardLayoutSet=telugu,EmojiCapable"
android:isAsciiCapable="false"
/>
+ -->
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0x1f94d5d4"
diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
index d6e6656ab..36a02669d 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
@@ -468,7 +468,9 @@ public class DictionaryFacilitator {
// We don't add words with 0-frequency (assuming they would be profanity etc.).
final boolean isValid = maxFreq > 0;
UserHistoryDictionary.addToDictionary(userHistoryDictionary, prevWordsInfo, secondWord,
- isValid, timeStampInSeconds, mDistracterFilter);
+ isValid, timeStampInSeconds,
+ new DistracterFilterCheckingIsInDictionary(
+ mDistracterFilter, userHistoryDictionary));
}
private void removeWord(final String dictName, final String word) {
diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
index 5808b9e4e..c11a220a4 100644
--- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
@@ -38,6 +38,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
+import java.util.concurrent.Callable;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -163,9 +164,31 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
}
private void asyncExecuteTaskWithLock(final Lock lock, final Runnable task) {
+ asyncPreCheckAndExecuteTaskWithLock(lock, null /* preCheckTask */, task);
+ }
+
+ private void asyncPreCheckAndExecuteTaskWithWriteLock(
+ final Callable<Boolean> preCheckTask, final Runnable task) {
+ asyncPreCheckAndExecuteTaskWithLock(mLock.writeLock(), preCheckTask, task);
+
+ }
+
+ // Execute task with lock when the result of preCheckTask is true or preCheckTask is null.
+ private void asyncPreCheckAndExecuteTaskWithLock(final Lock lock,
+ final Callable<Boolean> preCheckTask, final Runnable task) {
ExecutorUtils.getExecutor(mDictName).execute(new Runnable() {
@Override
public void run() {
+ if (preCheckTask != null) {
+ try {
+ if (!preCheckTask.call().booleanValue()) {
+ return;
+ }
+ } catch (final Exception e) {
+ Log.e(TAG, "The pre check task throws an exception.", e);
+ return;
+ }
+ }
lock.lock();
try {
task.run();
@@ -278,22 +301,25 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
final boolean isBlacklisted, final int timestamp,
final DistracterFilter distracterFilter) {
reloadDictionaryIfRequired();
- asyncExecuteTaskWithWriteLock(new Runnable() {
- @Override
- public void run() {
- if (mBinaryDictionary == null) {
- return;
- }
- if (distracterFilter.isDistracterToWordsInDictionaries(
- PrevWordsInfo.EMPTY_PREV_WORDS_INFO, word, mLocale)) {
- // The word is a distracter.
- return;
- }
- runGCIfRequiredLocked(true /* mindsBlockByGC */);
- addUnigramLocked(word, frequency, shortcutTarget, shortcutFreq,
- isNotAWord, isBlacklisted, timestamp);
- }
- });
+ asyncPreCheckAndExecuteTaskWithWriteLock(
+ new Callable<Boolean>() {
+ @Override
+ public Boolean call() throws Exception {
+ return !distracterFilter.isDistracterToWordsInDictionaries(
+ PrevWordsInfo.EMPTY_PREV_WORDS_INFO, word, mLocale);
+ }
+ },
+ new Runnable() {
+ @Override
+ public void run() {
+ if (mBinaryDictionary == null) {
+ return;
+ }
+ runGCIfRequiredLocked(true /* mindsBlockByGC */);
+ addUnigramLocked(word, frequency, shortcutTarget, shortcutFreq,
+ isNotAWord, isBlacklisted, timestamp);
+ }
+ });
}
protected void addUnigramLocked(final String word, final int frequency,