CirclesDrawable.smali

.class Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;
.super Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/AbstractRefreshDrawable;

# interfaces
.implements Ljava/lang/Runnable;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable$ProgressStates;
    }
.end annotation


# static fields
.field private static final ALPHA_OPAQUE:I = 0xff

.field private static final CIRCLE_COUNT:F

.field private static final MAX_LENGTH:I = 0x4

.field private static final MAX_LEVEL:F = 10000.0f

.field private static final MAX_LEVEL_PER_CIRCLE:F

.field private static mColor1:I

.field private static mColor2:I

.field private static mColor3:I

.field private static mColor4:I


# instance fields
.field private fstColor:I

.field private goesBackward:Z

.field private isRunning:Z

.field private mAbovePaint:Landroid/graphics/Paint;

.field private mAxisValue:I

.field private mBounds:Landroid/graphics/Rect;

.field private mColorFilter:Landroid/graphics/ColorFilter;

.field private mControlPointMaximum:I

.field private mControlPointMinimum:I

.field private mCurrentState:Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable$ProgressStates;

.field private mDiameter:I

.field private mDrawWidth:I

.field private mFstHalfPaint:Landroid/graphics/Paint;

.field private mHalf:I

.field private mHandler:Landroid/os/Handler;

.field private mLevel:I

.field private mOval:Landroid/graphics/RectF;

.field private mPath:Landroid/graphics/Path;

.field private mScndHalfPaint:Landroid/graphics/Paint;

.field private mTop:I

.field private scndColor:I


# direct methods
.method static constructor <clinit>()V
    .registers 2

    invoke-static {}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable$ProgressStates;->values()[Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable$ProgressStates;

    move-result-object v0

    array-length v0, v0

    int-to-float v0, v0

    sput v0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->CIRCLE_COUNT:F

    const v0, 0x461c4000    # 10000.0f

    sget v1, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->CIRCLE_COUNT:F

    div-float/2addr v0, v1

    sput v0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->MAX_LEVEL_PER_CIRCLE:F

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/PullRefreshLayout;)V
    .registers 4

    invoke-direct {p0, p1, p2}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/AbstractRefreshDrawable;-><init>(Landroid/content/Context;Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/PullRefreshLayout;)V

    new-instance v0, Landroid/graphics/RectF;

    invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V

    iput-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mOval:Landroid/graphics/RectF;

    new-instance v0, Landroid/os/Handler;

    invoke-direct {v0}, Landroid/os/Handler;-><init>()V

    iput-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mHandler:Landroid/os/Handler;

    return-void
.end method

.method private dp2px(I)I
    .registers 5

    const/4 v0, 0x1

    int-to-float v1, p1

    invoke-virtual {p0}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->getContext()Landroid/content/Context;

    move-result-object v2

    invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v2

    invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;

    move-result-object v2

    invoke-static {v0, v1, v2}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F

    move-result v0

    float-to-int v0, v0

    return v0
.end method

.method private drawXMotion(Landroid/graphics/Canvas;)V
    .registers 10

    const/4 v4, 0x1

    const/4 v7, 0x0

    iget-object v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mOval:Landroid/graphics/RectF;

    const/high16 v2, 0x42b40000    # 90.0f

    const/high16 v3, 0x43340000    # 180.0f

    iget-object v5, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mFstHalfPaint:Landroid/graphics/Paint;

    move-object v0, p1

    invoke-virtual/range {v0 .. v5}, Landroid/graphics/Canvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V

    iget-object v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mOval:Landroid/graphics/RectF;

    const/high16 v2, -0x3c790000    # -270.0f

    const/high16 v3, -0x3ccc0000    # -180.0f

    iget-object v5, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mScndHalfPaint:Landroid/graphics/Paint;

    move-object v0, p1

    invoke-virtual/range {v0 .. v5}, Landroid/graphics/Canvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mPath:Landroid/graphics/Path;

    invoke-virtual {v0}, Landroid/graphics/Path;->reset()V

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mPath:Landroid/graphics/Path;

    iget v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mHalf:I

    int-to-float v1, v1

    invoke-virtual {v0, v1, v7}, Landroid/graphics/Path;->moveTo(FF)V

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mPath:Landroid/graphics/Path;

    iget v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mAxisValue:I

    int-to-float v1, v1

    iget v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mAxisValue:I

    int-to-float v3, v2

    iget v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mDiameter:I

    int-to-float v4, v2

    iget v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mHalf:I

    int-to-float v5, v2

    iget v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mDiameter:I

    int-to-float v6, v2

    move v2, v7

    invoke-virtual/range {v0 .. v6}, Landroid/graphics/Path;->cubicTo(FFFFFF)V

    return-void
