META-INF/
META-INF/MANIFEST.MF
com/
com/android/
com/android/bluetoothmidiservice/
com/android/bluetoothmidiservice/BluetoothMidiDevice$1.class
BluetoothMidiDevice.java
package com.android.bluetoothmidiservice
com.android.bluetoothmidiservice.BluetoothMidiDevice$1 extends java.lang.Object implements android.media.midi.MidiDeviceServer$Callback {
final synthetic com.android.bluetoothmidiservice.BluetoothMidiDevice this$0
void <init> (com.android.bluetoothmidiservice.BluetoothMidiDevice)
com.android.bluetoothmidiservice.BluetoothMidiDevice this$0
public void onDeviceStatusChanged (android.media.midi.MidiDeviceServer, android.media.midi.MidiDeviceStatus)
android.media.midi.MidiDeviceServer server
android.media.midi.MidiDeviceStatus status
public void onClose ()
}
com/android/bluetoothmidiservice/BluetoothMidiDevice$2.class
BluetoothMidiDevice.java
package com.android.bluetoothmidiservice
com.android.bluetoothmidiservice.BluetoothMidiDevice$2 extends android.bluetooth.BluetoothGattCallback {
final synthetic com.android.bluetoothmidiservice.BluetoothMidiDevice this$0
void <init> (com.android.bluetoothmidiservice.BluetoothMidiDevice)
com.android.bluetoothmidiservice.BluetoothMidiDevice this$0
public void onConnectionStateChange (android.bluetooth.BluetoothGatt, int, int)
android.bluetooth.BluetoothGatt gatt
int status
int newState
public void onServicesDiscovered (android.bluetooth.BluetoothGatt, int)
boolean result
android.bluetooth.BluetoothGattCharacteristic characteristic
android.bluetooth.BluetoothGattService service
android.bluetooth.BluetoothGatt gatt
int status
public void onCharacteristicRead (android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, byte[], int)
StackTraceElement element
int result
android.bluetooth.BluetoothGatt gatt
android.bluetooth.BluetoothGattCharacteristic characteristic
byte[] value
int status
StackTraceElement[] elements
int originalWriteType
android.bluetooth.BluetoothGattDescriptor descriptor
public void onCharacteristicWrite (android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int)
android.bluetooth.BluetoothGatt gatt
android.bluetooth.BluetoothGattCharacteristic characteristic
int status
public void onCharacteristicChanged (android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, byte[])
android.bluetooth.BluetoothGatt gatt
android.bluetooth.BluetoothGattCharacteristic characteristic
byte[] value
public void onMtuChanged (android.bluetooth.BluetoothGatt, int, int)
int packetSize
android.bluetooth.BluetoothGatt gatt
int mtu
int status
}
com/android/bluetoothmidiservice/BluetoothMidiDevice$3.class
BluetoothMidiDevice.java
package com.android.bluetoothmidiservice
com.android.bluetoothmidiservice.BluetoothMidiDevice$3 extends java.lang.Thread {
final synthetic com.android.bluetoothmidiservice.BluetoothMidiDevice this$0
void <init> (com.android.bluetoothmidiservice.BluetoothMidiDevice, java.lang.String)
com.android.bluetoothmidiservice.BluetoothMidiDevice this$0
String arg0
public void run ()
com.android.internal.midi.MidiEventScheduler$MidiEvent event
InterruptedException e
java.io.IOException e
com.android.internal.midi.MidiEventScheduler$MidiEvent event
}
com/android/bluetoothmidiservice/BluetoothMidiDevice$4.class
BluetoothMidiDevice.java
package com.android.bluetoothmidiservice
com.android.bluetoothmidiservice.BluetoothMidiDevice$4 extends java.lang.Object implements android.media.midi.MidiManager$OnDeviceOpenedListener {
final synthetic com.android.bluetoothmidiservice.BluetoothMidiDevice this$0
void <init> (com.android.bluetoothmidiservice.BluetoothMidiDevice)
com.android.bluetoothmidiservice.BluetoothMidiDevice this$0
public void onDeviceOpened (android.media.midi.MidiDevice)
android.media.midi.MidiDevice device
}
com/android/bluetoothmidiservice/BluetoothMidiDevice$PacketReceiver.class
BluetoothMidiDevice.java
package com.android.bluetoothmidiservice
com.android.bluetoothmidiservice.BluetoothMidiDevice$PacketReceiver extends java.lang.Object implements com.android.bluetoothmidiservice.PacketEncoder$PacketReceiver {
private byte[] mCachedBuffer
final synthetic com.android.bluetoothmidiservice.BluetoothMidiDevice this$0
public void <init> (com.android.bluetoothmidiservice.BluetoothMidiDevice)
public boolean writePacket (byte[], int)
byte[] buffer
int count
int result
}
com/android/bluetoothmidiservice/BluetoothMidiDevice.class
BluetoothMidiDevice.java
package com.android.bluetoothmidiservice
public final com.android.bluetoothmidiservice.BluetoothMidiDevice extends java.lang.Object {
private static final String TAG
private static final boolean DEBUG
private static final int HEADER_SIZE
private static final int MIN_L2CAP_MTU
private static final int DEFAULT_PACKET_SIZE
private static final int MAX_ANDROID_MTU
private static final int MAX_PACKET_SIZE
private static final java.util.UUID MIDI_SERVICE
private static final java.util.UUID MIDI_CHARACTERISTIC
private static final java.util.UUID CLIENT_CHARACTERISTIC_CONFIG
private final android.bluetooth.BluetoothDevice mBluetoothDevice
private final android.content.Context mContext
private final com.android.bluetoothmidiservice.BluetoothMidiService mService
private final android.media.midi.MidiManager mMidiManager
private android.media.midi.MidiReceiver mOutputReceiver
private final com.android.internal.midi.MidiEventScheduler mEventScheduler
private android.media.midi.MidiDeviceServer mDeviceServer
private android.bluetooth.BluetoothGatt mBluetoothGatt
private android.bluetooth.BluetoothGattCharacteristic mCharacteristic
private final com.android.bluetoothmidiservice.BluetoothMidiDevice$PacketReceiver mPacketReceiver
private final com.android.bluetoothmidiservice.BluetoothPacketEncoder mPacketEncoder
private final com.android.bluetoothmidiservice.BluetoothPacketDecoder mPacketDecoder
private final android.media.midi.MidiDeviceServer$Callback mDeviceServerCallback
private final android.bluetooth.BluetoothGattCallback mGattCallback
public void <init> (android.content.Context, android.bluetooth.BluetoothDevice, com.android.bluetoothmidiservice.BluetoothMidiService)
android.content.Context context
android.bluetooth.BluetoothDevice device
com.android.bluetoothmidiservice.BluetoothMidiService service
android.os.Bundle properties
android.media.midi.MidiReceiver[] inputPortReceivers
private void close ()
void openBluetoothDevice (android.bluetooth.BluetoothDevice)
android.bluetooth.BluetoothDevice btDevice
android.media.midi.MidiManager midiManager
public android.os.IBinder getBinder ()
private static void logByteArray (java.lang.String, byte[], int, int)
int i
String prefix
byte[] value
int offset
int count
StringBuilder builder
static void <clinit> ()
}
com/android/bluetoothmidiservice/BluetoothMidiService$1.class
BluetoothMidiService.java
package com.android.bluetoothmidiservice
com.android.bluetoothmidiservice.BluetoothMidiService$1 extends android.media.midi.IBluetoothMidiService$Stub {
final synthetic com.android.bluetoothmidiservice.BluetoothMidiService this$0
void <init> (com.android.bluetoothmidiservice.BluetoothMidiService)
com.android.bluetoothmidiservice.BluetoothMidiService this$0
public android.os.IBinder addBluetoothDevice (android.bluetooth.BluetoothDevice)
com.android.bluetoothmidiservice.BluetoothMidiDevice device
android.bluetooth.BluetoothDevice bluetoothDevice
com.android.bluetoothmidiservice.BluetoothMidiDevice device
}
com/android/bluetoothmidiservice/BluetoothMidiService.class
BluetoothMidiService.java
package com.android.bluetoothmidiservice
public com.android.bluetoothmidiservice.BluetoothMidiService extends android.app.Service {
private static final String TAG
private final java.util.HashMap mDeviceServerMap
private final android.media.midi.IBluetoothMidiService$Stub mBinder
public void <init> ()
public android.os.IBinder onBind (android.content.Intent)
android.content.Intent intent
void deviceClosed (android.bluetooth.BluetoothDevice)
android.bluetooth.BluetoothDevice device
}
com/android/bluetoothmidiservice/BluetoothPacketDecoder.class
BluetoothPacketDecoder.java
package com.android.bluetoothmidiservice
public com.android.bluetoothmidiservice.BluetoothPacketDecoder extends com.android.bluetoothmidiservice.PacketDecoder {
private static final String TAG
private final byte[] mBuffer
private int mMaxPacketSize
private int mBytesInBuffer
private com.android.bluetoothmidiservice.MidiBtleTimeTracker mTimeTracker
private int mLowTimestamp
private long mNanoTimestamp
private static final int TIMESTAMP_MASK_HIGH
private static final int TIMESTAMP_MASK_LOW
private static final int HEADER_TIMESTAMP_MASK
public void <init> (int)
int maxPacketSize
public void setMaxPacketSize (int)
int maxPacketSize
private void flushOutput (android.media.midi.MidiReceiver)
android.media.midi.MidiReceiver receiver
public void decodePacket (byte[], android.media.midi.MidiReceiver)
int newTimestamp
long now
byte b
int i
byte[] buffer
android.media.midi.MidiReceiver receiver
int length
byte header
int highTimestamp
boolean lastWasTimestamp
int previousLowTimestamp
int currentTimestamp
int curMaxPacketSize
}
com/android/bluetoothmidiservice/BluetoothPacketEncoder$1.class
BluetoothPacketEncoder.java
package com.android.bluetoothmidiservice
com.android.bluetoothmidiservice.BluetoothPacketEncoder$1 extends android.media.midi.MidiReceiver {
final synthetic com.android.bluetoothmidiservice.BluetoothPacketEncoder this$0
void <init> (com.android.bluetoothmidiservice.BluetoothPacketEncoder)
com.android.bluetoothmidiservice.BluetoothPacketEncoder this$0
public void onSend (byte[], int, int, long) throws java.io.IOException
int bytesNeeded
int copy
boolean hasSysExEnd
int remaining
int dataLength
int milliTimestamp
byte status
boolean isSysExStart
boolean isSysExContinuation
int bytesNeeded
boolean needsTimestamp
byte[] msg
int offset
int count
long timestamp
}
com/android/bluetoothmidiservice/BluetoothPacketEncoder.class
BluetoothPacketEncoder.java
package com.android.bluetoothmidiservice
public com.android.bluetoothmidiservice.BluetoothPacketEncoder extends com.android.bluetoothmidiservice.PacketEncoder {
private static final String TAG
private static final long MILLISECOND_NANOS
private static final int MILLISECOND_MASK
private final com.android.bluetoothmidiservice.PacketEncoder$PacketReceiver mPacketReceiver
private final byte[] mAccumulationBuffer
private int mAccumulatedBytes
private int mPacketTimestamp
private byte mRunningStatus
private int mMaxPacketSize
private boolean mWritePending
private final Object mLock
private java.util.Queue mFailedToSendQueue
private final android.media.midi.MidiReceiver mFramedDataReceiver
private final com.android.internal.midi.MidiFramer mMidiFramer
private boolean appendHeader (int)
int milliTimestamp
public void <init> (com.android.bluetoothmidiservice.PacketEncoder$PacketReceiver, int)
com.android.bluetoothmidiservice.PacketEncoder$PacketReceiver packetReceiver
int maxPacketSize
public void setMaxPacketSize (int)
int maxPacketSize
public void onSend (byte[], int, int, long) throws java.io.IOException
byte[] msg
int offset
int count
long timestamp
public void writeComplete ()
private void flushLocked (boolean)
InterruptedException e
byte[] failedBuffer
boolean wasSendSuccessful
boolean canBlock
private void flushFailedToSendQueueLocked ()
InterruptedException e
byte[] currentBuffer
boolean wasSendSuccessful
}
com/android/bluetoothmidiservice/MidiBtleTimeTracker.class
MidiBtleTimeTracker.java
package com.android.bluetoothmidiservice
public com.android.bluetoothmidiservice.MidiBtleTimeTracker extends java.lang.Object {
public static final long NANOS_PER_MILLI
private static final long RANGE_MILLIS
private static final long RANGE_NANOS
private int mWindowMillis
private long mWindowNanos
private int mPreviousTimestamp
private long mPreviousNow
private long mPeripheralTimeMillis
private long mBaseHostTimeNanos
private long mPreviousResult
public void <init> (long)
long now
public long convertTimestampToNanotime (int, long)
long minimumTimeNanos
long minimumTimeMillis
long windowBottom
int timestamp
long now
long deltaMillis
long timestampHostNanos
public int getWindowMillis ()
public void setWindowMillis (int)
int window
}
com/android/bluetoothmidiservice/PacketDecoder.class
PacketDecoder.java
package com.android.bluetoothmidiservice
public abstract com.android.bluetoothmidiservice.PacketDecoder extends java.lang.Object {
public void <init> ()
public abstract void decodePacket (byte[], android.media.midi.MidiReceiver)
}
com/android/bluetoothmidiservice/PacketEncoder$PacketReceiver.class
PacketEncoder.java
package com.android.bluetoothmidiservice
public abstract com.android.bluetoothmidiservice.PacketEncoder$PacketReceiver extends java.lang.Object {
public abstract boolean writePacket (byte[], int)
}
com/android/bluetoothmidiservice/PacketEncoder.class
PacketEncoder.java
package com.android.bluetoothmidiservice
public abstract com.android.bluetoothmidiservice.PacketEncoder extends android.media.midi.MidiReceiver {
public void <init> ()
public abstract void writeComplete ()
}
com/android/bluetoothmidiservice/R$string.class
R.java
package com.android.bluetoothmidiservice
public final com.android.bluetoothmidiservice.R$string extends java.lang.Object {
public static final int app_name
public void <init> ()
}
com/android/bluetoothmidiservice/R.class
R.java
package com.android.bluetoothmidiservice
public final com.android.bluetoothmidiservice.R extends java.lang.Object {
public void <init> ()
}