Skip to content
Snippets Groups Projects
Commit 8d4be251 authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka Committed by Android (Google) Code Review
Browse files

Merge "Fix haptic and audio feedback of caps-lock mode changing"

parents a4f8e752 f44aeb66
No related branches found
No related tags found
No related merge requests found
......@@ -75,6 +75,7 @@ public class Keyboard {
public static final int CODE_DELETE = -5;
public static final int CODE_SETTINGS = -6;
public static final int CODE_SHORTCUT = -7;
public static final int CODE_HAPTIC_AND_AUDIO_FEEDBACK_ONLY = -98;
// Code value representing the code is not specified.
public static final int CODE_UNSPECIFIED = -99;
......
......@@ -193,9 +193,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
// Detected a double tap on shift key. If we are in the ignoring double tap
// mode, it means we have already turned off caps lock in
// {@link KeyboardSwitcher#onReleaseShift} .
final boolean ignoringDoubleTap = mKeyTimerHandler.isIgnoringDoubleTap();
if (!ignoringDoubleTap)
onDoubleTapShiftKey(tracker);
onDoubleTapShiftKey(tracker, mKeyTimerHandler.isIgnoringDoubleTap());
return true;
}
// Otherwise these events should not be handled as double tap.
......@@ -346,11 +344,14 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
return onLongPress(parentKey, tracker);
}
private void onDoubleTapShiftKey(@SuppressWarnings("unused") PointerTracker tracker) {
private void onDoubleTapShiftKey(@SuppressWarnings("unused") PointerTracker tracker,
final boolean ignore) {
// When shift key is double tapped, the first tap is correctly processed as usual tap. And
// the second tap is treated as this double tap event, so that we need not mark tracker
// calling setAlreadyProcessed() nor remove the tracker from mPointerQueue.
mKeyboardActionListener.onCodeInput(Keyboard.CODE_CAPSLOCK, null, 0, 0);
final int primaryCode = ignore ? Keyboard.CODE_HAPTIC_AND_AUDIO_FEEDBACK_ONLY
: Keyboard.CODE_CAPSLOCK;
mKeyboardActionListener.onCodeInput(primaryCode, null, 0, 0);
}
// This default implementation returns a more keys panel.
......
......@@ -1265,7 +1265,11 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
break;
case Keyboard.CODE_CAPSLOCK:
switcher.toggleCapsLock();
//$FALL-THROUGH$
case Keyboard.CODE_HAPTIC_AND_AUDIO_FEEDBACK_ONLY:
// Dummy code for haptic and audio feedbacks.
vibrate();
playKeyClick(primaryCode);
break;
case Keyboard.CODE_SHORTCUT:
mSubtypeSwitcher.switchToShortcutIME();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment