summaryrefslogtreecommitdiffstats
path: root/services/audiopolicy/managerdefault
diff options
context:
space:
mode:
authorFrançois Gaffie <francois.gaffie@intel.com>2015-03-19 10:43:27 +0100
committerJean-Michel Trivi <jmtrivi@google.com>2015-04-01 10:22:42 -0700
commitdf37269852ea92bafd939fe793209d0581c4a574 (patch)
tree673a3e9838f06a33c6304942d8138b1eb224d348 /services/audiopolicy/managerdefault
parent45ed3b053d9af2250f5ece9ee4e826905c3763a7 (diff)
downloadframeworks_av-df37269852ea92bafd939fe793209d0581c4a574.zip
frameworks_av-df37269852ea92bafd939fe793209d0581c4a574.tar.gz
frameworks_av-df37269852ea92bafd939fe793209d0581c4a574.tar.bz2
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>
Diffstat (limited to 'services/audiopolicy/managerdefault')
-rw-r--r--services/audiopolicy/managerdefault/AudioPolicyManager.cpp16
-rw-r--r--services/audiopolicy/managerdefault/AudioPolicyManager.h8
2 files changed, 7 insertions, 17 deletions
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
index 01400ec..5341559 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
@@ -2458,21 +2458,7 @@ status_t AudioPolicyManager::acquireSoundTriggerSession(audio_session_t *session
*ioHandle = (audio_io_handle_t)mpClientInterface->newAudioUniqueId();
*device = getDeviceAndMixForInputSource(AUDIO_SOURCE_HOTWORD);
- mSoundTriggerSessions.add(*session, *ioHandle);
-
- return NO_ERROR;
-}
-
-status_t AudioPolicyManager::releaseSoundTriggerSession(audio_session_t session)
-{
- ssize_t index = mSoundTriggerSessions.indexOfKey(session);
- if (index < 0) {
- ALOGW("acquireSoundTriggerSession() session %d not registered", session);
- return BAD_VALUE;
- }
-
- mSoundTriggerSessions.removeItem(session);
- return NO_ERROR;
+ return mSoundTriggerSessions.acquireSession(*session, *ioHandle);
}
// ----------------------------------------------------------------------------
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 @@ public:
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 @@ protected:
AudioPatchCollection mAudioPatches;
- DefaultKeyedVector<audio_session_t, audio_io_handle_t> mSoundTriggerSessions;
+ SoundTriggerSessionCollection mSoundTriggerSessions;
sp<AudioPatch> mCallTxPatch;
sp<AudioPatch> mCallRxPatch;