aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorYohei Yukawa <yukawa@google.com>2014-02-12 18:38:37 +0900
committerYohei Yukawa <yukawa@google.com>2014-02-12 18:56:08 +0900
commit4c259866c418c4bbb1348ffd122a805e86ec8bbd (patch)
treebe490211b7fbf8a4c15959bacb0218acc9be65da /java
parent351c8e6185a3b301a7469358cc1df5d075fc1b01 (diff)
downloadlatinime-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.java9
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();