Convert getDevicesForStream to return a DeviceTypeSet

As a pre-requisite for switching from 'int' to
'AudioDeviceDescription' in the framework AIDL interfaces,
get rid of the usage of 'int' as a mask of 'audio_devices_t'
values. This is needed because 'AudioDeviceDescription'
can't be coerced into an int directly, and interpreting
a mask of multiple 'audio_devices_t' values is ambiguous
due to presence of multi-bit device types.

Note that at the Java layer the returned DeviceTypeSet
is still collapsed into a single integer value. This needs
to be addressed separately.

Bug: 188932434
Test: check audio on device
Change-Id: I1bc2a28ac2e1037a38b7be7967349b33845f88de
diff --git a/services/audiopolicy/AudioPolicyInterface.h b/services/audiopolicy/AudioPolicyInterface.h
index 2e49e71..a8bb7da 100644
--- a/services/audiopolicy/AudioPolicyInterface.h
+++ b/services/audiopolicy/AudioPolicyInterface.h
@@ -18,6 +18,7 @@
 #define ANDROID_AUDIOPOLICY_INTERFACE_H
 
 #include <media/AudioCommonTypes.h>
+#include <media/AudioContainers.h>
 #include <media/AudioDeviceTypeAddr.h>
 #include <media/AudioSystem.h>
 #include <media/AudioPolicy.h>
@@ -198,7 +199,7 @@
     virtual product_strategy_t getStrategyForStream(audio_stream_type_t stream) = 0;
 
     // return the enabled output devices for the given stream type
-    virtual audio_devices_t getDevicesForStream(audio_stream_type_t stream) = 0;
+    virtual DeviceTypeSet getDevicesForStream(audio_stream_type_t stream) = 0;
 
     // retrieves the list of enabled output devices for the given audio attributes
     virtual status_t getDevicesForAttributes(const audio_attributes_t &attr,