public class com.sun.glass.ui.monocle.AndroidInputDeviceRegistry extends com.sun.glass.ui.monocle.InputDeviceRegistry
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.glass.ui.monocle.AndroidInputDeviceRegistry
super_class: com.sun.glass.ui.monocle.InputDeviceRegistry
{
private static com.sun.glass.ui.monocle.AndroidInputDeviceRegistry instance;
descriptor: Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private com.sun.glass.ui.monocle.AndroidInputDevice androidDevice;
descriptor: Lcom/sun/glass/ui/monocle/AndroidInputDevice;
flags: (0x0002) ACC_PRIVATE
private com.sun.glass.ui.monocle.AndroidInputProcessor processor;
descriptor: Lcom/sun/glass/ui/monocle/AndroidInputProcessor;
flags: (0x0002) ACC_PRIVATE
private final com.sun.glass.ui.monocle.KeyState keyState;
descriptor: Lcom/sun/glass/ui/monocle/KeyState;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.sun.glass.ui.monocle.AndroidInputDeviceRegistry
dup
invokespecial com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.<init>:()V
putstatic com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.instance:Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry;
return
LocalVariableTable:
Start End Slot Name Signature
static com.sun.glass.ui.monocle.AndroidInputDeviceRegistry getInstance();
descriptor: ()Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.instance:Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static void registerDevice();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokedynamic run()Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/sun/glass/ui/monocle/AndroidInputDeviceRegistry.lambda$0()V (6)
()V
invokestatic javafx.application.Platform.runLater:(Ljava/lang/Runnable;)V
1: return
LocalVariableTable:
Start End Slot Name Signature
public static void gotTouchEventFromNative(int, int[], int[], int[], int[], int);
descriptor: (I[I[I[I[II)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new com.sun.glass.ui.monocle.TouchState
dup
invokespecial com.sun.glass.ui.monocle.TouchState.<init>:()V
astore 6
start local 6 1: iload 5
iconst_m1
if_icmpne 4
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "don't add points, primary = -1"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: goto 13
4: StackMap locals: com.sun.glass.ui.monocle.TouchState
StackMap stack:
iconst_0
istore 7
start local 7 5: goto 12
6: StackMap locals: int
StackMap stack:
new com.sun.glass.ui.monocle.TouchState$Point
dup
invokespecial com.sun.glass.ui.monocle.TouchState$Point.<init>:()V
astore 8
start local 8 7: aload 8
aload 2
iload 7
iaload
putfield com.sun.glass.ui.monocle.TouchState$Point.id:I
8: aload 8
aload 3
iload 7
iaload
putfield com.sun.glass.ui.monocle.TouchState$Point.x:I
9: aload 8
aload 4
iload 7
iaload
putfield com.sun.glass.ui.monocle.TouchState$Point.y:I
10: aload 6
aload 8
invokevirtual com.sun.glass.ui.monocle.TouchState.addPoint:(Lcom/sun/glass/ui/monocle/TouchState$Point;)Lcom/sun/glass/ui/monocle/TouchState$Point;
pop
end local 8 11: iinc 7 1
StackMap locals:
StackMap stack:
12: iload 7
iload 0
if_icmplt 6
end local 7 13: StackMap locals:
StackMap stack:
aload 6
invokedynamic run(Lcom/sun/glass/ui/monocle/TouchState;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/sun/glass/ui/monocle/AndroidInputDeviceRegistry.lambda$1(Lcom/sun/glass/ui/monocle/TouchState;)V (6)
()V
invokestatic javafx.application.Platform.runLater:(Ljava/lang/Runnable;)V
14: 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 15 0 count I
0 15 1 actions [I
0 15 2 ids [I
0 15 3 x [I
0 15 4 y [I
0 15 5 primary I
1 15 6 touchState Lcom/sun/glass/ui/monocle/TouchState;
5 13 7 i I
7 11 8 p Lcom/sun/glass/ui/monocle/TouchState$Point;
MethodParameters:
Name Flags
count
actions
ids
x
y
primary
private void gotTouchEvent(com.sun.glass.ui.monocle.TouchState);
descriptor: (Lcom/sun/glass/ui/monocle/TouchState;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.androidDevice:Lcom/sun/glass/ui/monocle/AndroidInputDevice;
ifnonnull 4
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "[MON] got touch event, but no registered device yet"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: invokestatic java.lang.Thread.dumpStack:()V
3: return
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.processor:Lcom/sun/glass/ui/monocle/AndroidInputProcessor;
ifnonnull 8
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "[MON] got touch event, but processor not yet initialized"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: invokestatic java.lang.Thread.dumpStack:()V
7: return
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.processor:Lcom/sun/glass/ui/monocle/AndroidInputProcessor;
aload 1
invokevirtual com.sun.glass.ui.monocle.AndroidInputProcessor.pushEvent:(Lcom/sun/glass/ui/monocle/TouchState;)V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry;
0 10 1 touchState Lcom/sun/glass/ui/monocle/TouchState;
MethodParameters:
Name Flags
touchState
public static void dispatchKeyEventFromNative(int, int, char[], int);
descriptor: (II[CI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.instance:Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry;
getfield com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.processor:Lcom/sun/glass/ui/monocle/AndroidInputProcessor;
iload 0
iload 1
aload 2
iload 3
invokevirtual com.sun.glass.ui.monocle.AndroidInputProcessor.dispatchKeyEvent:(II[CI)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 type I
0 2 1 key I
0 2 2 chars [C
0 2 3 modifiers I
MethodParameters:
Name Flags
type
key
chars
modifiers
public static void gotKeyEventFromNative(int, int);
descriptor: (II)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.instance:Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry;
iload 0
iload 1
invokevirtual com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.gotKeyEvent:(II)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 action I
0 2 1 linuxKey I
MethodParameters:
Name Flags
action
linuxKey
private void gotKeyEvent(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
invokestatic com.sun.glass.ui.monocle.LinuxKeyProcessor.getVirtualKeyCode:(I)I
istore 3
start local 3 1: iload 1
ifne 4
2: aload 0
getfield com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.keyState:Lcom/sun/glass/ui/monocle/KeyState;
iload 3
invokevirtual com.sun.glass.ui.monocle.KeyState.pressKey:(I)V
3: goto 8
4: StackMap locals: int
StackMap stack:
iload 1
iconst_1
if_icmpne 7
5: aload 0
getfield com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.keyState:Lcom/sun/glass/ui/monocle/KeyState;
iload 3
invokevirtual com.sun.glass.ui.monocle.KeyState.releaseKey:(I)V
6: goto 8
7: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "[JVDBG] ERROR, what action is this? "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
getstatic com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.instance:Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry;
aload 0
getfield com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.keyState:Lcom/sun/glass/ui/monocle/KeyState;
invokevirtual com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.gotKeyEvent:(Lcom/sun/glass/ui/monocle/KeyState;)V
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry;
0 10 1 action I
0 10 2 lk I
1 10 3 vk I
MethodParameters:
Name Flags
action
lk
private void gotKeyEvent(com.sun.glass.ui.monocle.KeyState);
descriptor: (Lcom/sun/glass/ui/monocle/KeyState;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.processor:Lcom/sun/glass/ui/monocle/AndroidInputProcessor;
aload 1
invokevirtual com.sun.glass.ui.monocle.AndroidInputProcessor.pushKeyEvent:(Lcom/sun/glass/ui/monocle/KeyState;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry;
0 2 1 keyState Lcom/sun/glass/ui/monocle/KeyState;
MethodParameters:
Name Flags
keyState
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.sun.glass.ui.monocle.InputDeviceRegistry.<init>:()V
1: aload 0
new com.sun.glass.ui.monocle.KeyState
dup
invokespecial com.sun.glass.ui.monocle.KeyState.<init>:()V
putfield com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.keyState:Lcom/sun/glass/ui/monocle/KeyState;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry;
private void createDevice();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "[MON] Create device"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: new com.sun.glass.ui.monocle.AndroidInputDevice
dup
invokespecial com.sun.glass.ui.monocle.AndroidInputDevice.<init>:()V
astore 1
start local 1 2: aload 0
aload 0
aload 1
ldc "Android Touch Input"
invokevirtual com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.addDeviceInternal:(Lcom/sun/glass/ui/monocle/AndroidInputDevice;Ljava/lang/String;)Lcom/sun/glass/ui/monocle/AndroidInputDevice;
putfield com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.androidDevice:Lcom/sun/glass/ui/monocle/AndroidInputDevice;
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "[MON] Create device done, add done"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry;
2 5 1 device Lcom/sun/glass/ui/monocle/AndroidInputDevice;
private com.sun.glass.ui.monocle.AndroidInputDevice addDeviceInternal(com.sun.glass.ui.monocle.AndroidInputDevice, java.lang.String);
descriptor: (Lcom/sun/glass/ui/monocle/AndroidInputDevice;Ljava/lang/String;)Lcom/sun/glass/ui/monocle/AndroidInputDevice;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
aload 1
invokevirtual com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.createInputProcessor:(Lcom/sun/glass/ui/monocle/AndroidInputDevice;)Lcom/sun/glass/ui/monocle/AndroidInputProcessor;
putfield com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.processor:Lcom/sun/glass/ui/monocle/AndroidInputProcessor;
1: aload 1
aload 0
getfield com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.processor:Lcom/sun/glass/ui/monocle/AndroidInputProcessor;
invokevirtual com.sun.glass.ui.monocle.AndroidInputDevice.setInputProcessor:(Lcom/sun/glass/ui/monocle/AndroidInputProcessor;)V
2: new java.lang.Thread
dup
aload 1
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
astore 3
start local 3 3: aload 3
aload 2
invokevirtual java.lang.Thread.setName:(Ljava/lang/String;)V
4: aload 3
iconst_1
invokevirtual java.lang.Thread.setDaemon:(Z)V
5: aload 3
invokevirtual java.lang.Thread.start:()V
6: aload 0
getfield com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.devices:Ljavafx/collections/ObservableSet;
aload 1
invokeinterface javafx.collections.ObservableSet.add:(Ljava/lang/Object;)Z
pop
7: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry;
0 8 1 device Lcom/sun/glass/ui/monocle/AndroidInputDevice;
0 8 2 name Ljava/lang/String;
3 8 3 thread Ljava/lang/Thread;
MethodParameters:
Name Flags
device
name
void removeDevice(com.sun.glass.ui.monocle.AndroidInputDevice);
descriptor: (Lcom/sun/glass/ui/monocle/AndroidInputDevice;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
new java.security.AllPermission
dup
invokespecial java.security.AllPermission.<init>:()V
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
getfield com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.devices:Ljavafx/collections/ObservableSet;
aload 1
invokeinterface javafx.collections.ObservableSet.remove:(Ljava/lang/Object;)Z
pop
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry;
0 5 1 device Lcom/sun/glass/ui/monocle/AndroidInputDevice;
1 5 2 security Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
device
private com.sun.glass.ui.monocle.AndroidInputProcessor createInputProcessor(com.sun.glass.ui.monocle.AndroidInputDevice);
descriptor: (Lcom/sun/glass/ui/monocle/AndroidInputDevice;)Lcom/sun/glass/ui/monocle/AndroidInputProcessor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new com.sun.glass.ui.monocle.AndroidInputProcessor
dup
aload 1
invokespecial com.sun.glass.ui.monocle.AndroidInputProcessor.<init>:(Lcom/sun/glass/ui/monocle/AndroidInputDevice;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry;
0 1 1 device Lcom/sun/glass/ui/monocle/AndroidInputDevice;
MethodParameters:
Name Flags
device
private static void lambda$0();
descriptor: ()V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.instance:Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry;
invokevirtual com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.createDevice:()V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$1(com.sun.glass.ui.monocle.TouchState);
descriptor: (Lcom/sun/glass/ui/monocle/TouchState;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
0: getstatic com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.instance:Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry;
aload 0
invokevirtual com.sun.glass.ui.monocle.AndroidInputDeviceRegistry.gotTouchEvent:(Lcom/sun/glass/ui/monocle/TouchState;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "AndroidInputDeviceRegistry.java"
InnerClasses:
Point = com.sun.glass.ui.monocle.TouchState$Point of com.sun.glass.ui.monocle.TouchState
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles