bullhead: Add speaker + bt-sco combo device

* Add path entry for speaker + bt-sco combo device in mixer_path.xml
* Add backend support for such path in audio_platform_info.xml
* Removed composite paths starting with bt-sco- as they are never
  selected by the platform code in the HAL
* Enable in-band ringing in config.xml overlay

Bug: 19171297
Test: Code compilation, testplans/79248
Change-Id: Ib507da5eb0e349821799630ac6e38f5908ff0530
diff --git a/audio_platform_info.xml b/audio_platform_info.xml
index d858ff5..0f76077 100644
--- a/audio_platform_info.xml
+++ b/audio_platform_info.xml
@@ -52,6 +52,8 @@
         <device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_HEADPHONES" backend="speaker-and-headphones" interface="SLIMBUS_0_RX-and-SLIMBUS_5_RX"/>
         <device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" interface="SLIMBUS_0_RX-and-SLIMBUS_5_RX"/>
         <device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_LINE" backend="speaker-and-headphones" interface="SLIMBUS_0_RX-and-SLIMBUS_5_RX"/>
+        <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO" backend="speaker-and-bt-sco" interface="SLIMBUS_0_RX-and-SEC_AUX_PCM_RX"/>
+        <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="SLIMBUS_0_RX-and-SEC_AUX_PCM_RX"/>
         <device name="SND_DEVICE_OUT_VOICE_HEADPHONES" backend="headphones" interface="SLIMBUS_5_RX"/>
         <device name="SND_DEVICE_OUT_VOICE_LINE" backend="headphones" interface="SLIMBUS_5_RX"/>
         <device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADPHONES" backend="headphones" interface="SLIMBUS_5_RX"/>
diff --git a/mixer_paths.xml b/mixer_paths.xml
index f6c991d..ad34996 100644
--- a/mixer_paths.xml
+++ b/mixer_paths.xml
@@ -412,6 +412,7 @@
         <path name="deep-buffer-playback" />
         <path name="deep-buffer-playback headphones" />
     </path>
+
     <path name="echo-reference">
         <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
     </path>
@@ -467,6 +468,16 @@
         <path name="deep-buffer-playback" />
     </path>
 
+    <path name="deep-buffer-playback speaker-and-bt-sco">
+      <path name="deep-buffer-playback" />
+      <path name="deep-buffer-playback bt-sco" />
+    </path>
+
+    <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+      <path name="deep-buffer-playback" />
+      <path name="deep-buffer-playback bt-sco-wb" />
+    </path>
+
     <path name="low-latency-playback">
         <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia5" value="1" />
     </path>
@@ -515,6 +526,16 @@
         <path name="low-latency-playback" />
     </path>
 
+    <path name="low-latency-playback speaker-and-bt-sco">
+      <path name="low-latency-playback" />
+      <path name="low-latency-playback bt-sco"  />
+    </path>
+
+    <path name="low-latency-playback speaker-and-bt-sco-wb">
+      <path name="low-latency-playback" />
+      <path name="low-latency-playback bt-sco-wb"  />
+    </path>
+
     <path name="audio-ull-playback">
         <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia3" value="1" />
     </path>
@@ -554,6 +575,16 @@
         <ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
     </path>
 
+    <path name="audio-ull-playback speaker-and-bt-sco">
+      <path name="audio-ull-playback" />
+      <path name="audio-ull-playback bt-sco"  />
+    </path>
+
+    <path name="audio-ull-playback speaker-and-bt-sco-wb">
+      <path name="audio-ull-playback" />
+      <path name="audio-ull-playback bt-sco-wb"  />
+    </path>
+
     <path name="multi-channel-playback hdmi">
         <ctl name="HDMI Mixer MultiMedia2" value="1" />
     </path>
@@ -605,6 +636,16 @@
         <path name="compress-offload-playback afe-proxy" />
     </path>
 
