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: Iea8c3e090bb16a8622e6b4a850af2bf963aa77d0main
parent
351c8e6185
commit
4c259866c4
|
@ -534,6 +534,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
|
||||||
@Override
|
@Override
|
||||||
public void onPageScrolled(final int position, final float positionOffset,
|
public void onPageScrolled(final int position, final float positionOffset,
|
||||||
final int positionOffsetPixels) {
|
final int positionOffsetPixels) {
|
||||||
|
mEmojiPalettesAdapter.onPageScrolled();
|
||||||
final Pair<Integer, Integer> newPos =
|
final Pair<Integer, Integer> newPos =
|
||||||
mEmojiCategory.getCategoryIdAndPageIdFromPagePosition(position);
|
mEmojiCategory.getCategoryIdAndPageIdFromPagePosition(position);
|
||||||
final int newCategoryId = newPos.first;
|
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
|
@Override
|
||||||
public int getCount() {
|
public int getCount() {
|
||||||
return mEmojiCategory.getTotalPageCountOfAllCategories();
|
return mEmojiCategory.getTotalPageCountOfAllCategories();
|
||||||
|
|
Loading…
Reference in New Issue