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