diff options
-rwxr-xr-x | core/res/res/values/config.xml | 5 | ||||
-rw-r--r-- | telephony/java/com/android/internal/telephony/CallManager.java | 13 |
2 files changed, 18 insertions, 0 deletions
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index c5f453d..caa1be1 100755 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -658,6 +658,11 @@ <!-- The VoiceMail default value is displayed to my own number if it is true --> <bool name="config_telephony_use_own_number_for_voicemail">false</bool> + <!-- Set additional audio parameters for incall audio --> + <!-- Examples: <item>realcall</item> <item>dualmic_enabled</item> <item>mic_boost</item> --> + <string-array name="config_telephony_set_audioparameters" translatable="false"> + </string-array> + <!-- If this value is true, Sms encoded as octet is decoded by utf8 decoder. If false, decoded by Latin decoder. --> <bool name="config_sms_utf8_support">false</bool> diff --git a/telephony/java/com/android/internal/telephony/CallManager.java b/telephony/java/com/android/internal/telephony/CallManager.java index 3dd57ee..52c04aa 100644 --- a/telephony/java/com/android/internal/telephony/CallManager.java +++ b/telephony/java/com/android/internal/telephony/CallManager.java @@ -395,6 +395,19 @@ public final class CallManager { } 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); |