RongSwipeRefreshLayout.smali

.class public Lio/rong/imkit/widget/RongSwipeRefreshLayout;
.super Landroidx/swiperefreshlayout/widget/SwipeRefreshLayout;
.source "RongSwipeRefreshLayout.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lio/rong/imkit/widget/RongSwipeRefreshLayout$OnFlushListener;,
        Lio/rong/imkit/widget/RongSwipeRefreshLayout$OnLoadListener;
    }
.end annotation


# instance fields
.field private autoLoading:Z

.field private condition4:Z

.field private condition5:Z

.field public isLoadMoreFinish:Z

.field public isRefreshFinish:Z

.field private loadMoreEnabled:Z

.field private mDownY:F

.field private mFlushListener:Lio/rong/imkit/widget/RongSwipeRefreshLayout$OnFlushListener;

.field private mFooterView:Landroid/view/View;

.field private mListView:Landroid/widget/ListView;

.field private mOnLoadListener:Lio/rong/imkit/widget/RongSwipeRefreshLayout$OnLoadListener;

.field private mScaledTouchSlop:I

.field private mUpY:F

.field private refreshEnabled:Z


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

    const/4 v0, 0x0

    .line 1
    invoke-direct {p0, p1, v0}, Lio/rong/imkit/widget/RongSwipeRefreshLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V

    return-void
.end method

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

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

    const/4 v0, 0x0

    .line 3
    iput-boolean v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->condition4:Z

    iput-boolean v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->condition5:Z

    const/4 v0, 0x1

    .line 4
    iput-boolean v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->loadMoreEnabled:Z

    .line 5
    iput-boolean v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->refreshEnabled:Z

    .line 6
    invoke-direct {p0, p1, p2}, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->initView(Landroid/content/Context;Landroid/util/AttributeSet;)V

    return-void
.end method

.method static synthetic access$000(Lio/rong/imkit/widget/RongSwipeRefreshLayout;)Lio/rong/imkit/widget/RongSwipeRefreshLayout$OnLoadListener;
    .registers 1

    .line 1
    iget-object p0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mOnLoadListener:Lio/rong/imkit/widget/RongSwipeRefreshLayout$OnLoadListener;

    return-object p0
.end method

.method static synthetic access$100(Lio/rong/imkit/widget/RongSwipeRefreshLayout;)Z
    .registers 1

    .line 1
    invoke-direct {p0}, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->canLoadMore()Z

    move-result p0

    return p0
.end method

.method static synthetic access$200(Lio/rong/imkit/widget/RongSwipeRefreshLayout;)Z
    .registers 1

    .line 1
    iget-boolean p0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->autoLoading:Z

    return p0
.end method

.method static synthetic access$300(Lio/rong/imkit/widget/RongSwipeRefreshLayout;)V
    .registers 1

    .line 1
    invoke-direct {p0}, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->loadData()V

    return-void
.end method

.method static synthetic access$402(Lio/rong/imkit/widget/RongSwipeRefreshLayout;Z)Z
    .registers 2

    .line 1
    iput-boolean p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->condition4:Z

    return p1
.end method

.method static synthetic access$502(Lio/rong/imkit/widget/RongSwipeRefreshLayout;Z)Z
    .registers 2

    .line 1
    iput-boolean p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->condition5:Z

    return p1
.end method

.method static synthetic access$600(Lio/rong/imkit/widget/RongSwipeRefreshLayout;)Landroid/widget/ListView;
    .registers 1

    .line 1
    iget-object p0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mListView:Landroid/widget/ListView;

    return-object p0
.end method

.method static synthetic access$700(Lio/rong/imkit/widget/RongSwipeRefreshLayout;)Lio/rong/imkit/widget/RongSwipeRefreshLayout$OnFlushListener;
    .registers 1

    .line 1
    iget-object p0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mFlushListener:Lio/rong/imkit/widget/RongSwipeRefreshLayout$OnFlushListener;

    return-object p0
.end method

.method private canLoadMore()Z
    .registers 6

    .line 1
    iget v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mDownY:F

    iget v1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mUpY:F

    sub-float/2addr v0, v1

    iget v1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mScaledTouchSlop:I

    int-to-float v1, v1

    const/4 v2, 0x0

    const/4 v3, 0x1

    cmpl-float v0, v0, v1

    if-ltz v0, :cond_10

    const/4 v0, 0x1

    goto :goto_11

    :cond_10
    const/4 v0, 0x0

    .line 2
    :goto_11
    iget-boolean v1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->isLoadMoreFinish:Z

    xor-int/2addr v1, v3

    .line 3
    iget-boolean v4, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->isRefreshFinish:Z

    xor-int/2addr v4, v3

    if-eqz v0, :cond_2a

    if-eqz v1, :cond_2a

    if-eqz v4, :cond_2a

    .line 4
    iget-boolean v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->condition4:Z

    if-eqz v0, :cond_2a

    iget-boolean v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->condition5:Z

    if-eqz v0, :cond_2a

    iget-boolean v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->loadMoreEnabled:Z

    if-eqz v0, :cond_2a

    const/4 v2, 0x1

    :cond_2a
    return v2
