From 4f76da147ffe0adcbd3833d1f49a22c3d14ad8a5 Mon Sep 17 00:00:00 2001 From: codeworkx Date: Fri, 8 Jun 2012 22:46:27 +0200 Subject: [PATCH] telephony: support for setting add. audioparams for incall audio Change-Id: Ic6f72fba542e1421631826d9bcd86340064c942b --- core/res/res/values/config.xml | 5 +++++ .../com/android/internal/telephony/CallManager.java | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index b09b4118a3027..6409cc5d8128a 100755 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -661,6 +661,11 @@ false + + + + + false diff --git a/telephony/java/com/android/internal/telephony/CallManager.java b/telephony/java/com/android/internal/telephony/CallManager.java index 3dd57ee742f24..52c04aa0773dc 100644 --- a/telephony/java/com/android/internal/telephony/CallManager.java +++ b/telephony/java/com/android/internal/telephony/CallManager.java @@ -395,6 +395,19 @@ public void setAudioMode() { } break; } + + // Set additional audio parameters needed for incall audio + String[] audioParams = context.getResources().getStringArray(com.android.internal.R.array.config_telephony_set_audioparameters); + for (String parameter : audioParams) { + if (mode == AudioManager.MODE_IN_CALL) { + Log.d(LOG_TAG, "setAudioMode(): " + parameter + "=on"); + audioManager.setParameters(parameter + "=on"); + } else if (mode == AudioManager.MODE_NORMAL) { + Log.d(LOG_TAG, "setAudioMode(): " + parameter + "=off"); + audioManager.setParameters(parameter + "=off"); + } + } + // calling audioManager.setMode() multiple times in a short period of // time seems to break the audio recorder in in-call mode if (audioManager.getMode() != mode) audioManager.setMode(mode);