.class public Lcom/moji/mjappstore/engine/ScrollerControl; .super Landroid/view/View; .source "ScrollerControl.java" # instance fields .field private a:I .field private b:I .field private c:I .field private final d:Landroid/graphics/Paint; .field private final e:Landroid/graphics/Paint; .field private final f:I .field private final g:I .field private final h:F .field private final i:Landroid/view/animation/Animation; .field private final j:Landroid/graphics/RectF; .field private final k:Landroid/graphics/RectF; # direct methods .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 1 const/4 v0, 0x0 .line 38 invoke-direct {p0, p1, p2, v0}, Lcom/moji/mjappstore/engine/ScrollerControl;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 2 .line 42 invoke-direct {p0, p1, p2, p3}, Landroid/view/View;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V .line 149 new-instance p3, Landroid/graphics/RectF; invoke-direct {p3}, Landroid/graphics/RectF;->()V iput-object p3, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->j:Landroid/graphics/RectF; .line 150 new-instance p3, Landroid/graphics/RectF; invoke-direct {p3}, Landroid/graphics/RectF;->()V iput-object p3, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->k:Landroid/graphics/RectF; .line 44 sget-object p3, Lcom/moji/mjappstore/R$styleable;->AppStoreScrollerControl:[I invoke-virtual {p1, p2, p3}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray; move-result-object p1 .line 45 sget p2, Lcom/moji/mjappstore/R$styleable;->AppStoreScrollerControl_store_barColor:I const p3, -0xcc4a1b invoke-virtual {p1, p2, p3}, Landroid/content/res/TypedArray;->getColor(II)I move-result p2 .line 46 sget v0, Lcom/moji/mjappstore/R$styleable;->AppStoreScrollerControl_store_highlightColor:I invoke-virtual {p1, v0, p3}, Landroid/content/res/TypedArray;->getColor(II)I move-result p3 .line 47 sget v0, Lcom/moji/mjappstore/R$styleable;->AppStoreScrollerControl_store_fadeDelay:I const/16 v1, 0x7d0 invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getInteger(II)I move-result v0 iput v0, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->f:I .line 48 sget v0, Lcom/moji/mjappstore/R$styleable;->AppStoreScrollerControl_store_fadeDuration:I const/16 v1, 0x1f4 invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getInteger(II)I move-result v0 iput v0, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->g:I .line 49 sget v0, Lcom/moji/mjappstore/R$styleable;->AppStoreScrollerControl_store_roundRectRadius:I const/4 v1, 0x0 invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getDimension(IF)F move-result v0 iput v0, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->h:F .line 50 invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V .line 52 new-instance p1, Landroid/graphics/Paint; invoke-direct {p1}, Landroid/graphics/Paint;->()V iput-object p1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->d:Landroid/graphics/Paint; .line 53 iget-object p1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->d:Landroid/graphics/Paint; invoke-virtual {p1, p2}, Landroid/graphics/Paint;->setColor(I)V .line 55 new-instance p1, Landroid/graphics/Paint; invoke-direct {p1}, Landroid/graphics/Paint;->()V iput-object p1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->e:Landroid/graphics/Paint; .line 56 iget-object p1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->e:Landroid/graphics/Paint; invoke-virtual {p1, p3}, Landroid/graphics/Paint;->setColor(I)V .line 58 new-instance p1, Landroid/view/animation/AlphaAnimation; const/high16 p2, 0x3f800000 # 1.0f invoke-direct {p1, p2, v1}, Landroid/view/animation/AlphaAnimation;->(FF)V iput-object p1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->i:Landroid/view/animation/Animation; .line 59 iget-object p1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->i:Landroid/view/animation/Animation; iget p2, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->g:I int-to-long p2, p2 invoke-virtual {p1, p2, p3}, Landroid/view/animation/Animation;->setDuration(J)V .line 60 iget-object p1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->i:Landroid/view/animation/Animation; const/4 p2, 0x0 invoke-virtual {p1, p2}, Landroid/view/animation/Animation;->setRepeatCount(I)V .line 61 iget-object p1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->i:Landroid/view/animation/Animation; new-instance p2, Landroid/view/animation/LinearInterpolator; invoke-direct {p2}, Landroid/view/animation/LinearInterpolator;->()V invoke-virtual {p1, p2}, Landroid/view/animation/Animation;->setInterpolator(Landroid/view/animation/Interpolator;)V .line 62 iget-object p1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->i:Landroid/view/animation/Animation; const/4 p2, 0x1 invoke-virtual {p1, p2}, Landroid/view/animation/Animation;->setFillEnabled(Z)V .line 63 iget-object p1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->i:Landroid/view/animation/Animation; invoke-virtual {p1, p2}, Landroid/view/animation/Animation;->setFillAfter(Z)V return-void .end method # virtual methods .method public getCurrentPage()I .locals 1 .line 109 iget v0, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->b:I return v0 .end method .method public getNumPages()I .locals 1 .line 79 iget v0, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->a:I return v0 .end method .method public getPageWidth()I .locals 2 .line 133 invoke-virtual {p0}, Lcom/moji/mjappstore/engine/ScrollerControl;->getWidth()I move-result v0 iget v1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->a:I div-int/2addr v0, v1 return v0 .end method .method protected onDraw(Landroid/graphics/Canvas;)V .locals 6 .line 158 iget-object v0, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->j:Landroid/graphics/RectF; invoke-virtual {p0}, Lcom/moji/mjappstore/engine/ScrollerControl;->getHeight()I move-result v1 mul-int/lit8 v1, v1, 0x2 div-int/lit8 v1, v1, 0x3 int-to-float v1, v1 invoke-virtual {p0}, Lcom/moji/mjappstore/engine/ScrollerControl;->getWidth()I move-result v2 int-to-float v2, v2 invoke-virtual {p0}, Lcom/moji/mjappstore/engine/ScrollerControl;->getHeight()I move-result v3 int-to-float v3, v3 const/4 v4, 0x0 invoke-virtual {v0, v4, v1, v2, v3}, Landroid/graphics/RectF;->set(FFFF)V .line 159 iget-object v0, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->j:Landroid/graphics/RectF; iget v1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->h:F iget v2, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->h:F iget-object v3, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->d:Landroid/graphics/Paint; invoke-virtual {p1, v0, v1, v2, v3}, Landroid/graphics/Canvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V .line 160 iget-object v0, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->k:Landroid/graphics/RectF; iget v1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->c:I int-to-float v1, v1 iget v2, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->c:I invoke-virtual {p0}, Lcom/moji/mjappstore/engine/ScrollerControl;->getWidth()I move-result v3 iget v5, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->a:I div-int/2addr v3, v5 add-int/2addr v2, v3 int-to-float v2, v2 invoke-virtual {p0}, Lcom/moji/mjappstore/engine/ScrollerControl;->getHeight()I move-result v3 int-to-float v3, v3 invoke-virtual {v0, v1, v4, v2, v3}, Landroid/graphics/RectF;->set(FFFF)V .line 161 iget-object v0, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->k:Landroid/graphics/RectF; iget v1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->h:F iget v2, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->h:F iget-object v3, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->e:Landroid/graphics/Paint; invoke-virtual {p1, v0, v1, v2, v3}, Landroid/graphics/Canvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V return-void .end method .method protected onSizeChanged(IIII)V .locals 0 .line 69 invoke-super {p0, p1, p2, p3, p4}, Landroid/view/View;->onSizeChanged(IIII)V .line 71 iget p1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->b:I invoke-virtual {p0}, Lcom/moji/mjappstore/engine/ScrollerControl;->getPageWidth()I move-result p2 mul-int p1, p1, p2 iput p1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->c:I return-void .end method .method public setCurrentPage(I)V .locals 1 if-ltz p1, :cond_1 .line 117 iget v0, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->a:I if-ge p1, v0, :cond_1 .line 120 iget v0, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->b:I if-eq v0, p1, :cond_0 .line 121 iput p1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->b:I .line 122 invoke-virtual {p0}, Lcom/moji/mjappstore/engine/ScrollerControl;->getPageWidth()I move-result v0 mul-int p1, p1, v0 iput p1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->c:I .line 123 invoke-virtual {p0}, Lcom/moji/mjappstore/engine/ScrollerControl;->invalidate()V :cond_0 return-void .line 118 :cond_1 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "currentPage parameter out of bounds" invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public setNumPages(I)V .locals 1 if-lez p1, :cond_0 .line 90 iput p1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->a:I .line 91 invoke-virtual {p0}, Lcom/moji/mjappstore/engine/ScrollerControl;->invalidate()V return-void .line 88 :cond_0 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "numPages must be positive" invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public setPosition(I)V .locals 1 .line 141 iget v0, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->c:I if-eq v0, p1, :cond_0 .line 142 iput p1, p0, Lcom/moji/mjappstore/engine/ScrollerControl;->c:I .line 143 invoke-virtual {p0}, Lcom/moji/mjappstore/engine/ScrollerControl;->invalidate()V :cond_0 return-void .end method