summaryrefslogtreecommitdiffstats
path: root/core/java/android/preference
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/preference')
-rw-r--r--core/java/android/preference/VolumePreference.java13
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);
}
}
};