From f2cd8024028f602a5e4c27f3d9222e872e4e84f2 Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Wed, 11 Mar 2015 08:50:41 -0700 Subject: MidiDeviceInfo meta-data improvements: Add property for user visible device name Add names for input and output ports Rename "model" to "product" to match USB specification. Change-Id: I8dc50da935f26825ffc73de456d34e7933aa987c --- .../java/com/android/server/usb/UsbAlsaManager.java | 18 ++++++++++++++---- .../usb/java/com/android/server/usb/UsbMidiDevice.java | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) (limited to 'services/usb/java') diff --git a/services/usb/java/com/android/server/usb/UsbAlsaManager.java b/services/usb/java/com/android/server/usb/UsbAlsaManager.java index b0e30b5..c986c9d 100644 --- a/services/usb/java/com/android/server/usb/UsbAlsaManager.java +++ b/services/usb/java/com/android/server/usb/UsbAlsaManager.java @@ -394,9 +394,19 @@ public final class UsbAlsaManager { AlsaDevice alsaDevice = waitForAlsaDevice(addedCard, device, AlsaDevice.TYPE_MIDI); if (alsaDevice != null) { Bundle properties = new Bundle(); - properties.putString(MidiDeviceInfo.PROPERTY_MANUFACTURER, - usbDevice.getManufacturerName()); - properties.putString(MidiDeviceInfo.PROPERTY_MODEL, usbDevice.getProductName()); + String manufacturer = usbDevice.getManufacturerName(); + String product = usbDevice.getProductName(); + String name; + if (manufacturer == null || manufacturer.isEmpty()) { + name = product; + } else if (product == null || product.isEmpty()) { + name = manufacturer; + } else { + name = manufacturer + " " + product; + } + properties.putString(MidiDeviceInfo.PROPERTY_NAME, name); + properties.putString(MidiDeviceInfo.PROPERTY_MANUFACTURER, manufacturer); + properties.putString(MidiDeviceInfo.PROPERTY_PRODUCT, product); properties.putString(MidiDeviceInfo.PROPERTY_SERIAL_NUMBER, usbDevice.getSerialNumber()); properties.putInt(MidiDeviceInfo.PROPERTY_ALSA_CARD, alsaDevice.mCard); @@ -454,7 +464,7 @@ public final class UsbAlsaManager { Resources r = mContext.getResources(); properties.putString(MidiDeviceInfo.PROPERTY_MANUFACTURER, r.getString( com.android.internal.R.string.usb_midi_peripheral_manufacturer_name)); - properties.putString(MidiDeviceInfo.PROPERTY_MODEL, r.getString( + properties.putString(MidiDeviceInfo.PROPERTY_PRODUCT, r.getString( com.android.internal.R.string.usb_midi_peripheral_model_name)); properties.putInt(MidiDeviceInfo.PROPERTY_ALSA_CARD, card); properties.putInt(MidiDeviceInfo.PROPERTY_ALSA_DEVICE, device); diff --git a/services/usb/java/com/android/server/usb/UsbMidiDevice.java b/services/usb/java/com/android/server/usb/UsbMidiDevice.java index 725f393..df6cfbf 100644 --- a/services/usb/java/com/android/server/usb/UsbMidiDevice.java +++ b/services/usb/java/com/android/server/usb/UsbMidiDevice.java @@ -121,7 +121,7 @@ public final class UsbMidiDevice implements Closeable { int outputCount = mOutputStreams.length; mServer = midiManager.createDeviceServer(mInputPortReceivers, outputCount, - properties, MidiDeviceInfo.TYPE_USB, null); + null, null, properties, MidiDeviceInfo.TYPE_USB, null); if (mServer == null) { return false; } -- cgit v1.1