.end method

.method private drawYMotion(Landroid/graphics/Canvas;)V
    .registers 13

    const/4 v4, 0x1

    const/4 v2, 0x0

    const/high16 v3, -0x3ccc0000    # -180.0f

    iget-object v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mOval:Landroid/graphics/RectF;

    iget-object v5, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mFstHalfPaint:Landroid/graphics/Paint;

    move-object v0, p1

    invoke-virtual/range {v0 .. v5}, Landroid/graphics/Canvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V

    iget-object v6, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mOval:Landroid/graphics/RectF;

    iget-object v10, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mScndHalfPaint:Landroid/graphics/Paint;

    move-object v5, p1

    move v7, v3

    move v8, v3

    move v9, v4

    invoke-virtual/range {v5 .. v10}, Landroid/graphics/Canvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mPath:Landroid/graphics/Path;

    invoke-virtual {v0}, Landroid/graphics/Path;->reset()V

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mPath:Landroid/graphics/Path;

    iget v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mHalf:I

    int-to-float v1, v1

    invoke-virtual {v0, v2, v1}, Landroid/graphics/Path;->moveTo(FF)V

    iget-object v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mPath:Landroid/graphics/Path;

    iget v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mAxisValue:I

    int-to-float v3, v0

    iget v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mDiameter:I

    int-to-float v4, v0

    iget v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mAxisValue:I

    int-to-float v5, v0

    iget v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mDiameter:I

    int-to-float v6, v0

    iget v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mHalf:I

    int-to-float v7, v0

    invoke-virtual/range {v1 .. v7}, Landroid/graphics/Path;->cubicTo(FFFFFF)V

    return-void
.end method

