merge in jb-mr2-release history after reset to jb-mr2-dev
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index b0afb0c..1c1adb2 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -530,10 +530,10 @@
} else if (out_device & AUDIO_DEVICE_OUT_ALL_SCO) {
snd_device = SND_DEVICE_IN_BT_SCO_MIC ;
} else if (out_device & AUDIO_DEVICE_OUT_SPEAKER) {
- if (adev->fluence_in_voice_call &&
+ if (adev->fluence_in_voice_call && adev->fluence_in_spkr_mode &&
adev->dualmic_config == DUALMIC_CONFIG_ENDFIRE) {
snd_device = SND_DEVICE_IN_VOICE_SPEAKER_DMIC_EF;
- } else if (adev->fluence_in_voice_call &&
+ } else if (adev->fluence_in_voice_call && adev->fluence_in_spkr_mode &&
adev->dualmic_config == DUALMIC_CONFIG_BROADSIDE) {
snd_device = SND_DEVICE_IN_VOICE_SPEAKER_DMIC_BS;
} else {
@@ -1959,6 +1959,7 @@
char value[PROPERTY_VALUE_MAX];
adev->dualmic_config = DUALMIC_CONFIG_NONE;
+ adev->fluence_in_spkr_mode = false;
adev->fluence_in_voice_call = false;
adev->fluence_in_voice_rec = false;
adev->mic_type_analog = false;
@@ -1986,6 +1987,11 @@
if (!strncmp("true", value, 4)) {
adev->fluence_in_voice_rec = true;
}
+
+ property_get("persist.audio.fluence.speaker",value,"");
+ if (!strncmp("true", value, 4)) {
+ adev->fluence_in_spkr_mode = true;
+ }
}
adev->acdb_handle = dlopen(LIB_ACDB_LOADER, RTLD_NOW);
diff --git a/hal/audio_hw.h b/hal/audio_hw.h
index 0c4f526..9a47389 100644
--- a/hal/audio_hw.h
+++ b/hal/audio_hw.h
@@ -226,6 +226,7 @@
int acdb_settings;
bool mic_type_analog;
+ bool fluence_in_spkr_mode;
bool fluence_in_voice_call;
bool fluence_in_voice_rec;
int dualmic_config;