.class public Lcom/moji/fancycoverflow/FancyCoverFlow; .super Landroid/widget/Gallery; .source "FancyCoverFlow.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/moji/fancycoverflow/FancyCoverFlow$LayoutParams; } .end annotation # instance fields .field private a:Ljava/util/concurrent/atomic/AtomicBoolean; .field private b:F .field private c:Landroid/graphics/Camera; .field private d:I .field private e:F .field private f:F .field private g:I .field private h:F # direct methods .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 1 .line 102 invoke-direct {p0, p1, p2}, Landroid/widget/Gallery;->(Landroid/content/Context;Landroid/util/AttributeSet;)V .line 55 new-instance p1, Ljava/util/concurrent/atomic/AtomicBoolean; const/4 v0, 0x1 invoke-direct {p1, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->(Z)V iput-object p1, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->a:Ljava/util/concurrent/atomic/AtomicBoolean; const/high16 p1, 0x3f000000 # 0.5f .line 60 iput p1, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->b:F const/16 v0, 0x4b .line 70 iput v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->d:I .line 80 iput p1, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->f:F .line 103 invoke-direct {p0}, Lcom/moji/fancycoverflow/FancyCoverFlow;->a()V .line 104 invoke-direct {p0, p2}, Lcom/moji/fancycoverflow/FancyCoverFlow;->a(Landroid/util/AttributeSet;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 0 .line 108 invoke-direct {p0, p1, p2, p3}, Landroid/widget/Gallery;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V .line 55 new-instance p1, Ljava/util/concurrent/atomic/AtomicBoolean; const/4 p3, 0x1 invoke-direct {p1, p3}, Ljava/util/concurrent/atomic/AtomicBoolean;->(Z)V iput-object p1, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->a:Ljava/util/concurrent/atomic/AtomicBoolean; const/high16 p1, 0x3f000000 # 0.5f .line 60 iput p1, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->b:F const/16 p3, 0x4b .line 70 iput p3, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->d:I .line 80 iput p1, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->f:F .line 109 invoke-direct {p0}, Lcom/moji/fancycoverflow/FancyCoverFlow;->a()V .line 110 invoke-direct {p0, p2}, Lcom/moji/fancycoverflow/FancyCoverFlow;->a(Landroid/util/AttributeSet;)V return-void .end method .method private a()V .locals 1 .line 114 new-instance v0, Landroid/graphics/Camera; invoke-direct {v0}, Landroid/graphics/Camera;->()V iput-object v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->c:Landroid/graphics/Camera; const/4 v0, 0x0 .line 115 invoke-virtual {p0, v0}, Lcom/moji/fancycoverflow/FancyCoverFlow;->setSpacing(I)V return-void .end method .method private a(Landroid/util/AttributeSet;)V .locals 2 .line 119 invoke-virtual {p0}, Lcom/moji/fancycoverflow/FancyCoverFlow;->getContext()Landroid/content/Context; move-result-object v0 sget-object v1, Lcom/moji/widget/R$styleable;->FancyCoverFlow:[I invoke-virtual {v0, p1, v1}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray; move-result-object p1 .line 121 :try_start_0 sget v0, Lcom/moji/widget/R$styleable;->FancyCoverFlow_actionDistance:I const v1, 0x7fffffff invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getInteger(II)I move-result v0 iput v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->g:I .line 122 sget v0, Lcom/moji/widget/R$styleable;->FancyCoverFlow_scaleDownGravity:I const/high16 v1, 0x3f800000 # 1.0f invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getFloat(IF)F move-result v0 iput v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->f:F .line 123 sget v0, Lcom/moji/widget/R$styleable;->FancyCoverFlow_maxRotation:I const/16 v1, 0x2d invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getInteger(II)I move-result v0 iput v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->d:I .line 124 sget v0, Lcom/moji/widget/R$styleable;->FancyCoverFlow_unselectedAlpha:I const v1, 0x3e99999a # 0.3f invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getFloat(IF)F move-result v0 iput v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->b:F .line 125 sget v0, Lcom/moji/widget/R$styleable;->FancyCoverFlow_unselectedSaturation:I const/4 v1, 0x0 invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getFloat(IF)F move-result v0 iput v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->h:F .line 126 sget v0, Lcom/moji/widget/R$styleable;->FancyCoverFlow_unselectedScale:I const/high16 v1, 0x3f400000 # 0.75f invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getFloat(IF)F move-result v0 iput v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->e:F :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 128 invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V return-void :catchall_0 move-exception v0 invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V .line 129 throw v0 .end method # virtual methods .method public getActionDistance()I .locals 1 .line 222 iget v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->g:I return v0 .end method .method protected getChildStaticTransformation(Landroid/view/View;Landroid/view/animation/Transformation;)Z .locals 7 .line 270 check-cast p1, Lcom/moji/fancycoverflow/FancyCoverFlowItemWrapper; .line 273 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x10 if-lt v0, v1, :cond_0 .line 274 invoke-virtual {p1}, Lcom/moji/fancycoverflow/FancyCoverFlowItemWrapper;->invalidate()V .line 277 :cond_0 invoke-virtual {p0}, Lcom/moji/fancycoverflow/FancyCoverFlow;->getWidth()I move-result v0 .line 278 div-int/lit8 v1, v0, 0x2 .line 279 invoke-virtual {p1}, Lcom/moji/fancycoverflow/FancyCoverFlowItemWrapper;->getWidth()I move-result v2 .line 280 invoke-virtual {p1}, Lcom/moji/fancycoverflow/FancyCoverFlowItemWrapper;->getHeight()I move-result v3 .line 281 invoke-virtual {p1}, Lcom/moji/fancycoverflow/FancyCoverFlowItemWrapper;->getLeft()I move-result p1 div-int/lit8 v4, v2, 0x2 add-int/2addr p1, v4 .line 284 iget v4, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->g:I const v5, 0x7fffffff const/high16 v6, 0x40000000 # 2.0f if-ne v4, v5, :cond_1 add-int/2addr v0, v2 int-to-float v0, v0 div-float/2addr v0, v6 float-to-int v0, v0 goto :goto_0 :cond_1 iget v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->g:I :goto_0 const/high16 v4, -0x40800000 # -1.0f int-to-float v0, v0 const/high16 v5, 0x3f800000 # 1.0f div-float v0, v5, v0 sub-int/2addr p1, v1 int-to-float p1, p1 mul-float v0, v0, p1 .line 287 invoke-static {v4, v0}, Ljava/lang/Math;->max(FF)F move-result p1 invoke-static {v5, p1}, Ljava/lang/Math;->min(FF)F move-result p1 .line 290 invoke-virtual {p2}, Landroid/view/animation/Transformation;->clear()V const/4 v0, 0x3 .line 291 invoke-virtual {p2, v0}, Landroid/view/animation/Transformation;->setTransformationType(I)V .line 294 iget v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->b:F cmpl-float v0, v0, v5 if-eqz v0, :cond_2 .line 295 iget v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->b:F sub-float/2addr v0, v5 invoke-static {p1}, Ljava/lang/Math;->abs(F)F move-result v1 mul-float v0, v0, v1 add-float/2addr v0, v5 .line 296 invoke-virtual {p2, v0}, Landroid/view/animation/Transformation;->setAlpha(F)V .line 300 :cond_2 invoke-virtual {p2}, Landroid/view/animation/Transformation;->getMatrix()Landroid/graphics/Matrix; move-result-object p2 .line 303 iget v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->d:I if-eqz v0, :cond_3 neg-float v0, p1 .line 304 iget v1, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->d:I int-to-float v1, v1 mul-float v0, v0, v1 float-to-int v0, v0 .line 305 iget-object v1, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->c:Landroid/graphics/Camera; invoke-virtual {v1}, Landroid/graphics/Camera;->save()V .line 306 iget-object v1, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->c:Landroid/graphics/Camera; int-to-float v0, v0 invoke-virtual {v1, v0}, Landroid/graphics/Camera;->rotateY(F)V .line 307 iget-object v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->c:Landroid/graphics/Camera; invoke-virtual {v0, p2}, Landroid/graphics/Camera;->getMatrix(Landroid/graphics/Matrix;)V .line 308 iget-object v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->c:Landroid/graphics/Camera; invoke-virtual {v0}, Landroid/graphics/Camera;->restore()V .line 312 :cond_3 iget v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->e:F cmpl-float v0, v0, v5 if-eqz v0, :cond_4 .line 313 iget v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->e:F sub-float/2addr v0, v5 invoke-static {p1}, Ljava/lang/Math;->abs(F)F move-result p1 mul-float v0, v0, p1 add-float/2addr v0, v5 int-to-float p1, v2 div-float/2addr p1, v6 int-to-float v1, v3 .line 316 iget v2, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->f:F mul-float v1, v1, v2 neg-float v2, p1 neg-float v3, v1 .line 317 invoke-virtual {p2, v2, v3}, Landroid/graphics/Matrix;->preTranslate(FF)Z .line 318 invoke-virtual {p2, v0, v0}, Landroid/graphics/Matrix;->postScale(FF)Z .line 319 invoke-virtual {p2, p1, v1}, Landroid/graphics/Matrix;->postTranslate(FF)Z :cond_4 const/4 p1, 0x1 return p1 .end method .method public getMaxRotation()I .locals 1 .line 159 iget v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->d:I return v0 .end method .method public getScaleDownGravity()F .locals 1 .line 204 iget v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->f:F return v0 .end method .method public getUnselectedAlpha()F .locals 1 .line 177 iget v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->b:F return v0 .end method .method public getUnselectedSaturation()F .locals 1 .line 251 iget v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->h:F return v0 .end method .method public getUnselectedScale()F .locals 1 .line 186 iget v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->e:F return v0 .end method .method public onFling(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z .locals 1 .line 339 iget-object v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->a:Ljava/util/concurrent/atomic/AtomicBoolean; invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z move-result v0 if-eqz v0, :cond_0 .line 340 invoke-super {p0, p1, p2, p3, p4}, Landroid/widget/Gallery;->onFling(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z move-result p1 return p1 :cond_0 const/4 p1, 0x1 return p1 .end method .method public onScroll(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z .locals 1 .line 331 iget-object v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->a:Ljava/util/concurrent/atomic/AtomicBoolean; invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z move-result v0 if-eqz v0, :cond_0 .line 332 invoke-super {p0, p1, p2, p3, p4}, Landroid/widget/Gallery;->onScroll(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z move-result p1 return p1 :cond_0 const/4 p1, 0x1 return p1 .end method .method public setActionDistance(I)V .locals 0 .line 231 iput p1, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->g:I return-void .end method .method public bridge synthetic setAdapter(Landroid/widget/Adapter;)V .locals 0 .line 37 check-cast p1, Landroid/widget/SpinnerAdapter; invoke-virtual {p0, p1}, Lcom/moji/fancycoverflow/FancyCoverFlow;->setAdapter(Landroid/widget/SpinnerAdapter;)V return-void .end method .method public setAdapter(Landroid/widget/SpinnerAdapter;)V .locals 0 .line 150 invoke-super {p0, p1}, Landroid/widget/Gallery;->setAdapter(Landroid/widget/SpinnerAdapter;)V return-void .end method .method public setCanScroll(Z)V .locals 1 .line 326 iget-object v0, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->a:Ljava/util/concurrent/atomic/AtomicBoolean; invoke-virtual {v0, p1}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V return-void .end method .method public setMaxRotation(I)V .locals 0 .line 168 iput p1, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->d:I return-void .end method .method public setScaleDownGravity(F)V .locals 0 .line 213 iput p1, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->f:F return-void .end method .method public setUnselectedAlpha(F)V .locals 0 .line 241 invoke-super {p0, p1}, Landroid/widget/Gallery;->setUnselectedAlpha(F)V .line 242 iput p1, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->b:F return-void .end method .method public setUnselectedSaturation(F)V .locals 0 .line 260 iput p1, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->h:F return-void .end method .method public setUnselectedScale(F)V .locals 0 .line 195 iput p1, p0, Lcom/moji/fancycoverflow/FancyCoverFlow;->e:F return-void .end method