HookRecyclerViewLayout.smali

.class public final Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;
.super Landroid/widget/FrameLayout;
.source "SourceFile"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout$a;
    }
.end annotation


# instance fields
.field private a:Ljava/lang/Float;

.field private b:I

.field private c:Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout$a;

.field private final d:I


# direct methods
.method public constructor <init>(Landroid/content/Context;)V
    .registers 3

    const-string v0, "context"

    invoke-static {p1, v0}, Lkotlin/f/b/o;->b(Ljava/lang/Object;Ljava/lang/String;)V

    .line 19
    invoke-direct {p0, p1}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V

    const/4 p1, -0x1

    .line 25
    iput p1, p0, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->b:I

    .line 28
    invoke-virtual {p0}, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->getContext()Landroid/content/Context;

    move-result-object p1

    invoke-static {p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;

    move-result-object p1

    const-string v0, "ViewConfiguration.get(context)"

    invoke-static {p1, v0}, Lkotlin/f/b/o;->a(Ljava/lang/Object;Ljava/lang/String;)V

    invoke-virtual {p1}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I

    move-result p1

    iput p1, p0, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->d:I

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
    .registers 4

    const-string v0, "context"

    invoke-static {p1, v0}, Lkotlin/f/b/o;->b(Ljava/lang/Object;Ljava/lang/String;)V

    .line 20
    invoke-direct {p0, p1, p2}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V

    const/4 p1, -0x1

    .line 25
    iput p1, p0, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->b:I

    .line 28
    invoke-virtual {p0}, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->getContext()Landroid/content/Context;

    move-result-object p1

    invoke-static {p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;

    move-result-object p1

    const-string p2, "ViewConfiguration.get(context)"

    invoke-static {p1, p2}, Lkotlin/f/b/o;->a(Ljava/lang/Object;Ljava/lang/String;)V

    invoke-virtual {p1}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I

    move-result p1

    iput p1, p0, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->d:I

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
    .registers 5

    const-string v0, "context"

    invoke-static {p1, v0}, Lkotlin/f/b/o;->b(Ljava/lang/Object;Ljava/lang/String;)V

    .line 21
    invoke-direct {p0, p1, p2, p3}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

    const/4 p1, -0x1

    .line 25
    iput p1, p0, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->b:I

    .line 28
    invoke-virtual {p0}, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->getContext()Landroid/content/Context;

    move-result-object p1

    invoke-static {p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;

    move-result-object p1

    const-string p2, "ViewConfiguration.get(context)"

    invoke-static {p1, p2}, Lkotlin/f/b/o;->a(Ljava/lang/Object;Ljava/lang/String;)V

    invoke-virtual {p1}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I

    move-result p1

    iput p1, p0, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->d:I

    return-void
.end method

.method private final a(Landroid/view/MotionEvent;)F
    .registers 4

    .line 79
    iget v0, p0, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->b:I

    const/4 v1, -0x1

    if-ne v0, v1, :cond_7

    const/4 p1, 0x0

    return p1

    .line 82
    :cond_7
    invoke-direct {p0}, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->getOrientation()I

    move-result v0

    if-nez v0, :cond_14

    .line 83
    iget v0, p0, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->b:I

    invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getX(I)F

    move-result p1

    return p1

    .line 85
    :cond_14
    iget v0, p0, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->b:I

    invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getY(I)F

    move-result p1

    return p1
.end method

.method private final a(Landroidx/recyclerview/widget/RecyclerView;)Z
    .registers 4

    .line 88
    invoke-direct {p0}, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->getOrientation()I

    move-result v0

    const/4 v1, 0x1

    if-eqz v0, :cond_10

    if-eq v0, v1, :cond_b

    const/4 p1, 0x0

    return p1

    .line 90
    :cond_b
    invoke-virtual {p1, v1}, Landroidx/recyclerview/widget/RecyclerView;->canScrollVertically(I)Z

    move-result p1

    return p1

    .line 89
    :cond_10
    invoke-virtual {p1, v1}, Landroidx/recyclerview/widget/RecyclerView;->canScrollHorizontally(I)Z

    move-result p1

    return p1
.end method

.method private final getOrientation()I
    .registers 3

    .line 102
    invoke-direct {p0}, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->getRecyclerView()Landroidx/recyclerview/widget/RecyclerView;

    move-result-object v0

    if-eqz v0, :cond_23

    .line 103
    invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$LayoutManager;

    move-result-object v1

    instance-of v1, v1, Landroidx/recyclerview/widget/LinearLayoutManager;

    if-eqz v1, :cond_23

    .line 104
    invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$LayoutManager;

    move-result-object v0

    if-eqz v0, :cond_1b

    check-cast v0, Landroidx/recyclerview/widget/LinearLayoutManager;

    invoke-virtual {v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getOrientation()I

    move-result v0

    return v0

    :cond_1b
    new-instance v0, Lkotlin/TypeCastException;

    const-string v1, "null cannot be cast to non-null type androidx.recyclerview.widget.LinearLayoutManager"

    invoke-direct {v0, v1}, Lkotlin/TypeCastException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_23
    const/4 v0, -0x1

    return v0
.end method

.method private final getRecyclerView()Landroidx/recyclerview/widget/RecyclerView;
    .registers 3

    const/4 v0, 0x0

    .line 95
    invoke-virtual {p0, v0}, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v1

    instance-of v1, v1, Landroidx/recyclerview/widget/RecyclerView;

    if-nez v1, :cond_b

    const/4 v0, 0x0

    return-object v0

    .line 98
    :cond_b
    invoke-virtual {p0, v0}, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    if-eqz v0, :cond_14

    check-cast v0, Landroidx/recyclerview/widget/RecyclerView;

    return-object v0

    :cond_14
    new-instance v0, Lkotlin/TypeCastException;

    const-string v1, "null cannot be cast to non-null type androidx.recyclerview.widget.RecyclerView"

    invoke-direct {v0, v1}, Lkotlin/TypeCastException;-><init>(Ljava/lang/String;)V

    throw v0
.end method


# virtual methods
.method public final onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
    .registers 8

    .line 31
    invoke-direct {p0}, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->getRecyclerView()Landroidx/recyclerview/widget/RecyclerView;

    move-result-object v0

    const/4 v1, 0x0

    if-eqz v0, :cond_6f

    if-nez p1, :cond_a

    goto :goto_6f

    .line 36
    :cond_a
    invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I

    move-result v2

    const/4 v3, 0x1

    if-eqz v2, :cond_45

    const/4 v4, 0x2

    if-eq v2, v4, :cond_15

    goto :goto_6f

    .line 45
    :cond_15
    iget-object v2, p0, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->a:Ljava/lang/Float;

    if-eqz v2, :cond_44

    .line 46
    iget v4, p0, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->b:I

    const/4 v5, -0x1

    if-ne v4, v5, :cond_1f

    goto :goto_44

    .line 50
    :cond_1f
    invoke-direct {p0, p1}, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->a(Landroid/view/MotionEvent;)F

    move-result p1

    .line 51
    invoke-virtual {v2}, Ljava/lang/Float;->floatValue()F

    move-result v2

    sub-float/2addr p1, v2

    iget v2, p0, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->d:I

    neg-int v2, v2

    int-to-float v2, v2

    cmpg-float p1, p1, v2

    if-gtz p1, :cond_6f

    invoke-direct {p0, v0}, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->a(Landroidx/recyclerview/widget/RecyclerView;)Z

    move-result p1

    if-nez p1, :cond_6f

    .line 52
    iget-object p1, p0, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->c:Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout$a;

    if-eqz p1, :cond_3d

    invoke-interface {p1}, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout$a;->a()V

    :cond_3d
    const/4 p1, 0x0

    .line 2074
    iput-object p1, p0, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->a:Ljava/lang/Float;

    .line 2075
    invoke-virtual {p0, v5}, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->setId(I)V

    return v3

    :cond_44
    :goto_44
    return v1

    .line 38
    :cond_45
    invoke-direct {p0, v0}, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->a(Landroidx/recyclerview/widget/RecyclerView;)Z

    move-result v0

    if-nez v0, :cond_6f

    .line 39
    invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->getPointerId(I)I

    move-result v0

    iput v0, p0, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->b:I

    .line 40
    invoke-direct {p0, p1}, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->a(Landroid/view/MotionEvent;)F

    move-result p1

    invoke-static {p1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object p1

    iput-object p1, p0, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->a:Ljava/lang/Float;

    .line 1116
    invoke-virtual {p0}, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->getParent()Landroid/view/ViewParent;

    move-result-object p1

    .line 1117
    :goto_5f
    instance-of v0, p1, Landroidx/viewpager/widget/ViewPager;

    if-nez v0, :cond_6a

    if-eqz p1, :cond_6a

    .line 1118
    invoke-interface {p1}, Landroid/view/ViewParent;->getParent()Landroid/view/ViewParent;

    move-result-object p1

    goto :goto_5f

    :cond_6a
    if-eqz p1, :cond_6f

    .line 1120
    invoke-interface {p1, v3}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V

    :cond_6f
    :goto_6f
    return v1
.end method

.method public final onTouchEvent(Landroid/view/MotionEvent;)Z
    .registers 4

    if-nez p1, :cond_5

    .line 63
    invoke-static {}, Lkotlin/f/b/o;->a()V

    :cond_5
    invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I

    move-result v0

    const/4 v1, 0x1

    if-ne v0, v1, :cond_21

    .line 2124
    invoke-virtual {p0}, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->getParent()Landroid/view/ViewParent;

    move-result-object v0

    .line 2125
    :goto_10
    instance-of v1, v0, Landroidx/viewpager/widget/ViewPager;

    if-nez v1, :cond_1b

    if-eqz v0, :cond_1b

    .line 2126
    invoke-interface {v0}, Landroid/view/ViewParent;->getParent()Landroid/view/ViewParent;

    move-result-object v0

    goto :goto_10

    :cond_1b
    if-eqz v0, :cond_21

    const/4 v1, 0x0

    .line 2128
    invoke-interface {v0, v1}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V

    .line 66
    :cond_21
    invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onTouchEvent(Landroid/view/MotionEvent;)Z

    move-result p1

    return p1
.end method

.method public final setOnScrollEndListener(Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout$a;)V
    .registers 3

    const-string v0, "listener"

    invoke-static {p1, v0}, Lkotlin/f/b/o;->b(Ljava/lang/Object;Ljava/lang/String;)V

    .line 70
    iput-object p1, p0, Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout;->c:Lcom/imo/android/imoim/feeds/ui/widget/recyclerview/HookRecyclerViewLayout$a;

    return-void
.end method