Implement HasInputDevices in CrasAudioManager
commit3c3d910e31448a88e014b31334a57242ba5e8960
authorcychiang <cychiang@chromium.org>
Wed, 8 Jul 2015 09:59:00 +0000 (8 02:59 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 8 Jul 2015 09:59:39 +0000 (8 09:59 +0000)
tree76631613eb6d3f78168026b204d1dc86c266ffe7
parenta152535799a629264d64d740bafadccaff740805
Implement HasInputDevices in CrasAudioManager

Currently in CrasAudioManager, HasInputDevices always returns True.
We need to let HasInputDevices reflect the truth for device without
internal microphone like ChromeBox.
Let CrasAudioHandler updates the flag in CrasAudioManager whenever
CrasAudioHandler gets the audio node info from Cras.

Add a property is_for_simple_usage to AudioDeviceType to indicate
that a device is for simple usage, not for special usage like
loopback, always on keyword mic, or keyboard mic.

This property can also replace the logic in audio_detailed_view.cc
to filter out the devices that we do not want to display in UI.

BUG=490851
TEST=Check audio devices in UI does not contain loopback devices.
TEST=Check virtual keyboard does not show microphone for chromebox
     (Not tested yet).

R=dalecurtis@chromium.org, derat@chromium.org, dgreid@chromium.org, jennyz@chromium.org

Review URL: https://codereview.chromium.org/1186293003

Cr-Commit-Position: refs/heads/master@{#337791}
ash/system/chromeos/audio/audio_detailed_view.cc
chromeos/audio/audio_device.h
chromeos/audio/cras_audio_handler.h
media/DEPS
media/audio/audio_manager_base.h
media/audio/cras/audio_manager_cras.cc