public class android.view.TouchDelegate
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.view.TouchDelegate
super_class: java.lang.Object
{
private android.view.View mDelegateView;
descriptor: Landroid/view/View;
flags: (0x0002) ACC_PRIVATE
private android.graphics.Rect mBounds;
descriptor: Landroid/graphics/Rect;
flags: (0x0002) ACC_PRIVATE
private android.graphics.Rect mSlopBounds;
descriptor: Landroid/graphics/Rect;
flags: (0x0002) ACC_PRIVATE
private boolean mDelegateTargeted;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public static final int ABOVE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int BELOW;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int TO_LEFT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int TO_RIGHT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private int mSlop;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(android.graphics.Rect, android.view.View);
descriptor: (Landroid/graphics/Rect;Landroid/view/View;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield android.view.TouchDelegate.mBounds:Landroid/graphics/Rect;
2: aload 0
aload 2
invokevirtual android.view.View.getContext:()Landroid/content/Context;
invokestatic android.view.ViewConfiguration.get:(Landroid/content/Context;)Landroid/view/ViewConfiguration;
invokevirtual android.view.ViewConfiguration.getScaledTouchSlop:()I
putfield android.view.TouchDelegate.mSlop:I
3: aload 0
new android.graphics.Rect
dup
aload 1
invokespecial android.graphics.Rect.<init>:(Landroid/graphics/Rect;)V
putfield android.view.TouchDelegate.mSlopBounds:Landroid/graphics/Rect;
4: aload 0
getfield android.view.TouchDelegate.mSlopBounds:Landroid/graphics/Rect;
aload 0
getfield android.view.TouchDelegate.mSlop:I
ineg
aload 0
getfield android.view.TouchDelegate.mSlop:I
ineg
invokevirtual android.graphics.Rect.inset:(II)V
5: aload 0
aload 2
putfield android.view.TouchDelegate.mDelegateView:Landroid/view/View;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/view/TouchDelegate;
0 7 1 bounds Landroid/graphics/Rect;
0 7 2 delegateView Landroid/view/View;
MethodParameters:
Name Flags
bounds
delegateView
public boolean onTouchEvent(android.view.MotionEvent);
descriptor: (Landroid/view/MotionEvent;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual android.view.MotionEvent.getX:()F
f2i
istore 2
start local 2 1: aload 1
invokevirtual android.view.MotionEvent.getY:()F
f2i
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: iconst_1
istore 5
start local 5 4: iconst_0
istore 6
start local 6 5: aload 1
invokevirtual android.view.MotionEvent.getActionMasked:()I
tableswitch { // 0 - 6
0: 6
1: 9
2: 9
3: 15
4: 17
5: 9
6: 9
default: 17
}
6: StackMap locals: android.view.TouchDelegate android.view.MotionEvent int int int int int
StackMap stack:
aload 0
aload 0
getfield android.view.TouchDelegate.mBounds:Landroid/graphics/Rect;
iload 2
iload 3
invokevirtual android.graphics.Rect.contains:(II)Z
putfield android.view.TouchDelegate.mDelegateTargeted:Z
7: aload 0
getfield android.view.TouchDelegate.mDelegateTargeted:Z
istore 4
8: goto 17
9: StackMap locals:
StackMap stack:
aload 0
getfield android.view.TouchDelegate.mDelegateTargeted:Z
istore 4
10: iload 4
ifeq 17
11: aload 0
getfield android.view.TouchDelegate.mSlopBounds:Landroid/graphics/Rect;
astore 7
start local 7 12: aload 7
iload 2
iload 3
invokevirtual android.graphics.Rect.contains:(II)Z
ifne 17
13: iconst_0
istore 5
end local 7 14: goto 17
15: StackMap locals:
StackMap stack:
aload 0
getfield android.view.TouchDelegate.mDelegateTargeted:Z
istore 4
16: aload 0
iconst_0
putfield android.view.TouchDelegate.mDelegateTargeted:Z
17: StackMap locals:
StackMap stack:
iload 4
ifeq 25
18: aload 0
getfield android.view.TouchDelegate.mDelegateView:Landroid/view/View;
astore 7
start local 7 19: iload 5
ifeq 22
20: aload 1
aload 7
invokevirtual android.view.View.getWidth:()I
iconst_2
idiv
i2f
aload 7
invokevirtual android.view.View.getHeight:()I
iconst_2
idiv
i2f
invokevirtual android.view.MotionEvent.setLocation:(FF)V
21: goto 24
22: StackMap locals: android.view.View
StackMap stack:
aload 0
getfield android.view.TouchDelegate.mSlop:I
istore 8
start local 8 23: aload 1
iload 8
iconst_2
imul
ineg
i2f
iload 8
iconst_2
imul
ineg
i2f
invokevirtual android.view.MotionEvent.setLocation:(FF)V
end local 8 24: StackMap locals:
StackMap stack:
aload 7
aload 1
invokevirtual android.view.View.dispatchTouchEvent:(Landroid/view/MotionEvent;)Z
istore 6
end local 7 25: StackMap locals:
StackMap stack:
iload 6
ireturn
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 26 0 this Landroid/view/TouchDelegate;
0 26 1 event Landroid/view/MotionEvent;
1 26 2 x I
2 26 3 y I
3 26 4 sendToDelegate Z
4 26 5 hit Z
5 26 6 handled Z
12 14 7 slopBounds Landroid/graphics/Rect;
19 25 7 delegateView Landroid/view/View;
23 24 8 slop I
MethodParameters:
Name Flags
event
}
SourceFile: "TouchDelegate.java"