DeviceVector DeviceVector::getDevicesFromTypeAddr( audio_devices_t type, const String8& address) const { DeviceVector devices; for (size_t i = 0; i < size(); i++) { if (itemAt(i)->type() == type) { if (itemAt(i)->mAddress == address) { devices.add(itemAt(i)); } } } return devices; }
DeviceVector DeviceVector::getDevicesFromType(audio_devices_t type) const { DeviceVector devices; bool isOutput = audio_is_output_devices(type); type &= ~AUDIO_DEVICE_BIT_IN; for (size_t i = 0; (i < size()) && (type != AUDIO_DEVICE_NONE); i++) { bool curIsOutput = audio_is_output_devices(itemAt(i)->mDeviceType); audio_devices_t curType = itemAt(i)->mDeviceType & ~AUDIO_DEVICE_BIT_IN; if ((isOutput == curIsOutput) && ((type & curType) != 0)) { devices.add(itemAt(i)); type &= ~curType; ALOGV("DeviceVector::getDevicesFromType() for type %x found %p", itemAt(i)->type(), itemAt(i).get()); } } return devices; }