Fix null KeyDetector reference

This change must be checked in together with I737c266c45.

Bug: 13011041
Change-Id: Ia3d25be6de47fa16ab7156a25641e53a23948ff4
This commit is contained in:
Tadashi G. Takaoka 2014-02-14 11:40:00 +09:00
parent 362ab36cf0
commit ef8a03685f
4 changed files with 9 additions and 16 deletions

View File

@ -18,7 +18,9 @@ package com.android.inputmethod.keyboard;
import com.android.inputmethod.latin.Constants;
/**
* This class handles key detection.
*/
public class KeyDetector {
private final int mKeyHysteresisDistanceSquared;
private final int mKeyHysteresisDistanceForSlidingModifierSquared;
@ -27,18 +29,12 @@ public class KeyDetector {
private int mCorrectionX;
private int mCorrectionY;
/**
* This class handles key detection.
*
* @param keyHysteresisDistance if the pointer movement distance is smaller than this, the
* movement will not be handled as meaningful movement. The unit is pixel.
*/
public KeyDetector(float keyHysteresisDistance) {
this(keyHysteresisDistance, keyHysteresisDistance);
public KeyDetector() {
this(0.0f /* keyHysteresisDistance */, 0.0f /* keyHysteresisDistanceForSlidingModifier */);
}
/**
* This class handles key detection.
* Key detection object constructor with key hysteresis distances.
*
* @param keyHysteresisDistance if the pointer movement distance is smaller than this, the
* movement will not be handled as meaningful movement. The unit is pixel.

View File

@ -21,7 +21,7 @@ public final class MoreKeysDetector extends KeyDetector {
private final int mSlideAllowanceSquareTop;
public MoreKeysDetector(float slideAllowance) {
super(/* keyHysteresisDistance */0);
super();
mSlideAllowanceSquare = (int)(slideAllowance * slideAllowance);
// Top slide allowance is slightly longer (sqrt(2) times) than other edges.
mSlideAllowanceSquareTop = mSlideAllowanceSquare * 2;

View File

@ -155,7 +155,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element,
// The {@link KeyDetector} is set whenever the down event is processed. Also this is updated
// when new {@link Keyboard} is set by {@link #setKeyDetector(KeyDetector)}.
private KeyDetector mKeyDetector;
private KeyDetector mKeyDetector = new KeyDetector();
private Keyboard mKeyboard;
private int mPhantomSuddenMoveThreshold;
private final BogusMoveEventDetector mBogusMoveEventDetector = new BogusMoveEventDetector();
@ -1124,9 +1124,6 @@ public final class PointerTracker implements PointerTrackerQueue.Element,
private boolean isMajorEnoughMoveToBeOnNewKey(final int x, final int y, final long eventTime,
final Key newKey) {
if (mKeyDetector == null) {
throw new NullPointerException("keyboard and/or key detector not set");
}
final Key curKey = mCurrentKey;
if (newKey == curKey) {
return false;

View File

@ -52,7 +52,7 @@ public final class EmojiPageKeyboardView extends KeyboardView implements
};
private OnKeyEventListener mListener = EMPTY_LISTENER;
private final KeyDetector mKeyDetector = new KeyDetector(0.0f /*keyHysteresisDistance */);
private final KeyDetector mKeyDetector = new KeyDetector();
private final GestureDetector mGestureDetector;
public EmojiPageKeyboardView(final Context context, final AttributeSet attrs) {