Create SoundTriggerSession and associated collection within common

This patch creates a SoundTriggerSession and associated collection within
common policy pillar elements.
It moves the code from managerdefault and creates helpers function within
the collection.

Change-Id: I83ea230573c05e8ab99f4489c20059ed27678221
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.h b/services/audiopolicy/managerdefault/AudioPolicyManager.h
index 79add3b..b881aaa 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.h
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.h
@@ -38,6 +38,7 @@
 #include <AudioOutputDescriptor.h>
 #include <AudioPolicyMix.h>
 #include <EffectDescriptor.h>
+#include <SoundTriggerSession.h>
 
 namespace android {
 
@@ -208,7 +209,10 @@
                                                audio_io_handle_t *ioHandle,
                                                audio_devices_t *device);
 
-        virtual status_t releaseSoundTriggerSession(audio_session_t session);
+        virtual status_t releaseSoundTriggerSession(audio_session_t session)
+        {
+            return mSoundTriggerSessions.releaseSession(session);
+        }
 
         virtual status_t registerPolicyMixes(Vector<AudioMix> mixes);
         virtual status_t unregisterPolicyMixes(Vector<AudioMix> mixes);
@@ -448,7 +452,7 @@
 
         AudioPatchCollection mAudioPatches;
 
-        DefaultKeyedVector<audio_session_t, audio_io_handle_t> mSoundTriggerSessions;
+        SoundTriggerSessionCollection mSoundTriggerSessions;
 
         sp<AudioPatch> mCallTxPatch;
         sp<AudioPatch> mCallRxPatch;