+    <path name="compress-offload-playback speaker-and-bt-sco">
+      <path name="compress-offload-playback" />
+      <path name="compress-offload-playback bt-sco"  />
+    </path>
+
+    <path name="compress-offload-playback speaker-and-bt-sco-wb">
+      <path name="compress-offload-playback" />
+      <path name="compress-offload-playback bt-sco-wb"  />
+    </path>
+
     <path name="compress-offload-playback speaker-and-usb-headphones">
         <path name="compress-offload-playback usb-headphones" />
         <path name="compress-offload-playback" />
@@ -2272,75 +2313,6 @@
     <path name="voice-tx">
     </path>
 
-
-    <path name="deep-buffer-playback bt-sco-and-speaker">
-        <path name="deep-buffer-playback bt-sco" />
-        <path name="deep-buffer-playback" />
-    </path>
-
-    <path name="low-latency-playback bt-sco-and-speaker">
-        <path name="low-latency-playback bt-sco" />
-        <path name="low-latency-playback" />
-    </path>
-
-    <path name="deep-buffer-playback bt-sco-and-headphones">
-        <path name="deep-buffer-playback bt-sco" />
-        <path name="deep-buffer-playback" />
-    </path>
-
-    <path name="low-latency-playback bt-sco-and-headphones">
-        <path name="low-latency-playback bt-sco" />
-        <path name="low-latency-playback" />
-    </path>
-
-    <path name="deep-buffer-playback bt-sco-and-headphones-and-speaker">
-        <path name="deep-buffer-playback bt-sco" />
-        <path name="deep-buffer-playback" />
-    </path>
-
-    <path name="low-latency-playback bt-sco-and-headphones-and-speaker">
-        <path name="low-latency-playback bt-sco" />
-        <path name="low-latency-playback" />
-    </path>
-
-    <path name="voice-call bt-sco-and-speaker">
-        <path name="voice-call bt-sco" />
-    </path>
-
-    <path name="deep-buffer-playback bt-sco-wb-and-speaker">
-        <path name="deep-buffer-playback bt-sco-wb" />
-        <path name="deep-buffer-playback" />
-    </path>
-
-    <path name="low-latency-playback bt-sco-wb-and-speaker">
-        <path name="low-latency-playback bt-sco-wb" />
-        <path name="low-latency-playback" />
-    </path>
-
-    <path name="deep-buffer-playback bt-sco-wb-and-headphones">
-        <path name="deep-buffer-playback bt-sco-wb" />
-        <path name="deep-buffer-playback" />
-    </path>
-
-    <path name="low-latency-playback bt-sco-wb-and-headphones">
-        <path name="low-latency-playback bt-sco-wb" />
-        <path name="low-latency-playback" />
-    </path>
-
-    <path name="deep-buffer-playback bt-sco-wb-and-headphones-and-speaker">
-        <path name="deep-buffer-playback bt-sco-wb" />
-        <path name="deep-buffer-playback" />
-    </path>
-
-    <path name="low-latency-playback bt-sco-wb-and-headphones-and-speaker">
-        <path name="low-latency-playback bt-sco-wb" />
-        <path name="low-latency-playback" />
-    </path>
-
-    <path name="voice-call bt-sco-wb-and-speaker">
-        <path name="voice-call bt-sco-wb" />
-    </path>
-
     <!-- voip loopback -->
     <path name="voip-loopback">
         <ctl name="SLIM_0_RX_Voice Mixer Voip" value="1" />
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index c85cf83..8ebb2a3 100644
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -52,6 +52,9 @@
     <!-- Operating volatage for bluetooth controller. 0 by default-->
     <integer translatable="false" name="config_bluetooth_operating_voltage_mv">3300</integer>
 
+    <!-- Boolean indicating if current platform supports HFP inband ringing -->
+    <bool name="config_bluetooth_hfp_inband_ringing_support">true</bool>
+
     <!-- Setting this true forces the headset jack switches to use the/dev/input/event subsystem
          rather than the uevent framework. -->
     <bool name="config_useDevInputEventForAudioJack">true</bool>