History log of /frameworks/base/media/java/android/media/midi/MidiDeviceInfo.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
33603ae9c52fe60ff7e19703b88599a227788189 27-Sep-2016 Mikhail Naganov <mnaganov@google.com> MIDI: fix building of properties for the native side

A couple of MIDI device's properties (related to ALSA) are of int type
and can't be transferred as a string. Fixed the code.

As we whitelist properties that can go into native, there is no need to
expect other type of properties besides ints and strings.

Bug: 25945784
Change-Id: I008731d0ffee60c31be0bfddb15dcd1425e4b88e
Test: using a PoC app
/frameworks/base/media/java/android/media/midi/MidiDeviceInfo.java
84b674079db819963b227df4dadb0fb5180527e6 15-Sep-2016 Mikhail Naganov <mnaganov@google.com> Make MidiDeviceInfo accessible to native code

Update Java serialization code to allow interacting with native
serialization code. One notable change is due to the fact that
properties of non-primitive types can not be read back by native code,
the properties are serialized in two versions: one only contains
properties having primitive types, and another contains all
the properties. The latter is ignored by native code.

Bug: 25945784
Test: using a PoC app
Change-Id: I047a5bdec3006bcbce34c1c63aa7746e01f7a71e
/frameworks/base/media/java/android/media/midi/MidiDeviceInfo.java
7eb441cb4abcd3230a4d243469c5044f49e707c8 12-May-2015 Mike Lockwood <lockwood@google.com> MidiManager: Address API Council feedback:

Rename MidiDeviceInfo.getPortList() to getPorts()

Rename MidiManager.getDeviceList() to getDevices()

Rename MidiReceiver.onReceive() to onSend()

Replace MidiManager.DeviceOpenCallback and BluetoothOpenCallback
with new interface MidiManager.OnDeviceOpenedListener

Add MidiSender.onConnect() and onDisconnect()

Add MidiReceiver.onFlush()

Ensure that MidiReceiver max message size is immutable

Bug: 21044677
Change-Id: I7711734a45e831e9744849a6f569e906feff9f80
/frameworks/base/media/java/android/media/midi/MidiDeviceInfo.java
fd5637fcce18adf44421389bf97a9da546f08940 07-May-2015 Mike Lockwood <lockwood@google.com> MidiManager: Improve output of "dumpsys midi"

- Include each device's port status from MidiDeviceStatus
- MidiDeviceInfo.toString() now outputs all the names and values in the properties Bundle

Change-Id: Ic9329153e4ae4d5619e274d27a420943473377e5
/frameworks/base/media/java/android/media/midi/MidiDeviceInfo.java
02868b1625f0b1fa6ce1fb2529186f155904dd03 29-Apr-2015 Mike Lockwood <lockwood@google.com> MidiDeviceInfo: Add version string property

For USB devices, this is populated with the USB device version string.

Change-Id: Ia9286d5f41783e4e960a9c724bf6b85b6599fe12
/frameworks/base/media/java/android/media/midi/MidiDeviceInfo.java
9189f5f0252e1ef3e7d00978ef12e964565dd6f1 10-Apr-2015 Mike Lockwood <lockwood@google.com> Add MidiDeviceInfo.getPortList()

This replaces MidiDeviceInfo.getInputPortInfo() and getOutputPortInfo()

Change-Id: I0a9bc7c34a172a072e86718d465967c6c618fb3b
/frameworks/base/media/java/android/media/midi/MidiDeviceInfo.java
3f5acc6d48337da1609f672d4385b1f170ec7f3e 17-Mar-2015 Mike Lockwood <lockwood@google.com> MidiDeviceInfo: Add constants for future Bluetooth MIDI support

Change-Id: Id89b691e923b9de8e5dce58527ba38e28e8e1d36
/frameworks/base/media/java/android/media/midi/MidiDeviceInfo.java
0caf689ab4a47ad6741a3d1021743d4cb4281f6a 17-Mar-2015 Mike Lockwood <lockwood@google.com> MidiDeviceInfo: Fix NPE for devices with no port names

Change-Id: I703709f84b6b1951b67918c9762bb84a142d855c
/frameworks/base/media/java/android/media/midi/MidiDeviceInfo.java
81b9f7d325a552c54e793b51f571ae3d65b26e94 11-Mar-2015 Mike Lockwood <lockwood@google.com> Add MidiManager to public API

Also made some small API changes based on feedback from the lint tool.

Change-Id: Ibcf1e9107d86d3a364f811ce47a13aa0da653366
/frameworks/base/media/java/android/media/midi/MidiDeviceInfo.java
f2cd8024028f602a5e4c27f3d9222e872e4e84f2 11-Mar-2015 Mike Lockwood <lockwood@google.com> 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
/frameworks/base/media/java/android/media/midi/MidiDeviceInfo.java
be215dd57282888b05b234c39bba44cc0a864b8a 07-Mar-2015 Mike Lockwood <lockwood@google.com> MIDI Manager changes:

Add CloseGuard support to MidiDevice and MidiDeviceServer
Make MidiDevice.close() thread safe
Make non-subclassable API classes final
Other misc cleanup

Change-Id: I7a5d31b06b8c2403cfbc5597c5c1395f0ac90194
/frameworks/base/media/java/android/media/midi/MidiDeviceInfo.java
11fd96d6ff25bc1d710448eab545fe09da55a5f5 02-Mar-2015 Mike Lockwood <lockwood@google.com> MidiManager: Virtual MIDI devices are now implemented as Services

To implement a virtual MIDI device, include a subclass of MidiDeviceService in
your application. This service is identified by an intent filter and meta-data
in the application's manifest to allow the MIDI manager to register the virtual device
without actually running the application. Instead, the application's MidiDeviceService
subclass is started on demand when MIDI manager clients want to open the device.

Here is an example of how the MidiDeviceService might be described in the application manifest:

<service android:name="VirtualDeviceService">
<intent-filter>
<action android:name="android.media.midi.MidiDeviceService" />
</intent-filter>
<meta-data android:name="android.media.midi.MidiDeviceService"
android:resource="@xml/device_info" />
</service>

and the device_info.xml meta-data:

<devices>
<device manufacturer="Sample Manufacturer" model="Sample Model" private="false">
<input-port name="my input port" />
<output-port name="my output port" />
</device>
</devices>

(note that the <input-port> and <output-port> names are not currently used, but support for these
will be added in a subsequent change)

Client's of the virtual device will bind directly to the hosting application's MidiDeviceService subclass.
To support this, MidiManager.openDevice() now returns the MidiDevice asynchronously via a callback.

This change also adds a utility class called MidiDispatcher, which is a MidiReceiver
that dispatches all data it receives to a list of other MidiReceivers.
We now use this internally in MidiInputPort and MidiDeviceServer, but developers
may use it for other purposes as well.

Change-Id: Ic3009f06d56f3d5edbd87de3f0c330b51a1c217d
/frameworks/base/media/java/android/media/midi/MidiDeviceInfo.java
b673770f7172d4fca9bc05de1f36bc53e93eb247 20-Feb-2015 Mike Lockwood <lockwood@google.com> Add MIDI Manager API tweaks:

- Change the package name from android.midi to android.media.midi

- Add option for specifying a Handler for DeviceCallback notifications

Change-Id: Ia9e9817a651c06299f4e02ee1da3c9666ff64cb9
/frameworks/base/media/java/android/media/midi/MidiDeviceInfo.java