Rotate3dAnimation.smali
.class public Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;
.super Landroid/view/animation/Animation;
.source "Rotate3dAnimation.java"
# instance fields
.field private isMainAima:Z
.field private mCamera:Landroid/graphics/Camera;
.field private final mCenterX:F
.field private final mCenterY:F
.field private final mDepthZ:F
.field private final mFromDegrees:F
.field private final mIsY:Z
.field mLocationZ:I
.field private final mReverse:Z
.field private final mToDegrees:F
# direct methods
.method public constructor <init>(FFFFFZ)V
.registers 15
.prologue
.line 58
const/4 v7, 0x1
move-object v0, p0
move v1, p1
move v2, p2
move v3, p3
move v4, p4
move v5, p5
move v6, p6
invoke-direct/range {v0 .. v7}, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;-><init>(FFFFFZZ)V
.line 59
return-void
.end method
.method public constructor <init>(FFFFFZZ)V
.registers 9
.prologue
const/4 v0, 0x0
.line 62
invoke-direct {p0}, Landroid/view/animation/Animation;-><init>()V
.line 39
iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->isMainAima:Z
.line 72
iput v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mLocationZ:I
.line 63
iput p1, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mFromDegrees:F
.line 64
iput p2, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mToDegrees:F
.line 65
iput p3, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mCenterX:F
.line 66
iput p4, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mCenterY:F
.line 67
iput p5, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mDepthZ:F
.line 68
iput-boolean p6, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mReverse:Z
.line 69
iput-boolean p7, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mIsY:Z
.line 70
return-void
.end method
.method public constructor <init>(FFFFFZZI)V
.registers 10
.prologue
const/4 v0, 0x0
.line 74
invoke-direct {p0}, Landroid/view/animation/Animation;-><init>()V
.line 39
iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->isMainAima:Z
.line 72
iput v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mLocationZ:I
.line 75
iput p1, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mFromDegrees:F
.line 76
iput p2, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mToDegrees:F
.line 77
iput p3, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mCenterX:F
.line 78
iput p4, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mCenterY:F
.line 79
iput p5, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mDepthZ:F
.line 80
iput-boolean p6, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mReverse:Z
.line 81
iput-boolean p7, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mIsY:Z
.line 82
iput p8, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mLocationZ:I
.line 83
return-void
.end method
.method private playMain(FLandroid/view/animation/Transformation;)V
.registers 11
.annotation build Landroid/annotation/TargetApi;
value = 0xc
.end annotation
.prologue
const/4 v7, 0x0
.line 138
iget v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mFromDegrees:F
.line 139
iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mToDegrees:F
sub-float/2addr v1, v0
mul-float/2addr v1, p1
add-float/2addr v0, v1
.line 142
iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mCenterX:F
.line 143
iget v2, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mCenterY:F
.line 144
iget-object v3, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mCamera:Landroid/graphics/Camera;
.line 146
invoke-virtual {p2}, Landroid/view/animation/Transformation;->getMatrix()Landroid/graphics/Matrix;
move-result-object v4
.line 147
sget v5, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v6, 0xc
if-lt v5, v6, :cond_22
iget v5, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mLocationZ:I
if-eqz v5, :cond_22
.line 148
iget v5, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mLocationZ:I
int-to-float v5, v5
invoke-virtual {v3, v7, v7, v5}, Landroid/graphics/Camera;->setLocation(FFF)V
.line 150
:cond_22
invoke-virtual {v3}, Landroid/graphics/Camera;->save()V
.line 151
iget-boolean v5, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mReverse:Z
if-eqz v5, :cond_41
.line 152
iget v5, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mDepthZ:F
mul-float/2addr v5, p1
invoke-virtual {v3, v7, v7, v5}, Landroid/graphics/Camera;->translate(FFF)V
.line 156
:goto_2f
invoke-virtual {v3, v0}, Landroid/graphics/Camera;->rotateY(F)V
.line 157
invoke-virtual {v3, v4}, Landroid/graphics/Camera;->getMatrix(Landroid/graphics/Matrix;)V
.line 158
invoke-virtual {v3}, Landroid/graphics/Camera;->restore()V
.line 160
neg-float v0, v1
neg-float v3, v2
invoke-virtual {v4, v0, v3}, Landroid/graphics/Matrix;->preTranslate(FF)Z
.line 161
invoke-virtual {v4, v1, v2}, Landroid/graphics/Matrix;->postTranslate(FF)Z
.line 162
return-void
.line 154
:cond_41
iget v5, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mDepthZ:F
const/high16 v6, 0x3f800000 # 1.0f
sub-float/2addr v6, p1
mul-float/2addr v5, v6
invoke-virtual {v3, v7, v7, v5}, Landroid/graphics/Camera;->translate(FFF)V
goto :goto_2f
.end method
.method private playNormal(FLandroid/view/animation/Transformation;)V
.registers 12
.prologue
const/high16 v8, 0x3f800000 # 1.0f
const/4 v7, 0x0
.line 102
iget v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mFromDegrees:F
.line 103
iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mToDegrees:F
sub-float/2addr v1, v0
mul-float/2addr v1, p1
add-float/2addr v0, v1
.line 105
iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mCenterX:F
.line 106
iget v2, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mCenterY:F
.line 107
iget-object v3, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mCamera:Landroid/graphics/Camera;
.line 109
invoke-virtual {p2}, Landroid/view/animation/Transformation;->getMatrix()Landroid/graphics/Matrix;
move-result-object v4
.line 111
invoke-virtual {v3}, Landroid/graphics/Camera;->save()V
.line 112
iget-boolean v5, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mReverse:Z
if-eqz v5, :cond_45
.line 113
iget v5, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mDepthZ:F
mul-float/2addr v5, p1
invoke-virtual {v3, v7, v7, v5}, Landroid/graphics/Camera;->translate(FFF)V
.line 118
:goto_21
iget-boolean v5, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mIsY:Z
if-eqz v5, :cond_4e
.line 119
invoke-virtual {v3, v0}, Landroid/graphics/Camera;->rotateY(F)V
.line 123
:goto_28
invoke-virtual {v3, v4}, Landroid/graphics/Camera;->getMatrix(Landroid/graphics/Matrix;)V
.line 124
invoke-virtual {v3}, Landroid/graphics/Camera;->restore()V
.line 126
const v0, 0x3e4ccccd # 0.2f
.line 127
iget-boolean v3, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mReverse:Z
if-nez v3, :cond_52
.line 128
sub-float v3, v8, v0
mul-float/2addr v3, p1
add-float/2addr v0, v3
invoke-virtual {p2, v0}, Landroid/view/animation/Transformation;->setAlpha(F)V
.line 132
:goto_3c
neg-float v0, v1
neg-float v3, v2
invoke-virtual {v4, v0, v3}, Landroid/graphics/Matrix;->preTranslate(FF)Z
.line 133
invoke-virtual {v4, v1, v2}, Landroid/graphics/Matrix;->postTranslate(FF)Z
.line 134
return-void
.line 115
:cond_45
iget v5, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mDepthZ:F
sub-float v6, v8, p1
mul-float/2addr v5, v6
invoke-virtual {v3, v7, v7, v5}, Landroid/graphics/Camera;->translate(FFF)V
goto :goto_21
.line 121
:cond_4e
invoke-virtual {v3, v0}, Landroid/graphics/Camera;->rotateX(F)V
goto :goto_28
.line 130
:cond_52
mul-float/2addr v0, p1
sub-float v0, v8, v0
invoke-virtual {p2, v0}, Landroid/view/animation/Transformation;->setAlpha(F)V
goto :goto_3c
.end method
# virtual methods
.method protected applyTransformation(FLandroid/view/animation/Transformation;)V
.registers 4
.prologue
.line 94
iget-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->isMainAima:Z
if-nez v0, :cond_8
.line 95
invoke-direct {p0, p1, p2}, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->playNormal(FLandroid/view/animation/Transformation;)V
.line 99
:goto_7
return-void
.line 97
:cond_8
invoke-direct {p0, p1, p2}, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->playMain(FLandroid/view/animation/Transformation;)V
goto :goto_7
.end method
.method public initialize(IIII)V
.registers 6
.prologue
.line 88
invoke-super {p0, p1, p2, p3, p4}, Landroid/view/animation/Animation;->initialize(IIII)V
.line 89
new-instance v0, Landroid/graphics/Camera;
invoke-direct {v0}, Landroid/graphics/Camera;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->mCamera:Landroid/graphics/Camera;
.line 90
return-void
.end method
.method public setMainAima()V
.registers 2
.prologue
.line 165
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/Rotate3dAnimation;->isMainAima:Z
.line 166
return-void
.end method