audio policy: added configuration file

Added audio policy manager configuration file.
removed obsolete hasBackMicrophone() method from AudioPolicyManagerBase class.

Change-Id: I78b0cfa58a8517097cf0e0cff48dcd2b8baa4598
diff --git a/device_base.mk b/device_base.mk
index 55297ec..bff29d7 100644
--- a/device_base.mk
+++ b/device_base.mk
@@ -69,6 +69,9 @@
         device/moto/wingray/stingray-keypad.kl:system/usr/keylayout/stingray-keypad.kl \
         device/moto/wingray/stingray-keypad.kcm:system/usr/keychars/stingray-keypad.kcm
 
+PRODUCT_COPY_FILES += \
+        device/moto/wingray/libaudio/audio_policy.conf:system/etc/audio_policy.conf
+
 PRODUCT_PACKAGES := \
     camera.stingray \
     sensors.stingray \
diff --git a/libaudio/AudioPolicyManager.h b/libaudio/AudioPolicyManager.h
index e4417c0..5062ff0 100644
--- a/libaudio/AudioPolicyManager.h
+++ b/libaudio/AudioPolicyManager.h
@@ -34,9 +34,5 @@
 
         virtual ~AudioPolicyManager() {}
 
-protected:
-        // true is current platform implements a back microphone
-        virtual bool hasBackMicrophone() const { return false; }
-
 };
 };
diff --git a/libaudio/audio_policy.conf b/libaudio/audio_policy.conf
new file mode 100644
index 0000000..81870ff
--- /dev/null
+++ b/libaudio/audio_policy.conf
@@ -0,0 +1,52 @@
+# Global configuration section: lists input and output devices always present on the device
+# as well as the output device selected by default.
+# Devices are designated by a string that corresponds to the enum in audio.h
+
+global_configuration {
+  attached_output_devices AUDIO_DEVICE_OUT_SPEAKER
+  default_output_device AUDIO_DEVICE_OUT_SPEAKER
+  attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC
+}
+
+# audio hardware module section: contains descriptors for all audio hw modules present on the
+# device. Each hw module node is named after the corresponding hw module library base name.
+# For instance, "primary" corresponds to audio.primary.<device>.so.
+# The "primary" module is mandatory and must include at least one output with
+# AUDIO_POLICY_OUTPUT_FLAG_PRIMARY flag.
+# Each module descriptor contains one or more output profile descriptors and zero or more
+# input profile descriptors. Each profile lists all the parameters supported by a given output
+# or input stream category.
+# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding
+# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n".
+
+audio_hw_modules {
+  primary {
+    outputs {
+      primary {
+        sampling_rates 44100
+        channel_masks AUDIO_CHANNEL_OUT_STEREO
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET|DEVICE_OUT_ANLG_DOCK_HEADSET
+        flags AUDIO_POLICY_OUTPUT_FLAG_PRIMARY
+      }
+    }
+    inputs {
+      primary {
+        sampling_rates 8000|11025|16000|22050|32000|44100|48000
+        channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_WIRED_HEADSET
+      }
+    }
+  }
+  a2dp {
+    outputs {
+      a2dp {
+        sampling_rates 44100
+        channel_masks AUDIO_CHANNEL_OUT_STEREO
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_OUT_ALL_A2DP
+      }
+    }
+  }
+}