summaryrefslogtreecommitdiffstats
path: root/services/audiopolicy/managerdefault
diff options
context:
space:
mode:
authorJean-Michel Trivi <jmtrivi@google.com>2015-03-31 18:02:24 -0700
committerJean-Michel Trivi <jmtrivi@google.com>2015-04-01 11:29:43 -0700
commit887a9ed4446cb451181c392a0e51a69914e58fbf (patch)
tree148916028dcdf5c2db173f62f1b063412d070124 /services/audiopolicy/managerdefault
parent2110e04cdfbf9ad85ce154ce5f778ee5ccfc95eb (diff)
downloadframeworks_av-887a9ed4446cb451181c392a0e51a69914e58fbf.zip
frameworks_av-887a9ed4446cb451181c392a0e51a69914e58fbf.tar.gz
frameworks_av-887a9ed4446cb451181c392a0e51a69914e58fbf.tar.bz2
Updates to AudioPolicyManager refactor
Use protected access in AudioPolicyManager class for - engine field - querying phone state - isStrategyActive Fix inclusion of AudioPolicyManagerInterface header. Use "APM_" prefix in audio policy conf parsing code to avoid naming conflicts with some HALs. DeviceDescriptor and its collection class are good friends now. Change-Id: I236d62a2b8a4b6bf68dd515932650b912577c145
Diffstat (limited to 'services/audiopolicy/managerdefault')
-rw-r--r--services/audiopolicy/managerdefault/AudioPolicyManager.cpp4
-rw-r--r--services/audiopolicy/managerdefault/AudioPolicyManager.h17
2 files changed, 13 insertions, 8 deletions
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
index aa2e044..797a2b4 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
@@ -521,6 +521,10 @@ void AudioPolicyManager::setPhoneState(audio_mode_t state)
}
}
+audio_mode_t AudioPolicyManager::getPhoneState() {
+ return mEngine->getPhoneState();
+}
+
void AudioPolicyManager::setForceUse(audio_policy_force_use_t usage,
audio_policy_forced_cfg_t config)
{
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.h b/services/audiopolicy/managerdefault/AudioPolicyManager.h
index dcd74f0..02b678a 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.h
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.h
@@ -27,6 +27,7 @@
#include <media/AudioPolicy.h>
#include "AudioPolicyInterface.h"
+#include <AudioPolicyManagerInterface.h>
#include <AudioPolicyManagerObserver.h>
#include <AudioGain.h>
#include <AudioPort.h>
@@ -44,8 +45,6 @@
namespace android {
-class AudioPolicyManagerInterface;
-
// ----------------------------------------------------------------------------
// Attenuation applied to STRATEGY_SONIFICATION streams when a headset is connected: 6dB
@@ -284,6 +283,9 @@ protected:
virtual audio_devices_t getDeviceForStrategy(routing_strategy strategy,
bool fromCache);
+ bool isStrategyActive(const sp<AudioOutputDescriptor> outputDesc, routing_strategy strategy,
+ uint32_t inPastMs = 0, nsecs_t sysTime = 0) const;
+
// change the route of the specified output. Returns the number of ms we have slept to
// allow new routing to take effect in certain cases.
virtual uint32_t setOutputDevice(audio_io_handle_t output,
@@ -337,6 +339,8 @@ protected:
// a special tone in the device used for communication
void handleIncallSonification(audio_stream_type_t stream, bool starting, bool stateChange);
+ audio_mode_t getPhoneState();
+
// true if device is in a telephony or VoIP call
virtual bool isInCall();
// true if given state represents a device in a telephony or VoIP call
@@ -523,6 +527,9 @@ protected:
#endif //AUDIO_POLICY_TEST
uint32_t nextAudioPortGeneration();
+
+ // Audio Policy Engine Interface.
+ AudioPolicyManagerInterface *mEngine;
private:
// updates device caching and output for streams that can influence the
// routing of notifications
@@ -566,12 +573,6 @@ private:
audio_policy_dev_state_t state,
const char *device_address,
const char *device_name);
-
- bool isStrategyActive(const sp<AudioOutputDescriptor> outputDesc, routing_strategy strategy,
- uint32_t inPastMs = 0, nsecs_t sysTime = 0) const;
-
- // Audio Policy Engine Interface.
- AudioPolicyManagerInterface *mEngine;
};
};