FM: make correct sequence of slimbus and audio port
-in case of fm on sequence
1. enable slimbus.
2. open port at audio side.
3. enable fm receiver.
-in case of other than fm on scenarios where fm
receiver is already enabled and audio
path needs to start.
1. open port at audio side.
2. enable slimbus.
-in case of other than fm on scenarios where fm
receiver is already enabled and audio
path needs to stop.
1. disable slimbus
2. close port at audio side.
CRs-Fixed: 2372708
Change-Id: I8e242b7f86248ce1ffa864d1e800e75426dbf153
diff --git a/fmapp2/src/com/caf/fmradio/FMRadioService.java b/fmapp2/src/com/caf/fmradio/FMRadioService.java
index 5f591fe..6172710 100644
--- a/fmapp2/src/com/caf/fmradio/FMRadioService.java
+++ b/fmapp2/src/com/caf/fmradio/FMRadioService.java
@@ -399,9 +399,6 @@
"or Already devcie loop back is acive, not enabling audio");
return false;
}
- if (mReceiver.isCherokeeChip() && (mPref.getBoolean("SLIMBUS_SEQ", true))) {
- enableSlimbus(ENABLE_SLIMBUS_DATA_PORT);
- }
String status = audioManager.getParameters("fm_status");
Log.d(LOGTAG," FM hardwareLoopback Status = " + status);
if (status.contains("1")) {
@@ -839,6 +836,9 @@
if (isFmOn()) {
setLowPowerMode(false);
startFM();
+ if (mReceiver.isCherokeeChip() && (mPref.getBoolean("SLIMBUS_SEQ", true))) {
+ enableSlimbus(ENABLE_SLIMBUS_DATA_PORT);
+ }
}
}
@@ -1606,8 +1606,13 @@
break;
}
- if(false == mPlaybackInProgress)
+ if(false == mPlaybackInProgress) {
startFM();
+ if (mReceiver.isCherokeeChip() &&
+ (mPref.getBoolean("SLIMBUS_SEQ", true))) {
+ enableSlimbus(ENABLE_SLIMBUS_DATA_PORT);
+ }
+ }
mSession.setActive(true);
break;
default:
@@ -2377,6 +2382,9 @@
else
{
if (mReceiver.isCherokeeChip()) {
+ if (mPref.getBoolean("SLIMBUS_SEQ", true)) {
+ enableSlimbus(ENABLE_SLIMBUS_DATA_PORT);
+ }
bStatus = fmTurnOnSequenceCherokee();
} else {
bStatus = fmTurnOnSequence();
@@ -2397,10 +2405,6 @@
if(audioManager != null)
{
Log.d(LOGTAG, "audioManager.setFmRadioOn = false \n" );
- if ((mReceiver != null) && mReceiver.isCherokeeChip() &&
- (mPref.getBoolean("SLIMBUS_SEQ", true))) {
- enableSlimbus(DISABLE_SLIMBUS_DATA_PORT);
- }
stopFM();
unMute();
// If call is active, we will use audio focus to resume fm after call ends.
@@ -3996,6 +4000,9 @@
audioManager.requestAudioFocus(mAudioFocusListener, AudioManager.STREAM_MUSIC,
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
startFM();
+ if (mReceiver.isCherokeeChip() && (mPref.getBoolean("SLIMBUS_SEQ", true))) {
+ enableSlimbus(ENABLE_SLIMBUS_DATA_PORT);
+ }
mStoppedOnFocusLoss = false;
}
}