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