granularity level: instruction

		.class public Landroidx/core/view/AccessibilityDelegateCompat;
.super Ljava/lang/Object;
.source "AccessibilityDelegateCompat.java"

.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/core/view/AccessibilityDelegateCompat$AccessibilityDelegateAdapter;
}
.end annotation

.field private static final DEFAULT_DELEGATE:Landroid/view/View$AccessibilityDelegate;
.field private final mBridge:Landroid/view/View$AccessibilityDelegate;
.field private final mOriginalDelegate:Landroid/view/View$AccessibilityDelegate;


.method static constructor <clinit>()V
	.locals 1

	new-instance v0, Landroid/view/View$AccessibilityDelegate;
	invoke-direct {v0}, Landroid/view/View$AccessibilityDelegate;-><init>()V
	sput-object v0, Landroidx/core/view/AccessibilityDelegateCompat;->DEFAULT_DELEGATE:Landroid/view/View$AccessibilityDelegate;
	return-void
.end method

.method public constructor <init>()V
	.locals 1

	sget-object v0, Landroidx/core/view/AccessibilityDelegateCompat;->DEFAULT_DELEGATE:Landroid/view/View$AccessibilityDelegate;
	invoke-direct {p0, v0}, Landroidx/core/view/AccessibilityDelegateCompat;-><init>(Landroid/view/View$AccessibilityDelegate;)V
	return-void
.end method

.method public constructor <init>(Landroid/view/View$AccessibilityDelegate;)V
	.locals 0

	invoke-direct {p0}, Ljava/lang/Object;-><init>()V
	iput-object p1, p0, Landroidx/core/view/AccessibilityDelegateCompat;->mOriginalDelegate:Landroid/view/View$AccessibilityDelegate;
	new-instance p1, Landroidx/core/view/AccessibilityDelegateCompat$AccessibilityDelegateAdapter;
	invoke-direct {p1, p0}, Landroidx/core/view/AccessibilityDelegateCompat$AccessibilityDelegateAdapter;-><init>(Landroidx/core/view/AccessibilityDelegateCompat;)V
	iput-object p1, p0, Landroidx/core/view/AccessibilityDelegateCompat;->mBridge:Landroid/view/View$AccessibilityDelegate;
	return-void
.end method

.method static getActionList(Landroid/view/View;)Ljava/util/List;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"(",
	"Landroid/view/View;",
	")",
	"Ljava/util/List<",
	"Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityActionCompat;",
	">;"
	}
	.end annotation

	sget v0, Landroidx/core/R$id;->tag_accessibility_actions:I
	invoke-virtual {p0, v0}, Landroid/view/View;->getTag(I)Ljava/lang/Object;
	move-result-object p0
	check-cast p0, Ljava/util/List;
	if-nez p0, :cond_0
	invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
	move-result-object p0
	:cond_0
	return-object p0
.end method

