Merge changes I075a54dc,I0a9bc7c3
* changes:
Add user visible name for USB peripheral MIDI device
Add MidiDeviceInfo.getPortList()
diff --git a/api/current.txt b/api/current.txt
index 26ac1a7..9713b3c 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -16790,9 +16790,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 37e6db5..18b7091 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -18066,9 +18066,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/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 4285ea1..578aa45 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -5235,10 +5235,12 @@
<string name="stk_cc_ss_to_ussd">SS request is modified to USSD request.</string>
<string name="stk_cc_ss_to_ss">SS request is modified to new SS request.</string>
+ <!-- User visible name for USB MIDI Peripheral port -->
+ <string name="usb_midi_peripheral_name">Android USB Peripheral Port</string>
<!-- Manufacturer name for USB MIDI Peripheral port -->
<string name="usb_midi_peripheral_manufacturer_name">Android</string>
- <!-- Model name for USB MIDI Peripheral port -->
- <string name="usb_midi_peripheral_model_name">USB Peripheral Port</string>
+ <!-- Product name for USB MIDI Peripheral port -->
+ <string name="usb_midi_peripheral_product_name">USB Peripheral Port</string>
<!-- Floating toolbar strings -->
<!-- Content description for the button that opens the floating toolbar overflow. [CHAR LIMIT=NONE] -->
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 54eb8f9..42d187d 100755
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -2181,8 +2181,9 @@
<java-symbol type="bool" name="config_LTE_eri_for_network_name" />
<java-symbol type="bool" name="config_defaultInTouchMode" />
+ <java-symbol type="string" name="usb_midi_peripheral_name" />
<java-symbol type="string" name="usb_midi_peripheral_manufacturer_name" />
- <java-symbol type="string" name="usb_midi_peripheral_model_name" />
+ <java-symbol type="string" name="usb_midi_peripheral_product_name" />
<java-symbol type="bool" name="allow_stacked_button_bar" />
<java-symbol type="id" name="spacer" />
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
*/
diff --git a/services/usb/java/com/android/server/usb/UsbAlsaManager.java b/services/usb/java/com/android/server/usb/UsbAlsaManager.java
index 2728af1..8f0c6c8 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 @@
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);