Play sound on ACTION_DOWN for navigation keys
Change-Id: I83a39aa9ba2519952cb723d72c66203881c9b3b5 Fixes: 30837708
This commit is contained in:
@@ -59,6 +59,7 @@ public class KeyButtonView extends ImageView implements ButtonDispatcher.ButtonI
|
||||
private AudioManager mAudioManager;
|
||||
private boolean mGestureAborted;
|
||||
private boolean mLongClicked;
|
||||
private OnClickListener mOnClickListener;
|
||||
|
||||
private final Runnable mCheckLongPress = new Runnable() {
|
||||
public void run() {
|
||||
@@ -109,6 +110,12 @@ public class KeyButtonView extends ImageView implements ButtonDispatcher.ButtonI
|
||||
mCode = code;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOnClickListener(OnClickListener onClickListener) {
|
||||
super.setOnClickListener(onClickListener);
|
||||
mOnClickListener = onClickListener;
|
||||
}
|
||||
|
||||
public void loadAsync(String uri) {
|
||||
new AsyncTask<String, Void, Drawable>() {
|
||||
@Override
|
||||
@@ -190,6 +197,7 @@ public class KeyButtonView extends ImageView implements ButtonDispatcher.ButtonI
|
||||
// Provide the same haptic feedback that the system offers for virtual keys.
|
||||
performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
|
||||
}
|
||||
playSoundEffect(SoundEffectConstants.CLICK);
|
||||
removeCallbacks(mCheckLongPress);
|
||||
postDelayed(mCheckLongPress, ViewConfiguration.getLongPressTimeout());
|
||||
break;
|
||||
@@ -215,14 +223,14 @@ public class KeyButtonView extends ImageView implements ButtonDispatcher.ButtonI
|
||||
if (doIt) {
|
||||
sendEvent(KeyEvent.ACTION_UP, 0);
|
||||
sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);
|
||||
playSoundEffect(SoundEffectConstants.CLICK);
|
||||
} else {
|
||||
sendEvent(KeyEvent.ACTION_UP, KeyEvent.FLAG_CANCELED);
|
||||
}
|
||||
} else {
|
||||
// no key code, just a regular ImageView
|
||||
if (doIt) {
|
||||
performClick();
|
||||
if (doIt && mOnClickListener != null) {
|
||||
mOnClickListener.onClick(this);
|
||||
sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);
|
||||
}
|
||||
}
|
||||
removeCallbacks(mCheckLongPress);
|
||||
|
||||
Reference in New Issue
Block a user