.end method

.method private initView(Landroid/content/Context;Landroid/util/AttributeSet;)V
    .registers 4

    .line 1
    sget p2, Lio/rong/imkit/R$layout;->view_footer:I

    const/4 v0, 0x0

    invoke-static {p1, p2, v0}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;

    move-result-object p2

    iput-object p2, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mFooterView:Landroid/view/View;

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

    move-result-object p1

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

    move-result p1

    iput p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mScaledTouchSlop:I

    return-void
.end method

.method private loadData()V
    .registers 5

    const/4 v0, 0x1

    .line 1
    invoke-virtual {p0, v0}, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->setLoadMoreFinish(Z)V

    .line 2
    iget-object v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mOnLoadListener:Lio/rong/imkit/widget/RongSwipeRefreshLayout$OnLoadListener;

    if-eqz v0, :cond_18

    .line 3
    new-instance v0, Landroid/os/Handler;

    invoke-direct {v0}, Landroid/os/Handler;-><init>()V

    new-instance v1, Lio/rong/imkit/widget/RongSwipeRefreshLayout$1;

    invoke-direct {v1, p0}, Lio/rong/imkit/widget/RongSwipeRefreshLayout$1;-><init>(Lio/rong/imkit/widget/RongSwipeRefreshLayout;)V

    const-wide/16 v2, 0xbb8

    invoke-virtual {v0, v1, v2, v3}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z

    goto :goto_27

    .line 4
    :cond_18
    new-instance v0, Landroid/os/Handler;

    invoke-direct {v0}, Landroid/os/Handler;-><init>()V

    new-instance v1, Lio/rong/imkit/widget/RongSwipeRefreshLayout$2;

    invoke-direct {v1, p0}, Lio/rong/imkit/widget/RongSwipeRefreshLayout$2;-><init>(Lio/rong/imkit/widget/RongSwipeRefreshLayout;)V

    const-wide/16 v2, 0x7d0

    invoke-virtual {v0, v1, v2, v3}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z

    :goto_27
    return-void
.end method

.method private setListViewOnScroll()V
    .registers 3

    .line 1
    iget-object v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mListView:Landroid/widget/ListView;

    new-instance v1, Lio/rong/imkit/widget/RongSwipeRefreshLayout$3;

    invoke-direct {v1, p0}, Lio/rong/imkit/widget/RongSwipeRefreshLayout$3;-><init>(Lio/rong/imkit/widget/RongSwipeRefreshLayout;)V

    invoke-virtual {v0, v1}, Landroid/widget/ListView;->setOnScrollListener(Landroid/widget/AbsListView$OnScrollListener;)V

    return-void
.end method

.method private setOnRefresh()V
    .registers 2

    .line 1
    iget-boolean v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->isLoadMoreFinish:Z

    if-nez v0, :cond_d

    .line 2
    new-instance v0, Lio/rong/imkit/widget/RongSwipeRefreshLayout$4;

    invoke-direct {v0, p0}, Lio/rong/imkit/widget/RongSwipeRefreshLayout$4;-><init>(Lio/rong/imkit/widget/RongSwipeRefreshLayout;)V

    invoke-virtual {p0, v0}, Landroidx/swiperefreshlayout/widget/SwipeRefreshLayout;->setOnRefreshListener(Landroidx/swiperefreshlayout/widget/SwipeRefreshLayout$b;)V

    goto :goto_11

    :cond_d
    const/4 v0, 0x0

    .line 3
    invoke-virtual {p0, v0}, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->setRefreshing(Z)V

    :goto_11
    return-void
.end method


# virtual methods
.method public dispatchTouchEvent(Landroid/view/MotionEvent;)Z
    .registers 4

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

    move-result v0

    if-eqz v0, :cond_1e

    const/4 v1, 0x2

    if-eq v0, v1, :cond_a

    goto :goto_24

    .line 2
    :cond_a
    invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F

    move-result v0

    iput v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mUpY:F

    .line 3
    invoke-direct {p0}, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->canLoadMore()Z

    move-result v0

    if-eqz v0, :cond_24

    iget-boolean v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->autoLoading:Z

    if-nez v0, :cond_24

    .line 4
    invoke-direct {p0}, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->loadData()V

    goto :goto_24

    .line 5
    :cond_1e
    invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F

    move-result v0

    iput v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mDownY:F

    .line 6
    :cond_24
    :goto_24
    iget-boolean v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->refreshEnabled:Z

    if-eqz v0, :cond_35

    .line 7
    iget-boolean v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->isLoadMoreFinish:Z

    if-eqz v0, :cond_31

    const/4 v0, 0x0

    .line 8
    invoke-virtual {p0, v0}, Landroidx/swiperefreshlayout/widget/SwipeRefreshLayout;->setEnabled(Z)V

    goto :goto_35

    :cond_31
    const/4 v0, 0x1

    .line 9
    invoke-virtual {p0, v0}, Landroidx/swiperefreshlayout/widget/SwipeRefreshLayout;->setEnabled(Z)V

    .line 10
    :cond_35
    :goto_35
    invoke-super {p0, p1}, Landroid/view/ViewGroup;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z

    move-result p1

    return p1
