diff options
-rw-r--r-- | core/java/android/preference/VolumePreference.java | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/core/java/android/preference/VolumePreference.java b/core/java/android/preference/VolumePreference.java index 50ca71e..3b12780 100644 --- a/core/java/android/preference/VolumePreference.java +++ b/core/java/android/preference/VolumePreference.java @@ -236,14 +236,11 @@ public class VolumePreference extends SeekBarPreference implements @Override public void onChange(boolean selfChange) { super.onChange(selfChange); - if (mSeekBar != null) { - int volume = System.getInt(mContext.getContentResolver(), - System.VOLUME_SETTINGS[mStreamType], -1); - // Works around an atomicity problem with volume updates - // TODO: Fix the actual issue, probably in AudioService - if (volume >= 0) { - mSeekBar.setProgress(volume); - } + if (mSeekBar != null && mAudioManager != null) { + int volume = mAudioManager.isStreamMute(mStreamType) ? + mAudioManager.getLastAudibleStreamVolume(mStreamType) + : mAudioManager.getStreamVolume(mStreamType); + mSeekBar.setProgress(volume); } } }; |