Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 43aff3e0 authored by codeworkx's avatar codeworkx
Browse files

telephony: allow to specify on and off values for setting additional audioparams

Change-Id: I574c0315f0cadc65b064aa621e0f35160a369b2d
parent 2062458e
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -658,8 +658,9 @@
    <!-- 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> -->
    <!-- Set additional audio parameters for incall audio
         Usage: parameter=onstring=offstring
         Examples: <item>realcall=on=off</item> <item>dualmic_enabled=true=false</item> <item>mic_boost=yes=no</item> -->
    <string-array name="config_telephony_set_audioparameters" translatable="false">
    </string-array>

+16 −4
Original line number Diff line number Diff line
@@ -398,13 +398,25 @@ public final class CallManager {

        // Set additional audio parameters needed for incall audio
        String[] audioParams = context.getResources().getStringArray(com.android.internal.R.array.config_telephony_set_audioparameters);
        String[] aPValues;

        for (String parameter : audioParams) {
            aPValues = parameter.split("=");

            if(aPValues[1] == null || aPValues[1].length() == 0) {
                aPValues[1] = "on";
            }

            if(aPValues[2] == null || aPValues[2].length() == 0) {
                aPValues[2] = "off";
            }

            if (mode == AudioManager.MODE_IN_CALL) {
                Log.d(LOG_TAG, "setAudioMode(): " + parameter + "=on");
                audioManager.setParameters(parameter + "=on");
                Log.d(LOG_TAG, "setAudioMode(): " + aPValues[0] + "=" + aPValues[1]);
                audioManager.setParameters(aPValues[0] + "=" + aPValues[1]);
            } else if (mode == AudioManager.MODE_NORMAL) {
                Log.d(LOG_TAG, "setAudioMode(): " + parameter + "=off");
                audioManager.setParameters(parameter + "=off");
                Log.d(LOG_TAG, "setAudioMode(): " + aPValues[0] + "=" + aPValues[2]);
                audioManager.setParameters(aPValues[0] + "=" + aPValues[2]);
            }
        }