diff options
| author | Jim Miller <jaggies@google.com> | 2012-05-23 15:50:04 -0700 |
|---|---|---|
| committer | Jim Miller <jaggies@google.com> | 2012-05-24 17:02:31 -0700 |
| commit | 960892c0afa7f2b91236928e29e3987ed35b2077 (patch) | |
| tree | 52d35d3e718b4cbbe0af77b74f03aa746f0e0413 /core/java/com | |
| parent | 2bccea2461556a525c5c65be0364b5b9404c8651 (diff) | |
| download | frameworks_base-960892c0afa7f2b91236928e29e3987ed35b2077.zip frameworks_base-960892c0afa7f2b91236928e29e3987ed35b2077.tar.gz frameworks_base-960892c0afa7f2b91236928e29e3987ed35b2077.tar.bz2 | |
Fix 6547012: ignore events outside the home/back/recent navigation area
This fixes the search panel to only show if touch events originate
in the home/back/recent area.
Change-Id: I370da8b5c5613b7bbab5d266ba51a61df8f3a57b
Diffstat (limited to 'core/java/com')
| -rw-r--r-- | core/java/com/android/internal/widget/multiwaveview/MultiWaveView.java | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/core/java/com/android/internal/widget/multiwaveview/MultiWaveView.java b/core/java/com/android/internal/widget/multiwaveview/MultiWaveView.java index d6fb847..8cd63ef 100644 --- a/core/java/com/android/internal/widget/multiwaveview/MultiWaveView.java +++ b/core/java/com/android/internal/widget/multiwaveview/MultiWaveView.java @@ -476,19 +476,12 @@ public class MultiWaveView extends View { /** * Dispatches a trigger event to listener. Ignored if a listener is not set. - * @param whichHandle the handle that triggered the event. + * @param whichTarget the target that was triggered. */ - private void dispatchTriggerEvent(int whichHandle) { + private void dispatchTriggerEvent(int whichTarget) { vibrate(); if (mOnTriggerListener != null) { - mOnTriggerListener.onTrigger(this, whichHandle); - } - } - - private void dispatchGrabbedEvent(int whichHandler) { - vibrate(); - if (mOnTriggerListener != null) { - mOnTriggerListener.onGrabbed(this, whichHandler); + mOnTriggerListener.onTrigger(this, whichTarget); } } @@ -514,7 +507,7 @@ public class MultiWaveView extends View { // Inform listener of any active targets. Typically only one will be active. if (DEBUG) Log.v(TAG, "Finish with target hit = " + targetHit); - dispatchTriggerEvent(mActiveTarget); + dispatchTriggerEvent(activeTarget); } // Animate handle back to the center based on current state. @@ -791,7 +784,7 @@ public class MultiWaveView extends View { } private void handleDown(MotionEvent event) { - if (!trySwitchToFirstTouchState(event.getX(), event.getY())) { + if (!trySwitchToFirstTouchState(event.getX(), event.getY())) { mDragging = false; mTargetAnimations.cancel(); ping(); @@ -903,7 +896,6 @@ public class MultiWaveView extends View { if (target.hasState(TargetDrawable.STATE_FOCUSED)) { target.setState(TargetDrawable.STATE_FOCUSED); } - dispatchGrabbedEvent(activeTarget); if (AccessibilityManager.getInstance(mContext).isEnabled()) { String targetContentDescription = getTargetDescription(activeTarget); announceText(targetContentDescription); @@ -950,7 +942,7 @@ public class MultiWaveView extends View { } else { mOnTriggerListener.onGrabbed(this, OnTriggerListener.CENTER_HANDLE); } - mOnTriggerListener.onGrabbedStateChange(this, mGrabbedState); + mOnTriggerListener.onGrabbedStateChange(this, newState); } } } |
