MaterialProgressDrawable.smali 
.class public Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;
.super Landroid/graphics/drawable/Drawable;
# interfaces
.implements Landroid/graphics/drawable/Animatable;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;,
        Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$ProgressDrawableSize;
    }
.end annotation
# static fields
.field private static final ANIMATION_DURATION:I = 0x534
.field private static final ARROW_HEIGHT:I = 0x5
.field private static final ARROW_HEIGHT_LARGE:I = 0x6
.field private static final ARROW_OFFSET_ANGLE:F = 5.0f
.field private static final ARROW_WIDTH:I = 0xa
.field private static final ARROW_WIDTH_LARGE:I = 0xc
.field private static final CENTER_RADIUS:F = 8.75f
.field private static final CENTER_RADIUS_LARGE:F = 12.5f
.field private static final CIRCLE_DIAMETER:I = 0x28
.field private static final CIRCLE_DIAMETER_LARGE:I = 0x38
.field private static final COLOR_START_DELAY_OFFSET:F = 0.75f
.field public static final DEFAULT:I = 0x1
.field private static final END_TRIM_START_DELAY_OFFSET:F = 0.5f
.field private static final FULL_ROTATION:F = 1080.0f
.field public static final LARGE:I = 0x0
.field private static final LINEAR_INTERPOLATOR:Landroid/view/animation/Interpolator;
.field private static final MATERIAL_INTERPOLATOR:Landroid/view/animation/Interpolator;
.field private static final MAX_PROGRESS_ARC:F = 0.8f
.field private static final NUM_POINTS:F = 5.0f
.field private static final START_TRIM_DURATION_OFFSET:F = 0.5f
.field private static final STROKE_WIDTH:F = 2.5f
.field private static final STROKE_WIDTH_LARGE:F = 3.0f
# instance fields
.field private final COLORS:[I
.field private mAnimation:Landroid/view/animation/Animation;
.field private final mAnimators:Ljava/util/ArrayList;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/ArrayList<",
            "Landroid/view/animation/Animation;",
            ">;"
        }
    .end annotation
