public abstract class com.android.internal.widget.ExploreByTouchHelper extends android.view.View$AccessibilityDelegate
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.android.internal.widget.ExploreByTouchHelper
super_class: android.view.View$AccessibilityDelegate
{
public static final int INVALID_ID;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -2147483648
public static final int HOST_ID;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final java.lang.String DEFAULT_CLASS_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final android.graphics.Rect INVALID_PARENT_BOUNDS;
descriptor: Landroid/graphics/Rect;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private android.graphics.Rect mTempScreenRect;
descriptor: Landroid/graphics/Rect;
flags: (0x0002) ACC_PRIVATE
private android.graphics.Rect mTempParentRect;
descriptor: Landroid/graphics/Rect;
flags: (0x0002) ACC_PRIVATE
private int[] mTempGlobalRect;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private android.graphics.Rect mTempVisibleRect;
descriptor: Landroid/graphics/Rect;
flags: (0x0002) ACC_PRIVATE
private android.util.IntArray mTempArray;
descriptor: Landroid/util/IntArray;
flags: (0x0002) ACC_PRIVATE
private final android.view.accessibility.AccessibilityManager mManager;
descriptor: Landroid/view/accessibility/AccessibilityManager;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.view.View mView;
descriptor: Landroid/view/View;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.android.internal.widget.ExploreByTouchHelper$ExploreByTouchNodeProvider mNodeProvider;
descriptor: Lcom/android/internal/widget/ExploreByTouchHelper$ExploreByTouchNodeProvider;
flags: (0x0002) ACC_PRIVATE
private int mFocusedVirtualViewId;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mHoveredVirtualViewId;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: ldc Landroid/view/View;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
putstatic com.android.internal.widget.ExploreByTouchHelper.DEFAULT_CLASS_NAME:Ljava/lang/String;
1: new android.graphics.Rect
dup
2: ldc 2147483647
ldc 2147483647
ldc -2147483648
ldc -2147483648
3: invokespecial android.graphics.Rect.<init>:(IIII)V
putstatic com.android.internal.widget.ExploreByTouchHelper.INVALID_PARENT_BOUNDS:Landroid/graphics/Rect;
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(android.view.View);
descriptor: (Landroid/view/View;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial android.view.View$AccessibilityDelegate.<init>:()V
1: aload 0
ldc -2147483648
putfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
2: aload 0
ldc -2147483648
putfield com.android.internal.widget.ExploreByTouchHelper.mHoveredVirtualViewId:I
3: aload 1
ifnonnull 5
4: new java.lang.IllegalArgumentException
dup
ldc "View may not be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: com.android.internal.widget.ExploreByTouchHelper android.view.View
StackMap stack:
aload 0
aload 1
putfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
6: aload 0
aload 1
invokevirtual android.view.View.getContext:()Landroid/content/Context;
putfield com.android.internal.widget.ExploreByTouchHelper.mContext:Landroid/content/Context;
7: aload 0
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mContext:Landroid/content/Context;
ldc "accessibility"
invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
checkcast android.view.accessibility.AccessibilityManager
putfield com.android.internal.widget.ExploreByTouchHelper.mManager:Landroid/view/accessibility/AccessibilityManager;
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 9 1 forView Landroid/view/View;
MethodParameters:
Name Flags
forView
public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider(android.view.View);
descriptor: (Landroid/view/View;)Landroid/view/accessibility/AccessibilityNodeProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mNodeProvider:Lcom/android/internal/widget/ExploreByTouchHelper$ExploreByTouchNodeProvider;
ifnonnull 2
1: aload 0
new com.android.internal.widget.ExploreByTouchHelper$ExploreByTouchNodeProvider
dup
aload 0
invokespecial com.android.internal.widget.ExploreByTouchHelper$ExploreByTouchNodeProvider.<init>:(Lcom/android/internal/widget/ExploreByTouchHelper;)V
putfield com.android.internal.widget.ExploreByTouchHelper.mNodeProvider:Lcom/android/internal/widget/ExploreByTouchHelper$ExploreByTouchNodeProvider;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mNodeProvider:Lcom/android/internal/widget/ExploreByTouchHelper$ExploreByTouchNodeProvider;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 3 1 host Landroid/view/View;
MethodParameters:
Name Flags
host
public boolean dispatchHoverEvent(android.view.MotionEvent);
descriptor: (Landroid/view/MotionEvent;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mManager:Landroid/view/accessibility/AccessibilityManager;
invokevirtual android.view.accessibility.AccessibilityManager.isEnabled:()Z
ifeq 1
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mManager:Landroid/view/accessibility/AccessibilityManager;
invokevirtual android.view.accessibility.AccessibilityManager.isTouchExplorationEnabled:()Z
ifne 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual android.view.MotionEvent.getAction:()I
tableswitch { // 7 - 10
7: 3
8: 11
9: 3
10: 7
default: 11
}
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual android.view.MotionEvent.getX:()F
aload 1
invokevirtual android.view.MotionEvent.getY:()F
invokevirtual com.android.internal.widget.ExploreByTouchHelper.getVirtualViewAt:(FF)I
istore 2
start local 2 4: aload 0
iload 2
invokevirtual com.android.internal.widget.ExploreByTouchHelper.updateHoveredVirtualView:(I)V
5: iload 2
ldc -2147483648
if_icmpeq 6
iconst_1
ireturn
StackMap locals: int
StackMap stack:
6: iconst_0
ireturn
end local 2 7: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
ldc -2147483648
if_icmpeq 10
8: aload 0
ldc -2147483648
invokevirtual com.android.internal.widget.ExploreByTouchHelper.updateHoveredVirtualView:(I)V
9: iconst_1
ireturn
10: StackMap locals:
StackMap stack:
iconst_0
ireturn
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 12 1 event Landroid/view/MotionEvent;
4 7 2 virtualViewId I
MethodParameters:
Name Flags
event
public boolean sendEventForVirtualView(int, int);
descriptor: (II)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ldc -2147483648
if_icmpeq 1
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mManager:Landroid/view/accessibility/AccessibilityManager;
invokevirtual android.view.accessibility.AccessibilityManager.isEnabled:()Z
ifne 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
astore 3
start local 3 3: aload 3
ifnonnull 5
4: iconst_0
ireturn
5: StackMap locals: android.view.ViewParent
StackMap stack:
aload 0
iload 1
iload 2
invokevirtual com.android.internal.widget.ExploreByTouchHelper.createEvent:(II)Landroid/view/accessibility/AccessibilityEvent;
astore 4
start local 4 6: aload 3
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
aload 4
invokeinterface android.view.ViewParent.requestSendAccessibilityEvent:(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 7 1 virtualViewId I
0 7 2 eventType I
3 7 3 parent Landroid/view/ViewParent;
6 7 4 event Landroid/view/accessibility/AccessibilityEvent;
MethodParameters:
Name Flags
virtualViewId
eventType
public void invalidateRoot();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_m1
iconst_1
invokevirtual com.android.internal.widget.ExploreByTouchHelper.invalidateVirtualView:(II)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
public void invalidateVirtualView(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
1: iconst_0
2: invokevirtual com.android.internal.widget.ExploreByTouchHelper.invalidateVirtualView:(II)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 4 1 virtualViewId I
MethodParameters:
Name Flags
virtualViewId
public void invalidateVirtualView(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ldc -2147483648
if_icmpeq 8
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mManager:Landroid/view/accessibility/AccessibilityManager;
invokevirtual android.view.accessibility.AccessibilityManager.isEnabled:()Z
ifeq 8
1: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
astore 3
start local 3 2: aload 3
ifnull 8
3: aload 0
iload 1
4: sipush 2048
5: invokevirtual com.android.internal.widget.ExploreByTouchHelper.createEvent:(II)Landroid/view/accessibility/AccessibilityEvent;
astore 4
start local 4 6: aload 4
iload 2
invokevirtual android.view.accessibility.AccessibilityEvent.setContentChangeTypes:(I)V
7: aload 3
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
aload 4
invokeinterface android.view.ViewParent.requestSendAccessibilityEvent:(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
pop
end local 4 end local 3 8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 9 1 virtualViewId I
0 9 2 changeTypes I
2 8 3 parent Landroid/view/ViewParent;
6 8 4 event Landroid/view/accessibility/AccessibilityEvent;
MethodParameters:
Name Flags
virtualViewId
changeTypes
public int getFocusedVirtualView();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
private void updateHoveredVirtualView(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mHoveredVirtualViewId:I
iload 1
if_icmpne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mHoveredVirtualViewId:I
istore 2
start local 2 3: aload 0
iload 1
putfield com.android.internal.widget.ExploreByTouchHelper.mHoveredVirtualViewId:I
4: aload 0
iload 1
sipush 128
invokevirtual com.android.internal.widget.ExploreByTouchHelper.sendEventForVirtualView:(II)Z
pop
5: aload 0
iload 2
sipush 256
invokevirtual com.android.internal.widget.ExploreByTouchHelper.sendEventForVirtualView:(II)Z
pop
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 7 1 virtualViewId I
3 7 2 previousVirtualViewId I
MethodParameters:
Name Flags
virtualViewId
private android.view.accessibility.AccessibilityEvent createEvent(int, int);
descriptor: (II)Landroid/view/accessibility/AccessibilityEvent;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
tableswitch { // -1 - -1
-1: 1
default: 2
}
1: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.android.internal.widget.ExploreByTouchHelper.createEventForHost:(I)Landroid/view/accessibility/AccessibilityEvent;
areturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
invokevirtual com.android.internal.widget.ExploreByTouchHelper.createEventForChild:(II)Landroid/view/accessibility/AccessibilityEvent;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 3 1 virtualViewId I
0 3 2 eventType I
MethodParameters:
Name Flags
virtualViewId
eventType
private android.view.accessibility.AccessibilityEvent createEventForHost(int);
descriptor: (I)Landroid/view/accessibility/AccessibilityEvent;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
invokestatic android.view.accessibility.AccessibilityEvent.obtain:(I)Landroid/view/accessibility/AccessibilityEvent;
astore 2
start local 2 1: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
aload 2
invokevirtual android.view.View.onInitializeAccessibilityEvent:(Landroid/view/accessibility/AccessibilityEvent;)V
2: aload 0
aload 2
invokevirtual com.android.internal.widget.ExploreByTouchHelper.onPopulateEventForHost:(Landroid/view/accessibility/AccessibilityEvent;)V
3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 4 1 eventType I
1 4 2 event Landroid/view/accessibility/AccessibilityEvent;
MethodParameters:
Name Flags
eventType
private android.view.accessibility.AccessibilityEvent createEventForChild(int, int);
descriptor: (II)Landroid/view/accessibility/AccessibilityEvent;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
invokestatic android.view.accessibility.AccessibilityEvent.obtain:(I)Landroid/view/accessibility/AccessibilityEvent;
astore 3
start local 3 1: aload 3
iconst_1
invokevirtual android.view.accessibility.AccessibilityEvent.setEnabled:(Z)V
2: aload 3
getstatic com.android.internal.widget.ExploreByTouchHelper.DEFAULT_CLASS_NAME:Ljava/lang/String;
invokevirtual android.view.accessibility.AccessibilityEvent.setClassName:(Ljava/lang/CharSequence;)V
3: aload 0
iload 1
aload 3
invokevirtual com.android.internal.widget.ExploreByTouchHelper.onPopulateEventForVirtualView:(ILandroid/view/accessibility/AccessibilityEvent;)V
4: aload 3
invokevirtual android.view.accessibility.AccessibilityEvent.getText:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 6
aload 3
invokevirtual android.view.accessibility.AccessibilityEvent.getContentDescription:()Ljava/lang/CharSequence;
ifnonnull 6
5: new java.lang.RuntimeException
dup
ldc "Callbacks must add text or a content description in populateEventForVirtualViewId()"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: android.view.accessibility.AccessibilityEvent
StackMap stack:
aload 3
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
invokevirtual android.view.View.getContext:()Landroid/content/Context;
invokevirtual android.content.Context.getPackageName:()Ljava/lang/String;
invokevirtual android.view.accessibility.AccessibilityEvent.setPackageName:(Ljava/lang/CharSequence;)V
7: aload 3
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
iload 1
invokevirtual android.view.accessibility.AccessibilityEvent.setSource:(Landroid/view/View;I)V
8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 9 1 virtualViewId I
0 9 2 eventType I
1 9 3 event Landroid/view/accessibility/AccessibilityEvent;
MethodParameters:
Name Flags
virtualViewId
eventType
private android.view.accessibility.AccessibilityNodeInfo createNode(int);
descriptor: (I)Landroid/view/accessibility/AccessibilityNodeInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // -1 - -1
-1: 1
default: 2
}
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.android.internal.widget.ExploreByTouchHelper.createNodeForHost:()Landroid/view/accessibility/AccessibilityNodeInfo;
areturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.android.internal.widget.ExploreByTouchHelper.createNodeForChild:(I)Landroid/view/accessibility/AccessibilityNodeInfo;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 3 1 virtualViewId I
MethodParameters:
Name Flags
virtualViewId
private android.view.accessibility.AccessibilityNodeInfo createNodeForHost();
descriptor: ()Landroid/view/accessibility/AccessibilityNodeInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
invokestatic android.view.accessibility.AccessibilityNodeInfo.obtain:(Landroid/view/View;)Landroid/view/accessibility/AccessibilityNodeInfo;
astore 1
start local 1 1: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
aload 1
invokevirtual android.view.View.onInitializeAccessibilityNodeInfo:(Landroid/view/accessibility/AccessibilityNodeInfo;)V
2: aload 1
invokevirtual android.view.accessibility.AccessibilityNodeInfo.getChildCount:()I
istore 2
start local 2 3: aload 0
aload 1
invokevirtual com.android.internal.widget.ExploreByTouchHelper.onPopulateNodeForHost:(Landroid/view/accessibility/AccessibilityNodeInfo;)V
4: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mTempArray:Landroid/util/IntArray;
ifnonnull 7
5: aload 0
new android.util.IntArray
dup
invokespecial android.util.IntArray.<init>:()V
putfield com.android.internal.widget.ExploreByTouchHelper.mTempArray:Landroid/util/IntArray;
6: goto 8
7: StackMap locals: android.view.accessibility.AccessibilityNodeInfo int
StackMap stack:
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mTempArray:Landroid/util/IntArray;
invokevirtual android.util.IntArray.clear:()V
8: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mTempArray:Landroid/util/IntArray;
astore 3
start local 3 9: aload 0
aload 3
invokevirtual com.android.internal.widget.ExploreByTouchHelper.getVisibleVirtualViews:(Landroid/util/IntArray;)V
10: iload 2
ifle 12
aload 3
invokevirtual android.util.IntArray.size:()I
ifle 12
11: new java.lang.RuntimeException
dup
ldc "Views cannot have both real and virtual children"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: android.util.IntArray
StackMap stack:
aload 3
invokevirtual android.util.IntArray.size:()I
istore 4
start local 4 13: iconst_0
istore 5
start local 5 14: goto 17
15: StackMap locals: int int
StackMap stack:
aload 1
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
aload 3
iload 5
invokevirtual android.util.IntArray.get:(I)I
invokevirtual android.view.accessibility.AccessibilityNodeInfo.addChild:(Landroid/view/View;I)V
16: iinc 5 1
StackMap locals:
StackMap stack:
17: iload 5
iload 4
if_icmplt 15
end local 5 18: aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
1 19 1 node Landroid/view/accessibility/AccessibilityNodeInfo;
3 19 2 realNodeCount I
9 19 3 virtualViewIds Landroid/util/IntArray;
13 19 4 N I
14 18 5 i I
private android.view.accessibility.AccessibilityNodeInfo createNodeForChild(int);
descriptor: (I)Landroid/view/accessibility/AccessibilityNodeInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.ExploreByTouchHelper.ensureTempRects:()V
1: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mTempParentRect:Landroid/graphics/Rect;
astore 2
start local 2 2: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mTempGlobalRect:[I
astore 3
start local 3 3: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mTempScreenRect:Landroid/graphics/Rect;
astore 4
start local 4 4: invokestatic android.view.accessibility.AccessibilityNodeInfo.obtain:()Landroid/view/accessibility/AccessibilityNodeInfo;
astore 5
start local 5 5: aload 5
iconst_1
invokevirtual android.view.accessibility.AccessibilityNodeInfo.setEnabled:(Z)V
6: aload 5
getstatic com.android.internal.widget.ExploreByTouchHelper.DEFAULT_CLASS_NAME:Ljava/lang/String;
invokevirtual android.view.accessibility.AccessibilityNodeInfo.setClassName:(Ljava/lang/CharSequence;)V
7: aload 5
getstatic com.android.internal.widget.ExploreByTouchHelper.INVALID_PARENT_BOUNDS:Landroid/graphics/Rect;
invokevirtual android.view.accessibility.AccessibilityNodeInfo.setBoundsInParent:(Landroid/graphics/Rect;)V
8: aload 0
iload 1
aload 5
invokevirtual com.android.internal.widget.ExploreByTouchHelper.onPopulateNodeForVirtualView:(ILandroid/view/accessibility/AccessibilityNodeInfo;)V
9: aload 5
invokevirtual android.view.accessibility.AccessibilityNodeInfo.getText:()Ljava/lang/CharSequence;
ifnonnull 11
aload 5
invokevirtual android.view.accessibility.AccessibilityNodeInfo.getContentDescription:()Ljava/lang/CharSequence;
ifnonnull 11
10: new java.lang.RuntimeException
dup
ldc "Callbacks must add text or a content description in populateNodeForVirtualViewId()"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: com.android.internal.widget.ExploreByTouchHelper int android.graphics.Rect int[] android.graphics.Rect android.view.accessibility.AccessibilityNodeInfo
StackMap stack:
aload 5
aload 2
invokevirtual android.view.accessibility.AccessibilityNodeInfo.getBoundsInParent:(Landroid/graphics/Rect;)V
12: aload 2
getstatic com.android.internal.widget.ExploreByTouchHelper.INVALID_PARENT_BOUNDS:Landroid/graphics/Rect;
invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
ifeq 14
13: new java.lang.RuntimeException
dup
ldc "Callbacks must set parent bounds in populateNodeForVirtualViewId()"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 5
invokevirtual android.view.accessibility.AccessibilityNodeInfo.getActions:()I
istore 6
start local 6 15: iload 6
bipush 64
iand
ifeq 17
16: new java.lang.RuntimeException
dup
ldc "Callbacks must not add ACTION_ACCESSIBILITY_FOCUS in populateNodeForVirtualViewId()"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals: int
StackMap stack:
iload 6
sipush 128
iand
ifeq 19
18: new java.lang.RuntimeException
dup
ldc "Callbacks must not add ACTION_CLEAR_ACCESSIBILITY_FOCUS in populateNodeForVirtualViewId()"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
aload 5
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
invokevirtual android.view.View.getContext:()Landroid/content/Context;
invokevirtual android.content.Context.getPackageName:()Ljava/lang/String;
invokevirtual android.view.accessibility.AccessibilityNodeInfo.setPackageName:(Ljava/lang/CharSequence;)V
20: aload 5
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
iload 1
invokevirtual android.view.accessibility.AccessibilityNodeInfo.setSource:(Landroid/view/View;I)V
21: aload 5
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
invokevirtual android.view.accessibility.AccessibilityNodeInfo.setParent:(Landroid/view/View;)V
22: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
iload 1
if_icmpne 26
23: aload 5
iconst_1
invokevirtual android.view.accessibility.AccessibilityNodeInfo.setAccessibilityFocused:(Z)V
24: aload 5
getstatic android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction.ACTION_CLEAR_ACCESSIBILITY_FOCUS:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;
invokevirtual android.view.accessibility.AccessibilityNodeInfo.addAction:(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V
25: goto 28
26: StackMap locals:
StackMap stack:
aload 5
iconst_0
invokevirtual android.view.accessibility.AccessibilityNodeInfo.setAccessibilityFocused:(Z)V
27: aload 5
getstatic android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction.ACTION_ACCESSIBILITY_FOCUS:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;
invokevirtual android.view.accessibility.AccessibilityNodeInfo.addAction:(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V
28: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual com.android.internal.widget.ExploreByTouchHelper.intersectVisibleToUser:(Landroid/graphics/Rect;)Z
ifeq 31
29: aload 5
iconst_1
invokevirtual android.view.accessibility.AccessibilityNodeInfo.setVisibleToUser:(Z)V
30: aload 5
aload 2
invokevirtual android.view.accessibility.AccessibilityNodeInfo.setBoundsInParent:(Landroid/graphics/Rect;)V
31: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
aload 3
invokevirtual android.view.View.getLocationOnScreen:([I)V
32: aload 3
iconst_0
iaload
istore 7
start local 7 33: aload 3
iconst_1
iaload
istore 8
start local 8 34: aload 4
aload 2
invokevirtual android.graphics.Rect.set:(Landroid/graphics/Rect;)V
35: aload 4
iload 7
iload 8
invokevirtual android.graphics.Rect.offset:(II)V
36: aload 5
aload 4
invokevirtual android.view.accessibility.AccessibilityNodeInfo.setBoundsInScreen:(Landroid/graphics/Rect;)V
37: aload 5
areturn
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 38 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 38 1 virtualViewId I
2 38 2 tempParentRect Landroid/graphics/Rect;
3 38 3 tempGlobalRect [I
4 38 4 tempScreenRect Landroid/graphics/Rect;
5 38 5 node Landroid/view/accessibility/AccessibilityNodeInfo;
15 38 6 actions I
33 38 7 offsetX I
34 38 8 offsetY I
MethodParameters:
Name Flags
virtualViewId
private void ensureTempRects();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
newarray 10
putfield com.android.internal.widget.ExploreByTouchHelper.mTempGlobalRect:[I
1: aload 0
new android.graphics.Rect
dup
invokespecial android.graphics.Rect.<init>:()V
putfield com.android.internal.widget.ExploreByTouchHelper.mTempParentRect:Landroid/graphics/Rect;
2: aload 0
new android.graphics.Rect
dup
invokespecial android.graphics.Rect.<init>:()V
putfield com.android.internal.widget.ExploreByTouchHelper.mTempScreenRect:Landroid/graphics/Rect;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
private boolean performAction(int, int, android.os.Bundle);
descriptor: (IILandroid/os/Bundle;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
tableswitch { // -1 - -1
-1: 1
default: 2
}
1: StackMap locals:
StackMap stack:
aload 0
iload 2
aload 3
invokevirtual com.android.internal.widget.ExploreByTouchHelper.performActionForHost:(ILandroid/os/Bundle;)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
aload 3
invokevirtual com.android.internal.widget.ExploreByTouchHelper.performActionForChild:(IILandroid/os/Bundle;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 3 1 virtualViewId I
0 3 2 action I
0 3 3 arguments Landroid/os/Bundle;
MethodParameters:
Name Flags
virtualViewId
action
arguments
private boolean performActionForHost(int, android.os.Bundle);
descriptor: (ILandroid/os/Bundle;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
iload 1
aload 2
invokevirtual android.view.View.performAccessibilityAction:(ILandroid/os/Bundle;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 1 1 action I
0 1 2 arguments Landroid/os/Bundle;
MethodParameters:
Name Flags
action
arguments
private boolean performActionForChild(int, int, android.os.Bundle);
descriptor: (IILandroid/os/Bundle;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
lookupswitch { // 2
64: 1
128: 1
default: 2
}
1: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
invokevirtual com.android.internal.widget.ExploreByTouchHelper.manageFocusForChild:(II)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
aload 3
invokevirtual com.android.internal.widget.ExploreByTouchHelper.onPerformActionForVirtualView:(IILandroid/os/Bundle;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 3 1 virtualViewId I
0 3 2 action I
0 3 3 arguments Landroid/os/Bundle;
MethodParameters:
Name Flags
virtualViewId
action
arguments
private boolean manageFocusForChild(int, int);
descriptor: (II)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
lookupswitch { // 2
64: 1
128: 2
default: 3
}
1: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.android.internal.widget.ExploreByTouchHelper.requestAccessibilityFocus:(I)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.android.internal.widget.ExploreByTouchHelper.clearAccessibilityFocus:(I)Z
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 4 1 virtualViewId I
0 4 2 action I
MethodParameters:
Name Flags
virtualViewId
action
private boolean intersectVisibleToUser(android.graphics.Rect);
descriptor: (Landroid/graphics/Rect;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokevirtual android.graphics.Rect.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
invokevirtual android.view.View.getWindowVisibility:()I
ifeq 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
astore 2
start local 2 5: goto 10
6: StackMap locals: android.view.ViewParent
StackMap stack:
aload 2
checkcast android.view.View
astore 3
start local 3 7: aload 3
invokevirtual android.view.View.getAlpha:()F
fconst_0
fcmpg
ifle 8
aload 3
invokevirtual android.view.View.getVisibility:()I
ifeq 9
8: StackMap locals: android.view.View
StackMap stack:
iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 3
invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
astore 2
end local 3 10: StackMap locals:
StackMap stack:
aload 2
instanceof android.view.View
ifne 6
11: aload 2
ifnonnull 13
12: iconst_0
ireturn
13: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mTempVisibleRect:Landroid/graphics/Rect;
ifnonnull 15
14: aload 0
new android.graphics.Rect
dup
invokespecial android.graphics.Rect.<init>:()V
putfield com.android.internal.widget.ExploreByTouchHelper.mTempVisibleRect:Landroid/graphics/Rect;
15: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mTempVisibleRect:Landroid/graphics/Rect;
astore 3
start local 3 16: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
aload 3
invokevirtual android.view.View.getLocalVisibleRect:(Landroid/graphics/Rect;)Z
ifne 18
17: iconst_0
ireturn
18: StackMap locals: android.graphics.Rect
StackMap stack:
aload 1
aload 3
invokevirtual android.graphics.Rect.intersect:(Landroid/graphics/Rect;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 19 1 localRect Landroid/graphics/Rect;
5 19 2 viewParent Landroid/view/ViewParent;
7 10 3 view Landroid/view/View;
16 19 3 tempVisibleRect Landroid/graphics/Rect;
MethodParameters:
Name Flags
localRect
private boolean isAccessibilityFocused(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
iload 1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 2 1 virtualViewId I
MethodParameters:
Name Flags
virtualViewId
private boolean requestAccessibilityFocus(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mContext:Landroid/content/Context;
ldc "accessibility"
invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
checkcast android.view.accessibility.AccessibilityManager
1: astore 2
start local 2 2: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mManager:Landroid/view/accessibility/AccessibilityManager;
invokevirtual android.view.accessibility.AccessibilityManager.isEnabled:()Z
ifeq 4
3: aload 2
invokevirtual android.view.accessibility.AccessibilityManager.isTouchExplorationEnabled:()Z
ifne 5
4: StackMap locals: android.view.accessibility.AccessibilityManager
StackMap stack:
iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.android.internal.widget.ExploreByTouchHelper.isAccessibilityFocused:(I)Z
ifne 16
6: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
ldc -2147483648
if_icmpeq 10
7: aload 0
aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
8: ldc 65536
9: invokevirtual com.android.internal.widget.ExploreByTouchHelper.sendEventForVirtualView:(II)Z
pop
10: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
11: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
invokevirtual android.view.View.invalidate:()V
12: aload 0
iload 1
13: ldc 32768
14: invokevirtual com.android.internal.widget.ExploreByTouchHelper.sendEventForVirtualView:(II)Z
pop
15: iconst_1
ireturn
16: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 17 1 virtualViewId I
2 17 2 accessibilityManager Landroid/view/accessibility/AccessibilityManager;
MethodParameters:
Name Flags
virtualViewId
private boolean clearAccessibilityFocus(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.android.internal.widget.ExploreByTouchHelper.isAccessibilityFocused:(I)Z
ifeq 7
1: aload 0
ldc -2147483648
putfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
2: aload 0
getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
invokevirtual android.view.View.invalidate:()V
3: aload 0
iload 1
4: ldc 65536
5: invokevirtual com.android.internal.widget.ExploreByTouchHelper.sendEventForVirtualView:(II)Z
pop
6: iconst_1
ireturn
7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 8 1 virtualViewId I
MethodParameters:
Name Flags
virtualViewId
protected abstract int getVirtualViewAt(float, float);
descriptor: (FF)I
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
x
y
protected abstract void getVisibleVirtualViews(android.util.IntArray);
descriptor: (Landroid/util/IntArray;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
virtualViewIds
protected abstract void onPopulateEventForVirtualView(int, android.view.accessibility.AccessibilityEvent);
descriptor: (ILandroid/view/accessibility/AccessibilityEvent;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
virtualViewId
event
protected void onPopulateEventForHost(android.view.accessibility.AccessibilityEvent);
descriptor: (Landroid/view/accessibility/AccessibilityEvent;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 1 1 event Landroid/view/accessibility/AccessibilityEvent;
MethodParameters:
Name Flags
event
protected abstract void onPopulateNodeForVirtualView(int, android.view.accessibility.AccessibilityNodeInfo);
descriptor: (ILandroid/view/accessibility/AccessibilityNodeInfo;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
virtualViewId
node
protected void onPopulateNodeForHost(android.view.accessibility.AccessibilityNodeInfo);
descriptor: (Landroid/view/accessibility/AccessibilityNodeInfo;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/ExploreByTouchHelper;
0 1 1 node Landroid/view/accessibility/AccessibilityNodeInfo;
MethodParameters:
Name Flags
node
protected abstract boolean onPerformActionForVirtualView(int, int, android.os.Bundle);
descriptor: (IILandroid/os/Bundle;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
virtualViewId
action
arguments
}
SourceFile: "ExploreByTouchHelper.java"
NestMembers:
com.android.internal.widget.ExploreByTouchHelper$ExploreByTouchNodeProvider
InnerClasses:
public AccessibilityDelegate = android.view.View$AccessibilityDelegate of android.view.View
public final AccessibilityAction = android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction of android.view.accessibility.AccessibilityNodeInfo
private ExploreByTouchNodeProvider = com.android.internal.widget.ExploreByTouchHelper$ExploreByTouchNodeProvider of com.android.internal.widget.ExploreByTouchHelper