.end method

.method protected onLayout(ZIIII)V
    .registers 6

    .line 1
    invoke-super/range {p0 .. p5}, Landroidx/swiperefreshlayout/widget/SwipeRefreshLayout;->onLayout(ZIIII)V

    .line 2
    iget-object p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mListView:Landroid/widget/ListView;

    if-nez p1, :cond_24

    .line 3
    invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I

    move-result p1

    if-lez p1, :cond_21

    const/4 p1, 0x0

    .line 4
    invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;

    move-result-object p2

    instance-of p2, p2, Landroid/widget/ListView;

    if-eqz p2, :cond_21

    .line 5
    invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;

    move-result-object p1

    check-cast p1, Landroid/widget/ListView;

    iput-object p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mListView:Landroid/widget/ListView;

    .line 6
    invoke-direct {p0}, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->setListViewOnScroll()V

    .line 7
    :cond_21
    invoke-direct {p0}, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->setOnRefresh()V

    :cond_24
    return-void
.end method

.method public setAutoLoading(Z)V
    .registers 2

    .line 1
    iput-boolean p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->autoLoading:Z

    return-void
.end method

.method public setCanLoading(Z)V
    .registers 2

    .line 1
    iput-boolean p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->loadMoreEnabled:Z

    return-void
.end method

.method public setCanRefresh(Z)V
    .registers 2

    .line 1
    iput-boolean p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->refreshEnabled:Z

    .line 2
    invoke-virtual {p0, p1}, Landroidx/swiperefreshlayout/widget/SwipeRefreshLayout;->setEnabled(Z)V

    return-void
.end method

.method public setLoadMoreFinish(Z)V
    .registers 3

    .line 1
    iput-boolean p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->isLoadMoreFinish:Z

    .line 2
    iget-boolean p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->isLoadMoreFinish:Z

    if-eqz p1, :cond_36

    .line 3
    iget-object p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mListView:Landroid/widget/ListView;

    if-eqz p1, :cond_4c

    .line 4
    iget-object v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mFooterView:Landroid/view/View;

    invoke-virtual {p1, v0}, Landroid/widget/ListView;->addFooterView(Landroid/view/View;)V

    .line 5
    sget p1, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v0, 0x13

    if-ge p1, v0, :cond_1e

    .line 6
    iget-object p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mListView:Landroid/widget/ListView;

    invoke-virtual {p1}, Landroid/widget/ListView;->getAdapter()Landroid/widget/ListAdapter;

    move-result-object v0

    invoke-virtual {p1, v0}, Landroid/widget/ListView;->setAdapter(Landroid/widget/ListAdapter;)V

    .line 7
    :cond_1e
    iget-object p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mListView:Landroid/widget/ListView;

    invoke-virtual {p1}, Landroid/widget/ListView;->getAdapter()Landroid/widget/ListAdapter;

    move-result-object p1

    if-eqz p1, :cond_4c

    .line 8
    iget-object p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mListView:Landroid/widget/ListView;

    invoke-virtual {p1}, Landroid/widget/ListView;->getAdapter()Landroid/widget/ListAdapter;

    move-result-object v0

    invoke-interface {v0}, Landroid/widget/ListAdapter;->getCount()I

    move-result v0

    add-int/lit8 v0, v0, -0x1

    invoke-virtual {p1, v0}, Landroid/widget/ListView;->smoothScrollToPosition(I)V

    goto :goto_4c

    .line 9
    :cond_36
    iget-object p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mListView:Landroid/widget/ListView;

    if-eqz p1, :cond_47

    invoke-virtual {p1}, Landroid/widget/ListView;->getFooterViewsCount()I

    move-result p1

    if-lez p1, :cond_47

    .line 10
    iget-object p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mListView:Landroid/widget/ListView;

    iget-object v0, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mFooterView:Landroid/view/View;

    invoke-virtual {p1, v0}, Landroid/widget/ListView;->removeFooterView(Landroid/view/View;)Z

    :cond_47
    const/4 p1, 0x0

    .line 11
    iput p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mDownY:F

    .line 12
    iput p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mUpY:F

    :cond_4c
    :goto_4c
    return-void
.end method

.method public setOnFlushListener(Lio/rong/imkit/widget/RongSwipeRefreshLayout$OnFlushListener;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mFlushListener:Lio/rong/imkit/widget/RongSwipeRefreshLayout$OnFlushListener;

    return-void
.end method

.method public setOnLoadListener(Lio/rong/imkit/widget/RongSwipeRefreshLayout$OnLoadListener;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->mOnLoadListener:Lio/rong/imkit/widget/RongSwipeRefreshLayout$OnLoadListener;

    return-void
.end method

.method public setRefreshing(Z)V
    .registers 2

    .line 1
    iput-boolean p1, p0, Lio/rong/imkit/widget/RongSwipeRefreshLayout;->isRefreshFinish:Z

    .line 2
    invoke-super {p0, p1}, Landroidx/swiperefreshlayout/widget/SwipeRefreshLayout;->setRefreshing(Z)V

    return-void
.end method