summaryrefslogtreecommitdiffstats
path: root/media/java
diff options
context:
space:
mode:
authorJean-Michel Trivi <jmtrivi@google.com>2009-10-29 01:28:06 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2009-10-29 01:28:06 -0700
commitee507eb560319643946d73627bc7ad3e13591f2a (patch)
tree9387abe0f2a7c050fd77840f918861816617cfe0 /media/java
parentc867958eb6fb50210a767fa24757bfa19228c22e (diff)
parent898897338dfd62a268a89fb55ee900a9bd5a683f (diff)
downloadframeworks_base-ee507eb560319643946d73627bc7ad3e13591f2a.zip
frameworks_base-ee507eb560319643946d73627bc7ad3e13591f2a.tar.gz
frameworks_base-ee507eb560319643946d73627bc7ad3e13591f2a.tar.bz2
am 89889733: Merge change I4e83a76a into eclair
Merge commit '898897338dfd62a268a89fb55ee900a9bd5a683f' into eclair-mr2 * commit '898897338dfd62a268a89fb55ee900a9bd5a683f': Fix bug 2201417. Whenever the System setting that indicates
Diffstat (limited to 'media/java')
-rw-r--r--media/java/android/media/AudioService.java20
1 files changed, 15 insertions, 5 deletions
diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java
index d90871e..58a0bba 100644
--- a/media/java/android/media/AudioService.java
+++ b/media/java/android/media/AudioService.java
@@ -959,10 +959,10 @@ public class AudioService extends IAudioService.Stub {
///////////////////////////////////////////////////////////////////////////
public class VolumeStreamState {
- private final String mVolumeIndexSettingName;
- private final String mLastAudibleVolumeIndexSettingName;
private final int mStreamType;
+ private String mVolumeIndexSettingName;
+ private String mLastAudibleVolumeIndexSettingName;
private int mIndexMax;
private int mIndex;
private int mLastAudibleIndex;
@@ -970,8 +970,7 @@ public class AudioService extends IAudioService.Stub {
private VolumeStreamState(String settingName, int streamType) {
- mVolumeIndexSettingName = settingName;
- mLastAudibleVolumeIndexSettingName = settingName + System.APPEND_FOR_LAST_AUDIBLE;
+ setVolumeIndexSettingName(settingName);
mStreamType = streamType;
@@ -991,6 +990,11 @@ public class AudioService extends IAudioService.Stub {
mDeathHandlers = new ArrayList<VolumeDeathHandler>();
}
+ public void setVolumeIndexSettingName(String settingName) {
+ mVolumeIndexSettingName = settingName;
+ mLastAudibleVolumeIndexSettingName = settingName + System.APPEND_FOR_LAST_AUDIBLE;
+ }
+
public boolean adjustIndex(int deltaIndex) {
return setIndex(mIndex + deltaIndex * 10, true);
}
@@ -1370,11 +1374,17 @@ public class AudioService extends IAudioService.Stub {
mNotificationsUseRingVolume = notificationsUseRingVolume;
if (mNotificationsUseRingVolume == 1) {
STREAM_VOLUME_ALIAS[AudioSystem.STREAM_NOTIFICATION] = AudioSystem.STREAM_RING;
+ mStreamStates[AudioSystem.STREAM_NOTIFICATION].setVolumeIndexSettingName(
+ System.VOLUME_SETTINGS[AudioSystem.STREAM_RING]);
} else {
STREAM_VOLUME_ALIAS[AudioSystem.STREAM_NOTIFICATION] = AudioSystem.STREAM_NOTIFICATION;
+ mStreamStates[AudioSystem.STREAM_NOTIFICATION].setVolumeIndexSettingName(
+ System.VOLUME_SETTINGS[AudioSystem.STREAM_NOTIFICATION]);
// Persist notification volume volume as it was not persisted while aliased to ring volume
+ // and persist with no delay as there might be registered observers of the persisted
+ // notification volume.
sendMsg(mAudioHandler, MSG_PERSIST_VOLUME, AudioSystem.STREAM_NOTIFICATION,
- SENDMSG_REPLACE, 0, 0, mStreamStates[AudioSystem.STREAM_NOTIFICATION], PERSIST_DELAY);
+ SENDMSG_REPLACE, 0, 0, mStreamStates[AudioSystem.STREAM_NOTIFICATION], 0);
}
}
}