.class public abstract Landroidx/customview/widget/ExploreByTouchHelper; .super Landroidx/core/view/AccessibilityDelegateCompat; .source "ExploreByTouchHelper.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/customview/widget/ExploreByTouchHelper$MyNodeProvider; } .end annotation # static fields .field private static final DEFAULT_CLASS_NAME:Ljava/lang/String; = "android.view.View" .field public static final HOST_ID:I = -0x1 .field public static final INVALID_ID:I = -0x80000000 .field private static final INVALID_PARENT_BOUNDS:Landroid/graphics/Rect; .field private static final NODE_ADAPTER:Landroidx/customview/widget/FocusStrategy$BoundsAdapter; .annotation system Ldalvik/annotation/Signature; value = { "Landroidx/customview/widget/FocusStrategy$BoundsAdapter<", "Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;", ">;" } .end annotation .end field .field private static final SPARSE_VALUES_ADAPTER:Landroidx/customview/widget/FocusStrategy$CollectionAdapter; .annotation system Ldalvik/annotation/Signature; value = { "Landroidx/customview/widget/FocusStrategy$CollectionAdapter<", "Landroidx/collection/SparseArrayCompat<", "Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;", ">;", "Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;", ">;" } .end annotation .end field # instance fields .field mAccessibilityFocusedVirtualViewId:I .field private final mHost:Landroid/view/View; .field private mHoveredVirtualViewId:I .field mKeyboardFocusedVirtualViewId:I .field private final mManager:Landroid/view/accessibility/AccessibilityManager; .field private mNodeProvider:Landroidx/customview/widget/ExploreByTouchHelper$MyNodeProvider; .field private final mTempGlobalRect:[I .field private final mTempParentRect:Landroid/graphics/Rect; .field private final mTempScreenRect:Landroid/graphics/Rect; .field private final mTempVisibleRect:Landroid/graphics/Rect; # direct methods .method static constructor ()V .registers 3 .line 100 new-instance v0, Landroid/graphics/Rect; const v1, 0x7fffffff const/high16 v2, -0x80000000 invoke-direct {v0, v1, v1, v2, v2}, Landroid/graphics/Rect;->(IIII)V sput-object v0, Landroidx/customview/widget/ExploreByTouchHelper;->INVALID_PARENT_BOUNDS:Landroid/graphics/Rect; .line 335 new-instance v0, Landroidx/customview/widget/ExploreByTouchHelper$1; invoke-direct {v0}, Landroidx/customview/widget/ExploreByTouchHelper$1;->()V sput-object v0, Landroidx/customview/widget/ExploreByTouchHelper;->NODE_ADAPTER:Landroidx/customview/widget/FocusStrategy$BoundsAdapter; .line 347 new-instance v0, Landroidx/customview/widget/ExploreByTouchHelper$2; invoke-direct {v0}, Landroidx/customview/widget/ExploreByTouchHelper$2;->()V sput-object v0, Landroidx/customview/widget/ExploreByTouchHelper;->SPARSE_VALUES_ADAPTER:Landroidx/customview/widget/FocusStrategy$CollectionAdapter; return-void .end method .method public constructor (Landroid/view/View;)V .registers 4 .line 135 invoke-direct {p0}, Landroidx/core/view/AccessibilityDelegateCompat;->()V .line 104 new-instance v0, Landroid/graphics/Rect; invoke-direct {v0}, Landroid/graphics/Rect;->()V iput-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect; .line 105 new-instance v0, Landroid/graphics/Rect; invoke-direct {v0}, Landroid/graphics/Rect;->()V iput-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempParentRect:Landroid/graphics/Rect; .line 106 new-instance v0, Landroid/graphics/Rect; invoke-direct {v0}, Landroid/graphics/Rect;->()V iput-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempVisibleRect:Landroid/graphics/Rect; const/4 v0, 0x2 .line 107 new-array v0, v0, [I iput-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempGlobalRect:[I const/high16 v0, -0x80000000 .line 119 iput v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mAccessibilityFocusedVirtualViewId:I .line 123 iput v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I .line 127 iput v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHoveredVirtualViewId:I if-eqz p1, :cond_45 .line 140 iput-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 142 invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object v0 .line 143 const-string v1, "accessibility" invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/view/accessibility/AccessibilityManager; iput-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mManager:Landroid/view/accessibility/AccessibilityManager; const/4 v0, 0x1 .line 147 invoke-virtual {p1, v0}, Landroid/view/View;->setFocusable(Z)V .line 148 invoke-static {p1}, Landroidx/core/view/ViewCompat;->getImportantForAccessibility(Landroid/view/View;)I move-result v1 if-nez v1, :cond_44 .line 150 invoke-static {p1, v0}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V :cond_44 return-void .line 137 :cond_45 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "View may not be null" invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method private clearAccessibilityFocus(I)Z .registers 3 .line 998 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mAccessibilityFocusedVirtualViewId:I if-ne v0, p1, :cond_14 const/high16 v0, -0x80000000 .line 999 iput v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mAccessibilityFocusedVirtualViewId:I .line 1000 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->invalidate()V const/high16 v0, 0x10000 .line 1001 invoke-virtual {p0, p1, v0}, Landroidx/customview/widget/ExploreByTouchHelper;->sendEventForVirtualView(II)Z const/4 p1, 0x1 return p1 :cond_14 const/4 p1, 0x0 return p1 .end method .method private clickKeyboardFocusedVirtualView()Z .registers 4 .line 481 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I const/high16 v1, -0x80000000 if-eq v0, v1, :cond_11 const/16 v1, 0x10 const/4 v2, 0x0 invoke-virtual {p0, v0, v1, v2}, Landroidx/customview/widget/ExploreByTouchHelper;->onPerformActionForVirtualView(IILandroid/os/Bundle;)Z move-result v0 if-eqz v0, :cond_11 const/4 v0, 0x1 goto :goto_12 :cond_11 const/4 v0, 0x0 :goto_12 return v0 .end method .method private createEvent(II)Landroid/view/accessibility/AccessibilityEvent; .registers 4 const/4 v0, -0x1 if-eq p1, v0, :cond_8 .line 641 invoke-direct {p0, p1, p2}, Landroidx/customview/widget/ExploreByTouchHelper;->createEventForChild(II)Landroid/view/accessibility/AccessibilityEvent; move-result-object p1 return-object p1 .line 639 :cond_8 invoke-direct {p0, p2}, Landroidx/customview/widget/ExploreByTouchHelper;->createEventForHost(I)Landroid/view/accessibility/AccessibilityEvent; move-result-object p1 return-object p1 .end method .method private createEventForChild(II)Landroid/view/accessibility/AccessibilityEvent; .registers 6 .line 677 invoke-static {p2}, Landroid/view/accessibility/AccessibilityEvent;->obtain(I)Landroid/view/accessibility/AccessibilityEvent; move-result-object p2 .line 678 invoke-virtual {p0, p1}, Landroidx/customview/widget/ExploreByTouchHelper;->obtainAccessibilityNodeInfo(I)Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; move-result-object v0 .line 681 invoke-virtual {p2}, Landroid/view/accessibility/AccessibilityEvent;->getText()Ljava/util/List; move-result-object v1 invoke-virtual {v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getText()Ljava/lang/CharSequence; move-result-object v2 invoke-interface {v1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 682 invoke-virtual {v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getContentDescription()Ljava/lang/CharSequence; move-result-object v1 invoke-virtual {p2, v1}, Landroid/view/accessibility/AccessibilityEvent;->setContentDescription(Ljava/lang/CharSequence;)V .line 683 invoke-virtual {v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->isScrollable()Z move-result v1 invoke-virtual {p2, v1}, Landroid/view/accessibility/AccessibilityEvent;->setScrollable(Z)V .line 684 invoke-virtual {v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->isPassword()Z move-result v1 invoke-virtual {p2, v1}, Landroid/view/accessibility/AccessibilityEvent;->setPassword(Z)V .line 685 invoke-virtual {v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->isEnabled()Z move-result v1 invoke-virtual {p2, v1}, Landroid/view/accessibility/AccessibilityEvent;->setEnabled(Z)V .line 686 invoke-virtual {v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->isChecked()Z move-result v1 invoke-virtual {p2, v1}, Landroid/view/accessibility/AccessibilityEvent;->setChecked(Z)V .line 689 invoke-virtual {p0, p1, p2}, Landroidx/customview/widget/ExploreByTouchHelper;->onPopulateEventForVirtualView(ILandroid/view/accessibility/AccessibilityEvent;)V .line 692 invoke-virtual {p2}, Landroid/view/accessibility/AccessibilityEvent;->getText()Ljava/util/List; move-result-object v1 invoke-interface {v1}, Ljava/util/List;->isEmpty()Z move-result v1 if-eqz v1, :cond_52 invoke-virtual {p2}, Landroid/view/accessibility/AccessibilityEvent;->getContentDescription()Ljava/lang/CharSequence; move-result-object v1 if-eqz v1, :cond_4a goto :goto_52 .line 693 :cond_4a new-instance p1, Ljava/lang/RuntimeException; const-string p2, "Callbacks must add text or a content description in populateEventForVirtualViewId()" invoke-direct {p1, p2}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V throw p1 .line 698 :cond_52 :goto_52 invoke-virtual {v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getClassName()Ljava/lang/CharSequence; move-result-object v0 invoke-virtual {p2, v0}, Landroid/view/accessibility/AccessibilityEvent;->setClassName(Ljava/lang/CharSequence;)V .line 699 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-static {p2, v0, p1}, Landroidx/core/view/accessibility/AccessibilityRecordCompat;->setSource(Landroid/view/accessibility/AccessibilityRecord;Landroid/view/View;I)V .line 700 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object p1 invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String; move-result-object p1 invoke-virtual {p2, p1}, Landroid/view/accessibility/AccessibilityEvent;->setPackageName(Ljava/lang/CharSequence;)V return-object p2 .end method .method private createEventForHost(I)Landroid/view/accessibility/AccessibilityEvent; .registers 3 .line 653 invoke-static {p1}, Landroid/view/accessibility/AccessibilityEvent;->obtain(I)Landroid/view/accessibility/AccessibilityEvent; move-result-object p1 .line 654 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-virtual {v0, p1}, Landroid/view/View;->onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V return-object p1 .end method .method private createNodeForChild(I)Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; .registers 9 .line 791 invoke-static {}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->obtain()Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; move-result-object v0 const/4 v1, 0x1 .line 794 invoke-virtual {v0, v1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setEnabled(Z)V .line 795 invoke-virtual {v0, v1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setFocusable(Z)V .line 796 const-string v2, "android.view.View" invoke-virtual {v0, v2}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setClassName(Ljava/lang/CharSequence;)V .line 797 sget-object v2, Landroidx/customview/widget/ExploreByTouchHelper;->INVALID_PARENT_BOUNDS:Landroid/graphics/Rect; invoke-virtual {v0, v2}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setBoundsInParent(Landroid/graphics/Rect;)V .line 798 invoke-virtual {v0, v2}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setBoundsInScreen(Landroid/graphics/Rect;)V .line 799 iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-virtual {v0, v3}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setParent(Landroid/view/View;)V .line 802 invoke-virtual {p0, p1, v0}, Landroidx/customview/widget/ExploreByTouchHelper;->onPopulateNodeForVirtualView(ILandroidx/core/view/accessibility/AccessibilityNodeInfoCompat;)V .line 805 invoke-virtual {v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getText()Ljava/lang/CharSequence; move-result-object v3 if-nez v3, :cond_35 invoke-virtual {v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getContentDescription()Ljava/lang/CharSequence; move-result-object v3 if-eqz v3, :cond_2d goto :goto_35 .line 806 :cond_2d new-instance p1, Ljava/lang/RuntimeException; const-string v0, "Callbacks must add text or a content description in populateNodeForVirtualViewId()" invoke-direct {p1, v0}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V throw p1 .line 810 :cond_35 :goto_35 iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempParentRect:Landroid/graphics/Rect; invoke-virtual {v0, v3}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getBoundsInParent(Landroid/graphics/Rect;)V .line 811 iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempParentRect:Landroid/graphics/Rect; invoke-virtual {v3, v2}, Landroid/graphics/Rect;->equals(Ljava/lang/Object;)Z move-result v3 if-nez v3, :cond_145 .line 816 invoke-virtual {v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getActions()I move-result v3 and-int/lit8 v4, v3, 0x40 if-nez v4, :cond_13d const/16 v4, 0x80 and-int/2addr v3, v4 if-nez v3, :cond_135 .line 827 iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-virtual {v3}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object v3 invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String; move-result-object v3 invoke-virtual {v0, v3}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setPackageName(Ljava/lang/CharSequence;)V .line 828 iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-virtual {v0, v3, p1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setSource(Landroid/view/View;I)V .line 831 iget v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mAccessibilityFocusedVirtualViewId:I const/4 v5, 0x0 if-ne v3, p1, :cond_6d .line 832 invoke-virtual {v0, v1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setAccessibilityFocused(Z)V .line 833 invoke-virtual {v0, v4}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->addAction(I)V goto :goto_75 .line 835 :cond_6d invoke-virtual {v0, v5}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setAccessibilityFocused(Z)V const/16 v3, 0x40 .line 836 invoke-virtual {v0, v3}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->addAction(I)V .line 840 :goto_75 iget v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I if-ne v3, p1, :cond_7b move p1, v1 goto :goto_7c :cond_7b move p1, v5 :goto_7c if-eqz p1, :cond_83 const/4 v3, 0x2 .line 842 invoke-virtual {v0, v3}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->addAction(I)V goto :goto_8c .line 843 :cond_83 invoke-virtual {v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->isFocusable()Z move-result v3 if-eqz v3, :cond_8c .line 844 invoke-virtual {v0, v1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->addAction(I)V .line 846 :cond_8c :goto_8c invoke-virtual {v0, p1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setFocused(Z)V .line 848 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempGlobalRect:[I invoke-virtual {p1, v3}, Landroid/view/View;->getLocationOnScreen([I)V .line 852 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect; invoke-virtual {v0, p1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getBoundsInScreen(Landroid/graphics/Rect;)V .line 853 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect; invoke-virtual {p1, v2}, Landroid/graphics/Rect;->equals(Ljava/lang/Object;)Z move-result p1 if-eqz p1, :cond_f5 .line 854 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect; invoke-virtual {v0, p1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getBoundsInParent(Landroid/graphics/Rect;)V .line 857 iget p1, v0, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->mParentVirtualDescendantId:I const/4 v2, -0x1 if-eq p1, v2, :cond_da .line 858 invoke-static {}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->obtain()Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; move-result-object p1 .line 860 iget v3, v0, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->mParentVirtualDescendantId:I :goto_b3 if-eq v3, v2, :cond_d7 .line 864 iget-object v4, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-virtual {p1, v4, v2}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setParent(Landroid/view/View;I)V .line 865 sget-object v4, Landroidx/customview/widget/ExploreByTouchHelper;->INVALID_PARENT_BOUNDS:Landroid/graphics/Rect; invoke-virtual {p1, v4}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setBoundsInParent(Landroid/graphics/Rect;)V .line 867 invoke-virtual {p0, v3, p1}, Landroidx/customview/widget/ExploreByTouchHelper;->onPopulateNodeForVirtualView(ILandroidx/core/view/accessibility/AccessibilityNodeInfoCompat;)V .line 868 iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempParentRect:Landroid/graphics/Rect; invoke-virtual {p1, v3}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getBoundsInParent(Landroid/graphics/Rect;)V .line 869 iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect; iget-object v4, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempParentRect:Landroid/graphics/Rect; iget v4, v4, Landroid/graphics/Rect;->left:I iget-object v6, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempParentRect:Landroid/graphics/Rect; iget v6, v6, Landroid/graphics/Rect;->top:I invoke-virtual {v3, v4, v6}, Landroid/graphics/Rect;->offset(II)V .line 862 iget v3, p1, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->mParentVirtualDescendantId:I goto :goto_b3 .line 871 :cond_d7 invoke-virtual {p1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->recycle()V .line 874 :cond_da iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect; iget-object v2, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempGlobalRect:[I aget v2, v2, v5 iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-virtual {v3}, Landroid/view/View;->getScrollX()I move-result v3 sub-int/2addr v2, v3 iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempGlobalRect:[I aget v3, v3, v1 iget-object v4, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 875 invoke-virtual {v4}, Landroid/view/View;->getScrollY()I move-result v4 sub-int/2addr v3, v4 .line 874 invoke-virtual {p1, v2, v3}, Landroid/graphics/Rect;->offset(II)V .line 878 :cond_f5 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; iget-object v2, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempVisibleRect:Landroid/graphics/Rect; invoke-virtual {p1, v2}, Landroid/view/View;->getLocalVisibleRect(Landroid/graphics/Rect;)Z move-result p1 if-eqz p1, :cond_134 .line 879 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempVisibleRect:Landroid/graphics/Rect; iget-object v2, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempGlobalRect:[I aget v2, v2, v5 iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-virtual {v3}, Landroid/view/View;->getScrollX()I move-result v3 sub-int/2addr v2, v3 iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempGlobalRect:[I aget v3, v3, v1 iget-object v4, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 880 invoke-virtual {v4}, Landroid/view/View;->getScrollY()I move-result v4 sub-int/2addr v3, v4 .line 879 invoke-virtual {p1, v2, v3}, Landroid/graphics/Rect;->offset(II)V .line 881 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect; iget-object v2, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempVisibleRect:Landroid/graphics/Rect; invoke-virtual {p1, v2}, Landroid/graphics/Rect;->intersect(Landroid/graphics/Rect;)Z move-result p1 if-eqz p1, :cond_134 .line 883 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect; invoke-virtual {v0, p1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setBoundsInScreen(Landroid/graphics/Rect;)V .line 885 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect; invoke-direct {p0, p1}, Landroidx/customview/widget/ExploreByTouchHelper;->isVisibleToUser(Landroid/graphics/Rect;)Z move-result p1 if-eqz p1, :cond_134 .line 886 invoke-virtual {v0, v1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setVisibleToUser(Z)V :cond_134 return-object v0 .line 822 :cond_135 new-instance p1, Ljava/lang/RuntimeException; const-string v0, "Callbacks must not add ACTION_CLEAR_ACCESSIBILITY_FOCUS in populateNodeForVirtualViewId()" invoke-direct {p1, v0}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V throw p1 .line 818 :cond_13d new-instance p1, Ljava/lang/RuntimeException; const-string v0, "Callbacks must not add ACTION_ACCESSIBILITY_FOCUS in populateNodeForVirtualViewId()" invoke-direct {p1, v0}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V throw p1 .line 812 :cond_145 new-instance p1, Ljava/lang/RuntimeException; const-string v0, "Callbacks must set parent bounds in populateNodeForVirtualViewId()" invoke-direct {p1, v0}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V throw p1 .end method .method private createNodeForHost()Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; .registers 7 .line 734 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-static {v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->obtain(Landroid/view/View;)Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; move-result-object v0 .line 735 iget-object v1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-static {v1, v0}, Landroidx/core/view/ViewCompat;->onInitializeAccessibilityNodeInfo(Landroid/view/View;Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;)V .line 738 new-instance v1, Ljava/util/ArrayList; invoke-direct {v1}, Ljava/util/ArrayList;->()V .line 739 invoke-virtual {p0, v1}, Landroidx/customview/widget/ExploreByTouchHelper;->getVisibleVirtualViews(Ljava/util/List;)V .line 741 invoke-virtual {v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getChildCount()I move-result v2 if-lez v2, :cond_28 .line 742 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v2 if-gtz v2, :cond_20 goto :goto_28 .line 743 :cond_20 new-instance v0, Ljava/lang/RuntimeException; const-string v1, "Views cannot have both real and virtual children" invoke-direct {v0, v1}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V throw v0 .line 746 :cond_28 :goto_28 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v2 const/4 v3, 0x0 :goto_2d if-ge v3, v2, :cond_41 .line 747 iget-object v4, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-virtual {v1, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Ljava/lang/Integer; invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I move-result v5 invoke-virtual {v0, v4, v5}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->addChild(Landroid/view/View;I)V add-int/lit8 v3, v3, 0x1 goto :goto_2d :cond_41 return-object v0 .end method .method private getAllNodes()Landroidx/collection/SparseArrayCompat; .registers 5 .annotation system Ldalvik/annotation/Signature; value = { "()", "Landroidx/collection/SparseArrayCompat<", "Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;", ">;" } .end annotation .line 427 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V .line 428 invoke-virtual {p0, v0}, Landroidx/customview/widget/ExploreByTouchHelper;->getVisibleVirtualViews(Ljava/util/List;)V .line 430 new-instance v1, Landroidx/collection/SparseArrayCompat; invoke-direct {v1}, Landroidx/collection/SparseArrayCompat;->()V const/4 v2, 0x0 .line 431 :goto_e invoke-interface {v0}, Ljava/util/List;->size()I move-result v3 if-ge v2, v3, :cond_1e .line 432 invoke-direct {p0, v2}, Landroidx/customview/widget/ExploreByTouchHelper;->createNodeForChild(I)Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; move-result-object v3 .line 433 invoke-virtual {v1, v2, v3}, Landroidx/collection/SparseArrayCompat;->put(ILjava/lang/Object;)V add-int/lit8 v2, v2, 0x1 goto :goto_e :cond_1e return-object v1 .end method .method private getBoundsInParent(ILandroid/graphics/Rect;)V .registers 3 .line 328 invoke-virtual {p0, p1}, Landroidx/customview/widget/ExploreByTouchHelper;->obtainAccessibilityNodeInfo(I)Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; move-result-object p1 .line 329 invoke-virtual {p1, p2}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getBoundsInParent(Landroid/graphics/Rect;)V return-void .end method .method private static guessPreviouslyFocusedRect(Landroid/view/View;ILandroid/graphics/Rect;)Landroid/graphics/Rect; .registers 7 .line 450 invoke-virtual {p0}, Landroid/view/View;->getWidth()I move-result v0 .line 451 invoke-virtual {p0}, Landroid/view/View;->getHeight()I move-result p0 const/16 v1, 0x11 const/4 v2, 0x0 if-eq p1, v1, :cond_2e const/16 v1, 0x21 if-eq p1, v1, :cond_2a const/16 v1, 0x42 const/4 v3, -0x1 if-eq p1, v1, :cond_26 const/16 p0, 0x82 if-ne p1, p0, :cond_1e .line 464 invoke-virtual {p2, v2, v3, v0, v3}, Landroid/graphics/Rect;->set(IIII)V goto :goto_31 .line 467 :cond_1e new-instance p0, Ljava/lang/IllegalArgumentException; const-string p1, "direction must be one of {FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, FOCUS_RIGHT}." invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p0 .line 461 :cond_26 invoke-virtual {p2, v3, v2, v3, p0}, Landroid/graphics/Rect;->set(IIII)V goto :goto_31 .line 458 :cond_2a invoke-virtual {p2, v2, p0, v0, p0}, Landroid/graphics/Rect;->set(IIII)V goto :goto_31 .line 455 :cond_2e invoke-virtual {p2, v0, v2, v0, p0}, Landroid/graphics/Rect;->set(IIII)V :goto_31 return-object p2 .end method .method private isVisibleToUser(Landroid/graphics/Rect;)Z .registers 5 const/4 v0, 0x0 if-eqz p1, :cond_38 .line 932 invoke-virtual {p1}, Landroid/graphics/Rect;->isEmpty()Z move-result p1 if-eqz p1, :cond_a goto :goto_38 .line 937 :cond_a iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-virtual {p1}, Landroid/view/View;->getWindowVisibility()I move-result p1 if-eqz p1, :cond_13 return v0 .line 942 :cond_13 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object p1 .line 943 :goto_19 instance-of v1, p1, Landroid/view/View; if-eqz v1, :cond_35 .line 944 check-cast p1, Landroid/view/View; .line 945 invoke-virtual {p1}, Landroid/view/View;->getAlpha()F move-result v1 const/4 v2, 0x0 cmpg-float v1, v1, v2 if-lez v1, :cond_34 invoke-virtual {p1}, Landroid/view/View;->getVisibility()I move-result v1 if-eqz v1, :cond_2f goto :goto_34 .line 948 :cond_2f invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object p1 goto :goto_19 :cond_34 :goto_34 return v0 :cond_35 if-eqz p1, :cond_38 const/4 v0, 0x1 :cond_38 :goto_38 return v0 .end method .method private static keyToDirection(I)I .registers 2 const/16 v0, 0x13 if-eq p0, v0, :cond_15 const/16 v0, 0x15 if-eq p0, v0, :cond_12 const/16 v0, 0x16 if-eq p0, v0, :cond_f const/16 p0, 0x82 return p0 :cond_f const/16 p0, 0x42 return p0 :cond_12 const/16 p0, 0x11 return p0 :cond_15 const/16 p0, 0x21 return p0 .end method .method private moveFocus(ILandroid/graphics/Rect;)Z .registers 12 .line 372 invoke-direct {p0}, Landroidx/customview/widget/ExploreByTouchHelper;->getAllNodes()Landroidx/collection/SparseArrayCompat; move-result-object v7 .line 374 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I const/high16 v8, -0x80000000 if-ne v0, v8, :cond_c const/4 v0, 0x0 goto :goto_12 .line 376 :cond_c invoke-virtual {v7, v0}, Landroidx/collection/SparseArrayCompat;->get(I)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; :goto_12 move-object v3, v0 const/4 v0, 0x1 if-eq p1, v0, :cond_57 const/4 v1, 0x2 if-eq p1, v1, :cond_57 const/16 v0, 0x11 if-eq p1, v0, :cond_32 const/16 v0, 0x21 if-eq p1, v0, :cond_32 const/16 v0, 0x42 if-eq p1, v0, :cond_32 const/16 v0, 0x82 if-ne p1, v0, :cond_2a goto :goto_32 .line 410 :cond_2a new-instance p1, Ljava/lang/IllegalArgumentException; const-string p2, "direction must be one of {FOCUS_FORWARD, FOCUS_BACKWARD, FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, FOCUS_RIGHT}." invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .line 392 :cond_32 :goto_32 new-instance v4, Landroid/graphics/Rect; invoke-direct {v4}, Landroid/graphics/Rect;->()V .line 393 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I if-eq v0, v8, :cond_3f .line 395 invoke-direct {p0, v0, v4}, Landroidx/customview/widget/ExploreByTouchHelper;->getBoundsInParent(ILandroid/graphics/Rect;)V goto :goto_4a :cond_3f if-eqz p2, :cond_45 .line 398 invoke-virtual {v4, p2}, Landroid/graphics/Rect;->set(Landroid/graphics/Rect;)V goto :goto_4a .line 404 :cond_45 iget-object p2, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-static {p2, p1, v4}, Landroidx/customview/widget/ExploreByTouchHelper;->guessPreviouslyFocusedRect(Landroid/view/View;ILandroid/graphics/Rect;)Landroid/graphics/Rect; .line 406 :goto_4a sget-object v1, Landroidx/customview/widget/ExploreByTouchHelper;->SPARSE_VALUES_ADAPTER:Landroidx/customview/widget/FocusStrategy$CollectionAdapter; sget-object v2, Landroidx/customview/widget/ExploreByTouchHelper;->NODE_ADAPTER:Landroidx/customview/widget/FocusStrategy$BoundsAdapter; move-object v0, v7 move v5, p1 invoke-static/range {v0 .. v5}, Landroidx/customview/widget/FocusStrategy;->findNextFocusInAbsoluteDirection(Ljava/lang/Object;Landroidx/customview/widget/FocusStrategy$CollectionAdapter;Landroidx/customview/widget/FocusStrategy$BoundsAdapter;Ljava/lang/Object;Landroid/graphics/Rect;I)Ljava/lang/Object; move-result-object p1 check-cast p1, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; goto :goto_70 .line 382 :cond_57 iget-object p2, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 383 invoke-static {p2}, Landroidx/core/view/ViewCompat;->getLayoutDirection(Landroid/view/View;)I move-result p2 if-ne p2, v0, :cond_61 move v5, v0 goto :goto_63 :cond_61 const/4 p2, 0x0 move v5, p2 .line 384 :goto_63 sget-object v1, Landroidx/customview/widget/ExploreByTouchHelper;->SPARSE_VALUES_ADAPTER:Landroidx/customview/widget/FocusStrategy$CollectionAdapter; sget-object v2, Landroidx/customview/widget/ExploreByTouchHelper;->NODE_ADAPTER:Landroidx/customview/widget/FocusStrategy$BoundsAdapter; const/4 v6, 0x0 move-object v0, v7 move v4, p1 invoke-static/range {v0 .. v6}, Landroidx/customview/widget/FocusStrategy;->findNextFocusInRelativeDirection(Ljava/lang/Object;Landroidx/customview/widget/FocusStrategy$CollectionAdapter;Landroidx/customview/widget/FocusStrategy$BoundsAdapter;Ljava/lang/Object;IZZ)Ljava/lang/Object; move-result-object p1 check-cast p1, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; :goto_70 if-nez p1, :cond_73 goto :goto_7b .line 419 :cond_73 invoke-virtual {v7, p1}, Landroidx/collection/SparseArrayCompat;->indexOfValue(Ljava/lang/Object;)I move-result p1 .line 420 invoke-virtual {v7, p1}, Landroidx/collection/SparseArrayCompat;->keyAt(I)I move-result v8 .line 423 :goto_7b invoke-virtual {p0, v8}, Landroidx/customview/widget/ExploreByTouchHelper;->requestKeyboardFocusForVirtualView(I)Z move-result p1 return p1 .end method .method private performActionForChild(IILandroid/os/Bundle;)Z .registers 5 const/4 v0, 0x1 if-eq p2, v0, :cond_22 const/4 v0, 0x2 if-eq p2, v0, :cond_1d const/16 v0, 0x40 if-eq p2, v0, :cond_18 const/16 v0, 0x80 if-eq p2, v0, :cond_13 .line 918 invoke-virtual {p0, p1, p2, p3}, Landroidx/customview/widget/ExploreByTouchHelper;->onPerformActionForVirtualView(IILandroid/os/Bundle;)Z move-result p1 return p1 .line 912 :cond_13 invoke-direct {p0, p1}, Landroidx/customview/widget/ExploreByTouchHelper;->clearAccessibilityFocus(I)Z move-result p1 return p1 .line 910 :cond_18 invoke-direct {p0, p1}, Landroidx/customview/widget/ExploreByTouchHelper;->requestAccessibilityFocus(I)Z move-result p1 return p1 .line 916 :cond_1d invoke-virtual {p0, p1}, Landroidx/customview/widget/ExploreByTouchHelper;->clearKeyboardFocusForVirtualView(I)Z move-result p1 return p1 .line 914 :cond_22 invoke-virtual {p0, p1}, Landroidx/customview/widget/ExploreByTouchHelper;->requestKeyboardFocusForVirtualView(I)Z move-result p1 return p1 .end method .method private performActionForHost(ILandroid/os/Bundle;)Z .registers 4 .line 904 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-static {v0, p1, p2}, Landroidx/core/view/ViewCompat;->performAccessibilityAction(Landroid/view/View;ILandroid/os/Bundle;)Z move-result p1 return p1 .end method .method private requestAccessibilityFocus(I)Z .registers 4 .line 968 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mManager:Landroid/view/accessibility/AccessibilityManager; invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z move-result v0 const/4 v1, 0x0 if-eqz v0, :cond_2c iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mManager:Landroid/view/accessibility/AccessibilityManager; invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isTouchExplorationEnabled()Z move-result v0 if-nez v0, :cond_12 goto :goto_2c .line 972 :cond_12 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mAccessibilityFocusedVirtualViewId:I if-eq v0, p1, :cond_2c const/high16 v1, -0x80000000 if-eq v0, v1, :cond_1d .line 975 invoke-direct {p0, v0}, Landroidx/customview/widget/ExploreByTouchHelper;->clearAccessibilityFocus(I)Z .line 979 :cond_1d iput p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mAccessibilityFocusedVirtualViewId:I .line 982 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->invalidate()V const v0, 0x8000 .line 983 invoke-virtual {p0, p1, v0}, Landroidx/customview/widget/ExploreByTouchHelper;->sendEventForVirtualView(II)Z const/4 p1, 0x1 return p1 :cond_2c :goto_2c return v1 .end method .method private updateHoveredVirtualView(I)V .registers 4 .line 612 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHoveredVirtualViewId:I if-ne v0, p1, :cond_5 return-void .line 617 :cond_5 iput p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHoveredVirtualViewId:I const/16 v1, 0x80 .line 621 invoke-virtual {p0, p1, v1}, Landroidx/customview/widget/ExploreByTouchHelper;->sendEventForVirtualView(II)Z const/16 p1, 0x100 .line 622 invoke-virtual {p0, v0, p1}, Landroidx/customview/widget/ExploreByTouchHelper;->sendEventForVirtualView(II)Z return-void .end method # virtual methods .method public final clearKeyboardFocusForVirtualView(I)Z .registers 4 .line 1046 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I const/4 v1, 0x0 if-eq v0, p1, :cond_6 return v1 :cond_6 const/high16 v0, -0x80000000 .line 1051 iput v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I .line 1053 invoke-virtual {p0, p1, v1}, Landroidx/customview/widget/ExploreByTouchHelper;->onVirtualViewKeyboardFocusChanged(IZ)V const/16 v0, 0x8 .line 1054 invoke-virtual {p0, p1, v0}, Landroidx/customview/widget/ExploreByTouchHelper;->sendEventForVirtualView(II)Z const/4 p1, 0x1 return p1 .end method .method public final dispatchHoverEvent(Landroid/view/MotionEvent;)Z .registers 7 .line 182 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mManager:Landroid/view/accessibility/AccessibilityManager; invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z move-result v0 const/4 v1, 0x0 if-eqz v0, :cond_40 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mManager:Landroid/view/accessibility/AccessibilityManager; invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isTouchExplorationEnabled()Z move-result v0 if-nez v0, :cond_12 goto :goto_40 .line 186 :cond_12 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 const/4 v2, 0x7 const/4 v3, 0x1 const/high16 v4, -0x80000000 if-eq v0, v2, :cond_2e const/16 v2, 0x9 if-eq v0, v2, :cond_2e const/16 p1, 0xa if-eq v0, p1, :cond_25 return v1 .line 193 :cond_25 iget p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHoveredVirtualViewId:I if-eq p1, v4, :cond_2d .line 194 invoke-direct {p0, v4}, Landroidx/customview/widget/ExploreByTouchHelper;->updateHoveredVirtualView(I)V return v3 :cond_2d return v1 .line 189 :cond_2e invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v0 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result p1 invoke-virtual {p0, v0, p1}, Landroidx/customview/widget/ExploreByTouchHelper;->getVirtualViewAt(FF)I move-result p1 .line 190 invoke-direct {p0, p1}, Landroidx/customview/widget/ExploreByTouchHelper;->updateHoveredVirtualView(I)V if-eq p1, v4, :cond_40 move v1, v3 :cond_40 :goto_40 return v1 .end method .method public final dispatchKeyEvent(Landroid/view/KeyEvent;)Z .registers 8 .line 218 invoke-virtual {p1}, Landroid/view/KeyEvent;->getAction()I move-result v0 const/4 v1, 0x0 const/4 v2, 0x1 if-eq v0, v2, :cond_5e .line 220 invoke-virtual {p1}, Landroid/view/KeyEvent;->getKeyCode()I move-result v0 const/16 v3, 0x3d const/4 v4, 0x0 if-eq v0, v3, :cond_48 const/16 v3, 0x42 if-eq v0, v3, :cond_37 packed-switch v0, :pswitch_data_60 goto :goto_5e .line 226 :pswitch_19 invoke-virtual {p1}, Landroid/view/KeyEvent;->hasNoModifiers()Z move-result v3 if-eqz v3, :cond_5e .line 227 invoke-static {v0}, Landroidx/customview/widget/ExploreByTouchHelper;->keyToDirection(I)I move-result v0 .line 228 invoke-virtual {p1}, Landroid/view/KeyEvent;->getRepeatCount()I move-result p1 add-int/2addr p1, v2 move v3, v1 :goto_29 if-ge v1, p1, :cond_35 .line 230 invoke-direct {p0, v0, v4}, Landroidx/customview/widget/ExploreByTouchHelper;->moveFocus(ILandroid/graphics/Rect;)Z move-result v5 if-eqz v5, :cond_35 add-int/lit8 v1, v1, 0x1 move v3, v2 goto :goto_29 :cond_35 move v1, v3 goto :goto_5e .line 240 :cond_37 :pswitch_37 invoke-virtual {p1}, Landroid/view/KeyEvent;->hasNoModifiers()Z move-result v0 if-eqz v0, :cond_5e .line 241 invoke-virtual {p1}, Landroid/view/KeyEvent;->getRepeatCount()I move-result p1 if-nez p1, :cond_5e .line 242 invoke-direct {p0}, Landroidx/customview/widget/ExploreByTouchHelper;->clickKeyboardFocusedVirtualView()Z move v1, v2 goto :goto_5e .line 248 :cond_48 invoke-virtual {p1}, Landroid/view/KeyEvent;->hasNoModifiers()Z move-result v0 if-eqz v0, :cond_54 const/4 p1, 0x2 .line 249 invoke-direct {p0, p1, v4}, Landroidx/customview/widget/ExploreByTouchHelper;->moveFocus(ILandroid/graphics/Rect;)Z move-result v1 goto :goto_5e .line 250 :cond_54 invoke-virtual {p1, v2}, Landroid/view/KeyEvent;->hasModifiers(I)Z move-result p1 if-eqz p1, :cond_5e .line 251 invoke-direct {p0, v2, v4}, Landroidx/customview/widget/ExploreByTouchHelper;->moveFocus(ILandroid/graphics/Rect;)Z move-result v1 :cond_5e :goto_5e return v1 nop :pswitch_data_60 .packed-switch 0x13 :pswitch_19 :pswitch_19 :pswitch_19 :pswitch_19 :pswitch_37 .end packed-switch .end method .method public final getAccessibilityFocusedVirtualViewId()I .registers 2 .line 290 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mAccessibilityFocusedVirtualViewId:I return v0 .end method .method public getAccessibilityNodeProvider(Landroid/view/View;)Landroidx/core/view/accessibility/AccessibilityNodeProviderCompat; .registers 2 .line 157 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mNodeProvider:Landroidx/customview/widget/ExploreByTouchHelper$MyNodeProvider; if-nez p1, :cond_b .line 158 new-instance p1, Landroidx/customview/widget/ExploreByTouchHelper$MyNodeProvider; invoke-direct {p1, p0}, Landroidx/customview/widget/ExploreByTouchHelper$MyNodeProvider;->(Landroidx/customview/widget/ExploreByTouchHelper;)V iput-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mNodeProvider:Landroidx/customview/widget/ExploreByTouchHelper$MyNodeProvider; .line 160 :cond_b iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mNodeProvider:Landroidx/customview/widget/ExploreByTouchHelper$MyNodeProvider; return-object p1 .end method .method public getFocusedVirtualView()I .registers 2 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 589 invoke-virtual {p0}, Landroidx/customview/widget/ExploreByTouchHelper;->getAccessibilityFocusedVirtualViewId()I move-result v0 return v0 .end method .method public final getKeyboardFocusedVirtualViewId()I .registers 2 .line 298 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I return v0 .end method .method protected abstract getVirtualViewAt(FF)I .end method .method protected abstract getVisibleVirtualViews(Ljava/util/List;)V .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Ljava/lang/Integer;", ">;)V" } .end annotation .end method .method public final invalidateRoot()V .registers 3 const/4 v0, -0x1 const/4 v1, 0x1 .line 526 invoke-virtual {p0, v0, v1}, Landroidx/customview/widget/ExploreByTouchHelper;->invalidateVirtualView(II)V return-void .end method .method public final invalidateVirtualView(I)V .registers 3 const/4 v0, 0x0 .line 542 invoke-virtual {p0, p1, v0}, Landroidx/customview/widget/ExploreByTouchHelper;->invalidateVirtualView(II)V return-void .end method .method public final invalidateVirtualView(II)V .registers 5 const/high16 v0, -0x80000000 if-eq p1, v0, :cond_22 .line 566 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mManager:Landroid/view/accessibility/AccessibilityManager; invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z move-result v0 if-eqz v0, :cond_22 .line 567 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 if-eqz v0, :cond_22 const/16 v1, 0x800 .line 570 invoke-direct {p0, p1, v1}, Landroidx/customview/widget/ExploreByTouchHelper;->createEvent(II)Landroid/view/accessibility/AccessibilityEvent; move-result-object p1 .line 572 invoke-static {p1, p2}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->setContentChangeTypes(Landroid/view/accessibility/AccessibilityEvent;I)V .line 573 iget-object p2, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-static {v0, p2, p1}, Landroidx/core/view/ViewParentCompat;->requestSendAccessibilityEvent(Landroid/view/ViewParent;Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z :cond_22 return-void .end method .method obtainAccessibilityNodeInfo(I)Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; .registers 3 const/4 v0, -0x1 if-ne p1, v0, :cond_8 .line 720 invoke-direct {p0}, Landroidx/customview/widget/ExploreByTouchHelper;->createNodeForHost()Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; move-result-object p1 return-object p1 .line 723 :cond_8 invoke-direct {p0, p1}, Landroidx/customview/widget/ExploreByTouchHelper;->createNodeForChild(I)Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; move-result-object p1 return-object p1 .end method .method public final onFocusChanged(ZILandroid/graphics/Rect;)V .registers 6 .line 275 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I const/high16 v1, -0x80000000 if-eq v0, v1, :cond_9 .line 276 invoke-virtual {p0, v0}, Landroidx/customview/widget/ExploreByTouchHelper;->clearKeyboardFocusForVirtualView(I)Z :cond_9 if-eqz p1, :cond_e .line 280 invoke-direct {p0, p2, p3}, Landroidx/customview/widget/ExploreByTouchHelper;->moveFocus(ILandroid/graphics/Rect;)Z :cond_e return-void .end method .method public onInitializeAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V .registers 3 .line 660 invoke-super {p0, p1, p2}, Landroidx/core/view/AccessibilityDelegateCompat;->onInitializeAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V .line 663 invoke-virtual {p0, p2}, Landroidx/customview/widget/ExploreByTouchHelper;->onPopulateEventForHost(Landroid/view/accessibility/AccessibilityEvent;)V return-void .end method .method public onInitializeAccessibilityNodeInfo(Landroid/view/View;Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;)V .registers 3 .line 755 invoke-super {p0, p1, p2}, Landroidx/core/view/AccessibilityDelegateCompat;->onInitializeAccessibilityNodeInfo(Landroid/view/View;Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;)V .line 758 invoke-virtual {p0, p2}, Landroidx/customview/widget/ExploreByTouchHelper;->onPopulateNodeForHost(Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;)V return-void .end method .method protected abstract onPerformActionForVirtualView(IILandroid/os/Bundle;)Z .end method .method protected onPopulateEventForHost(Landroid/view/accessibility/AccessibilityEvent;)V .registers 2 return-void .end method .method protected onPopulateEventForVirtualView(ILandroid/view/accessibility/AccessibilityEvent;)V .registers 3 return-void .end method .method protected onPopulateNodeForHost(Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;)V .registers 2 return-void .end method .method protected abstract onPopulateNodeForVirtualView(ILandroidx/core/view/accessibility/AccessibilityNodeInfoCompat;)V .end method .method protected onVirtualViewKeyboardFocusChanged(IZ)V .registers 3 return-void .end method .method performAction(IILandroid/os/Bundle;)Z .registers 5 const/4 v0, -0x1 if-eq p1, v0, :cond_8 .line 899 invoke-direct {p0, p1, p2, p3}, Landroidx/customview/widget/ExploreByTouchHelper;->performActionForChild(IILandroid/os/Bundle;)Z move-result p1 return p1 .line 897 :cond_8 invoke-direct {p0, p2, p3}, Landroidx/customview/widget/ExploreByTouchHelper;->performActionForHost(ILandroid/os/Bundle;)Z move-result p1 return p1 .end method .method public final requestKeyboardFocusForVirtualView(I)Z .registers 4 .line 1016 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->isFocused()Z move-result v0 const/4 v1, 0x0 if-nez v0, :cond_12 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->requestFocus()Z move-result v0 if-nez v0, :cond_12 return v1 .line 1021 :cond_12 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I if-ne v0, p1, :cond_17 return v1 :cond_17 const/high16 v1, -0x80000000 if-eq v0, v1, :cond_1e .line 1027 invoke-virtual {p0, v0}, Landroidx/customview/widget/ExploreByTouchHelper;->clearKeyboardFocusForVirtualView(I)Z .line 1030 :cond_1e iput p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I const/4 v0, 0x1 .line 1032 invoke-virtual {p0, p1, v0}, Landroidx/customview/widget/ExploreByTouchHelper;->onVirtualViewKeyboardFocusChanged(IZ)V const/16 v1, 0x8 .line 1033 invoke-virtual {p0, p1, v1}, Landroidx/customview/widget/ExploreByTouchHelper;->sendEventForVirtualView(II)Z return v0 .end method .method public final sendEventForVirtualView(II)Z .registers 5 const/high16 v0, -0x80000000 const/4 v1, 0x0 if-eq p1, v0, :cond_22 .line 505 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mManager:Landroid/view/accessibility/AccessibilityManager; invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z move-result v0 if-nez v0, :cond_e goto :goto_22 .line 509 :cond_e iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 if-nez v0, :cond_17 return v1 .line 514 :cond_17 invoke-direct {p0, p1, p2}, Landroidx/customview/widget/ExploreByTouchHelper;->createEvent(II)Landroid/view/accessibility/AccessibilityEvent; move-result-object p1 .line 515 iget-object p2, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; invoke-static {v0, p2, p1}, Landroidx/core/view/ViewParentCompat;->requestSendAccessibilityEvent(Landroid/view/ViewParent;Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z move-result p1 return p1 :cond_22 :goto_22 return v1 .end method