summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorPaul McLean <pmclean@google.com>2015-08-07 12:50:48 -0600
committerPaul McLean <pmclean@google.com>2015-08-07 14:45:24 -0600
commit1135457a3d656057fc65effd706ae238a5f99a50 (patch)
tree7b02938888a0bf677d8f56a735e7a14acfcaf0d2 /media
parent5fa8939d6f05b964897bd3703d8b56056c0d59ca (diff)
downloadframeworks_base-1135457a3d656057fc65effd706ae238a5f99a50.zip
frameworks_base-1135457a3d656057fc65effd706ae238a5f99a50.tar.gz
frameworks_base-1135457a3d656057fc65effd706ae238a5f99a50.tar.bz2
Filtering Remote-Submix and Back-mic devices from AudioDeviceInfo API.
Bug: 22729461 Change-Id: Ie581c385af2be16e61fcab5993391ef42f82a7d8
Diffstat (limited to 'media')
-rw-r--r--media/java/android/media/AudioManager.java10
1 files changed, 8 insertions, 2 deletions
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 @@ public class AudioManager {
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 @@ public class AudioManager {
// 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 @@ public class AudioManager {
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);
}
}