Loading java/src/com/android/inputmethod/keyboard/MainKeyboardView.java +8 −30 Original line number Diff line number Diff line Loading @@ -62,7 +62,6 @@ import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.SuggestedWords; import com.android.inputmethod.latin.define.ProductionFlag; import com.android.inputmethod.latin.settings.DebugSettings; import com.android.inputmethod.latin.settings.Settings; import com.android.inputmethod.latin.utils.CollectionUtils; import com.android.inputmethod.latin.utils.CoordinateUtils; import com.android.inputmethod.latin.utils.StaticInnerHandlerWrapper; Loading Loading @@ -203,7 +202,6 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack private final int mKeyRepeatStartTimeout; private final int mKeyRepeatInterval; private final int mLongPressShiftLockTimeout; private final int mIgnoreAltCodeKeyTimeout; private final int mGestureRecognitionUpdateTime; Loading @@ -215,8 +213,6 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack R.styleable.MainKeyboardView_keyRepeatStartTimeout, 0); mKeyRepeatInterval = mainKeyboardViewAttr.getInt( R.styleable.MainKeyboardView_keyRepeatInterval, 0); mLongPressShiftLockTimeout = mainKeyboardViewAttr.getInt( R.styleable.MainKeyboardView_longPressShiftLockTimeout, 0); mIgnoreAltCodeKeyTimeout = mainKeyboardViewAttr.getInt( R.styleable.MainKeyboardView_ignoreAltCodeKeyTimeout, 0); mGestureRecognitionUpdateTime = mainKeyboardViewAttr.getInt( Loading Loading @@ -280,32 +276,11 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack } @Override public void startLongPressTimer(final PointerTracker tracker) { public void startLongPressTimer(final PointerTracker tracker, final int delay) { cancelLongPressTimer(); if (tracker == null) { return; } final Key key = tracker.getKey(); final int delay; switch (key.mCode) { case Constants.CODE_SHIFT: delay = mLongPressShiftLockTimeout; break; default: final int longpressTimeout = Settings.getInstance().getCurrent().mKeyLongpressTimeout; if (tracker.isInSlidingKeyInputFromModifier()) { // We use longer timeout for sliding finger input started from the modifier key. delay = longpressTimeout * 3; } else { delay = longpressTimeout; } break; } if (delay > 0) { if (delay <= 0) return; sendMessageDelayed(obtainMessage(MSG_LONGPRESS_KEY, tracker), delay); } } @Override public void cancelLongPressTimer() { Loading Loading @@ -901,9 +876,12 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack } @Override public void showGestureTrail(final PointerTracker tracker) { public void showGestureTrail(final PointerTracker tracker, final boolean showsFloatingPreviewText) { locatePreviewPlacerView(); if (showsFloatingPreviewText) { mGestureFloatingPreviewText.setPreviewPosition(tracker); } mGestureTrailsPreview.setPreviewPosition(tracker); } Loading java/src/com/android/inputmethod/keyboard/PointerTracker.java +41 −14 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import com.android.inputmethod.latin.InputPointers; import com.android.inputmethod.latin.LatinImeLogger; import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.define.ProductionFlag; import com.android.inputmethod.latin.settings.Settings; import com.android.inputmethod.latin.utils.CollectionUtils; import com.android.inputmethod.latin.utils.CoordinateUtils; import com.android.inputmethod.latin.utils.ResourceUtils; Loading Loading @@ -87,14 +88,14 @@ public final class PointerTracker implements PointerTrackerQueue.Element { public void dismissKeyPreview(PointerTracker tracker); public void showSlidingKeyInputPreview(PointerTracker tracker); public void dismissSlidingKeyInputPreview(); public void showGestureTrail(PointerTracker tracker); public void showGestureTrail(PointerTracker tracker, boolean showsFloatingPreviewText); } public interface TimerProxy { public void startTypingStateTimer(Key typedKey); public boolean isTypingState(); public void startKeyRepeatTimer(PointerTracker tracker); public void startLongPressTimer(PointerTracker tracker); public void startLongPressTimer(PointerTracker tracker, int delay); public void cancelLongPressTimer(); public void startDoubleTapShiftKeyTimer(); public void cancelDoubleTapShiftKeyTimer(); Loading @@ -112,7 +113,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element { @Override public void startKeyRepeatTimer(PointerTracker tracker) {} @Override public void startLongPressTimer(PointerTracker tracker) {} public void startLongPressTimer(PointerTracker tracker, int delay) {} @Override public void cancelLongPressTimer() {} @Override Loading @@ -137,6 +138,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element { public final int mTouchNoiseThresholdTime; public final int mTouchNoiseThresholdDistance; public final int mSuppressKeyPreviewAfterBatchInputDuration; public final int mLongPressShiftLockTimeout; public static final PointerTrackerParams DEFAULT = new PointerTrackerParams(); Loading @@ -145,6 +147,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element { mTouchNoiseThresholdTime = 0; mTouchNoiseThresholdDistance = 0; mSuppressKeyPreviewAfterBatchInputDuration = 0; mLongPressShiftLockTimeout = 0; } public PointerTrackerParams(final TypedArray mainKeyboardViewAttr) { Loading @@ -156,6 +159,8 @@ public final class PointerTracker implements PointerTrackerQueue.Element { R.styleable.MainKeyboardView_touchNoiseThresholdDistance, 0); mSuppressKeyPreviewAfterBatchInputDuration = mainKeyboardViewAttr.getInt( R.styleable.MainKeyboardView_suppressKeyPreviewAfterBatchInputDuration, 0); mLongPressShiftLockTimeout = mainKeyboardViewAttr.getInt( R.styleable.MainKeyboardView_longPressShiftLockTimeout, 0); } } Loading Loading @@ -327,6 +332,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element { // the more keys panel currently being shown. equals null if no panel is active. private MoreKeysPanel mMoreKeysPanel; private static final int MULTIPLIER_FOR_LONG_PRESS_TIMEOUT_IN_SLIDING_INPUT = 3; // true if this pointer is in a sliding key input. boolean mIsInSlidingKeyInput; // true if this pointer is in a sliding key input from a modifier key, Loading Loading @@ -602,10 +608,6 @@ public final class PointerTracker implements PointerTrackerQueue.Element { return mIsInSlidingKeyInput; } public boolean isInSlidingKeyInputFromModifier() { return mIsInSlidingKeyInputFromModifier; } public Key getKey() { return mCurrentKey; } Loading Loading @@ -753,7 +755,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element { return sPointerTrackerQueue.size(); } public boolean isOldestTrackerInQueue() { private boolean isOldestTrackerInQueue() { return sPointerTrackerQueue.getOldestElement() == this; } Loading @@ -776,7 +778,9 @@ public final class PointerTracker implements PointerTrackerQueue.Element { dismissAllMoreKeysPanels(); } mTimerProxy.cancelLongPressTimer(); mDrawingProxy.showGestureTrail(this); // A gesture floating preview text will be shown at the oldest pointer/finger on the screen. mDrawingProxy.showGestureTrail( this, isOldestTrackerInQueue() /* showsFloatingPreviewText */); } public void updateBatchInputByTimer(final long eventTime) { Loading @@ -792,7 +796,9 @@ public final class PointerTracker implements PointerTrackerQueue.Element { if (mIsTrackingForActionDisabled) { return; } mDrawingProxy.showGestureTrail(this); // A gesture floating preview text will be shown at the oldest pointer/finger on the screen. mDrawingProxy.showGestureTrail( this, isOldestTrackerInQueue() /* showsFloatingPreviewText */); } private void updateBatchInput(final long eventTime) { Loading Loading @@ -833,7 +839,9 @@ public final class PointerTracker implements PointerTrackerQueue.Element { if (mIsTrackingForActionDisabled) { return; } mDrawingProxy.showGestureTrail(this); // A gesture floating preview text will be shown at the oldest pointer/finger on the screen. mDrawingProxy.showGestureTrail( this, isOldestTrackerInQueue() /* showsFloatingPreviewText */); } private void cancelBatchInput() { Loading Loading @@ -1013,7 +1021,9 @@ public final class PointerTracker implements PointerTrackerQueue.Element { final int translatedY = mMoreKeysPanel.translateY(y); mMoreKeysPanel.onMoveEvent(translatedX, translatedY, mPointerId, eventTime); onMoveKey(x, y); if (mIsInSlidingKeyInputFromModifier) { mDrawingProxy.showSlidingKeyInputPreview(this); } return; } onMoveEventInternal(x, y, eventTime); Loading Loading @@ -1168,8 +1178,10 @@ public final class PointerTracker implements PointerTrackerQueue.Element { slideOutFromOldKey(oldKey, x, y); } } if (mIsInSlidingKeyInputFromModifier) { mDrawingProxy.showSlidingKeyInputPreview(this); } } public void onUpEvent(final int x, final int y, final long eventTime) { if (DEBUG_EVENT) { Loading Loading @@ -1353,7 +1365,22 @@ public final class PointerTracker implements PointerTrackerQueue.Element { // We always need to start the long press timer if the key has its more keys regardless of // whether or not we are in the sliding input mode. if (mIsInSlidingKeyInput && key.mMoreKeys == null) return; mTimerProxy.startLongPressTimer(this); final int delay; switch (key.mCode) { case Constants.CODE_SHIFT: delay = sParams.mLongPressShiftLockTimeout; break; default: final int longpressTimeout = Settings.getInstance().getCurrent().mKeyLongpressTimeout; if (mIsInSlidingKeyInputFromModifier) { // We use longer timeout for sliding finger input started from the modifier key. delay = longpressTimeout * MULTIPLIER_FOR_LONG_PRESS_TIMEOUT_IN_SLIDING_INPUT; } else { delay = longpressTimeout; } break; } mTimerProxy.startLongPressTimer(this, delay); } private void detectAndSendKey(final Key key, final int x, final int y, final long eventTime) { Loading java/src/com/android/inputmethod/keyboard/internal/GestureFloatingPreviewText.java +1 −3 Original line number Diff line number Diff line Loading @@ -115,9 +115,7 @@ public class GestureFloatingPreviewText extends AbstractDrawingPreview { @Override public void setPreviewPosition(final PointerTracker tracker) { final boolean needsToUpdateLastPointer = tracker.isOldestTrackerInQueue() && isPreviewEnabled(); if (!needsToUpdateLastPointer) { if (!isPreviewEnabled()) { return; } tracker.getLastCoordinates(mLastPointerCoords); Loading java/src/com/android/inputmethod/keyboard/internal/SlidingKeyInputPreview.java +4 −8 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ import com.android.inputmethod.latin.utils.CoordinateUtils; public final class SlidingKeyInputPreview extends AbstractDrawingPreview { private final float mPreviewBodyRadius; private boolean mShowSlidingKeyInputPreview; private boolean mShowsSlidingKeyInputPreview; private final int[] mPreviewFrom = CoordinateUtils.newInstance(); private final int[] mPreviewTo = CoordinateUtils.newInstance(); Loading Loading @@ -62,7 +62,7 @@ public final class SlidingKeyInputPreview extends AbstractDrawingPreview { } public void dismissSlidingKeyInputPreview() { mShowSlidingKeyInputPreview = false; mShowsSlidingKeyInputPreview = false; getDrawingView().invalidate(); } Loading @@ -72,7 +72,7 @@ public final class SlidingKeyInputPreview extends AbstractDrawingPreview { */ @Override public void drawPreview(final Canvas canvas) { if (!isPreviewEnabled() || !mShowSlidingKeyInputPreview) { if (!isPreviewEnabled() || !mShowsSlidingKeyInputPreview) { return; } Loading @@ -90,13 +90,9 @@ public final class SlidingKeyInputPreview extends AbstractDrawingPreview { */ @Override public void setPreviewPosition(final PointerTracker tracker) { if (!tracker.isInSlidingKeyInputFromModifier()) { mShowSlidingKeyInputPreview = false; return; } tracker.getDownCoordinates(mPreviewFrom); tracker.getLastCoordinates(mPreviewTo); mShowSlidingKeyInputPreview = true; mShowsSlidingKeyInputPreview = true; getDrawingView().invalidate(); } } Loading
java/src/com/android/inputmethod/keyboard/MainKeyboardView.java +8 −30 Original line number Diff line number Diff line Loading @@ -62,7 +62,6 @@ import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.SuggestedWords; import com.android.inputmethod.latin.define.ProductionFlag; import com.android.inputmethod.latin.settings.DebugSettings; import com.android.inputmethod.latin.settings.Settings; import com.android.inputmethod.latin.utils.CollectionUtils; import com.android.inputmethod.latin.utils.CoordinateUtils; import com.android.inputmethod.latin.utils.StaticInnerHandlerWrapper; Loading Loading @@ -203,7 +202,6 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack private final int mKeyRepeatStartTimeout; private final int mKeyRepeatInterval; private final int mLongPressShiftLockTimeout; private final int mIgnoreAltCodeKeyTimeout; private final int mGestureRecognitionUpdateTime; Loading @@ -215,8 +213,6 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack R.styleable.MainKeyboardView_keyRepeatStartTimeout, 0); mKeyRepeatInterval = mainKeyboardViewAttr.getInt( R.styleable.MainKeyboardView_keyRepeatInterval, 0); mLongPressShiftLockTimeout = mainKeyboardViewAttr.getInt( R.styleable.MainKeyboardView_longPressShiftLockTimeout, 0); mIgnoreAltCodeKeyTimeout = mainKeyboardViewAttr.getInt( R.styleable.MainKeyboardView_ignoreAltCodeKeyTimeout, 0); mGestureRecognitionUpdateTime = mainKeyboardViewAttr.getInt( Loading Loading @@ -280,32 +276,11 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack } @Override public void startLongPressTimer(final PointerTracker tracker) { public void startLongPressTimer(final PointerTracker tracker, final int delay) { cancelLongPressTimer(); if (tracker == null) { return; } final Key key = tracker.getKey(); final int delay; switch (key.mCode) { case Constants.CODE_SHIFT: delay = mLongPressShiftLockTimeout; break; default: final int longpressTimeout = Settings.getInstance().getCurrent().mKeyLongpressTimeout; if (tracker.isInSlidingKeyInputFromModifier()) { // We use longer timeout for sliding finger input started from the modifier key. delay = longpressTimeout * 3; } else { delay = longpressTimeout; } break; } if (delay > 0) { if (delay <= 0) return; sendMessageDelayed(obtainMessage(MSG_LONGPRESS_KEY, tracker), delay); } } @Override public void cancelLongPressTimer() { Loading Loading @@ -901,9 +876,12 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack } @Override public void showGestureTrail(final PointerTracker tracker) { public void showGestureTrail(final PointerTracker tracker, final boolean showsFloatingPreviewText) { locatePreviewPlacerView(); if (showsFloatingPreviewText) { mGestureFloatingPreviewText.setPreviewPosition(tracker); } mGestureTrailsPreview.setPreviewPosition(tracker); } Loading
java/src/com/android/inputmethod/keyboard/PointerTracker.java +41 −14 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import com.android.inputmethod.latin.InputPointers; import com.android.inputmethod.latin.LatinImeLogger; import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.define.ProductionFlag; import com.android.inputmethod.latin.settings.Settings; import com.android.inputmethod.latin.utils.CollectionUtils; import com.android.inputmethod.latin.utils.CoordinateUtils; import com.android.inputmethod.latin.utils.ResourceUtils; Loading Loading @@ -87,14 +88,14 @@ public final class PointerTracker implements PointerTrackerQueue.Element { public void dismissKeyPreview(PointerTracker tracker); public void showSlidingKeyInputPreview(PointerTracker tracker); public void dismissSlidingKeyInputPreview(); public void showGestureTrail(PointerTracker tracker); public void showGestureTrail(PointerTracker tracker, boolean showsFloatingPreviewText); } public interface TimerProxy { public void startTypingStateTimer(Key typedKey); public boolean isTypingState(); public void startKeyRepeatTimer(PointerTracker tracker); public void startLongPressTimer(PointerTracker tracker); public void startLongPressTimer(PointerTracker tracker, int delay); public void cancelLongPressTimer(); public void startDoubleTapShiftKeyTimer(); public void cancelDoubleTapShiftKeyTimer(); Loading @@ -112,7 +113,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element { @Override public void startKeyRepeatTimer(PointerTracker tracker) {} @Override public void startLongPressTimer(PointerTracker tracker) {} public void startLongPressTimer(PointerTracker tracker, int delay) {} @Override public void cancelLongPressTimer() {} @Override Loading @@ -137,6 +138,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element { public final int mTouchNoiseThresholdTime; public final int mTouchNoiseThresholdDistance; public final int mSuppressKeyPreviewAfterBatchInputDuration; public final int mLongPressShiftLockTimeout; public static final PointerTrackerParams DEFAULT = new PointerTrackerParams(); Loading @@ -145,6 +147,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element { mTouchNoiseThresholdTime = 0; mTouchNoiseThresholdDistance = 0; mSuppressKeyPreviewAfterBatchInputDuration = 0; mLongPressShiftLockTimeout = 0; } public PointerTrackerParams(final TypedArray mainKeyboardViewAttr) { Loading @@ -156,6 +159,8 @@ public final class PointerTracker implements PointerTrackerQueue.Element { R.styleable.MainKeyboardView_touchNoiseThresholdDistance, 0); mSuppressKeyPreviewAfterBatchInputDuration = mainKeyboardViewAttr.getInt( R.styleable.MainKeyboardView_suppressKeyPreviewAfterBatchInputDuration, 0); mLongPressShiftLockTimeout = mainKeyboardViewAttr.getInt( R.styleable.MainKeyboardView_longPressShiftLockTimeout, 0); } } Loading Loading @@ -327,6 +332,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element { // the more keys panel currently being shown. equals null if no panel is active. private MoreKeysPanel mMoreKeysPanel; private static final int MULTIPLIER_FOR_LONG_PRESS_TIMEOUT_IN_SLIDING_INPUT = 3; // true if this pointer is in a sliding key input. boolean mIsInSlidingKeyInput; // true if this pointer is in a sliding key input from a modifier key, Loading Loading @@ -602,10 +608,6 @@ public final class PointerTracker implements PointerTrackerQueue.Element { return mIsInSlidingKeyInput; } public boolean isInSlidingKeyInputFromModifier() { return mIsInSlidingKeyInputFromModifier; } public Key getKey() { return mCurrentKey; } Loading Loading @@ -753,7 +755,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element { return sPointerTrackerQueue.size(); } public boolean isOldestTrackerInQueue() { private boolean isOldestTrackerInQueue() { return sPointerTrackerQueue.getOldestElement() == this; } Loading @@ -776,7 +778,9 @@ public final class PointerTracker implements PointerTrackerQueue.Element { dismissAllMoreKeysPanels(); } mTimerProxy.cancelLongPressTimer(); mDrawingProxy.showGestureTrail(this); // A gesture floating preview text will be shown at the oldest pointer/finger on the screen. mDrawingProxy.showGestureTrail( this, isOldestTrackerInQueue() /* showsFloatingPreviewText */); } public void updateBatchInputByTimer(final long eventTime) { Loading @@ -792,7 +796,9 @@ public final class PointerTracker implements PointerTrackerQueue.Element { if (mIsTrackingForActionDisabled) { return; } mDrawingProxy.showGestureTrail(this); // A gesture floating preview text will be shown at the oldest pointer/finger on the screen. mDrawingProxy.showGestureTrail( this, isOldestTrackerInQueue() /* showsFloatingPreviewText */); } private void updateBatchInput(final long eventTime) { Loading Loading @@ -833,7 +839,9 @@ public final class PointerTracker implements PointerTrackerQueue.Element { if (mIsTrackingForActionDisabled) { return; } mDrawingProxy.showGestureTrail(this); // A gesture floating preview text will be shown at the oldest pointer/finger on the screen. mDrawingProxy.showGestureTrail( this, isOldestTrackerInQueue() /* showsFloatingPreviewText */); } private void cancelBatchInput() { Loading Loading @@ -1013,7 +1021,9 @@ public final class PointerTracker implements PointerTrackerQueue.Element { final int translatedY = mMoreKeysPanel.translateY(y); mMoreKeysPanel.onMoveEvent(translatedX, translatedY, mPointerId, eventTime); onMoveKey(x, y); if (mIsInSlidingKeyInputFromModifier) { mDrawingProxy.showSlidingKeyInputPreview(this); } return; } onMoveEventInternal(x, y, eventTime); Loading Loading @@ -1168,8 +1178,10 @@ public final class PointerTracker implements PointerTrackerQueue.Element { slideOutFromOldKey(oldKey, x, y); } } if (mIsInSlidingKeyInputFromModifier) { mDrawingProxy.showSlidingKeyInputPreview(this); } } public void onUpEvent(final int x, final int y, final long eventTime) { if (DEBUG_EVENT) { Loading Loading @@ -1353,7 +1365,22 @@ public final class PointerTracker implements PointerTrackerQueue.Element { // We always need to start the long press timer if the key has its more keys regardless of // whether or not we are in the sliding input mode. if (mIsInSlidingKeyInput && key.mMoreKeys == null) return; mTimerProxy.startLongPressTimer(this); final int delay; switch (key.mCode) { case Constants.CODE_SHIFT: delay = sParams.mLongPressShiftLockTimeout; break; default: final int longpressTimeout = Settings.getInstance().getCurrent().mKeyLongpressTimeout; if (mIsInSlidingKeyInputFromModifier) { // We use longer timeout for sliding finger input started from the modifier key. delay = longpressTimeout * MULTIPLIER_FOR_LONG_PRESS_TIMEOUT_IN_SLIDING_INPUT; } else { delay = longpressTimeout; } break; } mTimerProxy.startLongPressTimer(this, delay); } private void detectAndSendKey(final Key key, final int x, final int y, final long eventTime) { Loading
java/src/com/android/inputmethod/keyboard/internal/GestureFloatingPreviewText.java +1 −3 Original line number Diff line number Diff line Loading @@ -115,9 +115,7 @@ public class GestureFloatingPreviewText extends AbstractDrawingPreview { @Override public void setPreviewPosition(final PointerTracker tracker) { final boolean needsToUpdateLastPointer = tracker.isOldestTrackerInQueue() && isPreviewEnabled(); if (!needsToUpdateLastPointer) { if (!isPreviewEnabled()) { return; } tracker.getLastCoordinates(mLastPointerCoords); Loading
java/src/com/android/inputmethod/keyboard/internal/SlidingKeyInputPreview.java +4 −8 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ import com.android.inputmethod.latin.utils.CoordinateUtils; public final class SlidingKeyInputPreview extends AbstractDrawingPreview { private final float mPreviewBodyRadius; private boolean mShowSlidingKeyInputPreview; private boolean mShowsSlidingKeyInputPreview; private final int[] mPreviewFrom = CoordinateUtils.newInstance(); private final int[] mPreviewTo = CoordinateUtils.newInstance(); Loading Loading @@ -62,7 +62,7 @@ public final class SlidingKeyInputPreview extends AbstractDrawingPreview { } public void dismissSlidingKeyInputPreview() { mShowSlidingKeyInputPreview = false; mShowsSlidingKeyInputPreview = false; getDrawingView().invalidate(); } Loading @@ -72,7 +72,7 @@ public final class SlidingKeyInputPreview extends AbstractDrawingPreview { */ @Override public void drawPreview(final Canvas canvas) { if (!isPreviewEnabled() || !mShowSlidingKeyInputPreview) { if (!isPreviewEnabled() || !mShowsSlidingKeyInputPreview) { return; } Loading @@ -90,13 +90,9 @@ public final class SlidingKeyInputPreview extends AbstractDrawingPreview { */ @Override public void setPreviewPosition(final PointerTracker tracker) { if (!tracker.isInSlidingKeyInputFromModifier()) { mShowSlidingKeyInputPreview = false; return; } tracker.getDownCoordinates(mPreviewFrom); tracker.getLastCoordinates(mPreviewTo); mShowSlidingKeyInputPreview = true; mShowsSlidingKeyInputPreview = true; getDrawingView().invalidate(); } }