summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jim Miller <jaggies@google.com> 2011-02-07 11:40:21 -0800
committer Android Git Automerger <android-git-automerger@android.com> 2011-02-07 11:40:21 -0800
commit6572cfe8dce90cb127ae728ac7937358aea4474d (patch)
treef32ec9646624fab7d8abd20fe9176a1e713fa596
parent1514a5ec5aaafa7a56dfbb6edc8ae5c4a26c147d (diff)
parentda983f734c608fde57ea4f213d8640490a2f3a84 (diff)
am da983f73: am 4ce0cad1: Merge "Issue 3371080: fix volume update in mute state." into honeycomb
* commit 'da983f734c608fde57ea4f213d8640490a2f3a84': Issue 3371080: fix volume update in mute state.
-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 50ca71e826b9..3b12780922b7 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);
}
}
};