diff options
| author | 2016-08-26 19:46:36 +0000 | |
|---|---|---|
| committer | 2016-08-26 19:46:36 +0000 | |
| commit | 9bdfbd7c82c7d316ada99902d986044e7d24c39b (patch) | |
| tree | acb6ec9ea940c75f8a18cf74dfc0d605f9eb02f4 | |
| parent | 3a41c5b65480787c84449ba2201ba96761c33e4b (diff) | |
| parent | 05bce15da90eb01f171b4ffcf0ec4f6a8175a728 (diff) | |
Play sound on ACTION_DOWN for navigation keys
am: 05bce15da9
Change-Id: I99ee8746b710c131dcd781a1623aa3b5edbbc84d
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java index 61bac2d8d3c4..e6066aaa4c31 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java @@ -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); |