From 01ce6a4f342b09da48414dbef49293e0107cc66e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Gaffie?= Date: Fri, 24 Apr 2015 12:57:02 +0200 Subject: Fix M Issue on configurable policy engine version. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ic60be5ff8c45c4f19a58c39edbe4366a4227ca59 Signed-off-by: François Gaffie --- services/audiopolicy/engineconfigurable/Android.mk | 3 +++ .../parameter-framework/example/Android.mk | 30 ++++++++++------------ .../example/policy_criteria.txt | 5 ---- .../audiopolicy/engineconfigurable/src/Engine.cpp | 8 +++--- .../audiopolicy/engineconfigurable/src/Engine.h | 10 ++++---- .../audiopolicy/engineconfigurable/src/Stream.cpp | 9 +++---- .../audiopolicy/engineconfigurable/src/Stream.h | 2 +- 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(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(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) == 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::initVolume(int indexMin, int indexMax) return NO_ERROR; } -float Element::volIndexToAmpl(Volume::device_category deviceCategory, +float Element::volIndexToDb(Volume::device_category deviceCategory, int indexInUi) { VolumeProfileConstIterator it = mVolumeProfiles.find(deviceCategory); @@ -140,17 +140,14 @@ float Element::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); -- cgit v1.1