summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author François Gaffie <francois.gaffie@renault.com> 2019-07-19 11:47:37 +0200
committer Eric Laurent <elaurent@google.com> 2020-01-29 10:25:07 -0800
commit9a2725c0b72b1cda521199e13a3048e62b553741 (patch)
tree84f62370de6be5cfa95fb05cb9dfde3063c72086
parentcd70c935b3df02709e1fdae7b4716057ba65131d (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.java4
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);
}
}