AccessibilityUtil.smali
.class public final Lcom/facebook/stetho/common/android/AccessibilityUtil;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method private constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static hasFocusableAncestor(Landroidx/core/view/accessibility/c;Landroid/view/View;)Z
.registers 5
const/4 v0, 0x0
if-eqz p0, :cond_40
if-nez p1, :cond_6
goto :goto_40
.line 1
:cond_6
sget-object p0, Landroidx/core/view/y;->a:Ljava/util/WeakHashMap;
.line 2
invoke-static {p1}, Landroidx/core/view/y$c;->f(Landroid/view/View;)Landroid/view/ViewParent;
move-result-object p0
.line 3
instance-of p1, p0, Landroid/view/View;
if-nez p1, :cond_11
return v0
.line 4
:cond_11
invoke-static {}, Landroidx/core/view/accessibility/c;->w()Landroidx/core/view/accessibility/c;
move-result-object p1
.line 5
:try_start_15
move-object v1, p0
check-cast v1, Landroid/view/View;
.line 6
iget-object v2, p1, Landroidx/core/view/accessibility/c;->a:Landroid/view/accessibility/AccessibilityNodeInfo;
.line 7
invoke-virtual {v1, v2}, Landroid/view/View;->onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V
.line 8
move-object v1, p0
check-cast v1, Landroid/view/View;
invoke-static {p1, v1}, Lcom/facebook/stetho/common/android/AccessibilityUtil;->isAccessibilityFocusable(Landroidx/core/view/accessibility/c;Landroid/view/View;)Z
move-result v1
:try_end_24
.catchall {:try_start_15 .. :try_end_24} :catchall_3b
const/4 v2, 0x1
if-eqz v1, :cond_2b
.line 9
invoke-virtual {p1}, Landroidx/core/view/accessibility/c;->x()V
return v2
.line 10
:cond_2b
:try_start_2b
check-cast p0, Landroid/view/View;
invoke-static {p1, p0}, Lcom/facebook/stetho/common/android/AccessibilityUtil;->hasFocusableAncestor(Landroidx/core/view/accessibility/c;Landroid/view/View;)Z
move-result p0
:try_end_31
.catchall {:try_start_2b .. :try_end_31} :catchall_3b
if-eqz p0, :cond_37
.line 11
invoke-virtual {p1}, Landroidx/core/view/accessibility/c;->x()V
return v2
:cond_37
invoke-virtual {p1}, Landroidx/core/view/accessibility/c;->x()V
return v0
:catchall_3b
move-exception p0
invoke-virtual {p1}, Landroidx/core/view/accessibility/c;->x()V
throw p0
:cond_40
:goto_40
return v0
.end method
.method public static hasNonActionableSpeakingDescendants(Landroidx/core/view/accessibility/c;Landroid/view/View;)Z
.registers 7
const/4 v0, 0x0
if-eqz p0, :cond_42
if-eqz p1, :cond_42
.line 1
instance-of p0, p1, Landroid/view/ViewGroup;
if-nez p0, :cond_a
goto :goto_42
.line 2
:cond_a
check-cast p1, Landroid/view/ViewGroup;
.line 3
invoke-virtual {p1}, Landroid/view/ViewGroup;->getChildCount()I
move-result p0
const/4 v1, 0x0
:goto_11
if-ge v1, p0, :cond_42
.line 4
invoke-virtual {p1, v1}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v2
if-nez v2, :cond_1a
goto :goto_3a
.line 5
:cond_1a
invoke-static {}, Landroidx/core/view/accessibility/c;->w()Landroidx/core/view/accessibility/c;
move-result-object v3
.line 6
:try_start_1e
sget-object v4, Landroidx/core/view/y;->a:Ljava/util/WeakHashMap;
.line 7
iget-object v4, v3, Landroidx/core/view/accessibility/c;->a:Landroid/view/accessibility/AccessibilityNodeInfo;
.line 8
invoke-virtual {v2, v4}, Landroid/view/View;->onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V
.line 9
invoke-static {v3, v2}, Lcom/facebook/stetho/common/android/AccessibilityUtil;->isAccessibilityFocusable(Landroidx/core/view/accessibility/c;Landroid/view/View;)Z
move-result v4
:try_end_29
.catchall {:try_start_1e .. :try_end_29} :catchall_3d
if-eqz v4, :cond_2f
.line 10
:cond_2b
invoke-virtual {v3}, Landroidx/core/view/accessibility/c;->x()V
goto :goto_3a
.line 11
:cond_2f
:try_start_2f
invoke-static {v3, v2}, Lcom/facebook/stetho/common/android/AccessibilityUtil;->isSpeakingNode(Landroidx/core/view/accessibility/c;Landroid/view/View;)Z
move-result v2
:try_end_33
.catchall {:try_start_2f .. :try_end_33} :catchall_3d
if-eqz v2, :cond_2b
.line 12
invoke-virtual {v3}, Landroidx/core/view/accessibility/c;->x()V
const/4 p0, 0x1
return p0
:goto_3a
add-int/lit8 v1, v1, 0x1
goto :goto_11
:catchall_3d
move-exception p0
invoke-virtual {v3}, Landroidx/core/view/accessibility/c;->x()V
throw p0
:cond_42
:goto_42
return v0
.end method
.method public static hasText(Landroidx/core/view/accessibility/c;)Z
.registers 3
const/4 v0, 0x0
if-nez p0, :cond_4
return v0
:cond_4
invoke-virtual {p0}, Landroidx/core/view/accessibility/c;->n()Ljava/lang/CharSequence;
move-result-object v1
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_18
invoke-virtual {p0}, Landroidx/core/view/accessibility/c;->l()Ljava/lang/CharSequence;
move-result-object p0
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result p0
if-nez p0, :cond_19
:cond_18
const/4 v0, 0x1
:cond_19
return v0
.end method
.method public static isAccessibilityFocusable(Landroidx/core/view/accessibility/c;Landroid/view/View;)Z
.registers 5
const/4 v0, 0x0
if-eqz p0, :cond_22
if-nez p1, :cond_6
goto :goto_22
.line 1
:cond_6
invoke-virtual {p0}, Landroidx/core/view/accessibility/c;->v()Z
move-result v1
if-nez v1, :cond_d
return v0
.line 2
:cond_d
invoke-static {p0}, Lcom/facebook/stetho/common/android/AccessibilityUtil;->isActionableForAccessibility(Landroidx/core/view/accessibility/c;)Z
move-result v1
const/4 v2, 0x1
if-eqz v1, :cond_15
return v2
.line 3
:cond_15
invoke-static {p0, p1}, Lcom/facebook/stetho/common/android/AccessibilityUtil;->isTopLevelScrollItem(Landroidx/core/view/accessibility/c;Landroid/view/View;)Z
move-result v1
if-eqz v1, :cond_22
invoke-static {p0, p1}, Lcom/facebook/stetho/common/android/AccessibilityUtil;->isSpeakingNode(Landroidx/core/view/accessibility/c;Landroid/view/View;)Z
move-result p0
if-eqz p0, :cond_22
const/4 v0, 0x1
:cond_22
:goto_22
return v0
.end method
.method public static isActionableForAccessibility(Landroidx/core/view/accessibility/c;)Z
.registers 4
const/4 v0, 0x0
if-nez p0, :cond_4
return v0
.line 1
:cond_4
invoke-virtual {p0}, Landroidx/core/view/accessibility/c;->p()Z
move-result v1
const/4 v2, 0x1
if-nez v1, :cond_40
invoke-virtual {p0}, Landroidx/core/view/accessibility/c;->s()Z
move-result v1
if-nez v1, :cond_40
invoke-virtual {p0}, Landroidx/core/view/accessibility/c;->r()Z
move-result v1
if-eqz v1, :cond_18
goto :goto_40
.line 2
:cond_18
invoke-virtual {p0}, Landroidx/core/view/accessibility/c;->d()Ljava/util/List;
move-result-object p0
const/16 v1, 0x10
.line 3
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-interface {p0, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_3e
const/16 v1, 0x20
.line 4
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-interface {p0, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_3e
.line 5
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-interface {p0, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_3f
:cond_3e
const/4 v0, 0x1
:cond_3f
return v0
:cond_40
:goto_40
return v2
.end method
.method public static isSpeakingNode(Landroidx/core/view/accessibility/c;Landroid/view/View;)Z
.registers 5
const/4 v0, 0x0
if-eqz p0, :cond_33
if-nez p1, :cond_6
goto :goto_33
.line 1
:cond_6
invoke-virtual {p0}, Landroidx/core/view/accessibility/c;->v()Z
move-result v1
if-nez v1, :cond_d
return v0
.line 2
:cond_d
sget-object v1, Landroidx/core/view/y;->a:Ljava/util/WeakHashMap;
.line 3
invoke-static {p1}, Landroidx/core/view/y$c;->c(Landroid/view/View;)I
move-result v1
const/4 v2, 0x4
if-eq v1, v2, :cond_33
const/4 v2, 0x2
if-ne v1, v2, :cond_20
.line 4
invoke-virtual {p0}, Landroidx/core/view/accessibility/c;->i()I
move-result v1
if-gtz v1, :cond_20
goto :goto_33
.line 5
:cond_20
invoke-virtual {p0}, Landroidx/core/view/accessibility/c;->o()Z
move-result v1
if-nez v1, :cond_32
invoke-static {p0}, Lcom/facebook/stetho/common/android/AccessibilityUtil;->hasText(Landroidx/core/view/accessibility/c;)Z
move-result v1
if-nez v1, :cond_32
invoke-static {p0, p1}, Lcom/facebook/stetho/common/android/AccessibilityUtil;->hasNonActionableSpeakingDescendants(Landroidx/core/view/accessibility/c;Landroid/view/View;)Z
move-result p0
if-eqz p0, :cond_33
:cond_32
const/4 v0, 0x1
:cond_33
:goto_33
return v0
.end method
.method public static isTopLevelScrollItem(Landroidx/core/view/accessibility/c;Landroid/view/View;)Z
.registers 5
const/4 v0, 0x0
if-eqz p0, :cond_4a
if-nez p1, :cond_6
goto :goto_4a
.line 1
:cond_6
sget-object v1, Landroidx/core/view/y;->a:Ljava/util/WeakHashMap;
.line 2
invoke-static {p1}, Landroidx/core/view/y$c;->f(Landroid/view/View;)Landroid/view/ViewParent;
move-result-object p1
.line 3
check-cast p1, Landroid/view/View;
if-nez p1, :cond_11
return v0
.line 4
:cond_11
invoke-virtual {p0}, Landroidx/core/view/accessibility/c;->t()Z
move-result v1
const/4 v2, 0x1
if-eqz v1, :cond_19
return v2
.line 5
:cond_19
invoke-virtual {p0}, Landroidx/core/view/accessibility/c;->d()Ljava/util/List;
move-result-object p0
const/16 v1, 0x1000
.line 6
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-interface {p0, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_49
const/16 v1, 0x2000
.line 7
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-interface {p0, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_36
goto :goto_49
.line 8
:cond_36
instance-of p0, p1, Landroid/widget/Spinner;
if-eqz p0, :cond_3b
return v0
.line 9
:cond_3b
instance-of p0, p1, Landroid/widget/AdapterView;
if-nez p0, :cond_47
instance-of p0, p1, Landroid/widget/ScrollView;
if-nez p0, :cond_47
instance-of p0, p1, Landroid/widget/HorizontalScrollView;
if-eqz p0, :cond_48
:cond_47
const/4 v0, 0x1
:cond_48
return v0
:cond_49
:goto_49
return v2
:cond_4a
:goto_4a
return v0
.end method