diff options
4 files changed, 10 insertions, 11 deletions
diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml index a13021bd0..1581e5fa1 100644 --- a/java/res/xml/prefs.xml +++ b/java/res/xml/prefs.xml @@ -93,12 +93,14 @@ <!-- TODO: Move these two options to the advanced settings. --> <CheckBoxPreference android:key="pref_gesture_floating_preview_text" + android:dependency="gesture_input" android:title="@string/gesture_floating_preview_text" android:summary="@string/gesture_floating_preview_text_summary" android:persistent="true" android:defaultValue="true" /> <CheckBoxPreference android:key="pref_gesture_preview_trail" + android:dependency="gesture_input" android:title="@string/gesture_preview_trail" android:persistent="true" android:defaultValue="true" /> diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java index af98beaad..91c4319e7 100644 --- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java +++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java @@ -441,7 +441,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element { // Returns true if keyboard has been changed by this callback. private boolean callListenerOnPressAndCheckKeyboardLayoutChange(final Key key) { - if (sInGesture) { + if (sInGesture || mIsDetectingGesture) { return false; } final boolean ignoreModifierKey = mIsInSlidingKeyInput && key.isModifier(); @@ -500,7 +500,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element { // primaryCode is different from {@link Key#mCode}. private void callListenerOnRelease(final Key key, final int primaryCode, final boolean withSliding) { - if (sInGesture) { + if (sInGesture || mIsDetectingGesture) { return; } final boolean ignoreModifierKey = mIsInSlidingKeyInput && key.isModifier(); diff --git a/java/src/com/android/inputmethod/latin/SettingsFragment.java b/java/src/com/android/inputmethod/latin/SettingsFragment.java index 5405a5eb7..4c729ece8 100644 --- a/java/src/com/android/inputmethod/latin/SettingsFragment.java +++ b/java/src/com/android/inputmethod/latin/SettingsFragment.java @@ -232,10 +232,6 @@ public final class SettingsFragment extends InputMethodSettingsFragment } else if (key.equals(Settings.PREF_SHOW_LANGUAGE_SWITCH_KEY)) { setPreferenceEnabled(Settings.PREF_INCLUDE_OTHER_IMES_IN_LANGUAGE_SWITCH_LIST, Settings.readShowsLanguageSwitchKey(prefs)); - } else if (key.equals(Settings.PREF_GESTURE_INPUT)) { - final boolean gestureInputEnabled = Settings.readGestureInputEnabled(prefs, res); - setPreferenceEnabled(Settings.PREF_GESTURE_PREVIEW_TRAIL, gestureInputEnabled); - setPreferenceEnabled(Settings.PREF_GESTURE_FLOATING_PREVIEW_TEXT, gestureInputEnabled); } else if (key.equals(Settings.PREF_SHOW_SETUP_WIZARD_ICON)) { LauncherIconVisibilityManager.updateSetupWizardIconVisibility(getActivity()); } diff --git a/tests/src/com/android/inputmethod/latin/makedict/BinaryDictIOTests.java b/tests/src/com/android/inputmethod/latin/makedict/BinaryDictIOTests.java index 6d39d929e..b704d08b3 100644 --- a/tests/src/com/android/inputmethod/latin/makedict/BinaryDictIOTests.java +++ b/tests/src/com/android/inputmethod/latin/makedict/BinaryDictIOTests.java @@ -51,7 +51,7 @@ import java.util.Set; @LargeTest public class BinaryDictIOTests extends AndroidTestCase { private static final String TAG = BinaryDictIOTests.class.getSimpleName(); - private static final int MAX_UNIGRAMS = 1000; + private static final int MAX_UNIGRAMS = 100; private static final int UNIGRAM_FREQ = 10; private static final int BIGRAM_FREQ = 50; private static final int TOLERANCE_OF_BIGRAM_FREQ = 5; @@ -135,11 +135,12 @@ public class BinaryDictIOTests extends AndroidTestCase { while (count > 0) { final long r = Math.abs(random.nextInt()); if (r < 0) continue; - // Don't insert 0~20, but insert any other code point. + // Don't insert 0~0x20, but insert any other code point. // Code points are in the range 0~0x10FFFF. - final int candidateCodePoint = (int)(20 + r % (0x10FFFF - 20)); - // Code points between 0xD800 and 0xDFFF are not valid. - if (candidateCodePoint >= 0xD800 && candidateCodePoint <= 0xDFFF) continue; + final int candidateCodePoint = (int)(0x20 + r % (Character.MAX_CODE_POINT - 0x20)); + // Code points between MIN_ and MAX_SURROGATE are not valid on their own. + if (candidateCodePoint >= Character.MIN_SURROGATE + && candidateCodePoint <= Character.MAX_SURROGATE) continue; builder.appendCodePoint(candidateCodePoint); --count; } |