class android.gesture.Instance
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.gesture.Instance
super_class: java.lang.Object
{
private static final int SEQUENCE_SAMPLE_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int PATCH_SAMPLE_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final float[] ORIENTATIONS;
descriptor: [F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
final float[] vector;
descriptor: [F
flags: (0x0010) ACC_FINAL
final java.lang.String label;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
final long id;
descriptor: J
flags: (0x0010) ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 29
bipush 10
newarray 6
dup
iconst_0
1: .line 30
fconst_0
fastore
dup
iconst_1
ldc 0.7853982
fastore
dup
iconst_2
ldc 1.5707964
fastore
dup
iconst_3
ldc 2.3561945
fastore
dup
iconst_4
2: .line 31
ldc 3.1415927
fastore
dup
iconst_5
fconst_0
fastore
dup
bipush 6
ldc -0.7853982
fastore
dup
bipush 7
ldc -1.5707964
fastore
dup
bipush 8
3: .line 32
ldc -2.3561945
fastore
dup
bipush 9
ldc -3.1415927
fastore
4: .line 29
putstatic android.gesture.Instance.ORIENTATIONS:[F
5: .line 33
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(long, float[], java.lang.String);
descriptor: (J[FLjava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 // android.gesture.Instance this
start local 1 // long id
start local 3 // float[] sample
start local 4 // java.lang.String sampleName
0: .line 44
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 45
aload 0 /* this */
lload 1 /* id */
putfield android.gesture.Instance.id:J
2: .line 46
aload 0 /* this */
aload 3 /* sample */
putfield android.gesture.Instance.vector:[F
3: .line 47
aload 0 /* this */
aload 4 /* sampleName */
putfield android.gesture.Instance.label:Ljava/lang/String;
4: .line 48
return
end local 4 // java.lang.String sampleName
end local 3 // float[] sample
end local 1 // long id
end local 0 // android.gesture.Instance this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/gesture/Instance;
0 5 1 id J
0 5 3 sample [F
0 5 4 sampleName Ljava/lang/String;
MethodParameters:
Name Flags
id
sample
sampleName
private void normalize();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 // android.gesture.Instance this
0: .line 51
aload 0 /* this */
getfield android.gesture.Instance.vector:[F
astore 1 /* sample */
start local 1 // float[] sample
1: .line 52
fconst_0
fstore 2 /* sum */
start local 2 // float sum
2: .line 54
aload 1 /* sample */
arraylength
istore 3 /* size */
start local 3 // int size
3: .line 55
iconst_0
istore 4 /* i */
start local 4 // int i
4: goto 7
5: .line 56
StackMap locals: android.gesture.Instance float[] float int int
StackMap stack:
fload 2 /* sum */
aload 1 /* sample */
iload 4 /* i */
faload
aload 1 /* sample */
iload 4 /* i */
faload
fmul
fadd
fstore 2 /* sum */
6: .line 55
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 4 /* i */
iload 3 /* size */
if_icmplt 5
end local 4 // int i
8: .line 59
fload 2 /* sum */
f2d
invokestatic java.lang.Math.sqrt:(D)D
d2f
fstore 4 /* magnitude */
start local 4 // float magnitude
9: .line 60
iconst_0
istore 5 /* i */
start local 5 // int i
10: goto 13
11: .line 61
StackMap locals: android.gesture.Instance float[] float int float int
StackMap stack:
aload 1 /* sample */
iload 5 /* i */
dup2
faload
fload 4 /* magnitude */
fdiv
fastore
12: .line 60
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
13: iload 5 /* i */
iload 3 /* size */
if_icmplt 11
end local 5 // int i
14: .line 63
return
end local 4 // float magnitude
end local 3 // int size
end local 2 // float sum
end local 1 // float[] sample
end local 0 // android.gesture.Instance this
LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Landroid/gesture/Instance;
1 15 1 sample [F
2 15 2 sum F
3 15 3 size I
4 8 4 i I
9 15 4 magnitude F
10 14 5 i I
static android.gesture.Instance createInstance(int, int, android.gesture.Gesture, java.lang.String);
descriptor: (IILandroid/gesture/Gesture;Ljava/lang/String;)Landroid/gesture/Instance;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=6, args_size=4
start local 0 // int sequenceType
start local 1 // int orientationType
start local 2 // android.gesture.Gesture gesture
start local 3 // java.lang.String label
0: .line 75
iload 0 /* sequenceType */
iconst_2
if_icmpne 5
1: .line 76
iload 1 /* orientationType */
aload 2 /* gesture */
invokestatic android.gesture.Instance.temporalSampler:(ILandroid/gesture/Gesture;)[F
astore 4 /* pts */
start local 4 // float[] pts
2: .line 77
new android.gesture.Instance
dup
aload 2 /* gesture */
invokevirtual android.gesture.Gesture.getID:()J
aload 4 /* pts */
aload 3 /* label */
invokespecial android.gesture.Instance.<init>:(J[FLjava/lang/String;)V
astore 5 /* instance */
start local 5 // android.gesture.Instance instance
3: .line 78
aload 5 /* instance */
invokevirtual android.gesture.Instance.normalize:()V
4: .line 79
goto 7
end local 5 // android.gesture.Instance instance
end local 4 // float[] pts
5: .line 80
StackMap locals:
StackMap stack:
aload 2 /* gesture */
invokestatic android.gesture.Instance.spatialSampler:(Landroid/gesture/Gesture;)[F
astore 4 /* pts */
start local 4 // float[] pts
6: .line 81
new android.gesture.Instance
dup
aload 2 /* gesture */
invokevirtual android.gesture.Gesture.getID:()J
aload 4 /* pts */
aload 3 /* label */
invokespecial android.gesture.Instance.<init>:(J[FLjava/lang/String;)V
astore 5 /* instance */
start local 5 // android.gesture.Instance instance
7: .line 83
StackMap locals: float[] android.gesture.Instance
StackMap stack:
aload 5 /* instance */
areturn
end local 5 // android.gesture.Instance instance
end local 4 // float[] pts
end local 3 // java.lang.String label
end local 2 // android.gesture.Gesture gesture
end local 1 // int orientationType
end local 0 // int sequenceType
LocalVariableTable:
Start End Slot Name Signature
0 8 0 sequenceType I
0 8 1 orientationType I
0 8 2 gesture Landroid/gesture/Gesture;
0 8 3 label Ljava/lang/String;
2 5 4 pts [F
6 8 4 pts [F
3 5 5 instance Landroid/gesture/Instance;
7 8 5 instance Landroid/gesture/Instance;
MethodParameters:
Name Flags
sequenceType
orientationType
gesture
label
private static float[] spatialSampler(android.gesture.Gesture);
descriptor: (Landroid/gesture/Gesture;)[F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // android.gesture.Gesture gesture
0: .line 87
aload 0 /* gesture */
bipush 16
iconst_0
invokestatic android.gesture.GestureUtils.spatialSampling:(Landroid/gesture/Gesture;IZ)[F
areturn
end local 0 // android.gesture.Gesture gesture
LocalVariableTable:
Start End Slot Name Signature
0 1 0 gesture Landroid/gesture/Gesture;
MethodParameters:
Name Flags
gesture
private static float[] temporalSampler(int, android.gesture.Gesture);
descriptor: (ILandroid/gesture/Gesture;)[F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=2
start local 0 // int orientationType
start local 1 // android.gesture.Gesture gesture
0: .line 91
aload 1 /* gesture */
invokevirtual android.gesture.Gesture.getStrokes:()Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.gesture.GestureStroke
1: .line 92
bipush 16
2: .line 91
invokestatic android.gesture.GestureUtils.temporalSampling:(Landroid/gesture/GestureStroke;I)[F
astore 2 /* pts */
start local 2 // float[] pts
3: .line 93
aload 2 /* pts */
invokestatic android.gesture.GestureUtils.computeCentroid:([F)[F
astore 3 /* center */
start local 3 // float[] center
4: .line 94
aload 2 /* pts */
iconst_1
faload
aload 3 /* center */
iconst_1
faload
fsub
f2d
aload 2 /* pts */
iconst_0
faload
aload 3 /* center */
iconst_0
faload
fsub
f2d
invokestatic java.lang.Math.atan2:(DD)D
d2f
fstore 4 /* orientation */
start local 4 // float orientation
5: .line 96
fload 4 /* orientation */
fneg
fstore 5 /* adjustment */
start local 5 // float adjustment
6: .line 97
iload 0 /* orientationType */
iconst_1
if_icmpeq 15
7: .line 98
getstatic android.gesture.Instance.ORIENTATIONS:[F
arraylength
istore 6 /* count */
start local 6 // int count
8: .line 99
iconst_0
istore 7 /* i */
start local 7 // int i
9: goto 14
10: .line 100
StackMap locals: int android.gesture.Gesture float[] float[] float float int int
StackMap stack:
getstatic android.gesture.Instance.ORIENTATIONS:[F
iload 7 /* i */
faload
fload 4 /* orientation */
fsub
fstore 8 /* delta */
start local 8 // float delta
11: .line 101
fload 8 /* delta */
invokestatic java.lang.Math.abs:(F)F
fload 5 /* adjustment */
invokestatic java.lang.Math.abs:(F)F
fcmpg
ifge 13
12: .line 102
fload 8 /* delta */
fstore 5 /* adjustment */
end local 8 // float delta
13: .line 99
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
14: iload 7 /* i */
iload 6 /* count */
if_icmplt 10
end local 7 // int i
end local 6 // int count
15: .line 107
StackMap locals:
StackMap stack:
aload 2 /* pts */
aload 3 /* center */
iconst_0
faload
fneg
aload 3 /* center */
iconst_1
faload
fneg
invokestatic android.gesture.GestureUtils.translate:([FFF)[F
pop
16: .line 108
aload 2 /* pts */
fload 5 /* adjustment */
invokestatic android.gesture.GestureUtils.rotate:([FF)[F
pop
17: .line 110
aload 2 /* pts */
areturn
end local 5 // float adjustment
end local 4 // float orientation
end local 3 // float[] center
end local 2 // float[] pts
end local 1 // android.gesture.Gesture gesture
end local 0 // int orientationType
LocalVariableTable:
Start End Slot Name Signature
0 18 0 orientationType I
0 18 1 gesture Landroid/gesture/Gesture;
3 18 2 pts [F
4 18 3 center [F
5 18 4 orientation F
6 18 5 adjustment F
8 15 6 count I
9 15 7 i I
11 13 8 delta F
MethodParameters:
Name Flags
orientationType
gesture
}
SourceFile: "Instance.java"