audio policy: added configuration file

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

Change-Id: Ib5e5f8b5af9bb0b53a6c0c4f45be374bb8863c92
diff --git a/device_base.mk b/device_base.mk
index 1bf2a53..5d9c94d 100644
--- a/device_base.mk
+++ b/device_base.mk
@@ -150,6 +150,9 @@
 	audio.primary.herring \
 	audio.a2dp.default
 
+PRODUCT_COPY_FILES += \
+	device/samsung/crespo/libaudio/audio_policy.conf:system/etc/audio_policy.conf
+
 # NFC
 PRODUCT_PACKAGES += \
 	nfc.herring
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..5e91d68
--- /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_EARPIECE|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_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO
+        flags AUDIO_POLICY_OUTPUT_FLAG_PRIMARY
+      }
+    }
+    inputs {
+      primary {
+        sampling_rates 8000|11025|16000|22050|44100
+        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
+      }
+    }
+  }
+}