.method private initCirclesProgress([I)V
    .registers 4

    invoke-direct {p0, p1}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->initColors([I)V

    new-instance v0, Landroid/graphics/Path;

    invoke-direct {v0}, Landroid/graphics/Path;-><init>()V

    iput-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mPath:Landroid/graphics/Path;

    new-instance v0, Landroid/graphics/Paint;

    invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V

    const/4 v1, 0x1

    invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V

    new-instance v1, Landroid/graphics/Paint;

    invoke-direct {v1, v0}, Landroid/graphics/Paint;-><init>(Landroid/graphics/Paint;)V

    iput-object v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mFstHalfPaint:Landroid/graphics/Paint;

    new-instance v1, Landroid/graphics/Paint;

    invoke-direct {v1, v0}, Landroid/graphics/Paint;-><init>(Landroid/graphics/Paint;)V

    iput-object v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mScndHalfPaint:Landroid/graphics/Paint;

    new-instance v1, Landroid/graphics/Paint;

    invoke-direct {v1, v0}, Landroid/graphics/Paint;-><init>(Landroid/graphics/Paint;)V

    iput-object v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mAbovePaint:Landroid/graphics/Paint;

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mColorFilter:Landroid/graphics/ColorFilter;

    invoke-virtual {p0, v0}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V

    return-void
.end method

.method private initColors([I)V
    .registers 4

    if-eqz p1, :cond_6

    array-length v0, p1

    const/4 v1, 0x4

    if-ge v0, v1, :cond_f

    :cond_6
    new-instance v0, Ljava/security/InvalidParameterException;

    const-string/jumbo v1, "The color scheme length must be 4"

    invoke-direct {v0, v1}, Ljava/security/InvalidParameterException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_f
    const/4 v0, 0x0

    aget v0, p1, v0

    sput v0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mColor1:I

    const/4 v0, 0x1

    aget v0, p1, v0

    sput v0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mColor2:I

    const/4 v0, 0x2

    aget v0, p1, v0

    sput v0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mColor3:I

    const/4 v0, 0x3

    aget v0, p1, v0

    sput v0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mColor4:I

    return-void
.end method

.method private makeCirclesProgress(Landroid/graphics/Canvas;)V
    .registers 4

    sget-object v0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable$1;->$SwitchMap$com$sdk$orion$ui$baselibrary$widget$pullrefresh$CirclesDrawable$ProgressStates:[I

    iget-object v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mCurrentState:Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable$ProgressStates;

    invoke-virtual {v1}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable$ProgressStates;->ordinal()I

    move-result v1

    aget v0, v0, v1

    packed-switch v0, :pswitch_data_1e

    :goto_d
    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mPath:Landroid/graphics/Path;

    iget-object v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mAbovePaint:Landroid/graphics/Paint;

    invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V

    return-void

    :pswitch_15
    invoke-direct {p0, p1}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->drawYMotion(Landroid/graphics/Canvas;)V

    goto :goto_d

    :pswitch_19
    invoke-direct {p0, p1}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->drawXMotion(Landroid/graphics/Canvas;)V

    goto :goto_d

    nop

    :pswitch_data_1e
    .packed-switch 0x1
        :pswitch_15
        :pswitch_19
        :pswitch_15
        :pswitch_19
    .end packed-switch
.end method

.method private measureCircleProgress(II)V
    .registers 7

    const/4 v3, 0x0

    invoke-static {p1, p2}, Ljava/lang/Math;->min(II)I

    move-result v0

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mDiameter:I

    iget v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mDiameter:I

    div-int/lit8 v0, v0, 0x2

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mHalf:I

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mOval:Landroid/graphics/RectF;

    iget v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mDiameter:I

    int-to-float v1, v1

    iget v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mDiameter:I

    int-to-float v2, v2

    invoke-virtual {v0, v3, v3, v1, v2}, Landroid/graphics/RectF;->set(FFFF)V

    iget v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mDiameter:I

    neg-int v0, v0

    div-int/lit8 v0, v0, 0x6

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mControlPointMinimum:I

    iget v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mDiameter:I

    iget v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mDiameter:I

    div-int/lit8 v1, v1, 0x6

    add-int/2addr v0, v1

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mControlPointMaximum:I

    return-void
.end method

.method private resetColor(Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable$ProgressStates;)V
    .registers 6

    const/4 v3, 0x1

    const/4 v2, 0x0

    sget-object v0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable$1;->$SwitchMap$com$sdk$orion$ui$baselibrary$widget$pullrefresh$CirclesDrawable$ProgressStates:[I

    invoke-virtual {p1}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable$ProgressStates;->ordinal()I

    move-result v1

    aget v0, v0, v1

    packed-switch v0, :pswitch_data_3a

    :goto_d
    return-void

    :pswitch_e
    sget v0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mColor1:I

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->fstColor:I

    sget v0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mColor2:I

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->scndColor:I

    iput-boolean v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->goesBackward:Z

    goto :goto_d

    :pswitch_19
    sget v0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mColor1:I

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->fstColor:I

    sget v0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mColor3:I

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->scndColor:I

    iput-boolean v3, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->goesBackward:Z

    goto :goto_d

    :pswitch_24
    sget v0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mColor3:I

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->fstColor:I

    sget v0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mColor4:I

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->scndColor:I

    iput-boolean v3, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->goesBackward:Z

    goto :goto_d

    :pswitch_2f
    sget v0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mColor2:I

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->fstColor:I

    sget v0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mColor4:I

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->scndColor:I

    iput-boolean v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->goesBackward:Z

    goto :goto_d

    :pswitch_data_3a
    .packed-switch 0x1
        :pswitch_e
        :pswitch_19
        :pswitch_24
        :pswitch_2f
    .end packed-switch
.end method

.method private updateLevel(I)V
    .registers 9

    const/4 v1, 0x1

    const/high16 v5, 0x40000000    # 2.0f

    const/4 v0, 0x0

    int-to-float v2, p1

    const v3, 0x461c4000    # 10000.0f

    cmpl-float v2, v2, v3

    if-nez v2, :cond_d

    move p1, v0

    :cond_d
    int-to-float v2, p1

    sget v3, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->MAX_LEVEL_PER_CIRCLE:F

    div-float/2addr v2, v3

    float-to-int v2, v2

    invoke-static {}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable$ProgressStates;->values()[Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable$ProgressStates;

    move-result-object v3

    aget-object v2, v3, v2

    iput-object v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mCurrentState:Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable$ProgressStates;

    iget-object v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mCurrentState:Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable$ProgressStates;

    invoke-direct {p0, v2}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->resetColor(Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable$ProgressStates;)V

    int-to-float v2, p1

    sget v3, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->MAX_LEVEL_PER_CIRCLE:F

    rem-float/2addr v2, v3

    float-to-int v2, v2

    iget-boolean v3, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->goesBackward:Z

    if-nez v3, :cond_6f

    int-to-float v3, p1

    sget v4, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->MAX_LEVEL_PER_CIRCLE:F

    div-float/2addr v4, v5

    rem-float/2addr v3, v4

    float-to-int v3, v3

    if-eq v2, v3, :cond_31

    move v0, v1

    :cond_31
    move v1, v2

    :goto_32
    iget-object v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mFstHalfPaint:Landroid/graphics/Paint;

    iget v3, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->fstColor:I

    invoke-virtual {v2, v3}, Landroid/graphics/Paint;->setColor(I)V

    iget-object v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mScndHalfPaint:Landroid/graphics/Paint;

    iget v3, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->scndColor:I

    invoke-virtual {v2, v3}, Landroid/graphics/Paint;->setColor(I)V

    if-nez v0, :cond_82

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mAbovePaint:Landroid/graphics/Paint;

    iget-object v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mScndHalfPaint:Landroid/graphics/Paint;

    invoke-virtual {v2}, Landroid/graphics/Paint;->getColor()I

    move-result v2

    invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setColor(I)V

    :goto_4d
    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mAbovePaint:Landroid/graphics/Paint;

    const/high16 v2, 0x425c0000    # 55.0f

    int-to-float v3, v1

    sget v4, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->MAX_LEVEL_PER_CIRCLE:F

    div-float/2addr v3, v4

    mul-float/2addr v2, v3

    float-to-int v2, v2

    add-int/lit16 v2, v2, 0xc8

    invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setAlpha(I)V

    iget v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mControlPointMinimum:I

    int-to-float v0, v0

    iget v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mControlPointMaximum:I

    iget v3, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mControlPointMinimum:I

    sub-int/2addr v2, v3

    int-to-float v2, v2

    int-to-float v1, v1

    sget v3, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->MAX_LEVEL_PER_CIRCLE:F

    div-float/2addr v1, v3

    mul-float/2addr v1, v2

    add-float/2addr v0, v1

    float-to-int v0, v0

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mAxisValue:I

    return-void

    :cond_6f
    int-to-float v3, p1

    sget v4, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->MAX_LEVEL_PER_CIRCLE:F

    div-float/2addr v4, v5

    rem-float/2addr v3, v4

    float-to-int v3, v3

    if-ne v2, v3, :cond_80

    :goto_77
    sget v0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->MAX_LEVEL_PER_CIRCLE:F

    int-to-float v2, v2

    sub-float/2addr v0, v2

    float-to-int v0, v0

    move v6, v1

    move v1, v0

    move v0, v6

    goto :goto_32

    :cond_80
    move v1, v0

    goto :goto_77

    :cond_82
    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mAbovePaint:Landroid/graphics/Paint;

    iget-object v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mFstHalfPaint:Landroid/graphics/Paint;

    invoke-virtual {v2}, Landroid/graphics/Paint;->getColor()I

    move-result v2

    invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setColor(I)V

    goto :goto_4d
.end method


# virtual methods
.method public draw(Landroid/graphics/Canvas;)V
    .registers 4

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mCurrentState:Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable$ProgressStates;

    if-eqz v0, :cond_21

    invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mBounds:Landroid/graphics/Rect;

    invoke-virtual {v0}, Landroid/graphics/Rect;->width()I

    move-result v0

    div-int/lit8 v0, v0, 0x2

    iget v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mDrawWidth:I

    div-int/lit8 v1, v1, 0x2

    sub-int/2addr v0, v1

    int-to-float v0, v0

    iget v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mTop:I

    int-to-float v1, v1

    invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->translate(FF)V

    invoke-direct {p0, p1}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->makeCirclesProgress(Landroid/graphics/Canvas;)V

    invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V

    :cond_21
    return-void
.end method

.method public isRunning()Z
    .registers 2

    iget-boolean v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->isRunning:Z

    return v0
.end method

.method public offsetTopAndBottom(I)V
    .registers 3

    iget v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mTop:I

    add-int/2addr v0, p1

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mTop:I

    invoke-virtual {p0}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->invalidateSelf()V

    return-void
.end method

.method protected onBoundsChange(Landroid/graphics/Rect;)V
    .registers 5

    invoke-super {p0, p1}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/AbstractRefreshDrawable;->onBoundsChange(Landroid/graphics/Rect;)V

    const/16 v0, 0x28

    invoke-direct {p0, v0}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->dp2px(I)I

    move-result v0

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mDrawWidth:I

    iget v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mDrawWidth:I

    neg-int v1, v0

    invoke-virtual {p0}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->getRefreshLayout()Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/PullRefreshLayout;

    move-result-object v2

    invoke-virtual {v2}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/PullRefreshLayout;->getFinalOffset()I

    move-result v2

    sub-int/2addr v2, v0

    div-int/lit8 v2, v2, 0x2

    sub-int/2addr v1, v2

    iput v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mTop:I

    iput-object p1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mBounds:Landroid/graphics/Rect;

    iget v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mDrawWidth:I

    invoke-direct {p0, v1, v0}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->measureCircleProgress(II)V

    return-void
.end method

.method public run()V
    .registers 5

    iget v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mLevel:I

    add-int/lit8 v0, v0, 0x50

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mLevel:I

    iget v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mLevel:I

    int-to-float v0, v0

    const v1, 0x461c4000    # 10000.0f

    cmpl-float v0, v0, v1

    if-lez v0, :cond_13

    const/4 v0, 0x0

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mLevel:I

    :cond_13
    iget-boolean v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->isRunning:Z

    if-eqz v0, :cond_26

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mHandler:Landroid/os/Handler;

    const-wide/16 v2, 0x14

    invoke-virtual {v0, p0, v2, v3}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z

    iget v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mLevel:I

    invoke-direct {p0, v0}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->updateLevel(I)V

    invoke-virtual {p0}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->invalidateSelf()V

    :cond_26
    return-void
.end method

.method public setColorFilter(Landroid/graphics/ColorFilter;)V
    .registers 3

    iput-object p1, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mColorFilter:Landroid/graphics/ColorFilter;

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mFstHalfPaint:Landroid/graphics/Paint;

    invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setColorFilter(Landroid/graphics/ColorFilter;)Landroid/graphics/ColorFilter;

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mScndHalfPaint:Landroid/graphics/Paint;

    invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setColorFilter(Landroid/graphics/ColorFilter;)Landroid/graphics/ColorFilter;

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mAbovePaint:Landroid/graphics/Paint;

    invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setColorFilter(Landroid/graphics/ColorFilter;)Landroid/graphics/ColorFilter;

    return-void
.end method

.method public setColorSchemeColors([I)V
    .registers 2

    invoke-direct {p0, p1}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->initCirclesProgress([I)V

    return-void
.end method

.method public setPercent(F)V
    .registers 3

    const v0, 0x451c4000    # 2500.0f

    mul-float/2addr v0, p1

    float-to-int v0, v0

    invoke-direct {p0, v0}, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->updateLevel(I)V

    return-void
.end method

.method public start()V
    .registers 5

    const/16 v0, 0x9c4

    iput v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mLevel:I

    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->isRunning:Z

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mHandler:Landroid/os/Handler;

    const-wide/16 v2, 0xa

    invoke-virtual {v0, p0, v2, v3}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z

    return-void
.end method

.method public stop()V
    .registers 2

    const/4 v0, 0x0

    iput-boolean v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->isRunning:Z

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/pullrefresh/CirclesDrawable;->mHandler:Landroid/os/Handler;

    invoke-virtual {v0, p0}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V

    return-void
.end method