Merge "Play CLICK sound effect when compound buttons are clicked" into lmp-mr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
e5d27a22a6
@@ -29,6 +29,7 @@ import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.Gravity;
|
||||
import android.view.SoundEffectConstants;
|
||||
import android.view.ViewDebug;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
import android.view.accessibility.AccessibilityNodeInfo;
|
||||
@@ -114,15 +115,16 @@ public abstract class CompoundButton extends Button implements Checkable {
|
||||
|
||||
@Override
|
||||
public boolean performClick() {
|
||||
/*
|
||||
* XXX: These are tiny, need some surrounding 'expanded touch area',
|
||||
* which will need to be implemented in Button if we only override
|
||||
* performClick()
|
||||
*/
|
||||
|
||||
/* When clicked, toggle the state */
|
||||
toggle();
|
||||
return super.performClick();
|
||||
|
||||
final boolean handled = super.performClick();
|
||||
if (!handled) {
|
||||
// View only makes a sound effect if the onClickListener was
|
||||
// called, so we'll need to make one here instead.
|
||||
playSoundEffect(SoundEffectConstants.CLICK);
|
||||
}
|
||||
|
||||
return handled;
|
||||
}
|
||||
|
||||
@ViewDebug.ExportedProperty
|
||||
|
||||
@@ -39,6 +39,7 @@ import android.util.FloatProperty;
|
||||
import android.util.MathUtils;
|
||||
import android.view.Gravity;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.SoundEffectConstants;
|
||||
import android.view.VelocityTracker;
|
||||
import android.view.ViewConfiguration;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
@@ -797,6 +798,7 @@ public class Switch extends CompoundButton {
|
||||
// Commit the change if the event is up and not canceled and the switch
|
||||
// has not been disabled during the drag.
|
||||
final boolean commitChange = ev.getAction() == MotionEvent.ACTION_UP && isEnabled();
|
||||
final boolean oldState = isChecked();
|
||||
final boolean newState;
|
||||
if (commitChange) {
|
||||
mVelocityTracker.computeCurrentVelocity(1000);
|
||||
@@ -807,10 +809,14 @@ public class Switch extends CompoundButton {
|
||||
newState = getTargetCheckedState();
|
||||
}
|
||||
} else {
|
||||
newState = isChecked();
|
||||
newState = oldState;
|
||||
}
|
||||
|
||||
if (newState != oldState) {
|
||||
playSoundEffect(SoundEffectConstants.CLICK);
|
||||
setChecked(newState);
|
||||
}
|
||||
|
||||
setChecked(newState);
|
||||
cancelSuperTouch(ev);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user