diff options
| author | 2019-07-19 11:47:37 +0200 | |
|---|---|---|
| committer | 2020-01-29 10:25:07 -0800 | |
| commit | 9a2725c0b72b1cda521199e13a3048e62b553741 (patch) | |
| tree | 84f62370de6be5cfa95fb05cb9dfde3063c72086 | |
| parent | cd70c935b3df02709e1fdae7b4716057ba65131d (diff) | |
audiomanager: fix volume group callback
The AudioVolumeGroup change callback for a given group may be lost.
It is due to a poor copy paste in the Handler implementation where
the previous messages where removed.
In the case of volume group, it is forbidden to remove handled message
otherwise previous group change will not be reported.
Test: run cts-dev -m CtsMediaTestCase --test android.media.cts.AudioManagerTest#testVolumeGroupCallback
Bug: 136121584
Change-Id: I7434e66f02143c7da0f7156347d899e81467ee98
Signed-off-by: François Gaffie <francois.gaffie@renault.com>
| -rw-r--r-- | media/java/android/media/audiopolicy/AudioVolumeGroupChangeHandler.java | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/media/java/android/media/audiopolicy/AudioVolumeGroupChangeHandler.java b/media/java/android/media/audiopolicy/AudioVolumeGroupChangeHandler.java index 074188e01000..adf4d3dcfa09 100644 --- a/media/java/android/media/audiopolicy/AudioVolumeGroupChangeHandler.java +++ b/media/java/android/media/audiopolicy/AudioVolumeGroupChangeHandler.java @@ -157,9 +157,7 @@ public class AudioVolumeGroupChangeHandler { Handler handler = eventHandler.handler(); if (handler != null) { Message m = handler.obtainMessage(what, arg1, arg2, obj); - if (what != AUDIOVOLUMEGROUP_EVENT_NEW_LISTENER) { - handler.removeMessages(what); - } + // Do not remove previous messages, as we would lose notification of group changes handler.sendMessage(m); } } |