.class public Lcom/moji/emotion/HorizontalScroller; .super Landroid/view/ViewGroup; .source "HorizontalScroller.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/moji/emotion/HorizontalScroller$OnScrollListener;, Lcom/moji/emotion/HorizontalScroller$SavedState; } .end annotation # instance fields .field private a:I .field private b:I .field private c:Z .field private d:I .field private e:I .field private f:Landroid/widget/Scroller; .field private g:Landroid/view/VelocityTracker; .field private h:I .field private i:I .field private j:F .field private k:F .field private l:I .field private m:Z .field private final n:Ljava/util/Set; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Set<", "Lcom/moji/emotion/HorizontalScroller$OnScrollListener;", ">;" } .end annotation .end field # direct methods .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 1 const/4 v0, 0x0 .line 73 invoke-direct {p0, p1, p2, v0}, Lcom/moji/emotion/HorizontalScroller;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 1 .line 84 invoke-direct {p0, p1, p2, p3}, Landroid/view/ViewGroup;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V const/4 p3, 0x1 .line 43 iput-boolean p3, p0, Lcom/moji/emotion/HorizontalScroller;->c:Z const/4 p3, -0x1 .line 46 iput p3, p0, Lcom/moji/emotion/HorizontalScroller;->e:I const/4 v0, 0x0 .line 60 iput v0, p0, Lcom/moji/emotion/HorizontalScroller;->l:I .line 64 new-instance v0, Ljava/util/HashSet; invoke-direct {v0}, Ljava/util/HashSet;->()V iput-object v0, p0, Lcom/moji/emotion/HorizontalScroller;->n:Ljava/util/Set; .line 86 sget-object v0, Lcom/moji/widget/R$styleable;->HorizontalScroller:[I invoke-virtual {p1, p2, v0}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray; move-result-object p1 .line 87 sget p2, Lcom/moji/widget/R$styleable;->HorizontalScroller_pageWidth:I invoke-virtual {p1, p2, p3}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I move-result p2 iput p2, p0, Lcom/moji/emotion/HorizontalScroller;->a:I .line 88 invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V .line 90 invoke-direct {p0}, Lcom/moji/emotion/HorizontalScroller;->d()V return-void .end method .method private a(FF)V .locals 3 .line 340 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->j:F sub-float/2addr p1, v0 invoke-static {p1}, Ljava/lang/Math;->abs(F)F move-result p1 float-to-int p1, p1 .line 341 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->k:F sub-float/2addr p2, v0 invoke-static {p2}, Ljava/lang/Math;->abs(F)F move-result p2 float-to-int p2, p2 .line 343 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->h:I const/4 v1, 0x0 const/4 v2, 0x1 if-le p1, v0, :cond_0 const/4 p1, 0x1 goto :goto_0 :cond_0 const/4 p1, 0x0 .line 344 :goto_0 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->h:I if-le p2, v0, :cond_1 const/4 p2, 0x1 goto :goto_1 :cond_1 const/4 p2, 0x0 :goto_1 if-nez p1, :cond_2 if-eqz p2, :cond_4 :cond_2 if-eqz p1, :cond_3 .line 350 iput v2, p0, Lcom/moji/emotion/HorizontalScroller;->l:I .line 351 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->b()V .line 354 :cond_3 iget-boolean p1, p0, Lcom/moji/emotion/HorizontalScroller;->m:Z if-eqz p1, :cond_4 .line 355 iput-boolean v1, p0, Lcom/moji/emotion/HorizontalScroller;->m:Z .line 359 iget p1, p0, Lcom/moji/emotion/HorizontalScroller;->d:I invoke-virtual {p0, p1}, Lcom/moji/emotion/HorizontalScroller;->getChildAt(I)Landroid/view/View; move-result-object p1 .line 360 invoke-virtual {p1}, Landroid/view/View;->cancelLongPress()V :cond_4 return-void .end method .method private b(I)I .locals 1 .line 141 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->b:I mul-int p1, p1, v0 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->a()I move-result v0 sub-int/2addr p1, v0 return p1 .end method .method private d()V .locals 3 .line 97 new-instance v0, Landroid/view/animation/DecelerateInterpolator; invoke-direct {v0}, Landroid/view/animation/DecelerateInterpolator;->()V .line 98 new-instance v1, Landroid/widget/Scroller; invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getContext()Landroid/content/Context; move-result-object v2 invoke-direct {v1, v2, v0}, Landroid/widget/Scroller;->(Landroid/content/Context;Landroid/view/animation/Interpolator;)V iput-object v1, p0, Lcom/moji/emotion/HorizontalScroller;->f:Landroid/widget/Scroller; const/4 v0, 0x0 .line 99 iput v0, p0, Lcom/moji/emotion/HorizontalScroller;->d:I .line 101 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getContext()Landroid/content/Context; move-result-object v0 invoke-static {v0}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration; move-result-object v0 .line 102 invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I move-result v1 iput v1, p0, Lcom/moji/emotion/HorizontalScroller;->h:I .line 103 invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I move-result v0 iput v0, p0, Lcom/moji/emotion/HorizontalScroller;->i:I return-void .end method .method private e()V .locals 4 .line 453 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->d:I invoke-direct {p0, v0}, Lcom/moji/emotion/HorizontalScroller;->b(I)I move-result v0 .line 454 iget v1, p0, Lcom/moji/emotion/HorizontalScroller;->d:I .line 455 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getScrollX()I move-result v2 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getWidth()I move-result v3 div-int/lit8 v3, v3, 0x8 sub-int v3, v0, v3 if-ge v2, v3, :cond_0 const/4 v0, 0x0 add-int/lit8 v1, v1, -0x1 .line 456 invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I move-result v1 goto :goto_0 .line 457 :cond_0 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getScrollX()I move-result v2 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getWidth()I move-result v3 div-int/lit8 v3, v3, 0x8 add-int/2addr v0, v3 if-le v2, v0, :cond_1 .line 458 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getChildCount()I move-result v0 add-int/lit8 v0, v0, -0x1 add-int/lit8 v1, v1, 0x1 invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I move-result v1 .line 461 :cond_1 :goto_0 invoke-virtual {p0, v1}, Lcom/moji/emotion/HorizontalScroller;->a(I)V return-void .end method # virtual methods .method a()I .locals 2 .line 185 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getMeasuredWidth()I move-result v0 iget v1, p0, Lcom/moji/emotion/HorizontalScroller;->b:I sub-int/2addr v0, v1 div-int/lit8 v0, v0, 0x2 return v0 .end method .method a(I)V .locals 7 .line 465 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->b()V .line 466 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->d:I if-eq p1, v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 .line 468 :goto_0 iput p1, p0, Lcom/moji/emotion/HorizontalScroller;->e:I .line 470 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getFocusedChild()Landroid/view/View; move-result-object v1 if-eqz v1, :cond_1 if-eqz v0, :cond_1 .line 471 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->d:I invoke-virtual {p0, v0}, Lcom/moji/emotion/HorizontalScroller;->getChildAt(I)Landroid/view/View; move-result-object v0 if-ne v1, v0, :cond_1 .line 472 invoke-virtual {v1}, Landroid/view/View;->clearFocus()V .line 475 :cond_1 invoke-direct {p0, p1}, Lcom/moji/emotion/HorizontalScroller;->b(I)I move-result p1 .line 476 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getScrollX()I move-result v0 sub-int v4, p1, v0 .line 477 iget-object v1, p0, Lcom/moji/emotion/HorizontalScroller;->f:Landroid/widget/Scroller; invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getScrollX()I move-result v2 const/4 v3, 0x0 const/4 v5, 0x0 const/16 v6, 0x12c invoke-virtual/range {v1 .. v6}, Landroid/widget/Scroller;->startScroll(IIIII)V .line 478 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->invalidate()V return-void .end method .method public a(Lcom/moji/emotion/HorizontalScroller$OnScrollListener;)V .locals 1 .line 529 iget-object v0, p0, Lcom/moji/emotion/HorizontalScroller;->n:Ljava/util/Set; invoke-interface {v0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z return-void .end method .method public addFocusables(Ljava/util/ArrayList;I)V .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/ArrayList<", "Landroid/view/View;", ">;I)V" } .end annotation .line 259 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->d:I invoke-virtual {p0, v0}, Lcom/moji/emotion/HorizontalScroller;->getChildAt(I)Landroid/view/View; move-result-object v0 invoke-virtual {v0, p1, p2}, Landroid/view/View;->addFocusables(Ljava/util/ArrayList;I)V const/16 v0, 0x11 if-ne p2, v0, :cond_0 .line 261 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->d:I if-lez v0, :cond_1 .line 262 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->d:I add-int/lit8 v0, v0, -0x1 invoke-virtual {p0, v0}, Lcom/moji/emotion/HorizontalScroller;->getChildAt(I)Landroid/view/View; move-result-object v0 invoke-virtual {v0, p1, p2}, Landroid/view/View;->addFocusables(Ljava/util/ArrayList;I)V goto :goto_0 :cond_0 const/16 v0, 0x42 if-ne p2, v0, :cond_1 .line 265 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->d:I invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getChildCount()I move-result v1 add-int/lit8 v1, v1, -0x1 if-ge v0, v1, :cond_1 .line 266 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->d:I add-int/lit8 v0, v0, 0x1 invoke-virtual {p0, v0}, Lcom/moji/emotion/HorizontalScroller;->getChildAt(I)Landroid/view/View; move-result-object v0 invoke-virtual {v0, p1, p2}, Landroid/view/View;->addFocusables(Ljava/util/ArrayList;I)V :cond_1 :goto_0 return-void .end method .method b()V .locals 1 const/4 v0, 0x1 .line 366 invoke-virtual {p0, v0}, Lcom/moji/emotion/HorizontalScroller;->setChildrenDrawingCacheEnabled(Z)V .line 367 invoke-virtual {p0, v0}, Lcom/moji/emotion/HorizontalScroller;->setChildrenDrawnWithCacheEnabled(Z)V return-void .end method .method c()V .locals 1 const/4 v0, 0x0 .line 371 invoke-virtual {p0, v0}, Lcom/moji/emotion/HorizontalScroller;->setChildrenDrawnWithCacheEnabled(Z)V return-void .end method .method public computeScroll()V .locals 2 .line 146 iget-object v0, p0, Lcom/moji/emotion/HorizontalScroller;->f:Landroid/widget/Scroller; invoke-virtual {v0}, Landroid/widget/Scroller;->computeScrollOffset()Z move-result v0 if-eqz v0, :cond_0 .line 147 iget-object v0, p0, Lcom/moji/emotion/HorizontalScroller;->f:Landroid/widget/Scroller; invoke-virtual {v0}, Landroid/widget/Scroller;->getCurrX()I move-result v0 iget-object v1, p0, Lcom/moji/emotion/HorizontalScroller;->f:Landroid/widget/Scroller; invoke-virtual {v1}, Landroid/widget/Scroller;->getCurrY()I move-result v1 invoke-virtual {p0, v0, v1}, Lcom/moji/emotion/HorizontalScroller;->scrollTo(II)V .line 148 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->postInvalidate()V goto :goto_0 .line 149 :cond_0 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->e:I const/4 v1, -0x1 if-eq v0, v1, :cond_1 .line 150 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->e:I iput v0, p0, Lcom/moji/emotion/HorizontalScroller;->d:I .line 151 iput v1, p0, Lcom/moji/emotion/HorizontalScroller;->e:I .line 152 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->c()V :cond_1 :goto_0 return-void .end method .method protected dispatchDraw(Landroid/graphics/Canvas;)V .locals 5 .line 163 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getDrawingTime()J move-result-wide v0 .line 164 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getChildCount()I move-result v2 const/4 v3, 0x0 :goto_0 if-ge v3, v2, :cond_0 .line 166 invoke-virtual {p0, v3}, Lcom/moji/emotion/HorizontalScroller;->getChildAt(I)Landroid/view/View; move-result-object v4 invoke-virtual {p0, p1, v4, v0, v1}, Lcom/moji/emotion/HorizontalScroller;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z add-int/lit8 v3, v3, 0x1 goto :goto_0 .line 169 :cond_0 iget-object v0, p0, Lcom/moji/emotion/HorizontalScroller;->n:Ljava/util/Set; invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v0 :cond_1 :goto_1 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_2 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/moji/emotion/HorizontalScroller$OnScrollListener; .line 170 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getScrollX()I move-result v2 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->a()I move-result v3 add-int/2addr v2, v3 .line 171 invoke-interface {v1, v2}, Lcom/moji/emotion/HorizontalScroller$OnScrollListener;->b(I)V .line 172 iget v3, p0, Lcom/moji/emotion/HorizontalScroller;->b:I rem-int v3, v2, v3 if-nez v3, :cond_1 .line 173 iget v3, p0, Lcom/moji/emotion/HorizontalScroller;->b:I div-int/2addr v2, v3 invoke-interface {v1, v2}, Lcom/moji/emotion/HorizontalScroller$OnScrollListener;->a(I)V goto :goto_1 .line 176 :cond_2 invoke-super {p0, p1}, Landroid/view/ViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V return-void .end method .method public dispatchUnhandledMove(Landroid/view/View;I)Z .locals 3 const/4 v0, 0x1 const/16 v1, 0x11 if-ne p2, v1, :cond_0 .line 244 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getCurrentPage()I move-result v1 if-lez v1, :cond_1 .line 245 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getCurrentPage()I move-result p1 sub-int/2addr p1, v0 invoke-virtual {p0, p1}, Lcom/moji/emotion/HorizontalScroller;->a(I)V return v0 :cond_0 const/16 v1, 0x42 if-ne p2, v1, :cond_1 .line 249 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getCurrentPage()I move-result v1 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getChildCount()I move-result v2 sub-int/2addr v2, v0 if-ge v1, v2, :cond_1 .line 250 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getCurrentPage()I move-result p1 add-int/2addr p1, v0 invoke-virtual {p0, p1}, Lcom/moji/emotion/HorizontalScroller;->a(I)V return v0 .line 254 :cond_1 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->dispatchUnhandledMove(Landroid/view/View;I)Z move-result p1 return p1 .end method .method getCurrentPage()I .locals 1 .line 112 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->d:I return v0 .end method .method public getPageWidth()I .locals 1 .line 127 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->b:I return v0 .end method .method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z .locals 4 .line 286 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 const/4 v1, 0x1 const/4 v2, 0x2 if-ne v0, v2, :cond_0 .line 287 iget v2, p0, Lcom/moji/emotion/HorizontalScroller;->l:I if-eqz v2, :cond_0 return v1 .line 291 :cond_0 invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v2 .line 292 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result p1 const/4 v3, 0x0 packed-switch v0, :pswitch_data_0 goto :goto_0 .line 300 :pswitch_0 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->l:I if-nez v0, :cond_1 .line 301 invoke-direct {p0, v2, p1}, Lcom/moji/emotion/HorizontalScroller;->a(FF)V goto :goto_0 .line 323 :pswitch_1 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->c()V .line 324 iput v3, p0, Lcom/moji/emotion/HorizontalScroller;->l:I goto :goto_0 .line 308 :pswitch_2 iput v2, p0, Lcom/moji/emotion/HorizontalScroller;->j:F .line 309 iput p1, p0, Lcom/moji/emotion/HorizontalScroller;->k:F .line 310 iput-boolean v1, p0, Lcom/moji/emotion/HorizontalScroller;->m:Z .line 317 iget-object p1, p0, Lcom/moji/emotion/HorizontalScroller;->f:Landroid/widget/Scroller; invoke-virtual {p1}, Landroid/widget/Scroller;->isFinished()Z move-result p1 xor-int/2addr p1, v1 iput p1, p0, Lcom/moji/emotion/HorizontalScroller;->l:I .line 332 :cond_1 :goto_0 iget p1, p0, Lcom/moji/emotion/HorizontalScroller;->l:I if-eqz p1, :cond_2 goto :goto_1 :cond_2 const/4 v1, 0x0 :goto_1 return v1 :pswitch_data_0 .packed-switch 0x0 :pswitch_2 :pswitch_1 :pswitch_0 :pswitch_1 .end packed-switch .end method .method protected onLayout(ZIIII)V .locals 2 .line 212 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getChildCount()I move-result p1 const/4 p2, 0x0 const/4 p3, 0x0 const/4 p4, 0x0 :goto_0 if-ge p3, p1, :cond_1 .line 214 invoke-virtual {p0, p3}, Lcom/moji/emotion/HorizontalScroller;->getChildAt(I)Landroid/view/View; move-result-object p5 .line 215 invoke-virtual {p5}, Landroid/view/View;->getVisibility()I move-result v0 const/16 v1, 0x8 if-eq v0, v1, :cond_0 .line 216 invoke-virtual {p5}, Landroid/view/View;->getMeasuredWidth()I move-result v0 add-int/2addr v0, p4 .line 217 invoke-virtual {p5}, Landroid/view/View;->getMeasuredHeight()I move-result v1 invoke-virtual {p5, p4, p2, v0, v1}, Landroid/view/View;->layout(IIII)V move p4, v0 :cond_0 add-int/lit8 p3, p3, 0x1 goto :goto_0 :cond_1 return-void .end method .method protected onMeasure(II)V .locals 5 .line 190 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->onMeasure(II)V .line 192 iget p1, p0, Lcom/moji/emotion/HorizontalScroller;->a:I const/4 v0, -0x1 if-ne p1, v0, :cond_0 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getMeasuredWidth()I move-result p1 goto :goto_0 :cond_0 iget p1, p0, Lcom/moji/emotion/HorizontalScroller;->a:I :goto_0 iput p1, p0, Lcom/moji/emotion/HorizontalScroller;->b:I .line 194 iget p1, p0, Lcom/moji/emotion/HorizontalScroller;->b:I invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getMeasuredWidth()I move-result v0 invoke-static {p1, v0}, Ljava/lang/Math;->min(II)I move-result p1 iput p1, p0, Lcom/moji/emotion/HorizontalScroller;->b:I .line 196 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getChildCount()I move-result p1 const/4 v0, 0x0 const/4 v1, 0x0 :goto_1 if-ge v1, p1, :cond_1 .line 198 invoke-virtual {p0, v1}, Lcom/moji/emotion/HorizontalScroller;->getChildAt(I)Landroid/view/View; move-result-object v2 iget v3, p0, Lcom/moji/emotion/HorizontalScroller;->b:I const/high16 v4, 0x40000000 # 2.0f invoke-static {v3, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v3 invoke-virtual {v2, v3, p2}, Landroid/view/View;->measure(II)V add-int/lit8 v1, v1, 0x1 goto :goto_1 .line 202 :cond_1 iget-boolean p1, p0, Lcom/moji/emotion/HorizontalScroller;->c:Z if-eqz p1, :cond_2 .line 203 iget p1, p0, Lcom/moji/emotion/HorizontalScroller;->d:I invoke-direct {p0, p1}, Lcom/moji/emotion/HorizontalScroller;->b(I)I move-result p1 invoke-virtual {p0, p1, v0}, Lcom/moji/emotion/HorizontalScroller;->scrollTo(II)V .line 204 iput-boolean v0, p0, Lcom/moji/emotion/HorizontalScroller;->c:Z :cond_2 return-void .end method .method protected onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z .locals 2 .line 232 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->e:I const/4 v1, -0x1 if-eq v0, v1, :cond_0 .line 233 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->e:I goto :goto_0 .line 235 :cond_0 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->d:I .line 237 :goto_0 invoke-virtual {p0, v0}, Lcom/moji/emotion/HorizontalScroller;->getChildAt(I)Landroid/view/View; move-result-object v0 invoke-virtual {v0, p1, p2}, Landroid/view/View;->requestFocus(ILandroid/graphics/Rect;)Z const/4 p1, 0x0 return p1 .end method .method protected onRestoreInstanceState(Landroid/os/Parcelable;)V .locals 2 .line 490 check-cast p1, Lcom/moji/emotion/HorizontalScroller$SavedState; .line 491 invoke-virtual {p1}, Lcom/moji/emotion/HorizontalScroller$SavedState;->getSuperState()Landroid/os/Parcelable; move-result-object v0 invoke-super {p0, v0}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V .line 492 iget v0, p1, Lcom/moji/emotion/HorizontalScroller$SavedState;->currentScreen:I const/4 v1, -0x1 if-eq v0, v1, :cond_0 .line 493 iget p1, p1, Lcom/moji/emotion/HorizontalScroller$SavedState;->currentScreen:I iput p1, p0, Lcom/moji/emotion/HorizontalScroller;->d:I :cond_0 return-void .end method .method protected onSaveInstanceState()Landroid/os/Parcelable; .locals 2 .line 483 new-instance v0, Lcom/moji/emotion/HorizontalScroller$SavedState; invoke-super {p0}, Landroid/view/ViewGroup;->onSaveInstanceState()Landroid/os/Parcelable; move-result-object v1 invoke-direct {v0, v1}, Lcom/moji/emotion/HorizontalScroller$SavedState;->(Landroid/os/Parcelable;)V .line 484 iget v1, p0, Lcom/moji/emotion/HorizontalScroller;->d:I iput v1, v0, Lcom/moji/emotion/HorizontalScroller$SavedState;->currentScreen:I return-object v0 .end method .method public onTouchEvent(Landroid/view/MotionEvent;)Z .locals 4 .line 376 iget-object v0, p0, Lcom/moji/emotion/HorizontalScroller;->g:Landroid/view/VelocityTracker; if-nez v0, :cond_0 .line 377 invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker; move-result-object v0 iput-object v0, p0, Lcom/moji/emotion/HorizontalScroller;->g:Landroid/view/VelocityTracker; .line 379 :cond_0 iget-object v0, p0, Lcom/moji/emotion/HorizontalScroller;->g:Landroid/view/VelocityTracker; invoke-virtual {v0, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V .line 381 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 .line 382 invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v1 .line 383 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result p1 const/4 v2, 0x0 const/4 v3, 0x1 packed-switch v0, :pswitch_data_0 goto/16 :goto_1 .line 443 :pswitch_0 iput v2, p0, Lcom/moji/emotion/HorizontalScroller;->l:I .line 444 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getParent()Landroid/view/ViewParent; move-result-object p1 if-eqz p1, :cond_a .line 445 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getParent()Landroid/view/ViewParent; move-result-object p1 invoke-interface {p1, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V goto/16 :goto_1 .line 400 :pswitch_1 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getParent()Landroid/view/ViewParent; move-result-object v0 if-eqz v0, :cond_1 .line 401 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getParent()Landroid/view/ViewParent; move-result-object v0 invoke-interface {v0, v3}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V .line 402 :cond_1 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->l:I if-nez v0, :cond_2 .line 403 invoke-direct {p0, v1, p1}, Lcom/moji/emotion/HorizontalScroller;->a(FF)V goto/16 :goto_1 .line 404 :cond_2 iget p1, p0, Lcom/moji/emotion/HorizontalScroller;->l:I if-ne p1, v3, :cond_a .line 406 iget p1, p0, Lcom/moji/emotion/HorizontalScroller;->j:F sub-float/2addr p1, v1 float-to-int p1, p1 .line 407 iput v1, p0, Lcom/moji/emotion/HorizontalScroller;->j:F .line 410 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getScrollX()I move-result v0 if-ltz v0, :cond_3 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getScrollX()I move-result v0 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getChildCount()I move-result v1 sub-int/2addr v1, v3 invoke-virtual {p0, v1}, Lcom/moji/emotion/HorizontalScroller;->getChildAt(I)Landroid/view/View; move-result-object v1 invoke-virtual {v1}, Landroid/view/View;->getLeft()I move-result v1 if-le v0, v1, :cond_4 .line 411 :cond_3 div-int/lit8 p1, p1, 0x2 .line 414 :cond_4 invoke-virtual {p0, p1, v2}, Lcom/moji/emotion/HorizontalScroller;->scrollBy(II)V goto/16 :goto_1 .line 418 :pswitch_2 iget p1, p0, Lcom/moji/emotion/HorizontalScroller;->l:I if-ne p1, v3, :cond_7 .line 419 iget-object p1, p0, Lcom/moji/emotion/HorizontalScroller;->g:Landroid/view/VelocityTracker; .line 420 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->i:I int-to-float v0, v0 const/16 v1, 0x3e8 invoke-virtual {p1, v1, v0}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V .line 421 invoke-virtual {p1}, Landroid/view/VelocityTracker;->getXVelocity()F move-result p1 float-to-int p1, p1 if-le p1, v1, :cond_5 .line 423 iget v0, p0, Lcom/moji/emotion/HorizontalScroller;->d:I if-lez v0, :cond_5 .line 425 iget p1, p0, Lcom/moji/emotion/HorizontalScroller;->d:I sub-int/2addr p1, v3 invoke-virtual {p0, p1}, Lcom/moji/emotion/HorizontalScroller;->a(I)V goto :goto_0 :cond_5 const/16 v0, -0x3e8 if-ge p1, v0, :cond_6 .line 426 iget p1, p0, Lcom/moji/emotion/HorizontalScroller;->d:I invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getChildCount()I move-result v0 sub-int/2addr v0, v3 if-ge p1, v0, :cond_6 .line 428 iget p1, p0, Lcom/moji/emotion/HorizontalScroller;->d:I add-int/2addr p1, v3 invoke-virtual {p0, p1}, Lcom/moji/emotion/HorizontalScroller;->a(I)V goto :goto_0 .line 430 :cond_6 invoke-direct {p0}, Lcom/moji/emotion/HorizontalScroller;->e()V .line 433 :goto_0 iget-object p1, p0, Lcom/moji/emotion/HorizontalScroller;->g:Landroid/view/VelocityTracker; if-eqz p1, :cond_7 .line 434 iget-object p1, p0, Lcom/moji/emotion/HorizontalScroller;->g:Landroid/view/VelocityTracker; invoke-virtual {p1}, Landroid/view/VelocityTracker;->recycle()V const/4 p1, 0x0 .line 435 iput-object p1, p0, Lcom/moji/emotion/HorizontalScroller;->g:Landroid/view/VelocityTracker; .line 438 :cond_7 iput v2, p0, Lcom/moji/emotion/HorizontalScroller;->l:I .line 439 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getParent()Landroid/view/ViewParent; move-result-object p1 if-eqz p1, :cond_a .line 440 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getParent()Landroid/view/ViewParent; move-result-object p1 invoke-interface {p1, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V goto :goto_1 .line 391 :pswitch_3 iget-object p1, p0, Lcom/moji/emotion/HorizontalScroller;->f:Landroid/widget/Scroller; invoke-virtual {p1}, Landroid/widget/Scroller;->isFinished()Z move-result p1 if-nez p1, :cond_8 .line 392 iget-object p1, p0, Lcom/moji/emotion/HorizontalScroller;->f:Landroid/widget/Scroller; invoke-virtual {p1}, Landroid/widget/Scroller;->abortAnimation()V .line 394 :cond_8 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getParent()Landroid/view/ViewParent; move-result-object p1 if-eqz p1, :cond_9 .line 395 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getParent()Landroid/view/ViewParent; move-result-object p1 invoke-interface {p1, v3}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V .line 397 :cond_9 iput v1, p0, Lcom/moji/emotion/HorizontalScroller;->j:F :cond_a :goto_1 return v3 nop :pswitch_data_0 .packed-switch 0x0 :pswitch_3 :pswitch_2 :pswitch_1 :pswitch_0 .end packed-switch .end method .method public requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z .locals 0 .line 225 invoke-virtual {p0, p1}, Lcom/moji/emotion/HorizontalScroller;->indexOfChild(Landroid/view/View;)I move-result p1 .line 226 iget p2, p0, Lcom/moji/emotion/HorizontalScroller;->d:I if-ne p1, p2, :cond_1 iget-object p1, p0, Lcom/moji/emotion/HorizontalScroller;->f:Landroid/widget/Scroller; invoke-virtual {p1}, Landroid/widget/Scroller;->isFinished()Z move-result p1 if-nez p1, :cond_0 goto :goto_0 :cond_0 const/4 p1, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 p1, 0x1 :goto_1 return p1 .end method .method public setCurrentPage(I)V .locals 1 .line 121 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->getChildCount()I move-result v0 invoke-static {p1, v0}, Ljava/lang/Math;->min(II)I move-result p1 const/4 v0, 0x0 invoke-static {v0, p1}, Ljava/lang/Math;->max(II)I move-result p1 iput p1, p0, Lcom/moji/emotion/HorizontalScroller;->d:I .line 122 iget p1, p0, Lcom/moji/emotion/HorizontalScroller;->d:I invoke-direct {p0, p1}, Lcom/moji/emotion/HorizontalScroller;->b(I)I move-result p1 invoke-virtual {p0, p1, v0}, Lcom/moji/emotion/HorizontalScroller;->scrollTo(II)V .line 123 invoke-virtual {p0}, Lcom/moji/emotion/HorizontalScroller;->invalidate()V return-void .end method .method public setPageWidth(I)V .locals 0 .line 131 iput p1, p0, Lcom/moji/emotion/HorizontalScroller;->a:I return-void .end method