Add MidiDeviceInfo.getPortList()
This replaces MidiDeviceInfo.getInputPortInfo() and getOutputPortInfo()
Change-Id: I0a9bc7c34a172a072e86718d465967c6c618fb3b
diff --git a/api/current.txt b/api/current.txt
index a13ff67..e255198 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -16762,9 +16762,8 @@
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 310de53..106f141 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -18038,9 +18038,8 @@
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/media/java/android/media/midi/MidiDeviceInfo.java b/media/java/android/media/midi/MidiDeviceInfo.java
index 7201e25..af108eb 100644
--- a/media/java/android/media/midi/MidiDeviceInfo.java
+++ b/media/java/android/media/midi/MidiDeviceInfo.java
@@ -237,29 +237,23 @@
}
/**
- * 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 8b1de3e..ce12a4f 100644
--- a/media/java/android/media/midi/MidiDeviceService.java
+++ b/media/java/android/media/midi/MidiDeviceService.java
@@ -91,7 +91,7 @@
/**
* 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
*/