.method private isSpanStillValid(Landroid/text/style/ClickableSpan;Landroid/view/View;)Z
	.locals 3

	const/4 v0, 0x0
	if-eqz p1, :cond_1
	invoke-virtual {p2}, Landroid/view/View;->createAccessibilityNodeInfo()Landroid/view/accessibility/AccessibilityNodeInfo;
	move-result-object p2
	invoke-virtual {p2}, Landroid/view/accessibility/AccessibilityNodeInfo;->getText()Ljava/lang/CharSequence;
	move-result-object p2
	invoke-static {p2}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getClickableSpans(Ljava/lang/CharSequence;)[Landroid/text/style/ClickableSpan;
	move-result-object p2
	const/4 v1, 0x0
	:goto_0
	if-eqz p2, :cond_1
	array-length v2, p2
	if-ge v1, v2, :cond_1
	aget-object v2, p2, v1
	invoke-virtual {p1, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
	move-result v2
	if-eqz v2, :cond_0
	const/4 p1, 0x1
	return p1
	:cond_0
	add-int/lit8 v1, v1, 0x1
	goto :goto_0
	:cond_1
	return v0
.end method

.method private performClickableSpanAction(ILandroid/view/View;)Z
	.locals 1

	sget v0, Landroidx/core/R$id;->tag_accessibility_clickable_spans:I
	invoke-virtual {p2, v0}, Landroid/view/View;->getTag(I)Ljava/lang/Object;
	move-result-object v0
	check-cast v0, Landroid/util/SparseArray;
	if-eqz v0, :cond_0
	invoke-virtual {v0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
	move-result-object p1
	check-cast p1, Ljava/lang/ref/WeakReference;
	if-eqz p1, :cond_0
	invoke-virtual {p1}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
	move-result-object p1
	check-cast p1, Landroid/text/style/ClickableSpan;
	invoke-direct {p0, p1, p2}, Landroidx/core/view/AccessibilityDelegateCompat;->isSpanStillValid(Landroid/text/style/ClickableSpan;Landroid/view/View;)Z
	move-result v0
	if-eqz v0, :cond_0
	invoke-virtual {p1, p2}, Landroid/text/style/ClickableSpan;->onClick(Landroid/view/View;)V
	const/4 p1, 0x1
	return p1
	:cond_0
	const/4 p1, 0x0
	return p1
.end method

.method public dispatchPopulateAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
	.locals 1

	iget-object v0, p0, Landroidx/core/view/AccessibilityDelegateCompat;->mOriginalDelegate:Landroid/view/View$AccessibilityDelegate;
	invoke-virtual {v0, p1, p2}, Landroid/view/View$AccessibilityDelegate;->dispatchPopulateAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
	move-result p1
	return p1
.end method

.method public getAccessibilityNodeProvider(Landroid/view/View;)Landroidx/core/view/accessibility/AccessibilityNodeProviderCompat;
	.locals 2

	sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
	const/16 v1, 0x10
	if-lt v0, v1, :cond_0
	iget-object v0, p0, Landroidx/core/view/AccessibilityDelegateCompat;->mOriginalDelegate:Landroid/view/View$AccessibilityDelegate;
	invoke-virtual {v0, p1}, Landroid/view/View$AccessibilityDelegate;->getAccessibilityNodeProvider(Landroid/view/View;)Landroid/view/accessibility/AccessibilityNodeProvider;
	move-result-object p1
	if-eqz p1, :cond_0
	new-instance v0, Landroidx/core/view/accessibility/AccessibilityNodeProviderCompat;
	invoke-direct {v0, p1}, Landroidx/core/view/accessibility/AccessibilityNodeProviderCompat;-><init>(Ljava/lang/Object;)V
	return-object v0
	:cond_0
	const/4 p1, 0x0
	return-object p1
.end method

.method  getBridge()Landroid/view/View$AccessibilityDelegate;
	.locals 1

	iget-object v0, p0, Landroidx/core/view/AccessibilityDelegateCompat;->mBridge:Landroid/view/View$AccessibilityDelegate;
	return-object v0
.end method

.method public onInitializeAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V
	.locals 1

	iget-object v0, p0, Landroidx/core/view/AccessibilityDelegateCompat;->mOriginalDelegate:Landroid/view/View$AccessibilityDelegate;
	invoke-virtual {v0, p1, p2}, Landroid/view/View$AccessibilityDelegate;->onInitializeAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V
	return-void
.end method

.method public onInitializeAccessibilityNodeInfo(Landroid/view/View;Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;)V
	.locals 1

	iget-object v0, p0, Landroidx/core/view/AccessibilityDelegateCompat;->mOriginalDelegate:Landroid/view/View$AccessibilityDelegate;
	invoke-virtual {p2}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->unwrap()Landroid/view/accessibility/AccessibilityNodeInfo;
	move-result-object p2
	invoke-virtual {v0, p1, p2}, Landroid/view/View$AccessibilityDelegate;->onInitializeAccessibilityNodeInfo(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;)V
	return-void
.end method

.method public onPopulateAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V
	.locals 1

	iget-object v0, p0, Landroidx/core/view/AccessibilityDelegateCompat;->mOriginalDelegate:Landroid/view/View$AccessibilityDelegate;
	invoke-virtual {v0, p1, p2}, Landroid/view/View$AccessibilityDelegate;->onPopulateAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V
	return-void
.end method

.method public onRequestSendAccessibilityEvent(Landroid/view/ViewGroup;Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
	.locals 1

	iget-object v0, p0, Landroidx/core/view/AccessibilityDelegateCompat;->mOriginalDelegate:Landroid/view/View$AccessibilityDelegate;
	invoke-virtual {v0, p1, p2, p3}, Landroid/view/View$AccessibilityDelegate;->onRequestSendAccessibilityEvent(Landroid/view/ViewGroup;Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
	move-result p1
	return p1
.end method

.method public performAccessibilityAction(Landroid/view/View;ILandroid/os/Bundle;)Z
	.locals 5

	invoke-static {p1}, Landroidx/core/view/AccessibilityDelegateCompat;->getActionList(Landroid/view/View;)Ljava/util/List;
	move-result-object v0
	const/4 v1, 0x0
	const/4 v2, 0x0
	:goto_0
	invoke-interface {v0}, Ljava/util/List;->size()I
	move-result v3
	if-ge v2, v3, :cond_1
	invoke-interface {v0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
	move-result-object v3
	check-cast v3, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityActionCompat;
	invoke-virtual {v3}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityActionCompat;->getId()I
	move-result v4
	if-ne v4, p2, :cond_0
	invoke-virtual {v3, p1, p3}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityActionCompat;->perform(Landroid/view/View;Landroid/os/Bundle;)Z
	move-result v1
	goto :goto_1
	:cond_0
	add-int/lit8 v2, v2, 0x1
	goto :goto_0
	:goto_1
	:cond_1
	if-nez v1, :cond_2
	sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
	const/16 v2, 0x10
	if-lt v0, v2, :cond_2
	iget-object v0, p0, Landroidx/core/view/AccessibilityDelegateCompat;->mOriginalDelegate:Landroid/view/View$AccessibilityDelegate;
	invoke-virtual {v0, p1, p2, p3}, Landroid/view/View$AccessibilityDelegate;->performAccessibilityAction(Landroid/view/View;ILandroid/os/Bundle;)Z
	move-result v1
	:cond_2
	if-nez v1, :cond_3
	sget v0, Landroidx/core/R$id;->accessibility_action_clickable_span:I
	if-ne p2, v0, :cond_3
	const/4 p2, -0x1
	const-string v0, "ACCESSIBILITY_CLICKABLE_SPAN_ID"
	invoke-virtual {p3, v0, p2}, Landroid/os/Bundle;->getInt(Ljava/lang/String;I)I
	move-result p2
	invoke-direct {p0, p2, p1}, Landroidx/core/view/AccessibilityDelegateCompat;->performClickableSpanAction(ILandroid/view/View;)Z
	move-result v1
	:cond_3
	return v1
.end method

.method public sendAccessibilityEvent(Landroid/view/View;I)V
	.locals 1

	iget-object v0, p0, Landroidx/core/view/AccessibilityDelegateCompat;->mOriginalDelegate:Landroid/view/View$AccessibilityDelegate;
	invoke-virtual {v0, p1, p2}, Landroid/view/View$AccessibilityDelegate;->sendAccessibilityEvent(Landroid/view/View;I)V
	return-void
.end method

.method public sendAccessibilityEventUnchecked(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V
	.locals 1

	iget-object v0, p0, Landroidx/core/view/AccessibilityDelegateCompat;->mOriginalDelegate:Landroid/view/View$AccessibilityDelegate;
	invoke-virtual {v0, p1, p2}, Landroid/view/View$AccessibilityDelegate;->sendAccessibilityEventUnchecked(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V
	return-void
.end method