| diff --git a/frameworks/base/data/keyboards/Generic.kl b/frameworks/base/data/keyboards/Generic.kl |
| index f10ba96..ae84296 100644 |
| --- a/frameworks/base/data/keyboards/Generic.kl |
| +++ b/frameworks/base/data/keyboards/Generic.kl |
| @@ -247,6 +247,9 @@ key 224 BRIGHTNESS_DOWN |
| key 225 BRIGHTNESS_UP |
| key 226 HEADSETHOOK |
| |
| +# samsung |
| +key 254 APP_SWITCH |
| + |
| key 256 BUTTON_1 |
| key 257 BUTTON_2 |
| key 258 BUTTON_3 |
| diff -ur a/packages/services/Telecomm/src/com/android/server/telecom/CallAudioManager.java b/packages/services/Telecomm/src/com/android/server/telecom/CallAudioManager.java |
| --- a/packages/services/Telecomm/src/com/android/server/telecom/CallAudioManager.java Wed Apr 20 08:50:20 2016 |
| +++ b/packages/services/Telecomm/src/com/android/server/telecom/CallAudioManager.java Thu May 12 01:31:40 2016 |
| @@ -481,8 +481,18 @@ |
| |
| Call call = CallsManager.getInstance().getForegroundCall(); |
| boolean setMsimAudioParams = SystemProperties.getBoolean("ro.multisim.set_audio_params", false); |
| + boolean setSamsungRealcallParams = SystemProperties.getBoolean("ro.telephony.samsung.realcall", false); |
| |
| Log.v(this, "Request to change audio mode from %d to %d", oldMode, newMode); |
| + |
| + if(setSamsungRealcallParams) { |
| + if(newMode == 0) { |
| + mAudioManager.setParameters("realcall=off"); |
| + } else if(newMode == AudioManager.MODE_IN_COMMUNICATION || newMode == AudioManager.MODE_RINGTONE |
| + || newMode == AudioManager.MODE_IN_CALL) { |
| + mAudioManager.setParameters("realcall=on"); |
| + } |
| + } |
| |
| if (oldMode != newMode) { |
| if (oldMode == AudioManager.MODE_IN_CALL && newMode == AudioManager.MODE_RINGTONE) { |
| |
| diff -ur a/hardware/qcom/fm/fmapp2/src/com/caf/fmradio/FMRadioService.java b/hardware/qcom/fm/fmapp2/src/com/caf/fmradio/FMRadioService.java |
| --- a/hardware/qcom/fm/fmapp2/src/com/caf/fmradio/FMRadioService.java Mon Jun 20 17:28:46 2016 |
| +++ b/hardware/qcom/fm/fmapp2/src/com/caf/fmradio/FMRadioService.java Mon Jun 27 10:45:01 2016 |
| @@ -926,9 +926,19 @@ |
| mSpeakerPhoneOn = true; |
| Log.d(LOGTAG, "Audio source set it as speaker"); |
| AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_SPEAKER); |
| + mAudioManager.setParameters("fm_mode=on"); |
| + mAudioManager.setParameters("fm_radio_volume=on"); |
| + mAudioManager.setParameters("FMRadioVol=0.1496235728"); |
| + mAudioManager.setMode(AudioManager.MODE_IN_CALL); |
| + mAudioManager.setSpeakerphoneOn(true); |
| } else { |
| Log.d(LOGTAG, "Audio source set it as headset"); |
| AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_NONE); |
| + mAudioManager.setParameters("fm_mode=on"); |
| + mAudioManager.setParameters("fm_radio_volume=on"); |
| + mAudioManager.setParameters("FMRadioVol=0.1496235728"); |
| + mAudioManager.setMode(AudioManager.MODE_IN_CALL); |
| + mAudioManager.setSpeakerphoneOn(false); |
| } |
| AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_FM, |
| AudioSystem.DEVICE_STATE_AVAILABLE, ""); |
| @@ -947,6 +957,8 @@ |
| stopA2dpPlayback(); |
| }else{ |
| Log.d(LOGTAG, "FMRadio: Requesting to stop FM"); |
| + mAudioManager.setParameters("fm_mode=off"); |
| + mAudioManager.setParameters("fm_radio_mute=1"); |
| AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_FM, |
| AudioSystem.DEVICE_STATE_UNAVAILABLE, ""); |
| } |
| @@ -960,6 +972,8 @@ |
| resetA2dpPlayback(); |
| }else{ |
| Log.d(LOGTAG, "FMRadio: Requesting to stop FM"); |
| + mAudioManager.setParameters("fm_mode=off"); |
| + mAudioManager.setParameters("fm_radio_mute=1"); |
| AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_FM, |
| AudioSystem.DEVICE_STATE_UNAVAILABLE, ""); |
| sendRecordServiceIntent(RECORD_STOP); |
| @@ -1168,6 +1182,7 @@ |
| if (audioManager != null) { |
| Log.d(LOGTAG, "Mute"); |
| mMuted = true; |
| + audioManager.setParameters("fm_radio_mute=1"); |
| audioManager.setStreamMute(AudioManager.STREAM_MUSIC,true); |
| } |
| } |
| @@ -2095,6 +2110,7 @@ |
| stopRecording(); |
| stopFM(); |
| AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_NONE); |
| + mAudioManager.setSpeakerphoneOn(false); |
| if (mMuted) { |
| setAudioPath(true); |
| } else { |
| @@ -2104,6 +2120,7 @@ |
| } |
| } else { |
| AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_NONE); |
| + mAudioManager.setSpeakerphoneOn(false); |
| } |
| if (analogmode) |
| startFM(); |
| @@ -2131,6 +2148,7 @@ |
| } |
| } |
| AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_SPEAKER); |
| + mAudioManager.setSpeakerphoneOn(true); |
| if (analogmode) |
| startFM(); |
| } |
| @@ -2231,6 +2249,7 @@ |
| if (audioManager != null) |
| { |
| mMuted = true; |
| + audioManager.setParameters("fm_radio_mute=1"); |
| audioManager.setStreamMute(AudioManager.STREAM_MUSIC,true); |
| } |
| return bCommandSent; |
| @@ -2251,6 +2270,7 @@ |
| if (audioManager != null) |
| { |
| mMuted = false; |
| + audioManager.setParameters("fm_radio_mute=0"); |
| audioManager.setStreamMute(AudioManager.STREAM_MUSIC,false); |
| if (mResumeAfterCall) |
| { |
| |