diff options
| author | Jeff Brown <jeffbrown@google.com> | 2010-11-01 15:24:01 -0700 |
|---|---|---|
| committer | Jeff Brown <jeffbrown@google.com> | 2010-11-02 17:31:39 -0700 |
| commit | b0418da0e7594a8c2164a46985c5f1993632e010 (patch) | |
| tree | f73f81b31796d4f75ef6530d1fb883fccc74031f /core/java/android/preference | |
| parent | c68134b74016b82e0c49c47b89d93b2d0921cbe5 (diff) | |
| download | frameworks_base-b0418da0e7594a8c2164a46985c5f1993632e010.zip frameworks_base-b0418da0e7594a8c2164a46985c5f1993632e010.tar.gz frameworks_base-b0418da0e7594a8c2164a46985c5f1993632e010.tar.bz2 | |
Add plumbing for volume mute key.
Full support for the volume mute key will be implemented in a
later change.
Bug: 2912307
Change-Id: I98c27d6360f159c8b7447e04b45f442eff87b38a
Diffstat (limited to 'core/java/android/preference')
| -rw-r--r-- | core/java/android/preference/VolumePreference.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/core/java/android/preference/VolumePreference.java b/core/java/android/preference/VolumePreference.java index 970d520..66c9ba1 100644 --- a/core/java/android/preference/VolumePreference.java +++ b/core/java/android/preference/VolumePreference.java @@ -92,6 +92,11 @@ public class VolumePreference extends SeekBarPreference implements mSeekBarVolumizer.changeVolumeBy(1); } return true; + case KeyEvent.KEYCODE_VOLUME_MUTE: + if (isdown) { + mSeekBarVolumizer.muteVolume(); + } + return true; default: return false; } @@ -225,6 +230,7 @@ public class VolumePreference extends SeekBarPreference implements private int mLastProgress = -1; private SeekBar mSeekBar; + private int mVolumeBeforeMute = -1; private ContentObserver mVolumeObserver = new ContentObserver(mHandler) { @Override @@ -336,6 +342,21 @@ public class VolumePreference extends SeekBarPreference implements sample(); } postSetVolume(mSeekBar.getProgress()); + mVolumeBeforeMute = -1; + } + + public void muteVolume() { + if (mVolumeBeforeMute != -1) { + mSeekBar.setProgress(mVolumeBeforeMute); + sample(); + postSetVolume(mVolumeBeforeMute); + mVolumeBeforeMute = -1; + } else { + mVolumeBeforeMute = mSeekBar.getProgress(); + mSeekBar.setProgress(0); + stopSample(); + postSetVolume(0); + } } public void onSaveInstanceState(VolumeStore volumeStore) { |
