diff --git a/api/current.txt b/api/current.txt
index 26ac1a73b35c6..9713b3cee5f61 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -16790,9 +16790,8 @@ package android.media.midi {
method public int describeContents();
method public int getId();
method public int getInputPortCount();
- method public android.media.midi.MidiDeviceInfo.PortInfo getInputPortInfo(int);
method public int getOutputPortCount();
- method public android.media.midi.MidiDeviceInfo.PortInfo getOutputPortInfo(int);
+ method public android.media.midi.MidiDeviceInfo.PortInfo[] getPortList();
method public android.os.Bundle getProperties();
method public int getType();
method public boolean isPrivate();
diff --git a/api/system-current.txt b/api/system-current.txt
index 37e6db50d16ed..18b70918bd9b4 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -18066,9 +18066,8 @@ package android.media.midi {
method public int describeContents();
method public int getId();
method public int getInputPortCount();
- method public android.media.midi.MidiDeviceInfo.PortInfo getInputPortInfo(int);
method public int getOutputPortCount();
- method public android.media.midi.MidiDeviceInfo.PortInfo getOutputPortInfo(int);
+ method public android.media.midi.MidiDeviceInfo.PortInfo[] getPortList();
method public android.os.Bundle getProperties();
method public int getType();
method public boolean isPrivate();
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 4285ea1a17111..578aa45bc3350 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -5235,10 +5235,12 @@
SS request is modified to USSD request.
SS request is modified to new SS request.
+
+ Android USB Peripheral Port
Android
-
- USB Peripheral Port
+
+ USB Peripheral Port
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 54eb8f94d03fd..42d187d84f1b4 100755
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -2181,8 +2181,9 @@
+
-
+
diff --git a/media/java/android/media/midi/MidiDeviceInfo.java b/media/java/android/media/midi/MidiDeviceInfo.java
index 7201e25dac23c..af108eb308e66 100644
--- a/media/java/android/media/midi/MidiDeviceInfo.java
+++ b/media/java/android/media/midi/MidiDeviceInfo.java
@@ -237,29 +237,23 @@ public final class MidiDeviceInfo implements Parcelable {
}
/**
- * Returns information about an input port.
+ * Returns information about the device's ports.
+ * The ports are in unspecified order.
*
- * @param portNumber the number of the input port
- * @return the input port's information object
+ * @return array of {@link PortInfo}
*/
- public PortInfo getInputPortInfo(int portNumber) {
- if (portNumber < 0 || portNumber >= mInputPortCount) {
- throw new IllegalArgumentException("portNumber out of range");
- }
- return new PortInfo(PortInfo.TYPE_INPUT, portNumber, mInputPortNames[portNumber]);
- }
+ public PortInfo[] getPortList() {
+ PortInfo[] portInfoList = new PortInfo[mInputPortCount + mOutputPortCount];
- /**
- * Returns information about an output port.
- *
- * @param portNumber the number of the output port
- * @return the output port's information object
- */
- public PortInfo getOutputPortInfo(int portNumber) {
- if (portNumber < 0 || portNumber >= mOutputPortCount) {
- throw new IllegalArgumentException("portNumber out of range");
+ int index = 0;
+ for (int i = 0; i < mInputPortCount; i++) {
+ portInfoList[index++] = new PortInfo(PortInfo.TYPE_INPUT, i, mInputPortNames[i]);
}
- return new PortInfo(PortInfo.TYPE_OUTPUT, portNumber, mOutputPortNames[portNumber]);
+ for (int i = 0; i < mOutputPortCount; i++) {
+ portInfoList[index++] = new PortInfo(PortInfo.TYPE_OUTPUT, i, mOutputPortNames[i]);
+ }
+
+ return portInfoList;
}
/**
diff --git a/media/java/android/media/midi/MidiDeviceService.java b/media/java/android/media/midi/MidiDeviceService.java
index 8b1de3e7dbffd..ce12a4f53339e 100644
--- a/media/java/android/media/midi/MidiDeviceService.java
+++ b/media/java/android/media/midi/MidiDeviceService.java
@@ -91,7 +91,7 @@ abstract public class MidiDeviceService extends Service {
/**
* Returns an array of {@link MidiReceiver} for the device's input ports.
* Subclasses must override this to provide the receivers which will receive
- * data sent to the device's input ports. An empty array or null should be returned if
+ * data sent to the device's input ports. An empty array should be returned if
* the device has no input ports.
* @return array of MidiReceivers
*/
diff --git a/services/usb/java/com/android/server/usb/UsbAlsaManager.java b/services/usb/java/com/android/server/usb/UsbAlsaManager.java
index 2728af118767a..8f0c6c8f27c5b 100644
--- a/services/usb/java/com/android/server/usb/UsbAlsaManager.java
+++ b/services/usb/java/com/android/server/usb/UsbAlsaManager.java
@@ -469,10 +469,12 @@ public final class UsbAlsaManager {
if (enabled && mPeripheralMidiDevice == null) {
Bundle properties = new Bundle();
Resources r = mContext.getResources();
+ properties.putString(MidiDeviceInfo.PROPERTY_NAME, r.getString(
+ com.android.internal.R.string.usb_midi_peripheral_name));
properties.putString(MidiDeviceInfo.PROPERTY_MANUFACTURER, r.getString(
com.android.internal.R.string.usb_midi_peripheral_manufacturer_name));
properties.putString(MidiDeviceInfo.PROPERTY_PRODUCT, r.getString(
- com.android.internal.R.string.usb_midi_peripheral_model_name));
+ com.android.internal.R.string.usb_midi_peripheral_product_name));
properties.putInt(MidiDeviceInfo.PROPERTY_ALSA_CARD, card);
properties.putInt(MidiDeviceInfo.PROPERTY_ALSA_DEVICE, device);
mPeripheralMidiDevice = UsbMidiDevice.create(mContext, properties, card, device);