.end field
.field private final mCallback:Landroid/graphics/drawable/Drawable$Callback;
.field mFinishing:Z
.field private mHeight:D
.field private mParent:Landroid/view/View;
.field private mResources:Landroid/content/res/Resources;
.field private final mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
.field private mRotation:F
.field private mRotationCount:F
.field private mWidth:D
# direct methods
.method static constructor <clinit>()V
    .registers 1
    .line 1
    new-instance v0, Landroid/view/animation/LinearInterpolator;
    invoke-direct {v0}, Landroid/view/animation/LinearInterpolator;-><init>()V
    sput-object v0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->LINEAR_INTERPOLATOR:Landroid/view/animation/Interpolator;
    .line 2
    new-instance v0, Lcom/dcloud/android/v4/view/animation/FastOutSlowInInterpolator;
    invoke-direct {v0}, Lcom/dcloud/android/v4/view/animation/FastOutSlowInInterpolator;-><init>()V
    sput-object v0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->MATERIAL_INTERPOLATOR:Landroid/view/animation/Interpolator;
    return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/view/View;)V
    .registers 7
    .line 1
    invoke-direct {p0}, Landroid/graphics/drawable/Drawable;-><init>()V
    const/4 v0, 0x1
    new-array v1, v0, [I
    const/4 v2, 0x0
    const/high16 v3, -0x1000000
    aput v3, v1, v2
    .line 2
    iput-object v1, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->COLORS:[I
    .line 20
    new-instance v2, Ljava/util/ArrayList;
    invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
    iput-object v2, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mAnimators:Ljava/util/ArrayList;
    .line 377
    new-instance v2, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$3;
    invoke-direct {v2, p0}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$3;-><init>(Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;)V
    iput-object v2, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mCallback:Landroid/graphics/drawable/Drawable$Callback;
    .line 378
    iput-object p2, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mParent:Landroid/view/View;
    .line 379
    invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
    move-result-object p1
    iput-object p1, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mResources:Landroid/content/res/Resources;
    .line 381
    new-instance p1, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-direct {p1, v2}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;-><init>(Landroid/graphics/drawable/Drawable$Callback;)V
    iput-object p1, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    .line 382
    invoke-virtual {p1, v1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setColors([I)V
    .line 384
    invoke-virtual {p0, v0}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->updateSizes(I)V
    .line 385
    invoke-direct {p0}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->setupAnimators()V
    return-void
.end method
.method static synthetic access$000(Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;FLcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;)V
    .registers 3
    .line 1
    invoke-direct {p0, p1, p2}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->applyFinishTranslation(FLcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;)V
    return-void
.end method
.method static synthetic access$100(Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;)F
    .registers 2
    .line 1
    invoke-direct {p0, p1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->getMinProgressArc(Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;)F
    move-result p0
    return p0
.end method
.method static synthetic access$200(Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;FLcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;)V
    .registers 3
    .line 1
    invoke-direct {p0, p1, p2}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->updateRingColor(FLcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;)V
    return-void
.end method
.method static synthetic access$300()Landroid/view/animation/Interpolator;
    .registers 1
    .line 1
    sget-object v0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->MATERIAL_INTERPOLATOR:Landroid/view/animation/Interpolator;
    return-object v0
.end method
.method static synthetic access$400(Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;)F
    .registers 1
    .line 1
    iget p0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRotationCount:F
    return p0
.end method
.method static synthetic access$402(Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;F)F
    .registers 2
    .line 1
    iput p1, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRotationCount:F
    return p1
.end method
.method private applyFinishTranslation(FLcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;)V
    .registers 7
    .line 1
    invoke-direct {p0, p1, p2}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->updateRingColor(FLcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;)V
    .line 2
    invoke-virtual {p2}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->getStartingRotation()F
    move-result v0
    const v1, 0x3f4ccccd    # 0.8f
    div-float/2addr v0, v1
    float-to-double v0, v0
    invoke-static {v0, v1}, Ljava/lang/Math;->floor(D)D
    move-result-wide v0
    const-wide/high16 v2, 0x3ff0000000000000L    # 1.0
    add-double/2addr v0, v2
    double-to-float v0, v0
    .line 4
    invoke-direct {p0, p2}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->getMinProgressArc(Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;)F
    move-result v1
    .line 5
    invoke-virtual {p2}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->getStartingStartTrim()F
    move-result v2
    .line 6
    invoke-virtual {p2}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->getStartingEndTrim()F
    move-result v3
    sub-float/2addr v3, v1
    invoke-virtual {p2}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->getStartingStartTrim()F
    move-result v1
    sub-float/2addr v3, v1
    mul-float/2addr v3, p1
    add-float/2addr v2, v3
    .line 8
    invoke-virtual {p2, v2}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setStartTrim(F)V
    .line 9
    invoke-virtual {p2}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->getStartingEndTrim()F
    move-result v1
    invoke-virtual {p2, v1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setEndTrim(F)V
    .line 10
    invoke-virtual {p2}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->getStartingRotation()F
    move-result v1
    .line 11
    invoke-virtual {p2}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->getStartingRotation()F
    move-result v2
    sub-float/2addr v0, v2
    mul-float/2addr v0, p1
    add-float/2addr v1, v0
    .line 12
    invoke-virtual {p2, v1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setRotation(F)V
    return-void
.end method
.method private evaluateColorChange(FII)I
    .registers 10
    .line 1
    invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object p2
    invoke-virtual {p2}, Ljava/lang/Integer;->intValue()I
    move-result p2
    shr-int/lit8 v0, p2, 0x18
    and-int/lit16 v0, v0, 0xff
    shr-int/lit8 v1, p2, 0x10
    and-int/lit16 v1, v1, 0xff
    shr-int/lit8 v2, p2, 0x8
    and-int/lit16 v2, v2, 0xff
    and-int/lit16 p2, p2, 0xff
    .line 7
    invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object p3
    invoke-virtual {p3}, Ljava/lang/Integer;->intValue()I
    move-result p3
    shr-int/lit8 v3, p3, 0x18
    and-int/lit16 v3, v3, 0xff
    shr-int/lit8 v4, p3, 0x10
    and-int/lit16 v4, v4, 0xff
    shr-int/lit8 v5, p3, 0x8
    and-int/lit16 v5, v5, 0xff
    and-int/lit16 p3, p3, 0xff
    sub-int/2addr v3, v0
    int-to-float v3, v3
    mul-float/2addr v3, p1
    float-to-int v3, v3
    add-int/2addr v0, v3
    shl-int/lit8 v0, v0, 0x18
    sub-int/2addr v4, v1
    int-to-float v3, v4
    mul-float/2addr v3, p1
    float-to-int v3, v3
    add-int/2addr v1, v3
    shl-int/lit8 v1, v1, 0x10
    or-int/2addr v0, v1
    sub-int/2addr v5, v2
    int-to-float v1, v5
    mul-float/2addr v1, p1
    float-to-int v1, v1
    add-int/2addr v2, v1
    shl-int/lit8 v1, v2, 0x8
    or-int/2addr v0, v1
    sub-int/2addr p3, p2
    int-to-float p3, p3
    mul-float/2addr p1, p3
    float-to-int p1, p1
    add-int/2addr p2, p1
    or-int p1, v0, p2
    return p1
.end method
.method private getMinProgressArc(Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;)F
    .registers 8
    .line 1
    invoke-virtual {p1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->getStrokeWidth()F
    move-result v0
    float-to-double v0, v0
    invoke-virtual {p1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->getCenterRadius()D
    move-result-wide v2
    const-wide v4, 0x401921fb54442d18L    # 6.283185307179586
    mul-double/2addr v2, v4
    div-double/2addr v0, v2
    .line 2
    invoke-static {v0, v1}, Ljava/lang/Math;->toRadians(D)D
    move-result-wide v0
    double-to-float p1, v0
    return p1
.end method
.method private getRotation()F
    .registers 2
    .line 1
    iget v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRotation:F
    return v0
.end method
.method private setSizeParameters(DDDDFF)V
    .registers 15
    .line 1
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    .line 2
    iget-object v1, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mResources:Landroid/content/res/Resources;
    invoke-virtual {v1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
    move-result-object v1
    .line 3
    iget v1, v1, Landroid/util/DisplayMetrics;->density:F
    float-to-double v2, v1
    mul-double/2addr p1, v2
    .line 5
    iput-wide p1, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mWidth:D
    mul-double/2addr p3, v2
    .line 6
    iput-wide p3, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mHeight:D
    double-to-float p1, p7
    mul-float/2addr p1, v1
    .line 7
    invoke-virtual {v0, p1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setStrokeWidth(F)V
    mul-double/2addr p5, v2
    .line 8
    invoke-virtual {v0, p5, p6}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setCenterRadius(D)V
    const/4 p1, 0x0
    .line 9
    invoke-virtual {v0, p1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setColorIndex(I)V
    mul-float/2addr p9, v1
    mul-float/2addr p10, v1
    .line 10
    invoke-virtual {v0, p9, p10}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setArrowDimensions(FF)V
    .line 11
    iget-wide p1, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mWidth:D
    double-to-int p1, p1
    iget-wide p2, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mHeight:D
    double-to-int p2, p2
    invoke-virtual {v0, p1, p2}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setInsets(II)V
    return-void
.end method
.method private setupAnimators()V
    .registers 4
    .line 1
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    .line 2
    new-instance v1, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$1;
    invoke-direct {v1, p0, v0}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$1;-><init>(Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;)V
    const/4 v2, -0x1
    .line 54
    invoke-virtual {v1, v2}, Landroid/view/animation/Animation;->setRepeatCount(I)V
    const/4 v2, 0x1
    .line 55
    invoke-virtual {v1, v2}, Landroid/view/animation/Animation;->setRepeatMode(I)V
    .line 56
    sget-object v2, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->LINEAR_INTERPOLATOR:Landroid/view/animation/Interpolator;
    invoke-virtual {v1, v2}, Landroid/view/animation/Animation;->setInterpolator(Landroid/view/animation/Interpolator;)V
    .line 57
    new-instance v2, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$2;
    invoke-direct {v2, p0, v0}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$2;-><init>(Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;)V
    invoke-virtual {v1, v2}, Landroid/view/animation/Animation;->setAnimationListener(Landroid/view/animation/Animation$AnimationListener;)V
    .line 85
    iput-object v1, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mAnimation:Landroid/view/animation/Animation;
    return-void
.end method
.method private updateRingColor(FLcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;)V
    .registers 5
    const/high16 v0, 0x3f400000    # 0.75f
    cmpl-float v1, p1, v0
    if-lez v1, :cond_19
    sub-float/2addr p1, v0
    const/high16 v0, 0x3e800000    # 0.25f
    div-float/2addr p1, v0
    .line 1
    invoke-virtual {p2}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->getStartingColor()I
    move-result v0
    .line 2
    invoke-virtual {p2}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->getNextColor()I
    move-result v1
    .line 3
    invoke-direct {p0, p1, v0, v1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->evaluateColorChange(FII)I
    move-result p1
    invoke-virtual {p2, p1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setColor(I)V
    :cond_19
    return-void
.end method
# virtual methods
.method public draw(Landroid/graphics/Canvas;)V
    .registers 7
    .line 1
    invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getBounds()Landroid/graphics/Rect;
    move-result-object v0
    .line 2
    invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
    move-result v1
    .line 3
    iget v2, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRotation:F
    invoke-virtual {v0}, Landroid/graphics/Rect;->exactCenterX()F
    move-result v3
    invoke-virtual {v0}, Landroid/graphics/Rect;->exactCenterY()F
    move-result v4
    invoke-virtual {p1, v2, v3, v4}, Landroid/graphics/Canvas;->rotate(FFF)V
    .line 4
    iget-object v2, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-virtual {v2, p1, v0}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->draw(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
    .line 5
    invoke-virtual {p1, v1}, Landroid/graphics/Canvas;->restoreToCount(I)V
    return-void
.end method
.method public getAlpha()I
    .registers 2
    .line 1
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-virtual {v0}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->getAlpha()I
    move-result v0
    return v0
.end method
.method public getIntrinsicHeight()I
    .registers 3
    .line 1
    iget-wide v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mHeight:D
    double-to-int v0, v0
    return v0
.end method
.method public getIntrinsicWidth()I
    .registers 3
    .line 1
    iget-wide v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mWidth:D
    double-to-int v0, v0
    return v0
.end method
.method public getOpacity()I
    .registers 2
    const/4 v0, -0x3
    return v0
.end method
.method public isRunning()Z
    .registers 7
    .line 1
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mAnimators:Ljava/util/ArrayList;
    .line 2
    invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
    move-result v1
    const/4 v2, 0x0
    move v3, v2
    :goto_8
    if-ge v3, v1, :cond_21
    .line 4
    invoke-virtual {v0, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
    move-result-object v4
    check-cast v4, Landroid/view/animation/Animation;
    .line 5
    invoke-virtual {v4}, Landroid/view/animation/Animation;->hasStarted()Z
    move-result v5
    if-eqz v5, :cond_1e
    invoke-virtual {v4}, Landroid/view/animation/Animation;->hasEnded()Z
    move-result v4
    if-nez v4, :cond_1e
    const/4 v0, 0x1
    return v0
    :cond_1e
    add-int/lit8 v3, v3, 0x1
    goto :goto_8
    :cond_21
    return v2
.end method
.method public setAlpha(I)V
    .registers 3
    .line 1
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-virtual {v0, p1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setAlpha(I)V
    return-void
.end method
.method public setArrowScale(F)V
    .registers 3
    .line 1
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-virtual {v0, p1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setArrowScale(F)V
    return-void
.end method
.method public setBackgroundColor(I)V
    .registers 3
    .line 1
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-virtual {v0, p1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setBackgroundColor(I)V
    return-void
.end method
.method public setColorFilter(Landroid/graphics/ColorFilter;)V
    .registers 3
    .line 1
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-virtual {v0, p1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setColorFilter(Landroid/graphics/ColorFilter;)V
    return-void
.end method
.method public varargs setColorSchemeColors([I)V
    .registers 3
    .line 1
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-virtual {v0, p1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setColors([I)V
    .line 2
    iget-object p1, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    const/4 v0, 0x0
    invoke-virtual {p1, v0}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setColorIndex(I)V
    return-void
.end method
.method public setProgressRotation(F)V
    .registers 3
    .line 1
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-virtual {v0, p1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setRotation(F)V
    return-void
.end method
.method setRotation(F)V
    .registers 2
    .line 1
    iput p1, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRotation:F
    .line 2
    invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->invalidateSelf()V
    return-void
.end method
.method public setStartEndTrim(FF)V
    .registers 4
    .line 1
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-virtual {v0, p1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setStartTrim(F)V
    .line 2
    iget-object p1, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-virtual {p1, p2}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setEndTrim(F)V
    return-void
.end method
.method public showArrow(Z)V
    .registers 3
    .line 1
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-virtual {v0, p1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setShowArrow(Z)V
    return-void
.end method
.method public start()V
    .registers 4
    .line 1
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mAnimation:Landroid/view/animation/Animation;
    invoke-virtual {v0}, Landroid/view/animation/Animation;->reset()V
    .line 2
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-virtual {v0}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->storeOriginals()V
    .line 4
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-virtual {v0}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->getEndTrim()F
    move-result v0
    iget-object v1, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-virtual {v1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->getStartTrim()F
    move-result v1
    cmpl-float v0, v0, v1
    if-eqz v0, :cond_2c
    const/4 v0, 0x1
    .line 5
    iput-boolean v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mFinishing:Z
    .line 6
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mAnimation:Landroid/view/animation/Animation;
    const-wide/16 v1, 0x29a
    invoke-virtual {v0, v1, v2}, Landroid/view/animation/Animation;->setDuration(J)V
    .line 7
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mParent:Landroid/view/View;
    iget-object v1, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mAnimation:Landroid/view/animation/Animation;
    invoke-virtual {v0, v1}, Landroid/view/View;->startAnimation(Landroid/view/animation/Animation;)V
    goto :goto_45
    .line 9
    :cond_2c
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    const/4 v1, 0x0
    invoke-virtual {v0, v1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setColorIndex(I)V
    .line 10
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-virtual {v0}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->resetOriginals()V
    .line 11
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mAnimation:Landroid/view/animation/Animation;
    const-wide/16 v1, 0x534
    invoke-virtual {v0, v1, v2}, Landroid/view/animation/Animation;->setDuration(J)V
    .line 12
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mParent:Landroid/view/View;
    iget-object v1, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mAnimation:Landroid/view/animation/Animation;
    invoke-virtual {v0, v1}, Landroid/view/View;->startAnimation(Landroid/view/animation/Animation;)V
    :goto_45
    return-void
.end method
.method public stop()V
    .registers 3
    .line 1
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mParent:Landroid/view/View;
    invoke-virtual {v0}, Landroid/view/View;->clearAnimation()V
    const/4 v0, 0x0
    .line 2
    invoke-virtual {p0, v0}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->setRotation(F)V
    .line 3
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    const/4 v1, 0x0
    invoke-virtual {v0, v1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setShowArrow(Z)V
    .line 4
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-virtual {v0, v1}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->setColorIndex(I)V
    .line 5
    iget-object v0, p0, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->mRing:Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;
    invoke-virtual {v0}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable$Ring;->resetOriginals()V
    return-void
.end method
.method public updateSizes(I)V
    .registers 24
    if-nez p1, :cond_14
    const-wide/high16 v1, 0x404c000000000000L    # 56.0
    const-wide/high16 v3, 0x404c000000000000L    # 56.0
    const-wide/high16 v5, 0x4029000000000000L    # 12.5
    const-wide/high16 v7, 0x4008000000000000L    # 3.0
    const/high16 v9, 0x41400000    # 12.0f
    const/high16 v10, 0x40c00000    # 6.0f
    move-object/from16 v0, p0
    .line 1
    invoke-direct/range {v0 .. v10}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->setSizeParameters(DDDDFF)V
    goto :goto_28
    :cond_14
    const-wide/high16 v12, 0x4044000000000000L    # 40.0
    const-wide/high16 v14, 0x4044000000000000L    # 40.0
    const-wide v16, 0x4021800000000000L    # 8.75
    const-wide/high16 v18, 0x4004000000000000L    # 2.5
    const/high16 v20, 0x41200000    # 10.0f
    const/high16 v21, 0x40a00000    # 5.0f
    move-object/from16 v11, p0
    .line 4
    invoke-direct/range {v11 .. v21}, Lcom/dcloud/android/v4/widget/MaterialProgressDrawable;->setSizeParameters(DDDDFF)V
    :goto_28
    return-void
.end method