CircularPropagation.smali
.class public Landroid/support/transition/CircularPropagation;
.super Landroid/support/transition/VisibilityPropagation;
# instance fields
.field private mPropagationSpeed:F
# direct methods
.method public constructor <init>()V
.registers 2
invoke-direct {p0}, Landroid/support/transition/VisibilityPropagation;-><init>()V
const/high16 v0, 0x40400000 # 3.0f
iput v0, p0, Landroid/support/transition/CircularPropagation;->mPropagationSpeed:F
return-void
.end method
.method private static distance(FFFF)F
.registers 6
sub-float v0, p2, p0
sub-float v1, p3, p1
mul-float/2addr v0, v0
mul-float/2addr v1, v1
add-float/2addr v0, v1
float-to-double v0, v0
invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v0
double-to-float v0, v0
return v0
.end method
# virtual methods
.method public getStartDelay(Landroid/view/ViewGroup;Landroid/support/transition/Transition;Landroid/support/transition/TransitionValues;Landroid/support/transition/TransitionValues;)J
.registers 15
const-wide/16 v4, 0x0
const/4 v1, 0x1
const/4 v9, 0x0
if-nez p3, :cond_a
if-nez p4, :cond_a
move-wide v0, v4
:goto_9
return-wide v0
:cond_a
if-eqz p4, :cond_12
invoke-virtual {p0, p3}, Landroid/support/transition/CircularPropagation;->getViewVisibility(Landroid/support/transition/TransitionValues;)I
move-result v0
if-nez v0, :cond_58
:cond_12
const/4 v0, -0x1
move-object p4, p3
:goto_14
invoke-virtual {p0, p4}, Landroid/support/transition/CircularPropagation;->getViewX(Landroid/support/transition/TransitionValues;)I
move-result v3
invoke-virtual {p0, p4}, Landroid/support/transition/CircularPropagation;->getViewY(Landroid/support/transition/TransitionValues;)I
move-result v6
invoke-virtual {p2}, Landroid/support/transition/Transition;->getEpicenter()Landroid/graphics/Rect;
move-result-object v7
if-eqz v7, :cond_5a
invoke-virtual {v7}, Landroid/graphics/Rect;->centerX()I
move-result v2
invoke-virtual {v7}, Landroid/graphics/Rect;->centerY()I
move-result v1
:goto_2a
int-to-float v3, v3
int-to-float v6, v6
int-to-float v2, v2
int-to-float v1, v1
invoke-static {v3, v6, v2, v1}, Landroid/support/transition/CircularPropagation;->distance(FFFF)F
move-result v1
invoke-virtual {p1}, Landroid/view/ViewGroup;->getWidth()I
move-result v2
int-to-float v2, v2
invoke-virtual {p1}, Landroid/view/ViewGroup;->getHeight()I
move-result v3
int-to-float v3, v3
invoke-static {v9, v9, v2, v3}, Landroid/support/transition/CircularPropagation;->distance(FFFF)F
move-result v2
div-float/2addr v1, v2
invoke-virtual {p2}, Landroid/support/transition/Transition;->getDuration()J
move-result-wide v2
cmp-long v4, v2, v4
if-gez v4, :cond_4b
const-wide/16 v2, 0x12c
:cond_4b
int-to-long v4, v0
mul-long/2addr v2, v4
long-to-float v0, v2
iget v2, p0, Landroid/support/transition/CircularPropagation;->mPropagationSpeed:F
div-float/2addr v0, v2
mul-float/2addr v0, v1
invoke-static {v0}, Ljava/lang/Math;->round(F)I
move-result v0
int-to-long v0, v0
goto :goto_9
:cond_58
move v0, v1
goto :goto_14
:cond_5a
const/4 v2, 0x2
new-array v7, v2, [I
invoke-virtual {p1, v7}, Landroid/view/ViewGroup;->getLocationOnScreen([I)V
const/4 v2, 0x0
aget v2, v7, v2
invoke-virtual {p1}, Landroid/view/ViewGroup;->getWidth()I
move-result v8
div-int/lit8 v8, v8, 0x2
add-int/2addr v2, v8
int-to-float v2, v2
invoke-virtual {p1}, Landroid/view/ViewGroup;->getTranslationX()F
move-result v8
add-float/2addr v2, v8
invoke-static {v2}, Ljava/lang/Math;->round(F)I
move-result v2
aget v1, v7, v1
invoke-virtual {p1}, Landroid/view/ViewGroup;->getHeight()I
move-result v7
div-int/lit8 v7, v7, 0x2
add-int/2addr v1, v7
int-to-float v1, v1
invoke-virtual {p1}, Landroid/view/ViewGroup;->getTranslationY()F
move-result v7
add-float/2addr v1, v7
invoke-static {v1}, Ljava/lang/Math;->round(F)I
move-result v1
goto :goto_2a
.end method
.method public setPropagationSpeed(F)V
.registers 4
const/4 v0, 0x0
cmpl-float v0, p1, v0
if-nez v0, :cond_e
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string/jumbo v1, "propagationSpeed may not be 0"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_e
iput p1, p0, Landroid/support/transition/CircularPropagation;->mPropagationSpeed:F
return-void
.end method