summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2015-04-25 00:52:11 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-04-25 00:52:11 +0000
commita65611c37ac4fdcadbda90ed60ae55d8d3583f3a (patch)
treea3fc94a7ff215ef6fed192d191abac400a656df5
parent75a8c26a5a0d1dae74193fc9fce517710b8f9942 (diff)
parent01ce6a4f342b09da48414dbef49293e0107cc66e (diff)
downloadframeworks_av-a65611c37ac4fdcadbda90ed60ae55d8d3583f3a.zip
frameworks_av-a65611c37ac4fdcadbda90ed60ae55d8d3583f3a.tar.gz
frameworks_av-a65611c37ac4fdcadbda90ed60ae55d8d3583f3a.tar.bz2
Merge "Fix M Issue on configurable policy engine version."
-rwxr-xr-xservices/audiopolicy/engineconfigurable/Android.mk3
-rw-r--r--services/audiopolicy/engineconfigurable/parameter-framework/example/Android.mk30
-rwxr-xr-xservices/audiopolicy/engineconfigurable/parameter-framework/example/policy_criteria.txt5
-rwxr-xr-xservices/audiopolicy/engineconfigurable/src/Engine.cpp8
-rwxr-xr-xservices/audiopolicy/engineconfigurable/src/Engine.h10
-rwxr-xr-xservices/audiopolicy/engineconfigurable/src/Stream.cpp9
-rwxr-xr-xservices/audiopolicy/engineconfigurable/src/Stream.h2
7 files changed, 29 insertions, 38 deletions
diff --git a/services/audiopolicy/engineconfigurable/Android.mk b/services/audiopolicy/engineconfigurable/Android.mk
index 0b13085..1cec54c 100755
--- a/services/audiopolicy/engineconfigurable/Android.mk
+++ b/services/audiopolicy/engineconfigurable/Android.mk
@@ -1,3 +1,4 @@
+ifeq ($(USE_CONFIGURABLE_AUDIO_POLICY), 1)
LOCAL_PATH := $(call my-dir)
@@ -57,3 +58,5 @@ include $(BUILD_SHARED_LIBRARY)
# Recursive call sub-folder Android.mk
#
include $(call all-makefiles-under,$(LOCAL_PATH))
+
+endif
diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Android.mk b/services/audiopolicy/engineconfigurable/parameter-framework/example/Android.mk
index 98b7152..866ecc0 100644
--- a/services/audiopolicy/engineconfigurable/parameter-framework/example/Android.mk
+++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Android.mk
@@ -10,6 +10,11 @@
LOCAL_PATH := $(call my-dir)
+PFW_CORE := external/parameter-framework
+BUILD_PFW_SETTINGS := $(PFW_CORE)/support/android/build_pfw_settings.mk
+PFW_DEFAULT_SCHEMAS_DIR := $(PFW_CORE)/Schemas
+PFW_SCHEMAS_DIR := $(PFW_DEFAULT_SCHEMAS_DIR)
+
##################################################################
# CONFIGURATION FILES
##################################################################
@@ -65,26 +70,19 @@ include $(BUILD_PREBUILT)
######### Policy PFW Settings #########
-######## Generate routing domains file ########
include $(CLEAR_VARS)
LOCAL_MODULE := parameter-framework.policy
LOCAL_MODULE_STEM := PolicyConfigurableDomains.xml
-LOCAL_MODULE_TAGS := optional
-LOCAL_REQUIRED_MODULES := \
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_RELATIVE_PATH := parameter-framework/Settings/Policy
+LOCAL_ADDITIONAL_DEPENDENCIES := \
PolicyClass.xml \
PolicySubsystem.xml \
ParameterFrameworkConfigurationPolicy.xml
-LOCAL_MODULE_CLASS := ETC
-LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/parameter-framework/Settings/Policy
-include $(BUILD_SYSTEM)/base_rules.mk
-
-$(LOCAL_BUILT_MODULE): MY_TOOL := $(HOST_OUT_EXECUTABLES)/hostDomainGenerator.sh
-$(LOCAL_BUILT_MODULE): $(HOST_OUT_EXECUTABLES)/hostDomainGenerator.sh
-$(LOCAL_BUILT_MODULE): MY_SRC_FILES := \
- $(TARGET_OUT_ETC)/parameter-framework/ParameterFrameworkConfigurationPolicy.xml \
- $(LOCAL_PATH)/policy_criteria.txt \
- /dev/null \
+PFW_TOPLEVEL_FILE := $(TARGET_OUT_ETC)/parameter-framework/ParameterFrameworkConfigurationPolicy.xml
+PFW_CRITERIA_FILE := $(LOCAL_PATH)/policy_criteria.txt
+PFW_EDD_FILES := \
$(LOCAL_PATH)/Settings/device_for_strategy_media.pfw \
$(LOCAL_PATH)/Settings/device_for_strategy_phone.pfw \
$(LOCAL_PATH)/Settings/device_for_strategy_sonification.pfw \
@@ -97,8 +95,6 @@ $(LOCAL_BUILT_MODULE): MY_SRC_FILES := \
$(LOCAL_PATH)/Settings/strategy_for_stream.pfw \
$(LOCAL_PATH)/Settings/strategy_for_usage.pfw \
$(LOCAL_PATH)/Settings/device_for_input_source.pfw \
- $(LOCAL_PATH)/Settings/volumes.pfw \
+ $(LOCAL_PATH)/Settings/volumes.pfw
-$(LOCAL_BUILT_MODULE): $(LOCAL_REQUIRED_MODULES)
- $(hide) mkdir -p $(dir $@)
- bash --debug $(MY_TOOL) --nonverbose --validate $(MY_SRC_FILES) > $@
+include $(BUILD_PFW_SETTINGS)
diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/policy_criteria.txt b/services/audiopolicy/engineconfigurable/parameter-framework/example/policy_criteria.txt
index 3b3151c..ef06498 100755
--- a/services/audiopolicy/engineconfigurable/parameter-framework/example/policy_criteria.txt
+++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/policy_criteria.txt
@@ -1,14 +1,9 @@
ExclusiveCriterion TelephonyMode : Normal RingTone InCall InCommunication
-
InclusiveCriterion AvailableInputDevices : Communication Ambient BuiltinMic BluetoothScoHeadset WiredHeadset Hdmi TelephonyRx BackMic RemoteSubmix AnlgDockHeadset DgtlDockHeadset UsbAccessory UsbDevice FmTuner TvTuner Line Spdif BluetoothA2dp Loopback
-
InclusiveCriterion AvailableOutputDevices : Earpiece Speaker WiredSpeaker WiredHeadset WiredHeadphone BluetoothSco BluetoothScoHeadset BluetoothScoCarkit BluetoothA2dp BluetoothA2dpHeadphones BluetoothA2dpSpeaker Hdmi AnlgDockHeadset DgtlDockHeadset UsbAccessory UsbDevice RemoteSubmix TelephonyTx Line HdmiArc Spdif Fm AuxLine SpeakerSafe
-
ExclusiveCriterion ForceUseForCommunication : ForceNone ForceSpeaker ForceBtSco
ExclusiveCriterion ForceUseForMedia : ForceNone ForceSpeaker ForceHeadphones ForceBtA2dp ForceWiredAccessory ForceAnalogDock ForceDigitalDock ForceNoBtA2dp ForceSystemEnforced
ExclusiveCriterion ForceUseForRecord : ForceNone ForceBtSco ForceWiredAccessory
ExclusiveCriterion ForceUseForDock : ForceNone ForceWiredAccessory ForceBtCarDock ForceBtDeskDock ForceAnalogDock ForceDigitalDock
ExclusiveCriterion ForceUseForSystem : ForceNone ForceSystemEnforced
ExclusiveCriterion ForceUseForHdmiSystemAudio : ForceNone ForceHdmiSystemEnforced
-
-
diff --git a/services/audiopolicy/engineconfigurable/src/Engine.cpp b/services/audiopolicy/engineconfigurable/src/Engine.cpp
index c5cccfd..61fae71 100755
--- a/services/audiopolicy/engineconfigurable/src/Engine.cpp
+++ b/services/audiopolicy/engineconfigurable/src/Engine.cpp
@@ -146,7 +146,7 @@ status_t Engine::add(const std::string &name, const Key &key)
template <>
routing_strategy Engine::getPropertyForKey<routing_strategy, audio_usage_t>(audio_usage_t usage) const
{
- const AudioOutputCollection &outputs = mApmObserver->getOutputs();
+ const SwAudioOutputCollection &outputs = mApmObserver->getOutputs();
if (usage == AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY &&
(outputs.isStreamActive(AUDIO_STREAM_RING) ||
@@ -170,7 +170,7 @@ Property Engine::getPropertyForKey(Key key) const
template <>
audio_devices_t Engine::getPropertyForKey<audio_devices_t, routing_strategy>(routing_strategy strategy) const
{
- const AudioOutputCollection &outputs = mApmObserver->getOutputs();
+ const SwAudioOutputCollection &outputs = mApmObserver->getOutputs();
/** This is the only case handled programmatically because the PFW is unable to know the
* activity of streams.
@@ -213,7 +213,7 @@ bool Engine::setPropertyForKey(const Property &property, const Key &key)
return element->template set<Property>(property) == NO_ERROR;
}
-float Engine::volIndexToAmpl(Volume::device_category category,
+float Engine::volIndexToDb(Volume::device_category category,
audio_stream_type_t streamType,
int indexInUi)
{
@@ -222,7 +222,7 @@ float Engine::volIndexToAmpl(Volume::device_category category,
ALOGE("%s: Element indexed by key=%d not found", __FUNCTION__, streamType);
return 1.0f;
}
- return stream->volIndexToAmpl(category, indexInUi);
+ return stream->volIndexToDb(category, indexInUi);
}
status_t Engine::initStreamVolume(audio_stream_type_t streamType,
diff --git a/services/audiopolicy/engineconfigurable/src/Engine.h b/services/audiopolicy/engineconfigurable/src/Engine.h
index 23ca7d0..6fa7a13 100755
--- a/services/audiopolicy/engineconfigurable/src/Engine.h
+++ b/services/audiopolicy/engineconfigurable/src/Engine.h
@@ -97,11 +97,11 @@ private:
virtual void initializeVolumeCurves(bool /*isSpeakerDrcEnabled*/) {}
- virtual float volIndexToAmpl(Volume::device_category deviceCategory,
+ virtual float volIndexToDb(Volume::device_category deviceCategory,
audio_stream_type_t stream,
int indexInUi)
{
- return mPolicyEngine->volIndexToAmpl(deviceCategory, stream, indexInUi);
+ return mPolicyEngine->volIndexToDb(deviceCategory, stream, indexInUi);
}
private:
@@ -183,9 +183,9 @@ private:
status_t setDeviceConnectionState(audio_devices_t devices, audio_policy_dev_state_t state,
const char *deviceAddress);
- float volIndexToAmpl(Volume::device_category category,
- audio_stream_type_t stream,
- int indexInUi);
+ float volIndexToDb(Volume::device_category category,
+ audio_stream_type_t stream,
+ int indexInUi);
status_t initStreamVolume(audio_stream_type_t stream, int indexMin, int indexMax);
StrategyCollection mStrategyCollection; /**< Strategies indexed by their enum id. */
diff --git a/services/audiopolicy/engineconfigurable/src/Stream.cpp b/services/audiopolicy/engineconfigurable/src/Stream.cpp
index 7126c27..378d592 100755
--- a/services/audiopolicy/engineconfigurable/src/Stream.cpp
+++ b/services/audiopolicy/engineconfigurable/src/Stream.cpp
@@ -91,7 +91,7 @@ status_t Element<audio_stream_type_t>::initVolume(int indexMin, int indexMax)
return NO_ERROR;
}
-float Element<audio_stream_type_t>::volIndexToAmpl(Volume::device_category deviceCategory,
+float Element<audio_stream_type_t>::volIndexToDb(Volume::device_category deviceCategory,
int indexInUi)
{
VolumeProfileConstIterator it = mVolumeProfiles.find(deviceCategory);
@@ -140,17 +140,14 @@ float Element<audio_stream_type_t>::volIndexToAmpl(Volume::device_category devic
((float)(curve[segment+1].mIndex -
curve[segment].mIndex)) );
- float amplification = exp(decibels * 0.115129f); /** exp( dB * ln(10) / 20 ) */
-
ALOGV("VOLUME vol index=[%d %d %d], dB=[%.1f %.1f %.1f] ampl=%.5f",
curve[segment].mIndex, volIdx,
curve[segment+1].mIndex,
curve[segment].mDBAttenuation,
decibels,
- curve[segment+1].mDBAttenuation,
- amplification);
+ curve[segment+1].mDBAttenuation);
- return amplification;
+ return decibels;
}
} // namespace audio_policy
diff --git a/services/audiopolicy/engineconfigurable/src/Stream.h b/services/audiopolicy/engineconfigurable/src/Stream.h
index 03a9b3e9..8c39dc6 100755
--- a/services/audiopolicy/engineconfigurable/src/Stream.h
+++ b/services/audiopolicy/engineconfigurable/src/Stream.h
@@ -81,7 +81,7 @@ public:
status_t setVolumeProfile(Volume::device_category category, const VolumeCurvePoints &points);
- float volIndexToAmpl(Volume::device_category deviceCategory, int indexInUi);
+ float volIndexToDb(Volume::device_category deviceCategory, int indexInUi);
status_t initVolume(int indexMin, int indexMax);