Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8777944d authored by Jean-Michel Trivi's avatar Jean-Michel Trivi
Browse files

AudioService: fix removeDeviceAsNonDefaultForStrategy regression

Calling AudioManager.removeDeviceAsNonDefaultForStrategy with
an invalid strategy is expected to fail (as documented).
Fix by returning a failure when the useCase (aka strategy) and
role is not found in the map of roles for the audio devices.

Bug: 280554476
Test: atest android.media.audio.cts.NonDefaultDeviceForStrategyTest#testInvalidStrategy
Change-Id: I29f9d9a5d9e7fb2c0865dfa0c86e7531bb148b41
parent 833652c8
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1031,7 +1031,8 @@ public class AudioDeviceInventory {
        synchronized (rolesMap) {
            Pair<Integer, Integer> key = new Pair<>(useCase, role);
            if (!rolesMap.containsKey(key)) {
                return AudioSystem.SUCCESS;
                // trying to remove a role for a device that wasn't set
                return AudioSystem.BAD_VALUE;
            }
            List<AudioDeviceAttributes> roleDevices = rolesMap.get(key);
            List<AudioDeviceAttributes> appliedDevices = new ArrayList<>();