History log of /frameworks/base/media/java/android/media/midi/MidiDevice.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
71f672b98a0c31001ca28de86d9ac99fef0812b1 05-Mar-2017 Paul McLean <pmclean@google.com> Switching Native MIDI API to an "opaque pointers" model.

Test: manual

Change-Id: Ic181008427e6e81106d867cc3a70deef8c591841
/frameworks/base/media/java/android/media/midi/MidiDevice.java
c276c59eb5d0f36a1133ad718e5e1244390f4688 01-Sep-2016 Mikhail Naganov <mnaganov@google.com> nativemidi: Prototype demonstrating native access to IMidiDeviceServer

Framework changes and a demo app
Comment and finalized Native MIDI API
Replaced fixed PortRegistry tables with std::map.
more error handling.
Removed not-very-useful MidiDeviceManager class.
Made Java API functions @hide.

Bug: 30252756

Test: Manual
Change-Id: Iae98e589f38ef6d625ff0842401193fe98c5d881
/frameworks/base/media/java/android/media/midi/MidiDevice.java
17bbb50edc8ccc56c4ecc932a19884c4cc1f5b6f 12-Sep-2016 Mikhail Naganov <mnaganov@google.com> Midi: Replace usages of ParcelFileDescriptor with FileDescriptor

FileDescriptor can be natively marshaled, and can be used with both
Java and native code, whereas PFD can not.

Bug: 25945784
Change-Id: I5299f0a1555d3531f7dcf1e23c027fb420dc3569
/frameworks/base/media/java/android/media/midi/MidiDevice.java
01ab4d62d9779387f7acad96366db6763bfa6a1d 20-Apr-2016 Phil Burk <philburk@google.com> MidiDevice: do not open ports on closed device

Fix involves client side mIsDeviceClosed flag.

Bug: 24949216
Change-Id: I666284a787fbb9a710d2372fb424e8e54f6a2825
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/base/media/java/android/media/midi/MidiDevice.java
80299748cc7ed5f59cb65122459b036b74150d4a 05-Apr-2016 Phil Burk <philburk@google.com> MidiDevice: fix connectPorts for same Process

If connectPorts() was called for a device in the same process then
the connection would die when the ParcelFileDescriptor was closed.

Bug: 26406775
Change-Id: Id0538452593b4761ac2a93d366ade76d2e35ce73
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/base/media/java/android/media/midi/MidiDevice.java
645a0b2bfe0098fc49b873cd17d36c2bf5244dd5 29-Jul-2015 Phil Burk <philburk@google.com> MidiDevice: document that opens can return nulls

Bug: 22800792
Change-Id: I8d7ca1976e9a8abbabc011d3b2391ad7fe646f83
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/base/media/java/android/media/midi/MidiDevice.java
2aef7e3559e9e2c78287a00b3f693b6dc19e56f0 18-Jun-2015 Mike Lockwood <lockwood@google.com> Fix MidiDevice.MidiConnection lifecycle

Update device server's MidiDeviceStatus when a connection is made to one of its output ports.

After connecting an input port to an output port using MidiDevice.connectPorts(),
do not call IMidiDeviceServer.closePort() until MidiDevice.MidiConnection.close() is called.

While I was in there, added missing CloseGuard support to the MidiDevice.MidiConnection class.

This fixes a problem resulting in UsbMidiDevice closing the device's ALSA driver too soon.

Bug: 21850709

Change-Id: I0c120f76b42eec8a143161e46dba73fbec5e4f31
/frameworks/base/media/java/android/media/midi/MidiDevice.java
e0a6ca64fac5bd4f10139321604031816e90adb4 04-Jun-2015 Mike Lockwood <lockwood@google.com> MidiManager: proxy all requests to open devices through MidiService

Previously when a MidiManager client opened a virtual or Bluetooth device,
the client bound directly to the virtual device's MidiDeviceService
or BluetoothMidiDevice's IMidiDeviceServer for the given BluetoothDevice.
Only USB devices were opened in MidiService.

Now opening any type of MIDI device is done via IMidiManager.openDevice() or
IMidiManager.openBluetoothDevice(). MidiService tracks all connnections between
clients and devices.

Services that implement virtual devices must now require android.permission.BIND_MIDI_DEVICE_SERVICE
so only MidiService can bind to these services.

Bug: 21044677

Change-Id: I7172f7b1e0cbfe4a2a87dff376c32dc9b41aa563
/frameworks/base/media/java/android/media/midi/MidiDevice.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/MidiDevice.java
9db9326ad47279709a0f7989addaf4b45221b6b9 04-Apr-2015 Mike Lockwood <lockwood@google.com> Add MidiManager and MidiDevice classes to public API.

Somehow we missed these two when we made the rest of the MIDI Manager public

Change-Id: I08e94762e155aa6a7f98bd05b363aee5e4744061
/frameworks/base/media/java/android/media/midi/MidiDevice.java
46326e59a0a19367d4158c027d56d4b8440e8d3d 06-Mar-2015 Mike Lockwood <lockwood@google.com> MidiDevice: Add support for making direct connections between ports

The output port of one device can be connected to the input port of another
device using the new MidiDevice.connectPorts() method.
This allows an application to direct the output of one device directly
to the input port of another without having to copy data from one to another.

Change-Id: I4d361c4e0950b9b9516b0c2f0c158677b1aca208
/frameworks/base/media/java/android/media/midi/MidiDevice.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/MidiDevice.java
4a3d7ed45d98ad2fe900221755845b87f26b554a 06-Mar-2015 Mike Lockwood <lockwood@google.com> MIDI Manager: Add explicit close mechanism for input and output ports

Relying on errors from closing the file descriptor is not reliable
and was resulting in file descriptor leaks in device servers.

Change-Id: Ib5cc22dba493eae6608a12cc6d4178d8390da77b
/frameworks/base/media/java/android/media/midi/MidiDevice.java
35110d1ed72ee7fe687125831b4dd91b87b515ee 05-Mar-2015 Mike Lockwood <lockwood@google.com> Add MidiDevice.close() method so we can clean up our ServiceConnection

Change-Id: I65cd4cfd940b02709daeffef6dab814305b8a6b0
/frameworks/base/media/java/android/media/midi/MidiDevice.java
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac 28-Feb-2015 John Spurlock <jspurlock@google.com> Remove unused imports in frameworks/base.

Change-Id: I031443de83f93eb57a98863001826671b18f3b17
/frameworks/base/media/java/android/media/midi/MidiDevice.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/MidiDevice.java