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: .line 56
            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: .line 59
            new android.graphics.Rect
            dup
         2: .line 60
            ldc 2147483647
            ldc 2147483647
            ldc -2147483648
            ldc -2147483648
         3: .line 59
            invokespecial android.graphics.Rect.<init>:(IIII)V
            putstatic com.android.internal.widget.ExploreByTouchHelper.INVALID_PARENT_BOUNDS:Landroid/graphics/Rect;
         4: .line 60
            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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // android.view.View forView
         0: .line 96
            aload 0 /* this */
            invokespecial android.view.View$AccessibilityDelegate.<init>:()V
         1: .line 86
            aload 0 /* this */
            ldc -2147483648
            putfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
         2: .line 89
            aload 0 /* this */
            ldc -2147483648
            putfield com.android.internal.widget.ExploreByTouchHelper.mHoveredVirtualViewId:I
         3: .line 97
            aload 1 /* forView */
            ifnonnull 5
         4: .line 98
            new java.lang.IllegalArgumentException
            dup
            ldc "View may not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 101
      StackMap locals: com.android.internal.widget.ExploreByTouchHelper android.view.View
      StackMap stack:
            aload 0 /* this */
            aload 1 /* forView */
            putfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
         6: .line 102
            aload 0 /* this */
            aload 1 /* forView */
            invokevirtual android.view.View.getContext:()Landroid/content/Context;
            putfield com.android.internal.widget.ExploreByTouchHelper.mContext:Landroid/content/Context;
         7: .line 103
            aload 0 /* this */
            aload 0 /* this */
            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: .line 104
            return
        end local 1 // android.view.View forView
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // android.view.View host
         0: .line 114
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mNodeProvider:Lcom/android/internal/widget/ExploreByTouchHelper$ExploreByTouchNodeProvider;
            ifnonnull 2
         1: .line 115
            aload 0 /* this */
            new com.android.internal.widget.ExploreByTouchHelper$ExploreByTouchNodeProvider
            dup
            aload 0 /* this */
            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: .line 117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mNodeProvider:Lcom/android/internal/widget/ExploreByTouchHelper$ExploreByTouchNodeProvider;
            areturn
        end local 1 // android.view.View host
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // android.view.MotionEvent event
         0: .line 140
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mManager:Landroid/view/accessibility/AccessibilityManager;
            invokevirtual android.view.accessibility.AccessibilityManager.isEnabled:()Z
            ifeq 1
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mManager:Landroid/view/accessibility/AccessibilityManager;
            invokevirtual android.view.accessibility.AccessibilityManager.isTouchExplorationEnabled:()Z
            ifne 2
         1: .line 141
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 144
      StackMap locals:
      StackMap stack:
            aload 1 /* event */
            invokevirtual android.view.MotionEvent.getAction:()I
            tableswitch { // 7 - 10
                    7: 3
                    8: 11
                    9: 3
                   10: 7
              default: 11
          }
         3: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* event */
            invokevirtual android.view.MotionEvent.getX:()F
            aload 1 /* event */
            invokevirtual android.view.MotionEvent.getY:()F
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.getVirtualViewAt:(FF)I
            istore 2 /* virtualViewId */
        start local 2 // int virtualViewId
         4: .line 148
            aload 0 /* this */
            iload 2 /* virtualViewId */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.updateHoveredVirtualView:(I)V
         5: .line 149
            iload 2 /* virtualViewId */
            ldc -2147483648
            if_icmpeq 6
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // int virtualViewId
         7: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
            ldc -2147483648
            if_icmpeq 10
         8: .line 152
            aload 0 /* this */
            ldc -2147483648
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.updateHoveredVirtualView:(I)V
         9: .line 153
            iconst_1
            ireturn
        10: .line 155
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        11: .line 157
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // android.view.MotionEvent event
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // int virtualViewId
        start local 2 // int eventType
         0: .line 179
            iload 1 /* virtualViewId */
            ldc -2147483648
            if_icmpeq 1
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mManager:Landroid/view/accessibility/AccessibilityManager;
            invokevirtual android.view.accessibility.AccessibilityManager.isEnabled:()Z
            ifne 2
         1: .line 180
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
            invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
            astore 3 /* parent */
        start local 3 // android.view.ViewParent parent
         3: .line 184
            aload 3 /* parent */
            ifnonnull 5
         4: .line 185
            iconst_0
            ireturn
         5: .line 188
      StackMap locals: android.view.ViewParent
      StackMap stack:
            aload 0 /* this */
            iload 1 /* virtualViewId */
            iload 2 /* eventType */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.createEvent:(II)Landroid/view/accessibility/AccessibilityEvent;
            astore 4 /* event */
        start local 4 // android.view.accessibility.AccessibilityEvent event
         6: .line 189
            aload 3 /* parent */
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
            aload 4 /* event */
            invokeinterface android.view.ViewParent.requestSendAccessibilityEvent:(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
            ireturn
        end local 4 // android.view.accessibility.AccessibilityEvent event
        end local 3 // android.view.ViewParent parent
        end local 2 // int eventType
        end local 1 // int virtualViewId
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
         0: .line 200
            aload 0 /* this */
            iconst_m1
            iconst_1
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.invalidateVirtualView:(II)V
         1: .line 201
            return
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // int virtualViewId
         0: .line 215
            aload 0 /* this */
            iload 1 /* virtualViewId */
         1: .line 216
            iconst_0
         2: .line 215
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.invalidateVirtualView:(II)V
         3: .line 217
            return
        end local 1 // int virtualViewId
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // int virtualViewId
        start local 2 // int changeTypes
         0: .line 238
            iload 1 /* virtualViewId */
            ldc -2147483648
            if_icmpeq 8
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mManager:Landroid/view/accessibility/AccessibilityManager;
            invokevirtual android.view.accessibility.AccessibilityManager.isEnabled:()Z
            ifeq 8
         1: .line 239
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
            invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
            astore 3 /* parent */
        start local 3 // android.view.ViewParent parent
         2: .line 240
            aload 3 /* parent */
            ifnull 8
         3: .line 241
            aload 0 /* this */
            iload 1 /* virtualViewId */
         4: .line 242
            sipush 2048
         5: .line 241
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.createEvent:(II)Landroid/view/accessibility/AccessibilityEvent;
            astore 4 /* event */
        start local 4 // android.view.accessibility.AccessibilityEvent event
         6: .line 243
            aload 4 /* event */
            iload 2 /* changeTypes */
            invokevirtual android.view.accessibility.AccessibilityEvent.setContentChangeTypes:(I)V
         7: .line 244
            aload 3 /* parent */
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
            aload 4 /* event */
            invokeinterface android.view.ViewParent.requestSendAccessibilityEvent:(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
            pop
        end local 4 // android.view.accessibility.AccessibilityEvent event
        end local 3 // android.view.ViewParent parent
         8: .line 247
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int changeTypes
        end local 1 // int virtualViewId
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
         0: .line 256
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
            ireturn
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // int virtualViewId
         0: .line 268
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mHoveredVirtualViewId:I
            iload 1 /* virtualViewId */
            if_icmpne 2
         1: .line 269
            return
         2: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mHoveredVirtualViewId:I
            istore 2 /* previousVirtualViewId */
        start local 2 // int previousVirtualViewId
         3: .line 273
            aload 0 /* this */
            iload 1 /* virtualViewId */
            putfield com.android.internal.widget.ExploreByTouchHelper.mHoveredVirtualViewId:I
         4: .line 277
            aload 0 /* this */
            iload 1 /* virtualViewId */
            sipush 128
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.sendEventForVirtualView:(II)Z
            pop
         5: .line 278
            aload 0 /* this */
            iload 2 /* previousVirtualViewId */
            sipush 256
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.sendEventForVirtualView:(II)Z
            pop
         6: .line 279
            return
        end local 2 // int previousVirtualViewId
        end local 1 // int virtualViewId
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // int virtualViewId
        start local 2 // int eventType
         0: .line 292
            iload 1 /* virtualViewId */
            tableswitch { // -1 - -1
                   -1: 1
              default: 2
          }
         1: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* eventType */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.createEventForHost:(I)Landroid/view/accessibility/AccessibilityEvent;
            areturn
         2: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* virtualViewId */
            iload 2 /* eventType */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.createEventForChild:(II)Landroid/view/accessibility/AccessibilityEvent;
            areturn
        end local 2 // int eventType
        end local 1 // int virtualViewId
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // int eventType
         0: .line 308
            iload 1 /* eventType */
            invokestatic android.view.accessibility.AccessibilityEvent.obtain:(I)Landroid/view/accessibility/AccessibilityEvent;
            astore 2 /* event */
        start local 2 // android.view.accessibility.AccessibilityEvent event
         1: .line 309
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
            aload 2 /* event */
            invokevirtual android.view.View.onInitializeAccessibilityEvent:(Landroid/view/accessibility/AccessibilityEvent;)V
         2: .line 312
            aload 0 /* this */
            aload 2 /* event */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.onPopulateEventForHost:(Landroid/view/accessibility/AccessibilityEvent;)V
         3: .line 314
            aload 2 /* event */
            areturn
        end local 2 // android.view.accessibility.AccessibilityEvent event
        end local 1 // int eventType
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // int virtualViewId
        start local 2 // int eventType
         0: .line 328
            iload 2 /* eventType */
            invokestatic android.view.accessibility.AccessibilityEvent.obtain:(I)Landroid/view/accessibility/AccessibilityEvent;
            astore 3 /* event */
        start local 3 // android.view.accessibility.AccessibilityEvent event
         1: .line 329
            aload 3 /* event */
            iconst_1
            invokevirtual android.view.accessibility.AccessibilityEvent.setEnabled:(Z)V
         2: .line 330
            aload 3 /* event */
            getstatic com.android.internal.widget.ExploreByTouchHelper.DEFAULT_CLASS_NAME:Ljava/lang/String;
            invokevirtual android.view.accessibility.AccessibilityEvent.setClassName:(Ljava/lang/CharSequence;)V
         3: .line 333
            aload 0 /* this */
            iload 1 /* virtualViewId */
            aload 3 /* event */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.onPopulateEventForVirtualView:(ILandroid/view/accessibility/AccessibilityEvent;)V
         4: .line 336
            aload 3 /* event */
            invokevirtual android.view.accessibility.AccessibilityEvent.getText:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 6
            aload 3 /* event */
            invokevirtual android.view.accessibility.AccessibilityEvent.getContentDescription:()Ljava/lang/CharSequence;
            ifnonnull 6
         5: .line 337
            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: .line 342
      StackMap locals: android.view.accessibility.AccessibilityEvent
      StackMap stack:
            aload 3 /* event */
            aload 0 /* this */
            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: .line 343
            aload 3 /* event */
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
            iload 1 /* virtualViewId */
            invokevirtual android.view.accessibility.AccessibilityEvent.setSource:(Landroid/view/View;I)V
         8: .line 345
            aload 3 /* event */
            areturn
        end local 3 // android.view.accessibility.AccessibilityEvent event
        end local 2 // int eventType
        end local 1 // int virtualViewId
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // int virtualViewId
         0: .line 359
            iload 1 /* virtualViewId */
            tableswitch { // -1 - -1
                   -1: 1
              default: 2
          }
         1: .line 361
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.createNodeForHost:()Landroid/view/accessibility/AccessibilityNodeInfo;
            areturn
         2: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* virtualViewId */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.createNodeForChild:(I)Landroid/view/accessibility/AccessibilityNodeInfo;
            areturn
        end local 1 // int virtualViewId
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
         0: .line 374
            aload 0 /* this */
            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 /* node */
        start local 1 // android.view.accessibility.AccessibilityNodeInfo node
         1: .line 375
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
            aload 1 /* node */
            invokevirtual android.view.View.onInitializeAccessibilityNodeInfo:(Landroid/view/accessibility/AccessibilityNodeInfo;)V
         2: .line 376
            aload 1 /* node */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getChildCount:()I
            istore 2 /* realNodeCount */
        start local 2 // int realNodeCount
         3: .line 379
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.onPopulateNodeForHost:(Landroid/view/accessibility/AccessibilityNodeInfo;)V
         4: .line 382
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mTempArray:Landroid/util/IntArray;
            ifnonnull 7
         5: .line 383
            aload 0 /* this */
            new android.util.IntArray
            dup
            invokespecial android.util.IntArray.<init>:()V
            putfield com.android.internal.widget.ExploreByTouchHelper.mTempArray:Landroid/util/IntArray;
         6: .line 384
            goto 8
         7: .line 385
      StackMap locals: android.view.accessibility.AccessibilityNodeInfo int
      StackMap stack:
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mTempArray:Landroid/util/IntArray;
            invokevirtual android.util.IntArray.clear:()V
         8: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mTempArray:Landroid/util/IntArray;
            astore 3 /* virtualViewIds */
        start local 3 // android.util.IntArray virtualViewIds
         9: .line 388
            aload 0 /* this */
            aload 3 /* virtualViewIds */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.getVisibleVirtualViews:(Landroid/util/IntArray;)V
        10: .line 389
            iload 2 /* realNodeCount */
            ifle 12
            aload 3 /* virtualViewIds */
            invokevirtual android.util.IntArray.size:()I
            ifle 12
        11: .line 390
            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: .line 393
      StackMap locals: android.util.IntArray
      StackMap stack:
            aload 3 /* virtualViewIds */
            invokevirtual android.util.IntArray.size:()I
            istore 4 /* N */
        start local 4 // int N
        13: .line 394
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        14: goto 17
        15: .line 395
      StackMap locals: int int
      StackMap stack:
            aload 1 /* node */
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
            aload 3 /* virtualViewIds */
            iload 5 /* i */
            invokevirtual android.util.IntArray.get:(I)I
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.addChild:(Landroid/view/View;I)V
        16: .line 394
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 5 /* i */
            iload 4 /* N */
            if_icmplt 15
        end local 5 // int i
        18: .line 398
            aload 1 /* node */
            areturn
        end local 4 // int N
        end local 3 // android.util.IntArray virtualViewIds
        end local 2 // int realNodeCount
        end local 1 // android.view.accessibility.AccessibilityNodeInfo node
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // int virtualViewId
         0: .line 430
            aload 0 /* this */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.ensureTempRects:()V
         1: .line 431
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mTempParentRect:Landroid/graphics/Rect;
            astore 2 /* tempParentRect */
        start local 2 // android.graphics.Rect tempParentRect
         2: .line 432
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mTempGlobalRect:[I
            astore 3 /* tempGlobalRect */
        start local 3 // int[] tempGlobalRect
         3: .line 433
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mTempScreenRect:Landroid/graphics/Rect;
            astore 4 /* tempScreenRect */
        start local 4 // android.graphics.Rect tempScreenRect
         4: .line 435
            invokestatic android.view.accessibility.AccessibilityNodeInfo.obtain:()Landroid/view/accessibility/AccessibilityNodeInfo;
            astore 5 /* node */
        start local 5 // android.view.accessibility.AccessibilityNodeInfo node
         5: .line 438
            aload 5 /* node */
            iconst_1
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.setEnabled:(Z)V
         6: .line 439
            aload 5 /* node */
            getstatic com.android.internal.widget.ExploreByTouchHelper.DEFAULT_CLASS_NAME:Ljava/lang/String;
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.setClassName:(Ljava/lang/CharSequence;)V
         7: .line 440
            aload 5 /* node */
            getstatic com.android.internal.widget.ExploreByTouchHelper.INVALID_PARENT_BOUNDS:Landroid/graphics/Rect;
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.setBoundsInParent:(Landroid/graphics/Rect;)V
         8: .line 443
            aload 0 /* this */
            iload 1 /* virtualViewId */
            aload 5 /* node */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.onPopulateNodeForVirtualView:(ILandroid/view/accessibility/AccessibilityNodeInfo;)V
         9: .line 446
            aload 5 /* node */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getText:()Ljava/lang/CharSequence;
            ifnonnull 11
            aload 5 /* node */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getContentDescription:()Ljava/lang/CharSequence;
            ifnonnull 11
        10: .line 447
            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: .line 451
      StackMap locals: com.android.internal.widget.ExploreByTouchHelper int android.graphics.Rect int[] android.graphics.Rect android.view.accessibility.AccessibilityNodeInfo
      StackMap stack:
            aload 5 /* node */
            aload 2 /* tempParentRect */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getBoundsInParent:(Landroid/graphics/Rect;)V
        12: .line 452
            aload 2 /* tempParentRect */
            getstatic com.android.internal.widget.ExploreByTouchHelper.INVALID_PARENT_BOUNDS:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 453
            new java.lang.RuntimeException
            dup
            ldc "Callbacks must set parent bounds in populateNodeForVirtualViewId()"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 457
      StackMap locals:
      StackMap stack:
            aload 5 /* node */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getActions:()I
            istore 6 /* actions */
        start local 6 // int actions
        15: .line 458
            iload 6 /* actions */
            bipush 64
            iand
            ifeq 17
        16: .line 459
            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: .line 462
      StackMap locals: int
      StackMap stack:
            iload 6 /* actions */
            sipush 128
            iand
            ifeq 19
        18: .line 463
            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: .line 468
      StackMap locals:
      StackMap stack:
            aload 5 /* node */
            aload 0 /* this */
            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: .line 469
            aload 5 /* node */
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
            iload 1 /* virtualViewId */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.setSource:(Landroid/view/View;I)V
        21: .line 470
            aload 5 /* node */
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.setParent:(Landroid/view/View;)V
        22: .line 473
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
            iload 1 /* virtualViewId */
            if_icmpne 26
        23: .line 474
            aload 5 /* node */
            iconst_1
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.setAccessibilityFocused:(Z)V
        24: .line 475
            aload 5 /* node */
            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: .line 476
            goto 28
        26: .line 477
      StackMap locals:
      StackMap stack:
            aload 5 /* node */
            iconst_0
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.setAccessibilityFocused:(Z)V
        27: .line 478
            aload 5 /* node */
            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: .line 482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* tempParentRect */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.intersectVisibleToUser:(Landroid/graphics/Rect;)Z
            ifeq 31
        29: .line 483
            aload 5 /* node */
            iconst_1
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.setVisibleToUser:(Z)V
        30: .line 484
            aload 5 /* node */
            aload 2 /* tempParentRect */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.setBoundsInParent:(Landroid/graphics/Rect;)V
        31: .line 488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
            aload 3 /* tempGlobalRect */
            invokevirtual android.view.View.getLocationOnScreen:([I)V
        32: .line 489
            aload 3 /* tempGlobalRect */
            iconst_0
            iaload
            istore 7 /* offsetX */
        start local 7 // int offsetX
        33: .line 490
            aload 3 /* tempGlobalRect */
            iconst_1
            iaload
            istore 8 /* offsetY */
        start local 8 // int offsetY
        34: .line 491
            aload 4 /* tempScreenRect */
            aload 2 /* tempParentRect */
            invokevirtual android.graphics.Rect.set:(Landroid/graphics/Rect;)V
        35: .line 492
            aload 4 /* tempScreenRect */
            iload 7 /* offsetX */
            iload 8 /* offsetY */
            invokevirtual android.graphics.Rect.offset:(II)V
        36: .line 493
            aload 5 /* node */
            aload 4 /* tempScreenRect */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.setBoundsInScreen:(Landroid/graphics/Rect;)V
        37: .line 495
            aload 5 /* node */
            areturn
        end local 8 // int offsetY
        end local 7 // int offsetX
        end local 6 // int actions
        end local 5 // android.view.accessibility.AccessibilityNodeInfo node
        end local 4 // android.graphics.Rect tempScreenRect
        end local 3 // int[] tempGlobalRect
        end local 2 // android.graphics.Rect tempParentRect
        end local 1 // int virtualViewId
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
         0: .line 499
            aload 0 /* this */
            iconst_2
            newarray 10
            putfield com.android.internal.widget.ExploreByTouchHelper.mTempGlobalRect:[I
         1: .line 500
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield com.android.internal.widget.ExploreByTouchHelper.mTempParentRect:Landroid/graphics/Rect;
         2: .line 501
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield com.android.internal.widget.ExploreByTouchHelper.mTempScreenRect:Landroid/graphics/Rect;
         3: .line 502
            return
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // int virtualViewId
        start local 2 // int action
        start local 3 // android.os.Bundle arguments
         0: .line 505
            iload 1 /* virtualViewId */
            tableswitch { // -1 - -1
                   -1: 1
              default: 2
          }
         1: .line 507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* action */
            aload 3 /* arguments */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.performActionForHost:(ILandroid/os/Bundle;)Z
            ireturn
         2: .line 509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* virtualViewId */
            iload 2 /* action */
            aload 3 /* arguments */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.performActionForChild:(IILandroid/os/Bundle;)Z
            ireturn
        end local 3 // android.os.Bundle arguments
        end local 2 // int action
        end local 1 // int virtualViewId
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // int action
        start local 2 // android.os.Bundle arguments
         0: .line 514
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
            iload 1 /* action */
            aload 2 /* arguments */
            invokevirtual android.view.View.performAccessibilityAction:(ILandroid/os/Bundle;)Z
            ireturn
        end local 2 // android.os.Bundle arguments
        end local 1 // int action
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // int virtualViewId
        start local 2 // int action
        start local 3 // android.os.Bundle arguments
         0: .line 518
            iload 2 /* action */
            lookupswitch { // 2
                   64: 1
                  128: 1
              default: 2
          }
         1: .line 521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* virtualViewId */
            iload 2 /* action */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.manageFocusForChild:(II)Z
            ireturn
         2: .line 523
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* virtualViewId */
            iload 2 /* action */
            aload 3 /* arguments */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.onPerformActionForVirtualView:(IILandroid/os/Bundle;)Z
            ireturn
        end local 3 // android.os.Bundle arguments
        end local 2 // int action
        end local 1 // int virtualViewId
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // int virtualViewId
        start local 2 // int action
         0: .line 528
            iload 2 /* action */
            lookupswitch { // 2
                   64: 1
                  128: 2
              default: 3
          }
         1: .line 530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* virtualViewId */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.requestAccessibilityFocus:(I)Z
            ireturn
         2: .line 532
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* virtualViewId */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.clearAccessibilityFocus:(I)Z
            ireturn
         3: .line 534
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // int action
        end local 1 // int virtualViewId
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // android.graphics.Rect localRect
         0: .line 548
            aload 1 /* localRect */
            ifnull 1
            aload 1 /* localRect */
            invokevirtual android.graphics.Rect.isEmpty:()Z
            ifeq 2
         1: .line 549
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
            invokevirtual android.view.View.getWindowVisibility:()I
            ifeq 4
         3: .line 554
            iconst_0
            ireturn
         4: .line 558
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
            invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
            astore 2 /* viewParent */
        start local 2 // android.view.ViewParent viewParent
         5: .line 559
            goto 10
         6: .line 560
      StackMap locals: android.view.ViewParent
      StackMap stack:
            aload 2 /* viewParent */
            checkcast android.view.View
            astore 3 /* view */
        start local 3 // android.view.View view
         7: .line 561
            aload 3 /* view */
            invokevirtual android.view.View.getAlpha:()F
            fconst_0
            fcmpg
            ifle 8
            aload 3 /* view */
            invokevirtual android.view.View.getVisibility:()I
            ifeq 9
         8: .line 562
      StackMap locals: android.view.View
      StackMap stack:
            iconst_0
            ireturn
         9: .line 564
      StackMap locals:
      StackMap stack:
            aload 3 /* view */
            invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
            astore 2 /* viewParent */
        end local 3 // android.view.View view
        10: .line 559
      StackMap locals:
      StackMap stack:
            aload 2 /* viewParent */
            instanceof android.view.View
            ifne 6
        11: .line 568
            aload 2 /* viewParent */
            ifnonnull 13
        12: .line 569
            iconst_0
            ireturn
        13: .line 573
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mTempVisibleRect:Landroid/graphics/Rect;
            ifnonnull 15
        14: .line 574
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield com.android.internal.widget.ExploreByTouchHelper.mTempVisibleRect:Landroid/graphics/Rect;
        15: .line 576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mTempVisibleRect:Landroid/graphics/Rect;
            astore 3 /* tempVisibleRect */
        start local 3 // android.graphics.Rect tempVisibleRect
        16: .line 577
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
            aload 3 /* tempVisibleRect */
            invokevirtual android.view.View.getLocalVisibleRect:(Landroid/graphics/Rect;)Z
            ifne 18
        17: .line 578
            iconst_0
            ireturn
        18: .line 582
      StackMap locals: android.graphics.Rect
      StackMap stack:
            aload 1 /* localRect */
            aload 3 /* tempVisibleRect */
            invokevirtual android.graphics.Rect.intersect:(Landroid/graphics/Rect;)Z
            ireturn
        end local 3 // android.graphics.Rect tempVisibleRect
        end local 2 // android.view.ViewParent viewParent
        end local 1 // android.graphics.Rect localRect
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // int virtualViewId
         0: .line 591
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
            iload 1 /* virtualViewId */
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int virtualViewId
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // int virtualViewId
         0: .line 608
            aload 0 /* this */
            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: .line 607
            astore 2 /* accessibilityManager */
        start local 2 // android.view.accessibility.AccessibilityManager accessibilityManager
         2: .line 610
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mManager:Landroid/view/accessibility/AccessibilityManager;
            invokevirtual android.view.accessibility.AccessibilityManager.isEnabled:()Z
            ifeq 4
         3: .line 611
            aload 2 /* accessibilityManager */
            invokevirtual android.view.accessibility.AccessibilityManager.isTouchExplorationEnabled:()Z
            ifne 5
         4: .line 612
      StackMap locals: android.view.accessibility.AccessibilityManager
      StackMap stack:
            iconst_0
            ireturn
         5: .line 615
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* virtualViewId */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.isAccessibilityFocused:(I)Z
            ifne 16
         6: .line 617
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
            ldc -2147483648
            if_icmpeq 10
         7: .line 618
            aload 0 /* this */
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
         8: .line 619
            ldc 65536
         9: .line 618
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.sendEventForVirtualView:(II)Z
            pop
        10: .line 623
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* virtualViewId */
            putfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
        11: .line 626
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
            invokevirtual android.view.View.invalidate:()V
        12: .line 627
            aload 0 /* this */
            iload 1 /* virtualViewId */
        13: .line 628
            ldc 32768
        14: .line 627
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.sendEventForVirtualView:(II)Z
            pop
        15: .line 629
            iconst_1
            ireturn
        16: .line 631
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // android.view.accessibility.AccessibilityManager accessibilityManager
        end local 1 // int virtualViewId
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // int virtualViewId
         0: .line 642
            aload 0 /* this */
            iload 1 /* virtualViewId */
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.isAccessibilityFocused:(I)Z
            ifeq 7
         1: .line 643
            aload 0 /* this */
            ldc -2147483648
            putfield com.android.internal.widget.ExploreByTouchHelper.mFocusedVirtualViewId:I
         2: .line 644
            aload 0 /* this */
            getfield com.android.internal.widget.ExploreByTouchHelper.mView:Landroid/view/View;
            invokevirtual android.view.View.invalidate:()V
         3: .line 645
            aload 0 /* this */
            iload 1 /* virtualViewId */
         4: .line 646
            ldc 65536
         5: .line 645
            invokevirtual com.android.internal.widget.ExploreByTouchHelper.sendEventForVirtualView:(II)Z
            pop
         6: .line 647
            iconst_1
            ireturn
         7: .line 649
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int virtualViewId
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // android.view.accessibility.AccessibilityEvent event
         0: .line 715
            return
        end local 1 // android.view.accessibility.AccessibilityEvent event
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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 // com.android.internal.widget.ExploreByTouchHelper this
        start local 1 // android.view.accessibility.AccessibilityNodeInfo node
         0: .line 785
            return
        end local 1 // android.view.accessibility.AccessibilityNodeInfo node
        end local 0 // com.android.internal.widget.ExploreByTouchHelper this
      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