WXSliderNeighbor$ZoomTransformer.smali
.class Lcom/taobao/weex/ui/component/WXSliderNeighbor$ZoomTransformer;
.super Ljava/lang/Object;
.source "WXSliderNeighbor.java"
# interfaces
.implements Landroidx/viewpager/widget/ViewPager$PageTransformer;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/taobao/weex/ui/component/WXSliderNeighbor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = "ZoomTransformer"
.end annotation
# instance fields
.field final synthetic this$0:Lcom/taobao/weex/ui/component/WXSliderNeighbor;
# direct methods
.method constructor <init>(Lcom/taobao/weex/ui/component/WXSliderNeighbor;)V
.registers 2
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x8010
}
names = {
"this$0"
}
.end annotation
.line 346
iput-object p1, p0, Lcom/taobao/weex/ui/component/WXSliderNeighbor$ZoomTransformer;->this$0:Lcom/taobao/weex/ui/component/WXSliderNeighbor;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public transformPage(Landroid/view/View;F)V
.registers 11
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"page",
"position"
}
.end annotation
.line 349
iget-object v0, p0, Lcom/taobao/weex/ui/component/WXSliderNeighbor$ZoomTransformer;->this$0:Lcom/taobao/weex/ui/component/WXSliderNeighbor;
iget-object v0, v0, Lcom/taobao/weex/ui/component/WXSliderNeighbor;->mAdapter:Lcom/taobao/weex/ui/view/WXCirclePageAdapter;
invoke-virtual {v0, p1}, Lcom/taobao/weex/ui/view/WXCirclePageAdapter;->getPagePosition(Landroid/view/View;)I
move-result v0
.line 350
iget-object v1, p0, Lcom/taobao/weex/ui/component/WXSliderNeighbor$ZoomTransformer;->this$0:Lcom/taobao/weex/ui/component/WXSliderNeighbor;
iget-object v1, v1, Lcom/taobao/weex/ui/component/WXSliderNeighbor;->mViewPager:Lcom/taobao/weex/ui/view/WXCircleViewPager;
invoke-virtual {v1}, Lcom/taobao/weex/ui/view/WXCircleViewPager;->getCurrentItem()I
move-result v1
.line 352
iget-object v2, p0, Lcom/taobao/weex/ui/component/WXSliderNeighbor$ZoomTransformer;->this$0:Lcom/taobao/weex/ui/component/WXSliderNeighbor;
iget-object v2, v2, Lcom/taobao/weex/ui/component/WXSliderNeighbor;->mAdapter:Lcom/taobao/weex/ui/view/WXCirclePageAdapter;
invoke-virtual {v2}, Lcom/taobao/weex/ui/view/WXCirclePageAdapter;->getRealCount()I
move-result v2
const/4 v3, 0x0
const/4 v4, 0x1
if-eqz v1, :cond_2a
add-int/lit8 v5, v2, -0x1
if-eq v1, v5, :cond_2a
sub-int v5, v0, v1
.line 355
invoke-static {v5}, Ljava/lang/Math;->abs(I)I
move-result v5
if-le v5, v4, :cond_2a
move v5, v4
goto :goto_2b
:cond_2a
move v5, v3
:goto_2b
if-nez v1, :cond_34
add-int/lit8 v6, v2, -0x1
if-ge v0, v6, :cond_34
if-le v0, v4, :cond_34
move v5, v4
:cond_34
add-int/lit8 v6, v2, -0x1
if-ne v1, v6, :cond_3f
add-int/lit8 v1, v2, -0x2
if-ge v0, v1, :cond_3f
if-lez v0, :cond_3f
move v5, v4
:cond_3f
if-eqz v5, :cond_42
return-void
.line 369
:cond_42
move-object v0, p1
check-cast v0, Landroid/view/ViewGroup;
invoke-virtual {v0, v3}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v0
if-nez v0, :cond_4c
return-void
:cond_4c
neg-int v1, v2
add-int/2addr v1, v4
int-to-float v1, v1
cmpg-float v1, p2, v1
if-gtz v1, :cond_55
int-to-float v1, v2
add-float/2addr p2, v1
:cond_55
int-to-float v1, v6
cmpl-float v1, p2, v1
if-ltz v1, :cond_5c
int-to-float v1, v2
sub-float/2addr p2, v1
:cond_5c
const/high16 v1, -0x40800000 # -1.0f
cmpl-float v1, p2, v1
if-ltz v1, :cond_df
const/high16 v1, 0x3f800000 # 1.0f
cmpg-float v3, p2, v1
if-gtz v3, :cond_df
.line 383
invoke-static {p2}, Ljava/lang/Math;->abs(F)F
move-result v3
sub-float/2addr v3, v1
invoke-static {v3}, Ljava/lang/Math;->abs(F)F
move-result v3
.line 384
iget-object v4, p0, Lcom/taobao/weex/ui/component/WXSliderNeighbor$ZoomTransformer;->this$0:Lcom/taobao/weex/ui/component/WXSliderNeighbor;
# getter for: Lcom/taobao/weex/ui/component/WXSliderNeighbor;->mNeighborScale:F
invoke-static {v4}, Lcom/taobao/weex/ui/component/WXSliderNeighbor;->access$100(Lcom/taobao/weex/ui/component/WXSliderNeighbor;)F
move-result v4
iget-object v5, p0, Lcom/taobao/weex/ui/component/WXSliderNeighbor$ZoomTransformer;->this$0:Lcom/taobao/weex/ui/component/WXSliderNeighbor;
# getter for: Lcom/taobao/weex/ui/component/WXSliderNeighbor;->mCurrentItemScale:F
invoke-static {v5}, Lcom/taobao/weex/ui/component/WXSliderNeighbor;->access$200(Lcom/taobao/weex/ui/component/WXSliderNeighbor;)F
move-result v5
iget-object v6, p0, Lcom/taobao/weex/ui/component/WXSliderNeighbor$ZoomTransformer;->this$0:Lcom/taobao/weex/ui/component/WXSliderNeighbor;
# getter for: Lcom/taobao/weex/ui/component/WXSliderNeighbor;->mNeighborScale:F
invoke-static {v6}, Lcom/taobao/weex/ui/component/WXSliderNeighbor;->access$100(Lcom/taobao/weex/ui/component/WXSliderNeighbor;)F
move-result v6
sub-float/2addr v5, v6
mul-float/2addr v5, v3
add-float/2addr v4, v5
.line 385
iget-object v5, p0, Lcom/taobao/weex/ui/component/WXSliderNeighbor$ZoomTransformer;->this$0:Lcom/taobao/weex/ui/component/WXSliderNeighbor;
# getter for: Lcom/taobao/weex/ui/component/WXSliderNeighbor;->mNeighborAlpha:F
invoke-static {v5}, Lcom/taobao/weex/ui/component/WXSliderNeighbor;->access$300(Lcom/taobao/weex/ui/component/WXSliderNeighbor;)F
move-result v5
sub-float v5, v1, v5
mul-float/2addr v5, v3
iget-object v3, p0, Lcom/taobao/weex/ui/component/WXSliderNeighbor$ZoomTransformer;->this$0:Lcom/taobao/weex/ui/component/WXSliderNeighbor;
# getter for: Lcom/taobao/weex/ui/component/WXSliderNeighbor;->mNeighborAlpha:F
invoke-static {v3}, Lcom/taobao/weex/ui/component/WXSliderNeighbor;->access$300(Lcom/taobao/weex/ui/component/WXSliderNeighbor;)F
move-result v3
add-float/2addr v5, v3
.line 387
iget-object v3, p0, Lcom/taobao/weex/ui/component/WXSliderNeighbor$ZoomTransformer;->this$0:Lcom/taobao/weex/ui/component/WXSliderNeighbor;
# invokes: Lcom/taobao/weex/ui/component/WXSliderNeighbor;->calculateTranslation(Landroid/view/View;)F
invoke-static {v3, p1}, Lcom/taobao/weex/ui/component/WXSliderNeighbor;->access$400(Lcom/taobao/weex/ui/component/WXSliderNeighbor;Landroid/view/View;)F
move-result v3
const/4 v6, 0x0
cmpl-float v7, p2, v6
if-lez v7, :cond_aa
mul-float/2addr p2, v3
neg-float p2, p2
.line 390
invoke-virtual {v0, p2}, Landroid/view/View;->setTranslationX(F)V
.line 391
invoke-virtual {p1, p2}, Landroid/view/View;->setTranslationX(F)V
goto :goto_d6
:cond_aa
if-nez v7, :cond_c2
.line 393
invoke-virtual {p1, v6}, Landroid/view/View;->setTranslationX(F)V
.line 394
invoke-virtual {v0, v6}, Landroid/view/View;->setTranslationX(F)V
.line 395
iget-object p1, p0, Lcom/taobao/weex/ui/component/WXSliderNeighbor$ZoomTransformer;->this$0:Lcom/taobao/weex/ui/component/WXSliderNeighbor;
# getter for: Lcom/taobao/weex/ui/component/WXSliderNeighbor;->mNeighborAlpha:F
invoke-static {p1}, Lcom/taobao/weex/ui/component/WXSliderNeighbor;->access$300(Lcom/taobao/weex/ui/component/WXSliderNeighbor;)F
move-result p2
iget-object v1, p0, Lcom/taobao/weex/ui/component/WXSliderNeighbor$ZoomTransformer;->this$0:Lcom/taobao/weex/ui/component/WXSliderNeighbor;
# getter for: Lcom/taobao/weex/ui/component/WXSliderNeighbor;->mNeighborScale:F
invoke-static {v1}, Lcom/taobao/weex/ui/component/WXSliderNeighbor;->access$100(Lcom/taobao/weex/ui/component/WXSliderNeighbor;)F
move-result v1
# invokes: Lcom/taobao/weex/ui/component/WXSliderNeighbor;->updateAdapterScaleAndAlpha(FF)V
invoke-static {p1, p2, v1}, Lcom/taobao/weex/ui/component/WXSliderNeighbor;->access$500(Lcom/taobao/weex/ui/component/WXSliderNeighbor;FF)V
goto :goto_d6
:cond_c2
const/4 v6, 0x2
if-ne v2, v6, :cond_ce
.line 397
invoke-static {p2}, Ljava/lang/Math;->abs(F)F
move-result v2
cmpl-float v1, v2, v1
if-nez v1, :cond_ce
return-void
:cond_ce
neg-float p2, p2
mul-float/2addr p2, v3
.line 401
invoke-virtual {v0, p2}, Landroid/view/View;->setTranslationX(F)V
.line 402
invoke-virtual {p1, p2}, Landroid/view/View;->setTranslationX(F)V
.line 404
:goto_d6
invoke-virtual {v0, v4}, Landroid/view/View;->setScaleX(F)V
.line 405
invoke-virtual {v0, v4}, Landroid/view/View;->setScaleY(F)V
.line 406
invoke-virtual {v0, v5}, Landroid/view/View;->setAlpha(F)V
:cond_df
return-void
.end method