public final class android.media.midi.MidiManager
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.media.midi.MidiManager
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "MidiManager"
public static final java.lang.String BLUETOOTH_MIDI_SERVICE_INTENT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "android.media.midi.BluetoothMidiService"
public static final java.lang.String BLUETOOTH_MIDI_SERVICE_PACKAGE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "com.android.bluetoothmidiservice"
public static final java.lang.String BLUETOOTH_MIDI_SERVICE_CLASS;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "com.android.bluetoothmidiservice.BluetoothMidiService"
private final android.media.midi.IMidiManager mService;
descriptor: Landroid/media/midi/IMidiManager;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.os.IBinder mToken;
descriptor: Landroid/os/IBinder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.concurrent.ConcurrentHashMap<android.media.midi.MidiManager$DeviceCallback, android.media.midi.MidiManager$DeviceListener> mDeviceListeners;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/ConcurrentHashMap<Landroid/media/midi/MidiManager$DeviceCallback;Landroid/media/midi/MidiManager$DeviceListener;>;
public void <init>(android.media.midi.IMidiManager);
descriptor: (Landroid/media/midi/IMidiManager;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new android.os.Binder
dup
invokespecial android.os.Binder.<init>:()V
putfield android.media.midi.MidiManager.mToken:Landroid/os/IBinder;
2: aload 0
3: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield android.media.midi.MidiManager.mDeviceListeners:Ljava/util/concurrent/ConcurrentHashMap;
4: aload 0
aload 1
putfield android.media.midi.MidiManager.mService:Landroid/media/midi/IMidiManager;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/media/midi/MidiManager;
0 6 1 service Landroid/media/midi/IMidiManager;
MethodParameters:
Name Flags
service
public void registerDeviceCallback(android.media.midi.MidiManager$DeviceCallback, android.os.Handler);
descriptor: (Landroid/media/midi/MidiManager$DeviceCallback;Landroid/os/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new android.media.midi.MidiManager$DeviceListener
dup
aload 0
aload 1
aload 2
invokespecial android.media.midi.MidiManager$DeviceListener.<init>:(Landroid/media/midi/MidiManager;Landroid/media/midi/MidiManager$DeviceCallback;Landroid/os/Handler;)V
astore 3
start local 3 1: aload 0
getfield android.media.midi.MidiManager.mService:Landroid/media/midi/IMidiManager;
aload 0
getfield android.media.midi.MidiManager.mToken:Landroid/os/IBinder;
aload 3
invokeinterface android.media.midi.IMidiManager.registerListener:(Landroid/os/IBinder;Landroid/media/midi/IMidiDeviceListener;)V
2: goto 5
StackMap locals: android.media.midi.MidiManager android.media.midi.MidiManager$DeviceCallback android.os.Handler android.media.midi.MidiManager$DeviceListener
StackMap stack: android.os.RemoteException
3: astore 4
start local 4 4: aload 4
invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
athrow
end local 4 5: StackMap locals:
StackMap stack:
aload 0
getfield android.media.midi.MidiManager.mDeviceListeners:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
aload 3
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/midi/MidiManager;
0 7 1 callback Landroid/media/midi/MidiManager$DeviceCallback;
0 7 2 handler Landroid/os/Handler;
1 7 3 deviceListener Landroid/media/midi/MidiManager$DeviceListener;
4 5 4 e Landroid/os/RemoteException;
Exception table:
from to target type
1 2 3 Class android.os.RemoteException
MethodParameters:
Name Flags
callback
handler
public void unregisterDeviceCallback(android.media.midi.MidiManager$DeviceCallback);
descriptor: (Landroid/media/midi/MidiManager$DeviceCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.midi.MidiManager.mDeviceListeners:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.media.midi.MidiManager$DeviceListener
astore 2
start local 2 1: aload 2
ifnull 6
2: aload 0
getfield android.media.midi.MidiManager.mService:Landroid/media/midi/IMidiManager;
aload 0
getfield android.media.midi.MidiManager.mToken:Landroid/os/IBinder;
aload 2
invokeinterface android.media.midi.IMidiManager.unregisterListener:(Landroid/os/IBinder;Landroid/media/midi/IMidiDeviceListener;)V
3: goto 6
StackMap locals: android.media.midi.MidiManager android.media.midi.MidiManager$DeviceCallback android.media.midi.MidiManager$DeviceListener
StackMap stack: android.os.RemoteException
4: astore 3
start local 3 5: aload 3
invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
athrow
end local 3 6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/midi/MidiManager;
0 7 1 callback Landroid/media/midi/MidiManager$DeviceCallback;
1 7 2 deviceListener Landroid/media/midi/MidiManager$DeviceListener;
5 6 3 e Landroid/os/RemoteException;
Exception table:
from to target type
2 3 4 Class android.os.RemoteException
MethodParameters:
Name Flags
callback
public android.media.midi.MidiDeviceInfo[] getDevices();
descriptor: ()[Landroid/media/midi/MidiDeviceInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.midi.MidiManager.mService:Landroid/media/midi/IMidiManager;
invokeinterface android.media.midi.IMidiManager.getDevices:()[Landroid/media/midi/MidiDeviceInfo;
1: areturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
astore 1
start local 1 3: aload 1
invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/midi/MidiManager;
3 4 1 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
private void sendOpenDeviceResponse(android.media.midi.MidiDevice, android.media.midi.MidiManager$OnDeviceOpenedListener, android.os.Handler);
descriptor: (Landroid/media/midi/MidiDevice;Landroid/media/midi/MidiManager$OnDeviceOpenedListener;Landroid/os/Handler;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnull 3
1: aload 3
new android.media.midi.MidiManager$1
dup
aload 0
aload 2
aload 1
invokespecial android.media.midi.MidiManager$1.<init>:(Landroid/media/midi/MidiManager;Landroid/media/midi/MidiManager$OnDeviceOpenedListener;Landroid/media/midi/MidiDevice;)V
invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
pop
2: goto 4
3: StackMap locals:
StackMap stack:
aload 2
aload 1
invokeinterface android.media.midi.MidiManager$OnDeviceOpenedListener.onDeviceOpened:(Landroid/media/midi/MidiDevice;)V
4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/midi/MidiManager;
0 5 1 device Landroid/media/midi/MidiDevice;
0 5 2 listener Landroid/media/midi/MidiManager$OnDeviceOpenedListener;
0 5 3 handler Landroid/os/Handler;
MethodParameters:
Name Flags
device final
listener final
handler
public void openDevice(android.media.midi.MidiDeviceInfo, android.media.midi.MidiManager$OnDeviceOpenedListener, android.os.Handler);
descriptor: (Landroid/media/midi/MidiDeviceInfo;Landroid/media/midi/MidiManager$OnDeviceOpenedListener;Landroid/os/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
astore 4
start local 4 1: aload 2
astore 5
start local 5 2: aload 3
astore 6
start local 6 3: new android.media.midi.MidiManager$2
dup
aload 0
aload 4
aload 5
aload 6
invokespecial android.media.midi.MidiManager$2.<init>:(Landroid/media/midi/MidiManager;Landroid/media/midi/MidiDeviceInfo;Landroid/media/midi/MidiManager$OnDeviceOpenedListener;Landroid/os/Handler;)V
astore 7
start local 7 4: aload 0
getfield android.media.midi.MidiManager.mService:Landroid/media/midi/IMidiManager;
aload 0
getfield android.media.midi.MidiManager.mToken:Landroid/os/IBinder;
aload 1
aload 7
invokeinterface android.media.midi.IMidiManager.openDevice:(Landroid/os/IBinder;Landroid/media/midi/MidiDeviceInfo;Landroid/media/midi/IMidiDeviceOpenCallback;)V
5: goto 8
StackMap locals: android.media.midi.MidiManager android.media.midi.MidiDeviceInfo android.media.midi.MidiManager$OnDeviceOpenedListener android.os.Handler android.media.midi.MidiDeviceInfo android.media.midi.MidiManager$OnDeviceOpenedListener android.os.Handler android.media.midi.IMidiDeviceOpenCallback
StackMap stack: android.os.RemoteException
6: astore 8
start local 8 7: aload 8
invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
athrow
end local 8 8: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/midi/MidiManager;
0 9 1 deviceInfo Landroid/media/midi/MidiDeviceInfo;
0 9 2 listener Landroid/media/midi/MidiManager$OnDeviceOpenedListener;
0 9 3 handler Landroid/os/Handler;
1 9 4 deviceInfoF Landroid/media/midi/MidiDeviceInfo;
2 9 5 listenerF Landroid/media/midi/MidiManager$OnDeviceOpenedListener;
3 9 6 handlerF Landroid/os/Handler;
4 9 7 callback Landroid/media/midi/IMidiDeviceOpenCallback;
7 8 8 e Landroid/os/RemoteException;
Exception table:
from to target type
4 5 6 Class android.os.RemoteException
MethodParameters:
Name Flags
deviceInfo
listener
handler
public void openBluetoothDevice(android.bluetooth.BluetoothDevice, android.media.midi.MidiManager$OnDeviceOpenedListener, android.os.Handler);
descriptor: (Landroid/bluetooth/BluetoothDevice;Landroid/media/midi/MidiManager$OnDeviceOpenedListener;Landroid/os/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
astore 4
start local 4 1: aload 3
astore 5
start local 5 2: new android.media.midi.MidiManager$3
dup
aload 0
aload 4
aload 5
invokespecial android.media.midi.MidiManager$3.<init>:(Landroid/media/midi/MidiManager;Landroid/media/midi/MidiManager$OnDeviceOpenedListener;Landroid/os/Handler;)V
astore 6
start local 6 3: aload 0
getfield android.media.midi.MidiManager.mService:Landroid/media/midi/IMidiManager;
aload 0
getfield android.media.midi.MidiManager.mToken:Landroid/os/IBinder;
aload 1
aload 6
invokeinterface android.media.midi.IMidiManager.openBluetoothDevice:(Landroid/os/IBinder;Landroid/bluetooth/BluetoothDevice;Landroid/media/midi/IMidiDeviceOpenCallback;)V
4: goto 7
StackMap locals: android.media.midi.MidiManager android.bluetooth.BluetoothDevice android.media.midi.MidiManager$OnDeviceOpenedListener android.os.Handler android.media.midi.MidiManager$OnDeviceOpenedListener android.os.Handler android.media.midi.IMidiDeviceOpenCallback
StackMap stack: android.os.RemoteException
5: astore 7
start local 7 6: aload 7
invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
athrow
end local 7 7: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/media/midi/MidiManager;
0 8 1 bluetoothDevice Landroid/bluetooth/BluetoothDevice;
0 8 2 listener Landroid/media/midi/MidiManager$OnDeviceOpenedListener;
0 8 3 handler Landroid/os/Handler;
1 8 4 listenerF Landroid/media/midi/MidiManager$OnDeviceOpenedListener;
2 8 5 handlerF Landroid/os/Handler;
3 8 6 callback Landroid/media/midi/IMidiDeviceOpenCallback;
6 7 7 e Landroid/os/RemoteException;
Exception table:
from to target type
3 4 5 Class android.os.RemoteException
MethodParameters:
Name Flags
bluetoothDevice
listener
handler
public android.media.midi.MidiDeviceServer createDeviceServer(android.media.midi.MidiReceiver[], int, java.lang.String[], java.lang.String[], android.os.Bundle, int, android.media.midi.MidiDeviceServer$Callback);
descriptor: ([Landroid/media/midi/MidiReceiver;I[Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;ILandroid/media/midi/MidiDeviceServer$Callback;)Landroid/media/midi/MidiDeviceServer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=10, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: new android.media.midi.MidiDeviceServer
dup
aload 0
getfield android.media.midi.MidiManager.mService:Landroid/media/midi/IMidiManager;
aload 1
1: iload 2
aload 7
2: invokespecial android.media.midi.MidiDeviceServer.<init>:(Landroid/media/midi/IMidiManager;[Landroid/media/midi/MidiReceiver;ILandroid/media/midi/MidiDeviceServer$Callback;)V
astore 8
start local 8 3: aload 0
getfield android.media.midi.MidiManager.mService:Landroid/media/midi/IMidiManager;
aload 8
invokevirtual android.media.midi.MidiDeviceServer.getBinderInterface:()Landroid/media/midi/IMidiDeviceServer;
4: aload 1
arraylength
iload 2
aload 3
aload 4
5: aload 5
iload 6
6: invokeinterface android.media.midi.IMidiManager.registerDeviceServer:(Landroid/media/midi/IMidiDeviceServer;II[Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;I)Landroid/media/midi/MidiDeviceInfo;
astore 9
start local 9 7: aload 9
ifnonnull 10
8: ldc "MidiManager"
ldc "registerVirtualDevice failed"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
9: aconst_null
areturn
10: StackMap locals: android.media.midi.MidiDeviceServer android.media.midi.MidiDeviceInfo
StackMap stack:
aload 8
11: areturn
end local 9 end local 8 12: StackMap locals: android.media.midi.MidiManager android.media.midi.MidiReceiver[] int java.lang.String[] java.lang.String[] android.os.Bundle int android.media.midi.MidiDeviceServer$Callback
StackMap stack: android.os.RemoteException
astore 8
start local 8 13: aload 8
invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
athrow
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/media/midi/MidiManager;
0 14 1 inputPortReceivers [Landroid/media/midi/MidiReceiver;
0 14 2 numOutputPorts I
0 14 3 inputPortNames [Ljava/lang/String;
0 14 4 outputPortNames [Ljava/lang/String;
0 14 5 properties Landroid/os/Bundle;
0 14 6 type I
0 14 7 callback Landroid/media/midi/MidiDeviceServer$Callback;
3 12 8 server Landroid/media/midi/MidiDeviceServer;
7 12 9 deviceInfo Landroid/media/midi/MidiDeviceInfo;
13 14 8 e Landroid/os/RemoteException;
Exception table:
from to target type
0 9 12 Class android.os.RemoteException
10 11 12 Class android.os.RemoteException
MethodParameters:
Name Flags
inputPortReceivers
numOutputPorts
inputPortNames
outputPortNames
properties
type
callback
}
SourceFile: "MidiManager.java"
NestMembers:
android.media.midi.MidiManager$1 android.media.midi.MidiManager$2 android.media.midi.MidiManager$3 android.media.midi.MidiManager$DeviceCallback android.media.midi.MidiManager$DeviceListener android.media.midi.MidiManager$DeviceListener$1 android.media.midi.MidiManager$DeviceListener$2 android.media.midi.MidiManager$DeviceListener$3 android.media.midi.MidiManager$OnDeviceOpenedListener
InnerClasses:
public abstract Callback = android.media.midi.MidiDeviceServer$Callback of android.media.midi.MidiDeviceServer
android.media.midi.MidiManager$1
android.media.midi.MidiManager$2
android.media.midi.MidiManager$3
public DeviceCallback = android.media.midi.MidiManager$DeviceCallback of android.media.midi.MidiManager
private DeviceListener = android.media.midi.MidiManager$DeviceListener of android.media.midi.MidiManager
public abstract OnDeviceOpenedListener = android.media.midi.MidiManager$OnDeviceOpenedListener of android.media.midi.MidiManager