.class public abstract Landroidx/customview/widget/ExploreByTouchHelper; .super Landroidx/core/view/AccessibilityDelegateCompat; .source "SourceFile" # 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 .locals 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 .locals 2 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .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 new-array v0, v0, [I iput-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempGlobalRect:[I const/high16 v0, -0x80000000 iput v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mAccessibilityFocusedVirtualViewId:I iput v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I iput v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHoveredVirtualViewId:I if-eqz p1, :cond_1 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 const-string v1, "accessibility" .line 143 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_0 .line 150 invoke-static {p1, v0}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V :cond_0 return-void .line 137 :cond_1 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 .locals 1 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mAccessibilityFocusedVirtualViewId:I if-ne v0, p1, :cond_0 const/high16 v0, -0x80000000 iput v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mAccessibilityFocusedVirtualViewId:I iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 1000 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_0 const/4 p1, 0x0 return p1 .end method .method private clickKeyboardFocusedVirtualView()Z .locals 3 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I const/high16 v1, -0x80000000 if-eq v0, v1, :cond_0 const/16 v1, 0x10 const/4 v2, 0x0 .line 481 invoke-virtual {p0, v0, v1, v2}, Landroidx/customview/widget/ExploreByTouchHelper;->onPerformActionForVirtualView(IILandroid/os/Bundle;)Z move-result v0 if-eqz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method private createEvent(II)Landroid/view/accessibility/AccessibilityEvent; .locals 1 const/4 v0, -0x1 if-eq p1, v0, :cond_0 .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_0 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; .locals 3 .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/AccessibilityRecord;->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/AccessibilityRecord;->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/AccessibilityRecord;->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/AccessibilityRecord;->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/AccessibilityRecord;->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/AccessibilityRecord;->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/AccessibilityRecord;->getText()Ljava/util/List; move-result-object v1 invoke-interface {v1}, Ljava/util/List;->isEmpty()Z move-result v1 if-eqz v1, :cond_1 invoke-virtual {p2}, Landroid/view/accessibility/AccessibilityRecord;->getContentDescription()Ljava/lang/CharSequence; move-result-object v1 if-eqz v1, :cond_0 goto :goto_0 .line 693 :cond_0 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_1 :goto_0 invoke-virtual {v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getClassName()Ljava/lang/CharSequence; move-result-object v0 invoke-virtual {p2, v0}, Landroid/view/accessibility/AccessibilityRecord;->setClassName(Ljava/lang/CharSequence;)V iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 699 invoke-static {p2, v0, p1}, Landroidx/core/view/accessibility/AccessibilityRecordCompat;->setSource(Landroid/view/accessibility/AccessibilityRecord;Landroid/view/View;I)V iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 700 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; .locals 1 .line 653 invoke-static {p1}, Landroid/view/accessibility/AccessibilityEvent;->obtain(I)Landroid/view/accessibility/AccessibilityEvent; move-result-object p1 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 654 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; .locals 7 .annotation build Landroidx/annotation/NonNull; .end annotation .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 const-string v2, "android.view.View" .line 796 invoke-virtual {v0, v2}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setClassName(Ljava/lang/CharSequence;)V sget-object v2, Landroidx/customview/widget/ExploreByTouchHelper;->INVALID_PARENT_BOUNDS:Landroid/graphics/Rect; .line 797 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 iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 799 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_1 invoke-virtual {v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getContentDescription()Ljava/lang/CharSequence; move-result-object v3 if-eqz v3, :cond_0 goto :goto_0 .line 806 :cond_0 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 :cond_1 :goto_0 iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempParentRect:Landroid/graphics/Rect; .line 810 invoke-virtual {v0, v3}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getBoundsInParent(Landroid/graphics/Rect;)V iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempParentRect:Landroid/graphics/Rect; .line 811 invoke-virtual {v3, v2}, Landroid/graphics/Rect;->equals(Ljava/lang/Object;)Z move-result v3 if-nez v3, :cond_c .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_b const/16 v4, 0x80 and-int/2addr v3, v4 if-nez v3, :cond_a iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 827 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 iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 828 invoke-virtual {v0, v3, p1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setSource(Landroid/view/View;I)V iget v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mAccessibilityFocusedVirtualViewId:I const/4 v5, 0x0 if-ne v3, p1, :cond_2 .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_1 .line 835 :cond_2 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 :goto_1 iget v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I if-ne v3, p1, :cond_3 move p1, v1 goto :goto_2 :cond_3 move p1, v5 :goto_2 if-eqz p1, :cond_4 const/4 v3, 0x2 .line 842 invoke-virtual {v0, v3}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->addAction(I)V goto :goto_3 .line 843 :cond_4 invoke-virtual {v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->isFocusable()Z move-result v3 if-eqz v3, :cond_5 .line 844 invoke-virtual {v0, v1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->addAction(I)V .line 846 :cond_5 :goto_3 invoke-virtual {v0, p1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setFocused(Z)V iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempGlobalRect:[I .line 848 invoke-virtual {p1, v3}, Landroid/view/View;->getLocationOnScreen([I)V iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect; .line 852 invoke-virtual {v0, p1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getBoundsInScreen(Landroid/graphics/Rect;)V iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect; .line 853 invoke-virtual {p1, v2}, Landroid/graphics/Rect;->equals(Ljava/lang/Object;)Z move-result p1 if-eqz p1, :cond_8 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect; .line 854 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_7 .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_4 if-eq v3, v2, :cond_6 iget-object v4, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 864 invoke-virtual {p1, v4, v2}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setParent(Landroid/view/View;I)V sget-object v4, Landroidx/customview/widget/ExploreByTouchHelper;->INVALID_PARENT_BOUNDS:Landroid/graphics/Rect; .line 865 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 iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempParentRect:Landroid/graphics/Rect; .line 868 invoke-virtual {p1, v3}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getBoundsInParent(Landroid/graphics/Rect;)V iget-object v3, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect; iget-object v4, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempParentRect:Landroid/graphics/Rect; .line 869 iget v6, v4, Landroid/graphics/Rect;->left:I iget v4, v4, Landroid/graphics/Rect;->top:I invoke-virtual {v3, v6, v4}, Landroid/graphics/Rect;->offset(II)V .line 862 iget v3, p1, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->mParentVirtualDescendantId:I goto :goto_4 .line 871 :cond_6 invoke-virtual {p1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->recycle()V :cond_7 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect; iget-object v2, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempGlobalRect:[I .line 874 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 :cond_8 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; iget-object v2, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempVisibleRect:Landroid/graphics/Rect; .line 878 invoke-virtual {p1, v2}, Landroid/view/View;->getLocalVisibleRect(Landroid/graphics/Rect;)Z move-result p1 if-eqz p1, :cond_9 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempVisibleRect:Landroid/graphics/Rect; iget-object v2, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempGlobalRect:[I .line 879 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 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect; iget-object v2, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempVisibleRect:Landroid/graphics/Rect; .line 881 invoke-virtual {p1, v2}, Landroid/graphics/Rect;->intersect(Landroid/graphics/Rect;)Z move-result p1 if-eqz p1, :cond_9 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect; .line 883 invoke-virtual {v0, p1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setBoundsInScreen(Landroid/graphics/Rect;)V iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect; .line 885 invoke-direct {p0, p1}, Landroidx/customview/widget/ExploreByTouchHelper;->isVisibleToUser(Landroid/graphics/Rect;)Z move-result p1 if-eqz p1, :cond_9 .line 886 invoke-virtual {v0, v1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setVisibleToUser(Z)V :cond_9 return-object v0 .line 822 :cond_a 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_b 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_c 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; .locals 6 .annotation build Landroidx/annotation/NonNull; .end annotation iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 734 invoke-static {v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->obtain(Landroid/view/View;)Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; move-result-object v0 iget-object v1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 735 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_1 .line 742 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v2 if-gtz v2, :cond_0 goto :goto_0 .line 743 :cond_0 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_1 :goto_0 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v2 const/4 v3, 0x0 :goto_1 if-ge v3, v2, :cond_2 iget-object v4, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 747 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_1 :cond_2 return-object v0 .end method .method private getAllNodes()Landroidx/collection/SparseArrayCompat; .locals 4 .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_0 invoke-interface {v0}, Ljava/util/List;->size()I move-result v3 if-ge v2, v3, :cond_0 .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_0 :cond_0 return-object v1 .end method .method private getBoundsInParent(ILandroid/graphics/Rect;)V .locals 0 .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; .locals 4 .param p0 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/graphics/Rect; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .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_3 const/16 v1, 0x21 if-eq p1, v1, :cond_2 const/16 v1, 0x42 const/4 v3, -0x1 if-eq p1, v1, :cond_1 const/16 p0, 0x82 if-ne p1, p0, :cond_0 .line 464 invoke-virtual {p2, v2, v3, v0, v3}, Landroid/graphics/Rect;->set(IIII)V goto :goto_0 .line 467 :cond_0 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_1 invoke-virtual {p2, v3, v2, v3, p0}, Landroid/graphics/Rect;->set(IIII)V goto :goto_0 .line 458 :cond_2 invoke-virtual {p2, v2, p0, v0, p0}, Landroid/graphics/Rect;->set(IIII)V goto :goto_0 .line 455 :cond_3 invoke-virtual {p2, v0, v2, v0, p0}, Landroid/graphics/Rect;->set(IIII)V :goto_0 return-object p2 .end method .method private isVisibleToUser(Landroid/graphics/Rect;)Z .locals 3 const/4 v0, 0x0 if-eqz p1, :cond_5 .line 932 invoke-virtual {p1}, Landroid/graphics/Rect;->isEmpty()Z move-result p1 if-eqz p1, :cond_0 goto :goto_2 :cond_0 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 937 invoke-virtual {p1}, Landroid/view/View;->getWindowVisibility()I move-result p1 if-eqz p1, :cond_1 return v0 :cond_1 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 942 invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object p1 .line 943 :goto_0 instance-of v1, p1, Landroid/view/View; if-eqz v1, :cond_4 .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_3 invoke-virtual {p1}, Landroid/view/View;->getVisibility()I move-result v1 if-eqz v1, :cond_2 goto :goto_1 .line 948 :cond_2 invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object p1 goto :goto_0 :cond_3 :goto_1 return v0 :cond_4 if-eqz p1, :cond_5 const/4 v0, 0x1 :cond_5 :goto_2 return v0 .end method .method private static keyToDirection(I)I .locals 1 const/16 v0, 0x13 if-eq p0, v0, :cond_2 const/16 v0, 0x15 if-eq p0, v0, :cond_1 const/16 v0, 0x16 if-eq p0, v0, :cond_0 const/16 p0, 0x82 return p0 :cond_0 const/16 p0, 0x42 return p0 :cond_1 const/16 p0, 0x11 return p0 :cond_2 const/16 p0, 0x21 return p0 .end method .method private moveFocus(ILandroid/graphics/Rect;)Z .locals 9 .param p2 # Landroid/graphics/Rect; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 372 invoke-direct {p0}, Landroidx/customview/widget/ExploreByTouchHelper;->getAllNodes()Landroidx/collection/SparseArrayCompat; move-result-object v7 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I const/high16 v8, -0x80000000 if-ne v0, v8, :cond_0 const/4 v0, 0x0 :goto_0 move-object v3, v0 goto :goto_1 .line 376 :cond_0 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 :goto_0 :goto_1 const/4 v0, 0x1 if-eq p1, v0, :cond_5 const/4 v1, 0x2 if-eq p1, v1, :cond_5 const/16 v0, 0x11 if-eq p1, v0, :cond_2 const/16 v0, 0x21 if-eq p1, v0, :cond_2 const/16 v0, 0x42 if-eq p1, v0, :cond_2 const/16 v0, 0x82 if-ne p1, v0, :cond_1 goto :goto_2 .line 410 :cond_1 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_2 :goto_2 new-instance v4, Landroid/graphics/Rect; invoke-direct {v4}, Landroid/graphics/Rect;->()V iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I if-eq v0, v8, :cond_3 .line 395 invoke-direct {p0, v0, v4}, Landroidx/customview/widget/ExploreByTouchHelper;->getBoundsInParent(ILandroid/graphics/Rect;)V goto :goto_3 :cond_3 if-eqz p2, :cond_4 .line 398 invoke-virtual {v4, p2}, Landroid/graphics/Rect;->set(Landroid/graphics/Rect;)V goto :goto_3 :cond_4 iget-object p2, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 404 invoke-static {p2, p1, v4}, Landroidx/customview/widget/ExploreByTouchHelper;->guessPreviouslyFocusedRect(Landroid/view/View;ILandroid/graphics/Rect;)Landroid/graphics/Rect; :goto_3 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 .line 406 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_5 :cond_5 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_6 move v5, v0 goto :goto_4 :cond_6 const/4 p2, 0x0 move v5, p2 :goto_4 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 .line 384 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_5 if-nez p1, :cond_7 goto :goto_6 .line 419 :cond_7 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_6 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 .locals 1 const/4 v0, 0x1 if-eq p2, v0, :cond_3 const/4 v0, 0x2 if-eq p2, v0, :cond_2 const/16 v0, 0x40 if-eq p2, v0, :cond_1 const/16 v0, 0x80 if-eq p2, v0, :cond_0 .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_0 invoke-direct {p0, p1}, Landroidx/customview/widget/ExploreByTouchHelper;->clearAccessibilityFocus(I)Z move-result p1 return p1 .line 910 :cond_1 invoke-direct {p0, p1}, Landroidx/customview/widget/ExploreByTouchHelper;->requestAccessibilityFocus(I)Z move-result p1 return p1 .line 916 :cond_2 invoke-virtual {p0, p1}, Landroidx/customview/widget/ExploreByTouchHelper;->clearKeyboardFocusForVirtualView(I)Z move-result p1 return p1 .line 914 :cond_3 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 .locals 1 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 904 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 .locals 2 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mManager:Landroid/view/accessibility/AccessibilityManager; .line 968 invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z move-result v0 const/4 v1, 0x0 if-eqz v0, :cond_2 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_0 goto :goto_0 :cond_0 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mAccessibilityFocusedVirtualViewId:I if-eq v0, p1, :cond_2 const/high16 v1, -0x80000000 if-eq v0, v1, :cond_1 .line 975 invoke-direct {p0, v0}, Landroidx/customview/widget/ExploreByTouchHelper;->clearAccessibilityFocus(I)Z :cond_1 iput p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mAccessibilityFocusedVirtualViewId:I iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 982 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_2 :goto_0 return v1 .end method .method private updateHoveredVirtualView(I)V .locals 2 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHoveredVirtualViewId:I if-ne v0, p1, :cond_0 return-void :cond_0 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 .locals 2 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I const/4 v1, 0x0 if-eq v0, p1, :cond_0 return v1 :cond_0 const/high16 v0, -0x80000000 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 .locals 5 .param p1 # Landroid/view/MotionEvent; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mManager:Landroid/view/accessibility/AccessibilityManager; .line 182 invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z move-result v0 const/4 v1, 0x0 if-eqz v0, :cond_4 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_0 goto :goto_0 .line 186 :cond_0 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_3 const/16 v2, 0x9 if-eq v0, v2, :cond_3 const/16 p1, 0xa if-eq v0, p1, :cond_1 return v1 :cond_1 iget p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHoveredVirtualViewId:I if-eq p1, v4, :cond_2 .line 194 invoke-direct {p0, v4}, Landroidx/customview/widget/ExploreByTouchHelper;->updateHoveredVirtualView(I)V return v3 :cond_2 return v1 .line 189 :cond_3 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_4 move v1, v3 :cond_4 :goto_0 return v1 .end method .method public final dispatchKeyEvent(Landroid/view/KeyEvent;)Z .locals 6 .param p1 # Landroid/view/KeyEvent; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .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_4 .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_2 const/16 v3, 0x42 if-eq v0, v3, :cond_1 packed-switch v0, :pswitch_data_0 goto :goto_1 .line 226 :pswitch_0 invoke-virtual {p1}, Landroid/view/KeyEvent;->hasNoModifiers()Z move-result v3 if-eqz v3, :cond_4 .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_0 if-ge v1, p1, :cond_0 .line 230 invoke-direct {p0, v0, v4}, Landroidx/customview/widget/ExploreByTouchHelper;->moveFocus(ILandroid/graphics/Rect;)Z move-result v5 if-eqz v5, :cond_0 add-int/lit8 v1, v1, 0x1 move v3, v2 goto :goto_0 :cond_0 move v1, v3 goto :goto_1 .line 240 :cond_1 :pswitch_1 invoke-virtual {p1}, Landroid/view/KeyEvent;->hasNoModifiers()Z move-result v0 if-eqz v0, :cond_4 .line 241 invoke-virtual {p1}, Landroid/view/KeyEvent;->getRepeatCount()I move-result p1 if-nez p1, :cond_4 .line 242 invoke-direct {p0}, Landroidx/customview/widget/ExploreByTouchHelper;->clickKeyboardFocusedVirtualView()Z move v1, v2 goto :goto_1 .line 248 :cond_2 invoke-virtual {p1}, Landroid/view/KeyEvent;->hasNoModifiers()Z move-result v0 if-eqz v0, :cond_3 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_1 .line 250 :cond_3 invoke-virtual {p1, v2}, Landroid/view/KeyEvent;->hasModifiers(I)Z move-result p1 if-eqz p1, :cond_4 .line 251 invoke-direct {p0, v2, v4}, Landroidx/customview/widget/ExploreByTouchHelper;->moveFocus(ILandroid/graphics/Rect;)Z move-result v1 :cond_4 :goto_1 return v1 nop :pswitch_data_0 .packed-switch 0x13 :pswitch_0 :pswitch_0 :pswitch_0 :pswitch_0 :pswitch_1 .end packed-switch .end method .method public final getAccessibilityFocusedVirtualViewId()I .locals 1 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mAccessibilityFocusedVirtualViewId:I return v0 .end method .method public getAccessibilityNodeProvider(Landroid/view/View;)Landroidx/core/view/accessibility/AccessibilityNodeProviderCompat; .locals 0 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mNodeProvider:Landroidx/customview/widget/ExploreByTouchHelper$MyNodeProvider; if-nez p1, :cond_0 .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; :cond_0 iget-object p1, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mNodeProvider:Landroidx/customview/widget/ExploreByTouchHelper$MyNodeProvider; return-object p1 .end method .method public getFocusedVirtualView()I .locals 1 .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 .locals 1 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I return v0 .end method .method public abstract getVirtualViewAt(FF)I .end method .method public 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 .locals 2 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 .locals 1 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 .locals 2 const/high16 v0, -0x80000000 if-eq p1, v0, :cond_0 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mManager:Landroid/view/accessibility/AccessibilityManager; .line 566 invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z move-result v0 if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 567 invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 if-eqz v0, :cond_0 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 iget-object p2, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 573 invoke-static {v0, p2, p1}, Landroidx/core/view/ViewParentCompat;->requestSendAccessibilityEvent(Landroid/view/ViewParent;Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z :cond_0 return-void .end method .method public obtainAccessibilityNodeInfo(I)Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; .locals 1 .annotation build Landroidx/annotation/NonNull; .end annotation const/4 v0, -0x1 if-ne p1, v0, :cond_0 .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_0 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 .locals 2 .param p3 # Landroid/graphics/Rect; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I const/high16 v1, -0x80000000 if-eq v0, v1, :cond_0 .line 276 invoke-virtual {p0, v0}, Landroidx/customview/widget/ExploreByTouchHelper;->clearKeyboardFocusForVirtualView(I)Z :cond_0 if-eqz p1, :cond_1 .line 280 invoke-direct {p0, p2, p3}, Landroidx/customview/widget/ExploreByTouchHelper;->moveFocus(ILandroid/graphics/Rect;)Z :cond_1 return-void .end method .method public onInitializeAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V .locals 0 .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 .locals 0 .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 public abstract onPerformActionForVirtualView(IILandroid/os/Bundle;)Z .param p3 # Landroid/os/Bundle; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .end method .method public onPopulateEventForHost(Landroid/view/accessibility/AccessibilityEvent;)V .locals 0 .param p1 # Landroid/view/accessibility/AccessibilityEvent; .annotation build Landroidx/annotation/NonNull; .end annotation .end param return-void .end method .method public onPopulateEventForVirtualView(ILandroid/view/accessibility/AccessibilityEvent;)V .locals 0 .param p2 # Landroid/view/accessibility/AccessibilityEvent; .annotation build Landroidx/annotation/NonNull; .end annotation .end param return-void .end method .method public onPopulateNodeForHost(Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;)V .locals 0 .param p1 # Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; .annotation build Landroidx/annotation/NonNull; .end annotation .end param return-void .end method .method public abstract onPopulateNodeForVirtualView(ILandroidx/core/view/accessibility/AccessibilityNodeInfoCompat;)V .param p2 # Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .end method .method public onVirtualViewKeyboardFocusChanged(IZ)V .locals 0 return-void .end method .method public performAction(IILandroid/os/Bundle;)Z .locals 1 const/4 v0, -0x1 if-eq p1, v0, :cond_0 .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_0 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 .locals 2 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 1016 invoke-virtual {v0}, Landroid/view/View;->isFocused()Z move-result v0 const/4 v1, 0x0 if-nez v0, :cond_0 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_0 return v1 :cond_0 iget v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mKeyboardFocusedVirtualViewId:I if-ne v0, p1, :cond_1 return v1 :cond_1 const/high16 v1, -0x80000000 if-eq v0, v1, :cond_2 .line 1027 invoke-virtual {p0, v0}, Landroidx/customview/widget/ExploreByTouchHelper;->clearKeyboardFocusForVirtualView(I)Z :cond_2 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 .locals 2 const/high16 v0, -0x80000000 const/4 v1, 0x0 if-eq p1, v0, :cond_2 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mManager:Landroid/view/accessibility/AccessibilityManager; .line 505 invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z move-result v0 if-nez v0, :cond_0 goto :goto_0 :cond_0 iget-object v0, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 509 invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 if-nez v0, :cond_1 return v1 .line 514 :cond_1 invoke-direct {p0, p1, p2}, Landroidx/customview/widget/ExploreByTouchHelper;->createEvent(II)Landroid/view/accessibility/AccessibilityEvent; move-result-object p1 iget-object p2, p0, Landroidx/customview/widget/ExploreByTouchHelper;->mHost:Landroid/view/View; .line 515 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_2 :goto_0 return v1 .end method