diff options
-rw-r--r-- | Android.mk | 8 | ||||
-rw-r--r-- | core/java/android/app/ContextImpl.java | 4 | ||||
-rw-r--r-- | core/java/android/content/Context.java | 2 | ||||
-rw-r--r-- | media/java/android/media/midi/IMidiDeviceServer.aidl (renamed from core/java/android/midi/IMidiDeviceServer.aidl) | 2 | ||||
-rw-r--r-- | media/java/android/media/midi/IMidiListener.aidl (renamed from core/java/android/midi/IMidiListener.aidl) | 4 | ||||
-rw-r--r-- | media/java/android/media/midi/IMidiManager.aidl (renamed from core/java/android/midi/IMidiManager.aidl) | 8 | ||||
-rw-r--r-- | media/java/android/media/midi/MidiDevice.java (renamed from core/java/android/midi/MidiDevice.java) | 2 | ||||
-rw-r--r-- | media/java/android/media/midi/MidiDeviceInfo.aidl (renamed from core/java/android/midi/MidiDeviceInfo.aidl) | 2 | ||||
-rw-r--r-- | media/java/android/media/midi/MidiDeviceInfo.java (renamed from core/java/android/midi/MidiDeviceInfo.java) | 2 | ||||
-rw-r--r-- | media/java/android/media/midi/MidiDeviceServer.java (renamed from core/java/android/midi/MidiDeviceServer.java) | 2 | ||||
-rw-r--r-- | media/java/android/media/midi/MidiInputPort.java (renamed from core/java/android/midi/MidiInputPort.java) | 2 | ||||
-rw-r--r-- | media/java/android/media/midi/MidiManager.java (renamed from core/java/android/midi/MidiManager.java) | 44 | ||||
-rw-r--r-- | media/java/android/media/midi/MidiOutputPort.java (renamed from core/java/android/midi/MidiOutputPort.java) | 2 | ||||
-rw-r--r-- | media/java/android/media/midi/MidiPort.java (renamed from core/java/android/midi/MidiPort.java) | 31 | ||||
-rw-r--r-- | media/java/android/media/midi/MidiReceiver.java (renamed from core/java/android/midi/MidiReceiver.java) | 4 | ||||
-rw-r--r-- | media/java/android/media/midi/MidiSender.java (renamed from core/java/android/midi/MidiSender.java) | 2 | ||||
-rw-r--r-- | services/core/java/com/android/server/MidiService.java | 8 | ||||
-rw-r--r-- | services/usb/java/com/android/server/usb/UsbAlsaManager.java | 2 | ||||
-rw-r--r-- | services/usb/java/com/android/server/usb/UsbDeviceManager.java | 1 | ||||
-rw-r--r-- | services/usb/java/com/android/server/usb/UsbMidiDevice.java | 12 |
20 files changed, 92 insertions, 52 deletions
@@ -174,9 +174,6 @@ LOCAL_SRC_FILES += \ core/java/android/hardware/location/IGeofenceHardwareMonitorCallback.aidl \ core/java/android/hardware/soundtrigger/IRecognitionStatusCallback.aidl \ core/java/android/hardware/usb/IUsbManager.aidl \ - core/java/android/midi/IMidiDeviceServer.aidl \ - core/java/android/midi/IMidiListener.aidl \ - core/java/android/midi/IMidiManager.aidl \ core/java/android/net/IConnectivityManager.aidl \ core/java/android/net/IEthernetManager.aidl \ core/java/android/net/IEthernetServiceListener.aidl \ @@ -335,7 +332,10 @@ LOCAL_SRC_FILES += \ media/java/android/media/IRemoteVolumeObserver.aidl \ media/java/android/media/IRingtonePlayer.aidl \ media/java/android/media/IVolumeController.aidl \ - media/java/android/media/audiopolicy/IAudioPolicyCallback.aidl \ + media/java/android/media/audiopolicy/IAudioPolicyCallback.aidl \ + media/java/android/media/midi/IMidiDeviceServer.aidl \ + media/java/android/media/midi/IMidiListener.aidl \ + media/java/android/media/midi/IMidiManager.aidl \ media/java/android/media/projection/IMediaProjection.aidl \ media/java/android/media/projection/IMediaProjectionCallback.aidl \ media/java/android/media/projection/IMediaProjectionManager.aidl \ diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java index db380ed..503657b 100644 --- a/core/java/android/app/ContextImpl.java +++ b/core/java/android/app/ContextImpl.java @@ -75,12 +75,12 @@ import android.location.ILocationManager; import android.location.LocationManager; import android.media.AudioManager; import android.media.MediaRouter; +import android.media.midi.IMidiManager; +import android.media.midi.MidiManager; import android.media.projection.MediaProjectionManager; import android.media.session.MediaSessionManager; import android.media.tv.ITvInputManager; import android.media.tv.TvInputManager; -import android.midi.IMidiManager; -import android.midi.MidiManager; import android.net.ConnectivityManager; import android.net.IConnectivityManager; import android.net.EthernetManager; diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index eabe297..46ccc95 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -2971,7 +2971,7 @@ public abstract class Context { /** * Use with {@link #getSystemService} to retrieve a - * {@link android.midi.MidiManager} for accessing the MIDI service. + * {@link android.media.midi.MidiManager} for accessing the MIDI service. * * @see #getSystemService * @hide diff --git a/core/java/android/midi/IMidiDeviceServer.aidl b/media/java/android/media/midi/IMidiDeviceServer.aidl index 31fdbbb..71914ad 100644 --- a/core/java/android/midi/IMidiDeviceServer.aidl +++ b/media/java/android/media/midi/IMidiDeviceServer.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.midi; +package android.media.midi; import android.os.ParcelFileDescriptor; diff --git a/core/java/android/midi/IMidiListener.aidl b/media/java/android/media/midi/IMidiListener.aidl index b650593..a4129e9 100644 --- a/core/java/android/midi/IMidiListener.aidl +++ b/media/java/android/media/midi/IMidiListener.aidl @@ -14,9 +14,9 @@ * limitations under the License. */ -package android.midi; +package android.media.midi; -import android.midi.MidiDeviceInfo; +import android.media.midi.MidiDeviceInfo; /** @hide */ oneway interface IMidiListener diff --git a/core/java/android/midi/IMidiManager.aidl b/media/java/android/media/midi/IMidiManager.aidl index 575b525..bba35f5 100644 --- a/core/java/android/midi/IMidiManager.aidl +++ b/media/java/android/media/midi/IMidiManager.aidl @@ -14,11 +14,11 @@ * limitations under the License. */ -package android.midi; +package android.media.midi; -import android.midi.IMidiDeviceServer; -import android.midi.IMidiListener; -import android.midi.MidiDeviceInfo; +import android.media.midi.IMidiDeviceServer; +import android.media.midi.IMidiListener; +import android.media.midi.MidiDeviceInfo; import android.os.Bundle; import android.os.IBinder; diff --git a/core/java/android/midi/MidiDevice.java b/media/java/android/media/midi/MidiDevice.java index b91aedf..36710fd 100644 --- a/core/java/android/midi/MidiDevice.java +++ b/media/java/android/media/midi/MidiDevice.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.midi; +package android.media.midi; import android.os.ParcelFileDescriptor; import android.os.RemoteException; diff --git a/core/java/android/midi/MidiDeviceInfo.aidl b/media/java/android/media/midi/MidiDeviceInfo.aidl index 59be059..f2f37a2 100644 --- a/core/java/android/midi/MidiDeviceInfo.aidl +++ b/media/java/android/media/midi/MidiDeviceInfo.aidl @@ -14,6 +14,6 @@ * limitations under the License. */ -package android.midi; +package android.media.midi; parcelable MidiDeviceInfo; diff --git a/core/java/android/midi/MidiDeviceInfo.java b/media/java/android/media/midi/MidiDeviceInfo.java index dde2669..fd35052 100644 --- a/core/java/android/midi/MidiDeviceInfo.java +++ b/media/java/android/media/midi/MidiDeviceInfo.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.midi; +package android.media.midi; import android.os.Bundle; import android.os.Parcel; diff --git a/core/java/android/midi/MidiDeviceServer.java b/media/java/android/media/midi/MidiDeviceServer.java index 4a1995f..3317baa 100644 --- a/core/java/android/midi/MidiDeviceServer.java +++ b/media/java/android/media/midi/MidiDeviceServer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.midi; +package android.media.midi; import android.os.ParcelFileDescriptor; import android.os.RemoteException; diff --git a/core/java/android/midi/MidiInputPort.java b/media/java/android/media/midi/MidiInputPort.java index 735c68a..730d364 100644 --- a/core/java/android/midi/MidiInputPort.java +++ b/media/java/android/media/midi/MidiInputPort.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.midi; +package android.media.midi; import android.os.ParcelFileDescriptor; diff --git a/core/java/android/midi/MidiManager.java b/media/java/android/media/midi/MidiManager.java index 3a0b064..410120d 100644 --- a/core/java/android/midi/MidiManager.java +++ b/media/java/android/media/midi/MidiManager.java @@ -14,12 +14,13 @@ * limitations under the License. */ -package android.midi; +package android.media.midi; import android.content.Context; import android.os.Binder; import android.os.IBinder; import android.os.Bundle; +import android.os.Handler; import android.os.RemoteException; import android.util.Log; @@ -50,18 +51,38 @@ public class MidiManager { // Binder stub for receiving device notifications from MidiService private class DeviceListener extends IMidiListener.Stub { - private DeviceCallback mCallback; + private final DeviceCallback mCallback; + private final Handler mHandler; - public DeviceListener(DeviceCallback callback) { + public DeviceListener(DeviceCallback callback, Handler handler) { mCallback = callback; + mHandler = handler; } public void onDeviceAdded(MidiDeviceInfo device) { - mCallback.onDeviceAdded(device); + if (mHandler != null) { + final MidiDeviceInfo deviceF = device; + mHandler.post(new Runnable() { + @Override public void run() { + mCallback.onDeviceAdded(deviceF); + } + }); + } else { + mCallback.onDeviceAdded(device); + } } public void onDeviceRemoved(MidiDeviceInfo device) { - mCallback.onDeviceRemoved(device); + if (mHandler != null) { + final MidiDeviceInfo deviceF = device; + mHandler.post(new Runnable() { + @Override public void run() { + mCallback.onDeviceRemoved(deviceF); + } + }); + } else { + mCallback.onDeviceRemoved(device); + } } } @@ -74,7 +95,7 @@ public class MidiManager { * * @param device a {@link MidiDeviceInfo} for the newly added device */ - void onDeviceAdded(MidiDeviceInfo device) { + public void onDeviceAdded(MidiDeviceInfo device) { } /** @@ -82,7 +103,7 @@ public class MidiManager { * * @param device a {@link MidiDeviceInfo} for the removed device */ - void onDeviceRemoved(MidiDeviceInfo device) { + public void onDeviceRemoved(MidiDeviceInfo device) { } } @@ -98,9 +119,12 @@ public class MidiManager { * Registers a callback to receive notifications when MIDI devices are added and removed. * * @param callback a {@link DeviceCallback} for MIDI device notifications + * @param handler The {@link android.os.Handler Handler} that will be used for delivering the + * device notifications. If handler is null, then the thread used for the + * callback is unspecified. */ - public void registerDeviceCallback(DeviceCallback callback) { - DeviceListener deviceListener = new DeviceListener(callback); + public void registerDeviceCallback(DeviceCallback callback, Handler handler) { + DeviceListener deviceListener = new DeviceListener(callback, handler); try { mService.registerListener(mToken, deviceListener); } catch (RemoteException e) { @@ -143,7 +167,7 @@ public class MidiManager { /** * Opens a MIDI device for reading and writing. * - * @param deviceInfo a {@link android.midi.MidiDeviceInfo} to open + * @param deviceInfo a {@link android.media.midi.MidiDeviceInfo} to open * @return a {@link MidiDevice} object for the device */ public MidiDevice openDevice(MidiDeviceInfo deviceInfo) { diff --git a/core/java/android/midi/MidiOutputPort.java b/media/java/android/media/midi/MidiOutputPort.java index b9512fd..83ddeeb 100644 --- a/core/java/android/midi/MidiOutputPort.java +++ b/media/java/android/media/midi/MidiOutputPort.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.midi; +package android.media.midi; import android.os.ParcelFileDescriptor; import android.util.Log; diff --git a/core/java/android/midi/MidiPort.java b/media/java/android/media/midi/MidiPort.java index 7512a90..4d3c91d 100644 --- a/core/java/android/midi/MidiPort.java +++ b/media/java/android/media/midi/MidiPort.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.midi; +package android.media.midi; import android.util.Log; @@ -33,12 +33,16 @@ abstract public class MidiPort implements Closeable { private final int mPortNumber; /** - * Maximum size of a packet that can pass through our ParcelFileDescriptor + * Maximum size of a packet that can pass through our ParcelFileDescriptor. + * For internal use only. Implementation details may change in the future. + * @hide */ - protected static final int MAX_PACKET_SIZE = 1024; + public static final int MAX_PACKET_SIZE = 1024; /** * size of message timestamp in bytes + * For internal use only. Implementation details may change in the future. + * @hide */ private static final int TIMESTAMP_SIZE = 8; @@ -65,6 +69,7 @@ abstract public class MidiPort implements Closeable { * Called when an IOExeption occurs while sending or receiving data. * Subclasses can override to be notified of such errors * + * @hide */ public void onIOException() { } @@ -77,8 +82,11 @@ abstract public class MidiPort implements Closeable { * timestamp is message timestamp to pack * dest is buffer to pack into * returns size of packed message + * + * For internal use only. Implementation details may change in the future. + * @hide */ - protected static int packMessage(byte[] message, int offset, int size, long timestamp, + public static int packMessage(byte[] message, int offset, int size, long timestamp, byte[] dest) { if (size + TIMESTAMP_SIZE > MAX_PACKET_SIZE) { size = MAX_PACKET_SIZE - TIMESTAMP_SIZE; @@ -98,8 +106,11 @@ abstract public class MidiPort implements Closeable { /** * Utility function for unpacking a MIDI message received from our ParcelFileDescriptor * returns the offset of the MIDI message in packed buffer + * + * For internal use only. Implementation details may change in the future. + * @hide */ - protected static int getMessageOffset(byte[] buffer, int bufferLength) { + public static int getMessageOffset(byte[] buffer, int bufferLength) { // message is at the beginning return 0; } @@ -107,8 +118,11 @@ abstract public class MidiPort implements Closeable { /** * Utility function for unpacking a MIDI message received from our ParcelFileDescriptor * returns size of MIDI data in packed buffer + * + * For internal use only. Implementation details may change in the future. + * @hide */ - protected static int getMessageSize(byte[] buffer, int bufferLength) { + public static int getMessageSize(byte[] buffer, int bufferLength) { // message length is total buffer length minus size of the timestamp return bufferLength - TIMESTAMP_SIZE; } @@ -116,8 +130,11 @@ abstract public class MidiPort implements Closeable { /** * Utility function for unpacking a MIDI message received from our ParcelFileDescriptor * unpacks timestamp from packed buffer + * + * For internal use only. Implementation details may change in the future. + * @hide */ - protected static long getMessageTimeStamp(byte[] buffer, int bufferLength) { + public static long getMessageTimeStamp(byte[] buffer, int bufferLength) { // timestamp is at end of the packet int offset = bufferLength; long timestamp = 0; diff --git a/core/java/android/midi/MidiReceiver.java b/media/java/android/media/midi/MidiReceiver.java index 16c9bbb..64c0c07 100644 --- a/core/java/android/midi/MidiReceiver.java +++ b/media/java/android/media/midi/MidiReceiver.java @@ -14,12 +14,12 @@ * limitations under the License. */ -package android.midi; +package android.media.midi; import java.io.IOException; /** - * Interface for receiving data from a MIDI device. + * Interface for sending and receiving data to and from a MIDI device. * * CANDIDATE FOR PUBLIC API * @hide diff --git a/core/java/android/midi/MidiSender.java b/media/java/android/media/midi/MidiSender.java index 2b7afad..4550476 100644 --- a/core/java/android/midi/MidiSender.java +++ b/media/java/android/media/midi/MidiSender.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.midi; +package android.media.midi; /** * Interface provided by a device to allow attaching diff --git a/services/core/java/com/android/server/MidiService.java b/services/core/java/com/android/server/MidiService.java index 38f1cb8..04911fa 100644 --- a/services/core/java/com/android/server/MidiService.java +++ b/services/core/java/com/android/server/MidiService.java @@ -17,10 +17,10 @@ package com.android.server; import android.content.Context; -import android.midi.IMidiDeviceServer; -import android.midi.IMidiListener; -import android.midi.IMidiManager; -import android.midi.MidiDeviceInfo; +import android.media.midi.IMidiDeviceServer; +import android.media.midi.IMidiListener; +import android.media.midi.IMidiManager; +import android.media.midi.MidiDeviceInfo; import android.os.Binder; import android.os.Bundle; import android.os.IBinder; diff --git a/services/usb/java/com/android/server/usb/UsbAlsaManager.java b/services/usb/java/com/android/server/usb/UsbAlsaManager.java index 009d25d..0aa8862 100644 --- a/services/usb/java/com/android/server/usb/UsbAlsaManager.java +++ b/services/usb/java/com/android/server/usb/UsbAlsaManager.java @@ -26,7 +26,7 @@ import android.hardware.usb.UsbDevice; import android.hardware.usb.UsbInterface; import android.media.AudioSystem; import android.media.IAudioService; -import android.midi.MidiDeviceInfo; +import android.media.midi.MidiDeviceInfo; import android.os.FileObserver; import android.os.Bundle; import android.os.IBinder; diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java index be115b2..43c7336 100644 --- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java @@ -31,7 +31,6 @@ import android.database.ContentObserver; import android.hardware.usb.UsbAccessory; import android.hardware.usb.UsbManager; import android.media.AudioManager; -import android.midi.MidiDeviceInfo; import android.os.FileUtils; import android.os.Handler; import android.os.Looper; diff --git a/services/usb/java/com/android/server/usb/UsbMidiDevice.java b/services/usb/java/com/android/server/usb/UsbMidiDevice.java index 396ed38..e17abc0 100644 --- a/services/usb/java/com/android/server/usb/UsbMidiDevice.java +++ b/services/usb/java/com/android/server/usb/UsbMidiDevice.java @@ -17,12 +17,12 @@ package com.android.server.usb; import android.content.Context; -import android.midi.MidiDeviceInfo; -import android.midi.MidiDeviceServer; -import android.midi.MidiManager; -import android.midi.MidiPort; -import android.midi.MidiReceiver; -import android.midi.MidiSender; +import android.media.midi.MidiDeviceInfo; +import android.media.midi.MidiDeviceServer; +import android.media.midi.MidiManager; +import android.media.midi.MidiPort; +import android.media.midi.MidiReceiver; +import android.media.midi.MidiSender; import android.os.Bundle; import android.system.ErrnoException; import android.system.Os; |