diff options
author | 2014-02-12 18:38:37 +0900 | |
---|---|---|
committer | 2014-02-12 18:56:08 +0900 | |
commit | 4c259866c418c4bbb1348ffd122a805e86ec8bbd (patch) | |
tree | be490211b7fbf8a4c15959bacb0218acc9be65da /java | |
parent | 351c8e6185a3b301a7469358cc1df5d075fc1b01 (diff) | |
download | latinime-4c259866c418c4bbb1348ffd122a805e86ec8bbd.tar.gz latinime-4c259866c418c4bbb1348ffd122a805e86ec8bbd.tar.xz latinime-4c259866c418c4bbb1348ffd122a805e86ec8bbd.zip |
Cancel keydown events immediately once the view starts scrolling
The motivation of this patch is to make sure a user never feel
haptic feedback when scrolling the Emoji palette. In order to
achieve it, EmojiPageKeyboardView#releaseCurrentKey() should
be called whenever (delayed) keydown events should be canceled.
This patch wires up ViewPager.OnPageChangeListener#onPageScrolled
with EmojiPageKeyboardView#releaseCurrentKey() so that delayed
keydown events will be canceled immediately once the ViewParger
starts scrolling.
BUG: 12964092
Change-Id: Iea8c3e090bb16a8622e6b4a850af2bf963aa77d0
Diffstat (limited to 'java')
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/EmojiPalettesView.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/EmojiPalettesView.java b/java/src/com/android/inputmethod/keyboard/EmojiPalettesView.java index 672759aee..b44741cda 100644 --- a/java/src/com/android/inputmethod/keyboard/EmojiPalettesView.java +++ b/java/src/com/android/inputmethod/keyboard/EmojiPalettesView.java @@ -534,6 +534,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange @Override public void onPageScrolled(final int position, final float positionOffset, final int positionOffsetPixels) { + mEmojiPalettesAdapter.onPageScrolled(); final Pair<Integer, Integer> newPos = mEmojiCategory.getCategoryIdAndPageIdFromPagePosition(position); final int newCategoryId = newPos.first; @@ -718,6 +719,14 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange } } + public void onPageScrolled() { + // Make sure the delayed key-down event (highlight effect and haptic feedback) will be + // canceled. + final EmojiPageKeyboardView currentKeyboardView = + mActiveKeyboardViews.get(mActivePosition); + currentKeyboardView.releaseCurrentKey(); + } + @Override public int getCount() { return mEmojiCategory.getTotalPageCountOfAllCategories(); |