.class public Lcom/moji/redleaves/view/RedLeavesScrollView; .super Landroid/support/v4/widget/NestedScrollView; .source "RedLeavesScrollView.java" # instance fields .field private a:I .field private b:Landroid/widget/OverScroller; # direct methods .method public constructor (Landroid/content/Context;)V .locals 1 const/4 v0, 0x0 .line 24 invoke-direct {p0, p1, v0}, Lcom/moji/redleaves/view/RedLeavesScrollView;->(Landroid/content/Context;Landroid/util/AttributeSet;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 1 const/4 v0, 0x0 .line 28 invoke-direct {p0, p1, p2, v0}, Lcom/moji/redleaves/view/RedLeavesScrollView;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 0 .line 32 invoke-direct {p0, p1, p2, p3}, Landroid/support/v4/widget/NestedScrollView;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V const/4 p2, 0x0 .line 20 iput p2, p0, Lcom/moji/redleaves/view/RedLeavesScrollView;->a:I .line 33 new-instance p2, Landroid/widget/OverScroller; invoke-direct {p2, p1}, Landroid/widget/OverScroller;->(Landroid/content/Context;)V iput-object p2, p0, Lcom/moji/redleaves/view/RedLeavesScrollView;->b:Landroid/widget/OverScroller; const/4 p1, 0x2 .line 34 invoke-virtual {p0, p1}, Lcom/moji/redleaves/view/RedLeavesScrollView;->setOverScrollMode(I)V return-void .end method # virtual methods .method public a()V .locals 2 const/4 v0, 0x0 .line 95 invoke-virtual {p0, v0}, Lcom/moji/redleaves/view/RedLeavesScrollView;->getChildAt(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/widget/LinearLayout; const/4 v1, 0x2 .line 96 invoke-virtual {v0, v1}, Landroid/widget/LinearLayout;->getChildAt(I)Landroid/view/View; move-result-object v0 invoke-virtual {v0}, Landroid/view/View;->getTop()I move-result v0 iput v0, p0, Lcom/moji/redleaves/view/RedLeavesScrollView;->a:I return-void .end method .method public a(II)V .locals 6 if-eqz p2, :cond_0 .line 106 iput p2, p0, Lcom/moji/redleaves/view/RedLeavesScrollView;->a:I const-string v0, "scrollX" const/4 v1, 0x1 .line 107 new-array v2, v1, [I const/4 v3, 0x0 aput p1, v2, v3 invoke-static {p0, v0, v2}, Landroid/animation/ObjectAnimator;->ofInt(Ljava/lang/Object;Ljava/lang/String;[I)Landroid/animation/ObjectAnimator; move-result-object p1 const-string v0, "scrollY" .line 108 new-array v2, v1, [I aput p2, v2, v3 invoke-static {p0, v0, v2}, Landroid/animation/ObjectAnimator;->ofInt(Ljava/lang/Object;Ljava/lang/String;[I)Landroid/animation/ObjectAnimator; move-result-object p2 .line 110 new-instance v0, Landroid/animation/AnimatorSet; invoke-direct {v0}, Landroid/animation/AnimatorSet;->()V const-wide/16 v4, 0x1f4 .line 111 invoke-virtual {v0, v4, v5}, Landroid/animation/AnimatorSet;->setDuration(J)Landroid/animation/AnimatorSet; const/4 v2, 0x2 .line 112 new-array v2, v2, [Landroid/animation/Animator; aput-object p1, v2, v3 aput-object p2, v2, v1 invoke-virtual {v0, v2}, Landroid/animation/AnimatorSet;->playTogether([Landroid/animation/Animator;)V .line 113 new-instance p1, Lcom/moji/redleaves/view/RedLeavesScrollView$1; invoke-direct {p1, p0}, Lcom/moji/redleaves/view/RedLeavesScrollView$1;->(Lcom/moji/redleaves/view/RedLeavesScrollView;)V invoke-virtual {v0, p1}, Landroid/animation/AnimatorSet;->addListener(Landroid/animation/Animator$AnimatorListener;)V .line 131 invoke-virtual {v0}, Landroid/animation/AnimatorSet;->start()V :cond_0 return-void .end method .method public computeScroll()V .locals 2 .line 88 iget-object v0, p0, Lcom/moji/redleaves/view/RedLeavesScrollView;->b:Landroid/widget/OverScroller; invoke-virtual {v0}, Landroid/widget/OverScroller;->computeScrollOffset()Z move-result v0 if-eqz v0, :cond_0 const/4 v0, 0x0 .line 89 iget-object v1, p0, Lcom/moji/redleaves/view/RedLeavesScrollView;->b:Landroid/widget/OverScroller; invoke-virtual {v1}, Landroid/widget/OverScroller;->getCurrY()I move-result v1 invoke-virtual {p0, v0, v1}, Lcom/moji/redleaves/view/RedLeavesScrollView;->scrollTo(II)V .line 90 invoke-virtual {p0}, Lcom/moji/redleaves/view/RedLeavesScrollView;->invalidate()V :cond_0 return-void .end method .method public fling(I)V .locals 9 .line 69 iget-object v0, p0, Lcom/moji/redleaves/view/RedLeavesScrollView;->b:Landroid/widget/OverScroller; invoke-virtual {p0}, Lcom/moji/redleaves/view/RedLeavesScrollView;->getScrollY()I move-result v2 iget v8, p0, Lcom/moji/redleaves/view/RedLeavesScrollView;->a:I const/4 v1, 0x0 const/4 v3, 0x0 const/4 v5, 0x0 const/4 v6, 0x0 const/4 v7, 0x0 move v4, p1 invoke-virtual/range {v0 .. v8}, Landroid/widget/OverScroller;->fling(IIIIIIII)V .line 70 invoke-virtual {p0}, Lcom/moji/redleaves/view/RedLeavesScrollView;->invalidate()V return-void .end method .method public getTopViewHeight()I .locals 1 .line 100 invoke-virtual {p0}, Lcom/moji/redleaves/view/RedLeavesScrollView;->a()V .line 101 iget v0, p0, Lcom/moji/redleaves/view/RedLeavesScrollView;->a:I return v0 .end method .method public onNestedFling(Landroid/view/View;FFZ)Z .locals 0 .line 57 invoke-super {p0, p1, p2, p3, p4}, Landroid/support/v4/widget/NestedScrollView;->onNestedFling(Landroid/view/View;FFZ)Z move-result p1 return p1 .end method .method public onNestedPreFling(Landroid/view/View;FF)Z .locals 0 .line 62 invoke-virtual {p0}, Lcom/moji/redleaves/view/RedLeavesScrollView;->getScrollY()I move-result p1 iget p2, p0, Lcom/moji/redleaves/view/RedLeavesScrollView;->a:I if-lt p1, p2, :cond_0 const/4 p1, 0x0 return p1 :cond_0 float-to-int p1, p3 .line 63 invoke-virtual {p0, p1}, Lcom/moji/redleaves/view/RedLeavesScrollView;->fling(I)V const/4 p1, 0x1 return p1 .end method .method public onNestedPreScroll(Landroid/view/View;II[I)V .locals 3 .line 44 invoke-virtual {p0}, Lcom/moji/redleaves/view/RedLeavesScrollView;->a()V const/4 p2, 0x1 const/4 v0, 0x0 if-lez p3, :cond_0 .line 45 invoke-virtual {p0}, Lcom/moji/redleaves/view/RedLeavesScrollView;->getScrollY()I move-result v1 iget v2, p0, Lcom/moji/redleaves/view/RedLeavesScrollView;->a:I if-ge v1, v2, :cond_0 const/4 v1, 0x1 goto :goto_0 :cond_0 const/4 v1, 0x0 :goto_0 if-gez p3, :cond_1 .line 46 invoke-virtual {p0}, Lcom/moji/redleaves/view/RedLeavesScrollView;->getScrollY()I move-result v2 if-ltz v2, :cond_1 const/4 v2, -0x1 invoke-static {p1, v2}, Landroid/support/v4/view/ViewCompat;->canScrollVertically(Landroid/view/View;I)Z move-result p1 if-nez p1, :cond_1 const/4 p1, 0x1 goto :goto_1 :cond_1 const/4 p1, 0x0 :goto_1 if-nez v1, :cond_2 if-eqz p1, :cond_3 .line 49 :cond_2 invoke-virtual {p0, v0, p3}, Lcom/moji/redleaves/view/RedLeavesScrollView;->scrollBy(II)V .line 50 aput p3, p4, p2 :cond_3 return-void .end method .method public onNestedScroll(Landroid/view/View;IIII)V .locals 0 .line 39 invoke-super/range {p0 .. p5}, Landroid/support/v4/widget/NestedScrollView;->onNestedScroll(Landroid/view/View;IIII)V return-void .end method .method public scrollTo(II)V .locals 1 if-gez p2, :cond_0 const/4 p2, 0x0 .line 78 :cond_0 iget v0, p0, Lcom/moji/redleaves/view/RedLeavesScrollView;->a:I if-le p2, v0, :cond_1 .line 79 iget p2, p0, Lcom/moji/redleaves/view/RedLeavesScrollView;->a:I .line 81 :cond_1 invoke-virtual {p0}, Lcom/moji/redleaves/view/RedLeavesScrollView;->getScrollY()I move-result v0 if-eq p2, v0, :cond_2 .line 82 invoke-super {p0, p1, p2}, Landroid/support/v4/widget/NestedScrollView;->scrollTo(II)V :cond_2 return-void .end method