am ba6fad74: am ac112990: am e6639066: am a2e39c6a: Merge "Filtering Remote-Submix and Back-mic devices from AudioDeviceInfo API." into mnc-dev
* commit 'ba6fad7406fabef6d3fa94043d7f64732fd98726':
Filtering Remote-Submix and Back-mic devices from AudioDeviceInfo API.
diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java
index 5290cac..875e716 100644
--- a/media/java/android/media/AudioManager.java
+++ b/media/java/android/media/AudioManager.java
@@ -3757,6 +3757,12 @@
port.role() == AudioPort.ROLE_SOURCE && (flags & GET_DEVICES_INPUTS) != 0;
}
+ private static boolean checkTypes(AudioDevicePort port) {
+ return AudioDeviceInfo.convertInternalDeviceToDeviceType(port.type()) !=
+ AudioDeviceInfo.TYPE_UNKNOWN &&
+ port.type() != AudioSystem.DEVICE_IN_BACK_MIC;
+ }
+
/**
* Returns an array of {@link AudioDeviceInfo} objects corresponding to the audio devices
* currently connected to the system and meeting the criteria specified in the
@@ -3779,7 +3785,7 @@
// figure out how many AudioDeviceInfo we need space for...
int numRecs = 0;
for (AudioDevicePort port : ports) {
- if (checkFlags(port, flags)) {
+ if (checkTypes(port) && checkFlags(port, flags)) {
numRecs++;
}
}
@@ -3788,7 +3794,7 @@
AudioDeviceInfo[] deviceList = new AudioDeviceInfo[numRecs];
int slot = 0;
for (AudioDevicePort port : ports) {
- if (checkFlags(port, flags)) {
+ if (checkTypes(port) && checkFlags(port, flags)) {
deviceList[slot++] = new AudioDeviceInfo(port);
}
}