public class android.gesture.GestureStroke
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.gesture.GestureStroke
super_class: java.lang.Object
{
static final float TOUCH_TOLERANCE;
descriptor: F
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3.0
public final android.graphics.RectF boundingBox;
descriptor: Landroid/graphics/RectF;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final float length;
descriptor: F
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final float[] points;
descriptor: [F
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
private final long[] timestamps;
descriptor: [J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private android.graphics.Path mCachedPath;
descriptor: Landroid/graphics/Path;
flags: (0x0002) ACC_PRIVATE
public void <init>(java.util.ArrayList<android.gesture.GesturePoint>);
descriptor: (Ljava/util/ArrayList;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=10, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokevirtual java.util.ArrayList.size:()I
istore 2
start local 2 2: iload 2
iconst_2
imul
newarray 6
astore 3
start local 3 3: iload 2
newarray 11
astore 4
start local 4 4: aconst_null
astore 5
start local 5 5: fconst_0
fstore 6
start local 6 6: iconst_0
istore 7
start local 7 7: iconst_0
istore 8
start local 8 8: goto 25
9: StackMap locals: android.gesture.GestureStroke java.util.ArrayList int float[] long[] android.graphics.RectF float int int
StackMap stack:
aload 1
iload 8
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.gesture.GesturePoint
astore 9
start local 9 10: aload 3
iload 8
iconst_2
imul
aload 9
getfield android.gesture.GesturePoint.x:F
fastore
11: aload 3
iload 8
iconst_2
imul
iconst_1
iadd
aload 9
getfield android.gesture.GesturePoint.y:F
fastore
12: aload 4
iload 7
aload 9
getfield android.gesture.GesturePoint.timestamp:J
lastore
13: aload 5
ifnonnull 21
14: new android.graphics.RectF
dup
invokespecial android.graphics.RectF.<init>:()V
astore 5
15: aload 5
aload 9
getfield android.gesture.GesturePoint.y:F
putfield android.graphics.RectF.top:F
16: aload 5
aload 9
getfield android.gesture.GesturePoint.x:F
putfield android.graphics.RectF.left:F
17: aload 5
aload 9
getfield android.gesture.GesturePoint.x:F
putfield android.graphics.RectF.right:F
18: aload 5
aload 9
getfield android.gesture.GesturePoint.y:F
putfield android.graphics.RectF.bottom:F
19: fconst_0
fstore 6
20: goto 23
21: StackMap locals: android.gesture.GesturePoint
StackMap stack:
fload 6
f2d
aload 9
getfield android.gesture.GesturePoint.x:F
aload 3
iload 8
iconst_1
isub
iconst_2
imul
faload
fsub
f2d
aload 9
getfield android.gesture.GesturePoint.y:F
aload 3
iload 8
iconst_1
isub
iconst_2
imul
iconst_1
iadd
faload
fsub
f2d
invokestatic java.lang.Math.hypot:(DD)D
dadd
d2f
fstore 6
22: aload 5
aload 9
getfield android.gesture.GesturePoint.x:F
aload 9
getfield android.gesture.GesturePoint.y:F
invokevirtual android.graphics.RectF.union:(FF)V
23: StackMap locals:
StackMap stack:
iinc 7 1
end local 9 24: iinc 8 1
StackMap locals:
StackMap stack:
25: iload 8
iload 2
if_icmplt 9
end local 8 26: aload 0
aload 4
putfield android.gesture.GestureStroke.timestamps:[J
27: aload 0
aload 3
putfield android.gesture.GestureStroke.points:[F
28: aload 0
aload 5
putfield android.gesture.GestureStroke.boundingBox:Landroid/graphics/RectF;
29: aload 0
fload 6
putfield android.gesture.GestureStroke.length:F
30: 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 31 0 this Landroid/gesture/GestureStroke;
0 31 1 points Ljava/util/ArrayList<Landroid/gesture/GesturePoint;>;
2 31 2 count I
3 31 3 tmpPoints [F
4 31 4 times [J
5 31 5 bx Landroid/graphics/RectF;
6 31 6 len F
7 31 7 index I
8 26 8 i I
10 24 9 p Landroid/gesture/GesturePoint;
Signature: (Ljava/util/ArrayList<Landroid/gesture/GesturePoint;>;)V
MethodParameters:
Name Flags
points
private void <init>(android.graphics.RectF, float, float[], long[]);
descriptor: (Landroid/graphics/RectF;F[F[J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new android.graphics.RectF
dup
aload 1
getfield android.graphics.RectF.left:F
aload 1
getfield android.graphics.RectF.top:F
aload 1
getfield android.graphics.RectF.right:F
aload 1
getfield android.graphics.RectF.bottom:F
invokespecial android.graphics.RectF.<init>:(FFFF)V
putfield android.gesture.GestureStroke.boundingBox:Landroid/graphics/RectF;
2: aload 0
fload 2
putfield android.gesture.GestureStroke.length:F
3: aload 0
aload 3
invokevirtual float[].clone:()Ljava/lang/Object;
checkcast float[]
putfield android.gesture.GestureStroke.points:[F
4: aload 0
aload 4
invokevirtual long[].clone:()Ljava/lang/Object;
checkcast long[]
putfield android.gesture.GestureStroke.timestamps:[J
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/gesture/GestureStroke;
0 6 1 bbx Landroid/graphics/RectF;
0 6 2 len F
0 6 3 pts [F
0 6 4 times [J
MethodParameters:
Name Flags
bbx
len
pts
times
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: new android.gesture.GestureStroke
dup
aload 0
getfield android.gesture.GestureStroke.boundingBox:Landroid/graphics/RectF;
aload 0
getfield android.gesture.GestureStroke.length:F
aload 0
getfield android.gesture.GestureStroke.points:[F
aload 0
getfield android.gesture.GestureStroke.timestamps:[J
invokespecial android.gesture.GestureStroke.<init>:(Landroid/graphics/RectF;F[F[J)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/gesture/GestureStroke;
void draw(android.graphics.Canvas, android.graphics.Paint);
descriptor: (Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.gesture.GestureStroke.mCachedPath:Landroid/graphics/Path;
ifnonnull 2
1: aload 0
invokevirtual android.gesture.GestureStroke.makePath:()V
2: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield android.gesture.GestureStroke.mCachedPath:Landroid/graphics/Path;
aload 2
invokevirtual android.graphics.Canvas.drawPath:(Landroid/graphics/Path;Landroid/graphics/Paint;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/gesture/GestureStroke;
0 4 1 canvas Landroid/graphics/Canvas;
0 4 2 paint Landroid/graphics/Paint;
MethodParameters:
Name Flags
canvas
paint
public android.graphics.Path getPath();
descriptor: ()Landroid/graphics/Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.gesture.GestureStroke.mCachedPath:Landroid/graphics/Path;
ifnonnull 2
1: aload 0
invokevirtual android.gesture.GestureStroke.makePath:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield android.gesture.GestureStroke.mCachedPath:Landroid/graphics/Path;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/gesture/GestureStroke;
private void makePath();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=1
start local 0 0: aload 0
getfield android.gesture.GestureStroke.points:[F
astore 1
start local 1 1: aload 1
arraylength
istore 2
start local 2 2: aconst_null
astore 3
start local 3 3: fconst_0
fstore 4
start local 4 4: fconst_0
fstore 5
start local 5 5: iconst_0
istore 6
start local 6 6: goto 22
7: StackMap locals: android.gesture.GestureStroke float[] int android.graphics.Path float float int
StackMap stack:
aload 1
iload 6
faload
fstore 7
start local 7 8: aload 1
iload 6
iconst_1
iadd
faload
fstore 8
start local 8 9: aload 3
ifnonnull 15
10: new android.graphics.Path
dup
invokespecial android.graphics.Path.<init>:()V
astore 3
11: aload 3
fload 7
fload 8
invokevirtual android.graphics.Path.moveTo:(FF)V
12: fload 7
fstore 4
13: fload 8
fstore 5
14: goto 21
15: StackMap locals: float float
StackMap stack:
fload 7
fload 4
fsub
invokestatic java.lang.Math.abs:(F)F
fstore 9
start local 9 16: fload 8
fload 5
fsub
invokestatic java.lang.Math.abs:(F)F
fstore 10
start local 10 17: fload 9
ldc 3.0
fcmpl
ifge 18
fload 10
ldc 3.0
fcmpl
iflt 21
18: StackMap locals: float float
StackMap stack:
aload 3
fload 4
fload 5
fload 7
fload 4
fadd
fconst_2
fdiv
fload 8
fload 5
fadd
fconst_2
fdiv
invokevirtual android.graphics.Path.quadTo:(FFFF)V
19: fload 7
fstore 4
20: fload 8
fstore 5
end local 10 end local 9 end local 8 end local 7 21: StackMap locals: android.gesture.GestureStroke float[] int android.graphics.Path float float int
StackMap stack:
iinc 6 2
StackMap locals:
StackMap stack:
22: iload 6
iload 2
if_icmplt 7
end local 6 23: aload 0
aload 3
putfield android.gesture.GestureStroke.mCachedPath:Landroid/graphics/Path;
24: return
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 25 0 this Landroid/gesture/GestureStroke;
1 25 1 localPoints [F
2 25 2 count I
3 25 3 path Landroid/graphics/Path;
4 25 4 mX F
5 25 5 mY F
6 23 6 i I
8 21 7 x F
9 21 8 y F
16 21 9 dx F
17 21 10 dy F
public android.graphics.Path toPath(float, float, int);
descriptor: (FFI)Landroid/graphics/Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=18, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 3
invokestatic android.gesture.GestureUtils.temporalSampling:(Landroid/gesture/GestureStroke;I)[F
astore 4
start local 4 1: aload 0
getfield android.gesture.GestureStroke.boundingBox:Landroid/graphics/RectF;
astore 5
start local 5 2: aload 4
aload 5
getfield android.graphics.RectF.left:F
fneg
aload 5
getfield android.graphics.RectF.top:F
fneg
invokestatic android.gesture.GestureUtils.translate:([FFF)[F
pop
3: fload 1
aload 5
invokevirtual android.graphics.RectF.width:()F
fdiv
fstore 6
start local 6 4: fload 2
aload 5
invokevirtual android.graphics.RectF.height:()F
fdiv
fstore 7
start local 7 5: fload 6
fload 7
fcmpl
ifle 6
fload 7
goto 7
StackMap locals: android.gesture.GestureStroke float float int float[] android.graphics.RectF float float
StackMap stack:
6: fload 6
StackMap locals:
StackMap stack: float
7: fstore 8
start local 8 8: aload 4
fload 8
fload 8
invokestatic android.gesture.GestureUtils.scale:([FFF)[F
pop
9: fconst_0
fstore 9
start local 9 10: fconst_0
fstore 10
start local 10 11: aconst_null
astore 11
start local 11 12: aload 4
arraylength
istore 12
start local 12 13: iconst_0
istore 13
start local 13 14: goto 30
15: StackMap locals: android.gesture.GestureStroke float float int float[] android.graphics.RectF float float float float float android.graphics.Path int int
StackMap stack:
aload 4
iload 13
faload
fstore 14
start local 14 16: aload 4
iload 13
iconst_1
iadd
faload
fstore 15
start local 15 17: aload 11
ifnonnull 23
18: new android.graphics.Path
dup
invokespecial android.graphics.Path.<init>:()V
astore 11
19: aload 11
fload 14
fload 15
invokevirtual android.graphics.Path.moveTo:(FF)V
20: fload 14
fstore 9
21: fload 15
fstore 10
22: goto 29
23: StackMap locals: float float
StackMap stack:
fload 14
fload 9
fsub
invokestatic java.lang.Math.abs:(F)F
fstore 16
start local 16 24: fload 15
fload 10
fsub
invokestatic java.lang.Math.abs:(F)F
fstore 17
start local 17 25: fload 16
ldc 3.0
fcmpl
ifge 26
fload 17
ldc 3.0
fcmpl
iflt 29
26: StackMap locals: float float
StackMap stack:
aload 11
fload 9
fload 10
fload 14
fload 9
fadd
fconst_2
fdiv
fload 15
fload 10
fadd
fconst_2
fdiv
invokevirtual android.graphics.Path.quadTo:(FFFF)V
27: fload 14
fstore 9
28: fload 15
fstore 10
end local 17 end local 16 end local 15 end local 14 29: StackMap locals: android.gesture.GestureStroke float float int float[] android.graphics.RectF float float float float float android.graphics.Path int int
StackMap stack:
iinc 13 2
StackMap locals:
StackMap stack:
30: iload 13
iload 12
if_icmplt 15
end local 13 31: aload 11
areturn
end local 12 end local 11 end local 10 end local 9 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 32 0 this Landroid/gesture/GestureStroke;
0 32 1 width F
0 32 2 height F
0 32 3 numSample I
1 32 4 pts [F
2 32 5 rect Landroid/graphics/RectF;
4 32 6 sx F
5 32 7 sy F
8 32 8 scale F
10 32 9 mX F
11 32 10 mY F
12 32 11 path Landroid/graphics/Path;
13 32 12 count I
14 31 13 i I
16 29 14 x F
17 29 15 y F
24 29 16 dx F
25 29 17 dy F
MethodParameters:
Name Flags
width
height
numSample
void serialize(java.io.DataOutputStream);
descriptor: (Ljava/io/DataOutputStream;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield android.gesture.GestureStroke.points:[F
astore 2
start local 2 1: aload 0
getfield android.gesture.GestureStroke.timestamps:[J
astore 3
start local 3 2: aload 0
getfield android.gesture.GestureStroke.points:[F
arraylength
istore 4
start local 4 3: aload 1
iload 4
iconst_2
idiv
invokevirtual java.io.DataOutputStream.writeInt:(I)V
4: iconst_0
istore 5
start local 5 5: goto 10
6: StackMap locals: android.gesture.GestureStroke java.io.DataOutputStream float[] long[] int int
StackMap stack:
aload 1
aload 2
iload 5
faload
invokevirtual java.io.DataOutputStream.writeFloat:(F)V
7: aload 1
aload 2
iload 5
iconst_1
iadd
faload
invokevirtual java.io.DataOutputStream.writeFloat:(F)V
8: aload 1
aload 3
iload 5
iconst_2
idiv
laload
invokevirtual java.io.DataOutputStream.writeLong:(J)V
9: iinc 5 2
StackMap locals:
StackMap stack:
10: iload 5
iload 4
if_icmplt 6
end local 5 11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/gesture/GestureStroke;
0 12 1 out Ljava/io/DataOutputStream;
1 12 2 pts [F
2 12 3 times [J
3 12 4 count I
5 11 5 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
static android.gesture.GestureStroke deserialize(java.io.DataInputStream);
descriptor: (Ljava/io/DataInputStream;)Landroid/gesture/GestureStroke;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.io.DataInputStream.readInt:()I
istore 1
start local 1 1: new java.util.ArrayList
dup
iload 1
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: int java.util.ArrayList int
StackMap stack:
aload 2
aload 0
invokestatic android.gesture.GesturePoint.deserialize:(Ljava/io/DataInputStream;)Landroid/gesture/GesturePoint;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 1
if_icmplt 4
end local 3 7: new android.gesture.GestureStroke
dup
aload 2
invokespecial android.gesture.GestureStroke.<init>:(Ljava/util/ArrayList;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 in Ljava/io/DataInputStream;
1 8 1 count I
2 8 2 points Ljava/util/ArrayList<Landroid/gesture/GesturePoint;>;
3 7 3 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
public void clearPath();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.gesture.GestureStroke.mCachedPath:Landroid/graphics/Path;
ifnull 1
aload 0
getfield android.gesture.GestureStroke.mCachedPath:Landroid/graphics/Path;
invokevirtual android.graphics.Path.rewind:()V
1: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/gesture/GestureStroke;
public android.gesture.OrientedBoundingBox computeOrientedBoundingBox();
descriptor: ()Landroid/gesture/OrientedBoundingBox;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.gesture.GestureStroke.points:[F
invokestatic android.gesture.GestureUtils.computeOrientedBoundingBox:([F)Landroid/gesture/OrientedBoundingBox;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/gesture/GestureStroke;
}
SourceFile: "GestureStroke.java"