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