From 70ca6d4fa0d55ffae8ecef7ed8fc1dcb6220d6f5 Mon Sep 17 00:00:00 2001
From: Rupesh Tatiya <rtatiya@codeaurora.org>
Date: Wed, 27 Jan 2016 18:59:15 +0530
Subject: [PATCH] Check for audio focus before enabling audio path

In scenarios where FM has lost audio focus and FM service is running, we
end up enabling FM audio path when A2DP is disconnected. This results in
more than one audio source being played simultaneously. Enable FM audio
path only when FM has audio focus.

CRs-Fixed: 967753
Change-Id: I8d5f28cb9ce3545908362e83e787fcc43394a0ac
---
 fmapp2/src/com/caf/fmradio/FMRadioService.java | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/fmapp2/src/com/caf/fmradio/FMRadioService.java b/fmapp2/src/com/caf/fmradio/FMRadioService.java
index a774f31..6f6f257 100644
--- a/fmapp2/src/com/caf/fmradio/FMRadioService.java
+++ b/fmapp2/src/com/caf/fmradio/FMRadioService.java
@@ -506,7 +506,13 @@ public class FMRadioService extends Service
                       " mA2dpConnected:" + mA2dpConnected +
                       " isRecordSinking" + isRecordSinking() +
                       " mIsFMDeviceLoopbackActive:" + mIsFMDeviceLoopbackActive);
+
         if (enable) {
+            if (mStoppedOnFocusLoss == true) {
+                Log.d(LOGTAG, "FM does not have audio focus, not enabling " +
+                      "audio path");
+                return;
+            }
             // stop existing playback path before starting new one
             if (mA2dpConnected && mIsFMDeviceLoopbackActive) {
                 // on BT but earlier device loopback is active
-- 
GitLab