MZScaleInTransformer.smali
.class public Lim/tpelyyftgw/ui/components/banner/transformer/MZScaleInTransformer;
.super Lim/tpelyyftgw/ui/components/banner/transformer/BasePageTransformer;
.source "MZScaleInTransformer.java"
# static fields
.field private static final DEFAULT_MIN_SCALE:F = 0.85f
# instance fields
.field private mMinScale:F
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 17
invoke-direct {p0}, Lim/tpelyyftgw/ui/components/banner/transformer/BasePageTransformer;-><init>()V
.line 15
const v0, 0x3f59999a # 0.85f
iput v0, p0, Lim/tpelyyftgw/ui/components/banner/transformer/MZScaleInTransformer;->mMinScale:F
.line 18
return-void
.end method
.method public constructor <init>(F)V
.registers 3
.param p1, "minScale" # F
.line 20
invoke-direct {p0}, Lim/tpelyyftgw/ui/components/banner/transformer/BasePageTransformer;-><init>()V
.line 15
const v0, 0x3f59999a # 0.85f
iput v0, p0, Lim/tpelyyftgw/ui/components/banner/transformer/MZScaleInTransformer;->mMinScale:F
.line 21
iput p1, p0, Lim/tpelyyftgw/ui/components/banner/transformer/MZScaleInTransformer;->mMinScale:F
.line 22
return-void
.end method
.method private requireViewPager(Landroid/view/View;)Landroidx/viewpager2/widget/ViewPager2;
.registers 6
.param p1, "page" # Landroid/view/View;
.line 63
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
.line 64
.local v0, "parent":Landroid/view/ViewParent;
invoke-interface {v0}, Landroid/view/ViewParent;->getParent()Landroid/view/ViewParent;
move-result-object v1
.line 66
.local v1, "parentParent":Landroid/view/ViewParent;
instance-of v2, v0, Landroidx/recyclerview/widget/RecyclerView;
if-eqz v2, :cond_14
instance-of v2, v1, Landroidx/viewpager2/widget/ViewPager2;
if-eqz v2, :cond_14
.line 67
move-object v2, v1
check-cast v2, Landroidx/viewpager2/widget/ViewPager2;
return-object v2
.line 70
:cond_14
new-instance v2, Ljava/lang/IllegalStateException;
const-string v3, "Expected the page view to be managed by a ViewPager2 instance."
invoke-direct {v2, v3}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v2
.end method
# virtual methods
.method public transformPage(Landroid/view/View;F)V
.registers 21
.param p1, "view" # Landroid/view/View;
.param p2, "position" # F
.line 26
move-object/from16 v0, p0
move-object/from16 v1, p1
invoke-direct/range {p0 .. p1}, Lim/tpelyyftgw/ui/components/banner/transformer/MZScaleInTransformer;->requireViewPager(Landroid/view/View;)Landroidx/viewpager2/widget/ViewPager2;
move-result-object v2
.line 27
.local v2, "viewPager":Landroidx/viewpager2/widget/ViewPager2;
invoke-virtual {v2}, Landroidx/viewpager2/widget/ViewPager2;->getPaddingLeft()I
move-result v3
int-to-float v3, v3
.line 28
.local v3, "paddingLeft":F
invoke-virtual {v2}, Landroidx/viewpager2/widget/ViewPager2;->getPaddingRight()I
move-result v4
int-to-float v4, v4
.line 29
.local v4, "paddingRight":F
invoke-virtual {v2}, Landroidx/viewpager2/widget/ViewPager2;->getMeasuredWidth()I
move-result v5
int-to-float v5, v5
.line 30
.local v5, "width":F
sub-float v6, v5, v3
sub-float/2addr v6, v4
div-float v6, v3, v6
.line 31
.local v6, "offsetPosition":F
sub-float v7, p2, v6
.line 32
.local v7, "currentPos":F
const/4 v8, 0x0
.line 33
.local v8, "reduceX":F
invoke-virtual/range {p1 .. p1}, Landroid/view/View;->getWidth()I
move-result v9
int-to-float v9, v9
.line 35
.local v9, "itemWidth":F
iget v10, v0, Lim/tpelyyftgw/ui/components/banner/transformer/MZScaleInTransformer;->mMinScale:F
const/high16 v11, 0x3f800000 # 1.0f
sub-float v12, v11, v10
mul-float v12, v12, v9
const/high16 v13, 0x40000000 # 2.0f
div-float/2addr v12, v13
.line 36
.end local v8 # "reduceX":F
.local v12, "reduceX":F
const/high16 v8, -0x40800000 # -1.0f
cmpg-float v8, v7, v8
if-gtz v8, :cond_43
.line 37
invoke-virtual {v1, v12}, Landroid/view/View;->setTranslationX(F)V
.line 38
iget v8, v0, Lim/tpelyyftgw/ui/components/banner/transformer/MZScaleInTransformer;->mMinScale:F
invoke-virtual {v1, v8}, Landroid/view/View;->setScaleX(F)V
.line 39
iget v8, v0, Lim/tpelyyftgw/ui/components/banner/transformer/MZScaleInTransformer;->mMinScale:F
invoke-virtual {v1, v8}, Landroid/view/View;->setScaleY(F)V
goto :goto_ae
.line 40
:cond_43
float-to-double v13, v7
const-wide/high16 v15, 0x3ff0000000000000L # 1.0
cmpg-double v8, v13, v15
if-gtz v8, :cond_a2
.line 41
sub-float v8, v11, v10
invoke-static {v7}, Ljava/lang/Math;->abs(F)F
move-result v10
sub-float/2addr v11, v10
invoke-static {v11}, Ljava/lang/Math;->abs(F)F
move-result v10
mul-float v8, v8, v10
.line 42
.local v8, "scale":F
neg-float v10, v12
mul-float v10, v10, v7
.line 43
.local v10, "translationX":F
float-to-double v13, v7
const-wide/high16 v15, -0x4020000000000000L # -0.5
const/high16 v11, 0x3f000000 # 0.5f
cmpg-double v17, v13, v15
if-gtz v17, :cond_72
.line 44
invoke-static {v7}, Ljava/lang/Math;->abs(F)F
move-result v13
sub-float/2addr v13, v11
invoke-static {v13}, Ljava/lang/Math;->abs(F)F
move-result v13
div-float/2addr v13, v11
add-float/2addr v13, v10
invoke-virtual {v1, v13}, Landroid/view/View;->setTranslationX(F)V
goto :goto_95
.line 45
:cond_72
const/4 v13, 0x0
cmpg-float v13, v7, v13
if-gtz v13, :cond_7b
.line 46
invoke-virtual {v1, v10}, Landroid/view/View;->setTranslationX(F)V
goto :goto_95
.line 47
:cond_7b
float-to-double v13, v7
const-wide/high16 v15, 0x3fe0000000000000L # 0.5
cmpl-double v17, v13, v15
if-ltz v17, :cond_92
.line 48
invoke-static {v7}, Ljava/lang/Math;->abs(F)F
move-result v13
sub-float/2addr v13, v11
invoke-static {v13}, Ljava/lang/Math;->abs(F)F
move-result v13
div-float/2addr v13, v11
sub-float v11, v10, v13
invoke-virtual {v1, v11}, Landroid/view/View;->setTranslationX(F)V
goto :goto_95
.line 50
:cond_92
invoke-virtual {v1, v10}, Landroid/view/View;->setTranslationX(F)V
.line 52
:goto_95
iget v11, v0, Lim/tpelyyftgw/ui/components/banner/transformer/MZScaleInTransformer;->mMinScale:F
add-float/2addr v11, v8
invoke-virtual {v1, v11}, Landroid/view/View;->setScaleX(F)V
.line 53
iget v11, v0, Lim/tpelyyftgw/ui/components/banner/transformer/MZScaleInTransformer;->mMinScale:F
add-float/2addr v11, v8
invoke-virtual {v1, v11}, Landroid/view/View;->setScaleY(F)V
.line 54
.end local v8 # "scale":F
.end local v10 # "translationX":F
goto :goto_ae
.line 55
:cond_a2
invoke-virtual {v1, v10}, Landroid/view/View;->setScaleX(F)V
.line 56
iget v8, v0, Lim/tpelyyftgw/ui/components/banner/transformer/MZScaleInTransformer;->mMinScale:F
invoke-virtual {v1, v8}, Landroid/view/View;->setScaleY(F)V
.line 57
neg-float v8, v12
invoke-virtual {v1, v8}, Landroid/view/View;->setTranslationX(F)V
.line 60
:goto_ae
return-void
.end method