SwitchButton.smali

.class public Lio/dcloud/feature/weex_switch/SwitchButton;
.super Landroid/view/View;
.source "SwitchButton.java"

# interfaces
.implements Landroid/widget/Checkable;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;,
        Lio/dcloud/feature/weex_switch/SwitchButton$OnCheckedChangeListener;
    }
.end annotation


# static fields
.field private static final DEFAULT_HEIGHT:I

.field private static final DEFAULT_WIDTH:I


# instance fields
.field private final ANIMATE_STATE_DRAGING:I

.field private final ANIMATE_STATE_NONE:I

.field private final ANIMATE_STATE_PENDING_DRAG:I

.field private final ANIMATE_STATE_PENDING_RESET:I

.field private final ANIMATE_STATE_PENDING_SETTLE:I

.field private final ANIMATE_STATE_SWITCH:I

.field private afterState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

.field private animateState:I

.field private animatorListener:Landroid/animation/Animator$AnimatorListener;

.field private animatorUpdateListener:Landroid/animation/ValueAnimator$AnimatorUpdateListener;

.field private final argbEvaluator:Landroid/animation/ArgbEvaluator;

.field private background:I

.field private beforeState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

.field private borderWidth:I

.field private bottom:F

.field private buttonMaxX:F

.field private buttonMinX:F

.field private buttonPaint:Landroid/graphics/Paint;

.field private buttonRadius:F

.field private centerX:F

.field private centerY:F

.field private checkLineColor:I

.field private checkLineLength:F

.field private checkLineWidth:I

.field private checkedColor:I

.field private checkedLineOffsetX:F

.field private checkedLineOffsetY:F

.field private dragFraction:F

.field private enableEffect:Z

.field private height:F

.field private isChecked:Z

.field private isEventBroadcast:Z

.field private isInit:Z

.field private isTouchingDown:Z

.field private isUiInited:Z

.field private left:F

.field private onCheckedChangeListener:Lio/dcloud/feature/weex_switch/SwitchButton$OnCheckedChangeListener;

.field private paint:Landroid/graphics/Paint;

.field private postPendingDrag:Ljava/lang/Runnable;

.field private rect:Landroid/graphics/RectF;

.field private right:F

.field private shadowColor:I

.field private shadowEffect:Z

.field private shadowOffset:I

.field private shadowRadius:I

.field private showIndicator:Z

.field private top:F

.field private touchDownTime:J

.field private uncheckCircleColor:I

.field private uncheckCircleOffsetX:F

.field private uncheckCircleRadius:F

.field private uncheckCircleWidth:I

.field private uncheckColor:I

.field private valueAnimator:Landroid/animation/ValueAnimator;

.field private viewRadius:F

.field private viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

.field private width:F


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

    const/high16 v0, 0x42680000    # 58.0f

    .line 29
    invoke-static {v0}, Lio/dcloud/feature/weex_switch/SwitchButton;->dp2pxInt(F)I

    move-result v0

    sput v0, Lio/dcloud/feature/weex_switch/SwitchButton;->DEFAULT_WIDTH:I

    const/high16 v0, 0x42100000    # 36.0f

    .line 30
    invoke-static {v0}, Lio/dcloud/feature/weex_switch/SwitchButton;->dp2pxInt(F)I

    move-result v0

    sput v0, Lio/dcloud/feature/weex_switch/SwitchButton;->DEFAULT_HEIGHT:I

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;)V
    .registers 5
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "context"
        }
    .end annotation

    .line 51
    invoke-direct {p0, p1}, Landroid/view/View;-><init>(Landroid/content/Context;)V

    const/4 v0, 0x0

    .line 41
    iput v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_NONE:I

    const/4 v1, 0x1

    .line 42
    iput v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_PENDING_DRAG:I

    const/4 v2, 0x2

    .line 43
    iput v2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_DRAGING:I

    const/4 v2, 0x3

    .line 44
    iput v2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_PENDING_RESET:I

    const/4 v2, 0x4

    .line 45
    iput v2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_PENDING_SETTLE:I

    const/4 v2, 0x5

    .line 46
    iput v2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_SWITCH:I

    .line 48
    iput-boolean v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isInit:Z

    .line 995
    new-instance v1, Landroid/graphics/RectF;

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

    iput-object v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->rect:Landroid/graphics/RectF;

    .line 999
    iput v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animateState:I

    .line 1006
    new-instance v1, Landroid/animation/ArgbEvaluator;

    invoke-direct {v1}, Landroid/animation/ArgbEvaluator;-><init>()V

    iput-object v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->argbEvaluator:Landroid/animation/ArgbEvaluator;

    .line 1028
    iput-boolean v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isTouchingDown:Z

    .line 1032
    iput-boolean v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isUiInited:Z

    .line 1036
    iput-boolean v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isEventBroadcast:Z

    .line 1045
    new-instance v0, Lio/dcloud/feature/weex_switch/SwitchButton$1;

    invoke-direct {v0, p0}, Lio/dcloud/feature/weex_switch/SwitchButton$1;-><init>(Lio/dcloud/feature/weex_switch/SwitchButton;)V

    iput-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->postPendingDrag:Ljava/lang/Runnable;

    .line 1054
    new-instance v0, Lio/dcloud/feature/weex_switch/SwitchButton$2;

    invoke-direct {v0, p0}, Lio/dcloud/feature/weex_switch/SwitchButton$2;-><init>(Lio/dcloud/feature/weex_switch/SwitchButton;)V

    iput-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animatorUpdateListener:Landroid/animation/ValueAnimator$AnimatorUpdateListener;

    .line 1118
    new-instance v0, Lio/dcloud/feature/weex_switch/SwitchButton$3;

    invoke-direct {v0, p0}, Lio/dcloud/feature/weex_switch/SwitchButton$3;-><init>(Lio/dcloud/feature/weex_switch/SwitchButton;)V

    iput-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animatorListener:Landroid/animation/Animator$AnimatorListener;

    const/4 v0, 0x0

    .line 52
    invoke-direct {p0, p1, v0}, Lio/dcloud/feature/weex_switch/SwitchButton;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
    .registers 6
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0
        }
        names = {
            "context",
            "attrs"
        }
    .end annotation

    .line 56
    invoke-direct {p0, p1, p2}, Landroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V

    const/4 v0, 0x0

    .line 41
    iput v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_NONE:I

    const/4 v1, 0x1

    .line 42
    iput v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_PENDING_DRAG:I

    const/4 v2, 0x2

    .line 43
    iput v2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_DRAGING:I

    const/4 v2, 0x3

    .line 44
    iput v2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_PENDING_RESET:I

    const/4 v2, 0x4

    .line 45
    iput v2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_PENDING_SETTLE:I

    const/4 v2, 0x5

    .line 46
    iput v2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_SWITCH:I

    .line 48
    iput-boolean v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isInit:Z

    .line 995
    new-instance v1, Landroid/graphics/RectF;

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

    iput-object v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->rect:Landroid/graphics/RectF;

    .line 999
    iput v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animateState:I

    .line 1006
    new-instance v1, Landroid/animation/ArgbEvaluator;

    invoke-direct {v1}, Landroid/animation/ArgbEvaluator;-><init>()V

    iput-object v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->argbEvaluator:Landroid/animation/ArgbEvaluator;

    .line 1028
    iput-boolean v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isTouchingDown:Z

    .line 1032
    iput-boolean v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isUiInited:Z

    .line 1036
    iput-boolean v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isEventBroadcast:Z

    .line 1045
    new-instance v0, Lio/dcloud/feature/weex_switch/SwitchButton$1;

    invoke-direct {v0, p0}, Lio/dcloud/feature/weex_switch/SwitchButton$1;-><init>(Lio/dcloud/feature/weex_switch/SwitchButton;)V

    iput-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->postPendingDrag:Ljava/lang/Runnable;

    .line 1054
    new-instance v0, Lio/dcloud/feature/weex_switch/SwitchButton$2;

    invoke-direct {v0, p0}, Lio/dcloud/feature/weex_switch/SwitchButton$2;-><init>(Lio/dcloud/feature/weex_switch/SwitchButton;)V

    iput-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animatorUpdateListener:Landroid/animation/ValueAnimator$AnimatorUpdateListener;

    .line 1118
    new-instance v0, Lio/dcloud/feature/weex_switch/SwitchButton$3;

    invoke-direct {v0, p0}, Lio/dcloud/feature/weex_switch/SwitchButton$3;-><init>(Lio/dcloud/feature/weex_switch/SwitchButton;)V

    iput-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animatorListener:Landroid/animation/Animator$AnimatorListener;

    .line 57
    invoke-direct {p0, p1, p2}, Lio/dcloud/feature/weex_switch/SwitchButton;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
    .registers 6
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0
        }
        names = {
            "context",
            "attrs",
            "defStyleAttr"
        }
    .end annotation

    .line 61
    invoke-direct {p0, p1, p2, p3}, Landroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

    const/4 p3, 0x0

    .line 41
    iput p3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_NONE:I

    const/4 v0, 0x1

    .line 42
    iput v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_PENDING_DRAG:I

    const/4 v1, 0x2

    .line 43
    iput v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_DRAGING:I

    const/4 v1, 0x3

    .line 44
    iput v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_PENDING_RESET:I

    const/4 v1, 0x4

    .line 45
    iput v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_PENDING_SETTLE:I

    const/4 v1, 0x5

    .line 46
    iput v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_SWITCH:I

    .line 48
    iput-boolean v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isInit:Z

    .line 995
    new-instance v0, Landroid/graphics/RectF;

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

    iput-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->rect:Landroid/graphics/RectF;

    .line 999
    iput p3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animateState:I

    .line 1006
    new-instance v0, Landroid/animation/ArgbEvaluator;

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

    iput-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->argbEvaluator:Landroid/animation/ArgbEvaluator;

    .line 1028
    iput-boolean p3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isTouchingDown:Z

    .line 1032
    iput-boolean p3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isUiInited:Z

    .line 1036
    iput-boolean p3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isEventBroadcast:Z

    .line 1045
    new-instance p3, Lio/dcloud/feature/weex_switch/SwitchButton$1;

    invoke-direct {p3, p0}, Lio/dcloud/feature/weex_switch/SwitchButton$1;-><init>(Lio/dcloud/feature/weex_switch/SwitchButton;)V

    iput-object p3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->postPendingDrag:Ljava/lang/Runnable;

    .line 1054
    new-instance p3, Lio/dcloud/feature/weex_switch/SwitchButton$2;

    invoke-direct {p3, p0}, Lio/dcloud/feature/weex_switch/SwitchButton$2;-><init>(Lio/dcloud/feature/weex_switch/SwitchButton;)V

    iput-object p3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animatorUpdateListener:Landroid/animation/ValueAnimator$AnimatorUpdateListener;

    .line 1118
    new-instance p3, Lio/dcloud/feature/weex_switch/SwitchButton$3;

    invoke-direct {p3, p0}, Lio/dcloud/feature/weex_switch/SwitchButton$3;-><init>(Lio/dcloud/feature/weex_switch/SwitchButton;)V

    iput-object p3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animatorListener:Landroid/animation/Animator$AnimatorListener;

    .line 62
    invoke-direct {p0, p1, p2}, Lio/dcloud/feature/weex_switch/SwitchButton;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
    .registers 6
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0,
            0x0
        }
        names = {
            "context",
            "attrs",
            "defStyleAttr",
            "defStyleRes"
        }
    .end annotation

    .line 67
    invoke-direct {p0, p1, p2, p3, p4}, Landroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V

    const/4 p3, 0x0

    .line 41
    iput p3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_NONE:I

    const/4 p4, 0x1

    .line 42
    iput p4, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_PENDING_DRAG:I

    const/4 v0, 0x2

    .line 43
    iput v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_DRAGING:I

    const/4 v0, 0x3

    .line 44
    iput v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_PENDING_RESET:I

    const/4 v0, 0x4

    .line 45
    iput v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_PENDING_SETTLE:I

    const/4 v0, 0x5

    .line 46
    iput v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->ANIMATE_STATE_SWITCH:I

    .line 48
    iput-boolean p4, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isInit:Z

    .line 995
    new-instance p4, Landroid/graphics/RectF;

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

    iput-object p4, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->rect:Landroid/graphics/RectF;

    .line 999
    iput p3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animateState:I

    .line 1006
    new-instance p4, Landroid/animation/ArgbEvaluator;

    invoke-direct {p4}, Landroid/animation/ArgbEvaluator;-><init>()V

    iput-object p4, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->argbEvaluator:Landroid/animation/ArgbEvaluator;

    .line 1028
    iput-boolean p3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isTouchingDown:Z

    .line 1032
    iput-boolean p3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isUiInited:Z

    .line 1036
    iput-boolean p3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isEventBroadcast:Z

    .line 1045
    new-instance p3, Lio/dcloud/feature/weex_switch/SwitchButton$1;

    invoke-direct {p3, p0}, Lio/dcloud/feature/weex_switch/SwitchButton$1;-><init>(Lio/dcloud/feature/weex_switch/SwitchButton;)V

    iput-object p3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->postPendingDrag:Ljava/lang/Runnable;

    .line 1054
    new-instance p3, Lio/dcloud/feature/weex_switch/SwitchButton$2;

    invoke-direct {p3, p0}, Lio/dcloud/feature/weex_switch/SwitchButton$2;-><init>(Lio/dcloud/feature/weex_switch/SwitchButton;)V

    iput-object p3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animatorUpdateListener:Landroid/animation/ValueAnimator$AnimatorUpdateListener;

    .line 1118
    new-instance p3, Lio/dcloud/feature/weex_switch/SwitchButton$3;

    invoke-direct {p3, p0}, Lio/dcloud/feature/weex_switch/SwitchButton$3;-><init>(Lio/dcloud/feature/weex_switch/SwitchButton;)V

    iput-object p3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animatorListener:Landroid/animation/Animator$AnimatorListener;

    .line 68
    invoke-direct {p0, p1, p2}, Lio/dcloud/feature/weex_switch/SwitchButton;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V

    return-void
.end method

.method static synthetic access$100(Lio/dcloud/feature/weex_switch/SwitchButton;)Z
    .registers 1

    .line 28
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isInAnimating()Z

    move-result p0

    return p0
.end method

.method static synthetic access$1000(Lio/dcloud/feature/weex_switch/SwitchButton;)I
    .registers 1

    .line 28
    iget p0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->uncheckColor:I

    return p0
.end method

.method static synthetic access$1100(Lio/dcloud/feature/weex_switch/SwitchButton;)I
    .registers 1

    .line 28
    iget p0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkedColor:I

    return p0
.end method

.method static synthetic access$1200(Lio/dcloud/feature/weex_switch/SwitchButton;)F
    .registers 1

    .line 28
    iget p0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewRadius:F

    return p0
.end method

.method static synthetic access$1300(Lio/dcloud/feature/weex_switch/SwitchButton;)I
    .registers 1

    .line 28
    iget p0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkLineColor:I

    return p0
.end method

.method static synthetic access$1400(Lio/dcloud/feature/weex_switch/SwitchButton;)V
    .registers 1

    .line 28
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->broadcastEvent()V

    return-void
.end method

.method static synthetic access$1500(Lio/dcloud/feature/weex_switch/SwitchButton;)Z
    .registers 1

    .line 28
    iget-boolean p0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked:Z

    return p0
.end method

.method static synthetic access$1502(Lio/dcloud/feature/weex_switch/SwitchButton;Z)Z
    .registers 2

    .line 28
    iput-boolean p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked:Z

    return p1
.end method

.method static synthetic access$200(Lio/dcloud/feature/weex_switch/SwitchButton;)V
    .registers 1

    .line 28
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->pendingDragState()V

    return-void
.end method

.method static synthetic access$300(Lio/dcloud/feature/weex_switch/SwitchButton;)I
    .registers 1

    .line 28
    iget p0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animateState:I

    return p0
.end method

.method static synthetic access$302(Lio/dcloud/feature/weex_switch/SwitchButton;I)I
    .registers 2

    .line 28
    iput p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animateState:I

    return p1
.end method

.method static synthetic access$400(Lio/dcloud/feature/weex_switch/SwitchButton;)Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;
    .registers 1

    .line 28
    iget-object p0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    return-object p0
.end method

.method static synthetic access$500(Lio/dcloud/feature/weex_switch/SwitchButton;)Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;
    .registers 1

    .line 28
    iget-object p0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->beforeState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    return-object p0
.end method

.method static synthetic access$600(Lio/dcloud/feature/weex_switch/SwitchButton;)Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;
    .registers 1

    .line 28
    iget-object p0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->afterState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    return-object p0
.end method

.method static synthetic access$700(Lio/dcloud/feature/weex_switch/SwitchButton;)Landroid/animation/ArgbEvaluator;
    .registers 1

    .line 28
    iget-object p0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->argbEvaluator:Landroid/animation/ArgbEvaluator;

    return-object p0
.end method

.method static synthetic access$800(Lio/dcloud/feature/weex_switch/SwitchButton;)F
    .registers 1

    .line 28
    iget p0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonMinX:F

    return p0
.end method

.method static synthetic access$900(Lio/dcloud/feature/weex_switch/SwitchButton;)F
    .registers 1

    .line 28
    iget p0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonMaxX:F

    return p0
.end method

.method private broadcastEvent()V
    .registers 3

    .line 592
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->onCheckedChangeListener:Lio/dcloud/feature/weex_switch/SwitchButton$OnCheckedChangeListener;

    if-eqz v0, :cond_e

    const/4 v1, 0x1

    .line 593
    iput-boolean v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isEventBroadcast:Z

    .line 594
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked()Z

    move-result v1

    invoke-interface {v0, p0, v1}, Lio/dcloud/feature/weex_switch/SwitchButton$OnCheckedChangeListener;->onCheckedChanged(Lio/dcloud/feature/weex_switch/SwitchButton;Z)V

    :cond_e
    const/4 v0, 0x0

    .line 596
    iput-boolean v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isEventBroadcast:Z

    return-void
.end method

.method private static dp2px(F)F
    .registers 3
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "dp"
        }
    .end annotation

    .line 829
    invoke-static {}, Landroid/content/res/Resources;->getSystem()Landroid/content/res/Resources;

    move-result-object v0

    .line 830
    invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;

    move-result-object v0

    const/4 v1, 0x1

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

    move-result p0

    return p0
.end method

.method private static dp2pxInt(F)I
    .registers 1
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "dp"
        }
    .end annotation

    .line 834
    invoke-static {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->dp2px(F)F

    move-result p0

    float-to-int p0, p0

    return p0
.end method

.method private drawArc(Landroid/graphics/Canvas;FFFFFFLandroid/graphics/Paint;)V
    .registers 21
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0,
            0x0,
            0x0,
            0x0,
            0x0,
            0x0
        }
        names = {
            "canvas",
            "left",
            "top",
            "right",
            "bottom",
            "startAngle",
            "sweepAngle",
            "paint"
        }
    .end annotation

    move-object v0, p0

    .line 442
    sget v1, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v2, 0x15

    if-lt v1, v2, :cond_19

    const/4 v10, 0x1

    move-object v3, p1

    move v4, p2

    move v5, p3

    move/from16 v6, p4

    move/from16 v7, p5

    move/from16 v8, p6

    move/from16 v9, p7

    move-object/from16 v11, p8

    .line 443
    invoke-virtual/range {v3 .. v11}, Landroid/graphics/Canvas;->drawArc(FFFFFFZLandroid/graphics/Paint;)V

    goto :goto_31

    .line 446
    :cond_19
    iget-object v1, v0, Lio/dcloud/feature/weex_switch/SwitchButton;->rect:Landroid/graphics/RectF;

    move v2, p2

    move v3, p3

    move/from16 v4, p4

    move/from16 v5, p5

    invoke-virtual {v1, p2, p3, v4, v5}, Landroid/graphics/RectF;->set(FFFF)V

    .line 447
    iget-object v3, v0, Lio/dcloud/feature/weex_switch/SwitchButton;->rect:Landroid/graphics/RectF;

    const/4 v6, 0x1

    move-object v2, p1

    move/from16 v4, p6

    move/from16 v5, p7

    move-object/from16 v7, p8

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

    :goto_31
    return-void
.end method

.method private drawButton(Landroid/graphics/Canvas;FF)V
    .registers 6
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0
        }
        names = {
            "canvas",
            "x",
            "y"
        }
    .end annotation

    .line 483
    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonRadius:F

    iget-object v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonPaint:Landroid/graphics/Paint;

    invoke-virtual {p1, p2, p3, v0, v1}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V

    .line 491
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    sget-object v1, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style;

    invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V

    .line 492
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    const/high16 v1, 0x3f800000    # 1.0f

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

    .line 493
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    const v1, -0x222223

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

    .line 494
    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonRadius:F

    iget-object v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    invoke-virtual {p1, p2, p3, v0, v1}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V

    return-void
.end method

.method private drawRoundRect(Landroid/graphics/Canvas;FFFFFLandroid/graphics/Paint;)V
    .registers 16
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0,
            0x0,
            0x0,
            0x0,
            0x0
        }
        names = {
            "canvas",
            "left",
            "top",
            "right",
            "bottom",
            "backgroundRadius",
            "paint"
        }
    .end annotation

    .line 466
    sget v0, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v1, 0x15

    if-lt v0, v1, :cond_12

    move-object v0, p1

    move v1, p2

    move v2, p3

    move v3, p4

    move v4, p5

    move v5, p6

    move v6, p6

    move-object v7, p7

    .line 467
    invoke-virtual/range {v0 .. v7}, Landroid/graphics/Canvas;->drawRoundRect(FFFFFFLandroid/graphics/Paint;)V

    goto :goto_1c

    .line 470
    :cond_12
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->rect:Landroid/graphics/RectF;

    invoke-virtual {v0, p2, p3, p4, p5}, Landroid/graphics/RectF;->set(FFFF)V

    .line 471
    iget-object p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->rect:Landroid/graphics/RectF;

    invoke-virtual {p1, p2, p6, p6, p7}, Landroid/graphics/Canvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V

    :goto_1c
    return-void
.end method

.method private drawUncheckIndicator(Landroid/graphics/Canvas;)V
    .registers 10
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "canvas"
        }
    .end annotation

    .line 396
    iget v2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->uncheckCircleColor:I

    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->uncheckCircleWidth:I

    int-to-float v3, v0

    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->right:F

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->uncheckCircleOffsetX:F

    sub-float v4, v0, v1

    iget v5, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->centerY:F

    iget v6, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->uncheckCircleRadius:F

    iget-object v7, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    move-object v0, p0

    move-object v1, p1

    invoke-virtual/range {v0 .. v7}, Lio/dcloud/feature/weex_switch/SwitchButton;->drawUncheckIndicator(Landroid/graphics/Canvas;IFFFFLandroid/graphics/Paint;)V

    return-void
.end method

.method private init(Landroid/content/Context;Landroid/util/AttributeSet;)V
    .registers 10
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0
        }
        names = {
            "context",
            "attrs"
        }
    .end annotation

    const/high16 v0, 0x3f000000    # 0.5f

    .line 80
    iput v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->dragFraction:F

    const/4 v0, 0x0

    if-eqz p2, :cond_e

    .line 84
    sget-object v1, Lcom/taobao/weex/R$styleable;->SwitchButton:[I

    invoke-virtual {p1, p2, v1}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;

    move-result-object p1

    goto :goto_f

    :cond_e
    move-object p1, v0

    .line 87
    :goto_f
    sget p2, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_shadow_effect:I

    const/4 v1, 0x1

    invoke-static {p1, p2, v1}, Lio/dcloud/feature/weex_switch/SwitchButton;->optBoolean(Landroid/content/res/TypedArray;IZ)Z

    move-result p2

    iput-boolean p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowEffect:Z

    .line 91
    sget p2, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_uncheckcircle_color:I

    const/4 v2, 0x0

    invoke-static {p1, p2, v2}, Lio/dcloud/feature/weex_switch/SwitchButton;->optColor(Landroid/content/res/TypedArray;II)I

    move-result p2

    iput p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->uncheckCircleColor:I

    .line 95
    sget p2, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_uncheckcircle_width:I

    const/high16 v3, 0x3fc00000    # 1.5f

    .line 97
    invoke-static {v3}, Lio/dcloud/feature/weex_switch/SwitchButton;->dp2pxInt(F)I

    move-result v3

    .line 95
    invoke-static {p1, p2, v3}, Lio/dcloud/feature/weex_switch/SwitchButton;->optPixelSize(Landroid/content/res/TypedArray;II)I

    move-result p2

    iput p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->uncheckCircleWidth:I

    const/high16 p2, 0x41200000    # 10.0f

    .line 99
    invoke-static {p2}, Lio/dcloud/feature/weex_switch/SwitchButton;->dp2px(F)F

    move-result p2

    iput p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->uncheckCircleOffsetX:F

    .line 101
    sget p2, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_uncheckcircle_radius:I

    const/high16 v3, 0x40800000    # 4.0f

    .line 103
    invoke-static {v3}, Lio/dcloud/feature/weex_switch/SwitchButton;->dp2px(F)F

    move-result v4

    .line 101
    invoke-static {p1, p2, v4}, Lio/dcloud/feature/weex_switch/SwitchButton;->optPixelSize(Landroid/content/res/TypedArray;IF)F

    move-result p2

    iput p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->uncheckCircleRadius:F

    .line 105
    invoke-static {v3}, Lio/dcloud/feature/weex_switch/SwitchButton;->dp2px(F)F

    move-result p2

    iput p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkedLineOffsetX:F

    .line 106
    invoke-static {v3}, Lio/dcloud/feature/weex_switch/SwitchButton;->dp2px(F)F

    move-result p2

    iput p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkedLineOffsetY:F

    .line 108
    sget p2, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_shadow_radius:I

    const/high16 v3, 0x40000000    # 2.0f

    .line 110
    invoke-static {v3}, Lio/dcloud/feature/weex_switch/SwitchButton;->dp2pxInt(F)I

    move-result v3

    .line 108
    invoke-static {p1, p2, v3}, Lio/dcloud/feature/weex_switch/SwitchButton;->optPixelSize(Landroid/content/res/TypedArray;II)I

    move-result p2

    iput p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowRadius:I

    .line 112
    sget p2, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_shadow_offset:I

    const/4 v3, 0x0

    .line 114
    invoke-static {v3}, Lio/dcloud/feature/weex_switch/SwitchButton;->dp2pxInt(F)I

    move-result v4

    .line 112
    invoke-static {p1, p2, v4}, Lio/dcloud/feature/weex_switch/SwitchButton;->optPixelSize(Landroid/content/res/TypedArray;II)I

    move-result p2

    iput p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowOffset:I

    .line 116
    sget p2, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_shadow_color:I

    const/high16 v4, 0x33000000

    invoke-static {p1, p2, v4}, Lio/dcloud/feature/weex_switch/SwitchButton;->optColor(Landroid/content/res/TypedArray;II)I

    move-result p2

    iput p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowColor:I

    .line 120
    sget p2, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_uncheck_color:I

    const v4, -0x222223

    invoke-static {p1, p2, v4}, Lio/dcloud/feature/weex_switch/SwitchButton;->optColor(Landroid/content/res/TypedArray;II)I

    move-result p2

    iput p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->uncheckColor:I

    .line 124
    sget p2, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_checked_color:I

    const v4, -0xfb41fe

    invoke-static {p1, p2, v4}, Lio/dcloud/feature/weex_switch/SwitchButton;->optColor(Landroid/content/res/TypedArray;II)I

    move-result p2

    iput p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkedColor:I

    .line 128
    sget p2, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_border_width:I

    const/high16 v4, 0x3f800000    # 1.0f

    .line 130
    invoke-static {v4}, Lio/dcloud/feature/weex_switch/SwitchButton;->dp2pxInt(F)I

    move-result v4

    .line 128
    invoke-static {p1, p2, v4}, Lio/dcloud/feature/weex_switch/SwitchButton;->optPixelSize(Landroid/content/res/TypedArray;II)I

    move-result p2

    iput p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->borderWidth:I

    .line 132
    sget p2, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_checkline_color:I

    invoke-static {p1, p2, v2}, Lio/dcloud/feature/weex_switch/SwitchButton;->optColor(Landroid/content/res/TypedArray;II)I

    move-result p2

    iput p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkLineColor:I

    .line 136
    sget p2, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_checkline_width:I

    .line 138
    invoke-static {v3}, Lio/dcloud/feature/weex_switch/SwitchButton;->dp2pxInt(F)I

    move-result v4

    .line 136
    invoke-static {p1, p2, v4}, Lio/dcloud/feature/weex_switch/SwitchButton;->optPixelSize(Landroid/content/res/TypedArray;II)I

    move-result p2

    iput p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkLineWidth:I

    .line 140
    invoke-static {v3}, Lio/dcloud/feature/weex_switch/SwitchButton;->dp2px(F)F

    move-result p2

    iput p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkLineLength:F

    .line 142
    sget p2, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_button_color:I

    const/4 v4, -0x1

    invoke-static {p1, p2, v4}, Lio/dcloud/feature/weex_switch/SwitchButton;->optColor(Landroid/content/res/TypedArray;II)I

    move-result p2

    .line 146
    sget v5, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_effect_duration:I

    const/16 v6, 0xc8

    invoke-static {p1, v5, v6}, Lio/dcloud/feature/weex_switch/SwitchButton;->optInt(Landroid/content/res/TypedArray;II)I

    move-result v5

    .line 150
    sget v6, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_checked:I

    invoke-static {p1, v6, v2}, Lio/dcloud/feature/weex_switch/SwitchButton;->optBoolean(Landroid/content/res/TypedArray;IZ)Z

    move-result v6

    iput-boolean v6, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked:Z

    .line 154
    sget v6, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_show_indicator:I

    invoke-static {p1, v6, v1}, Lio/dcloud/feature/weex_switch/SwitchButton;->optBoolean(Landroid/content/res/TypedArray;IZ)Z

    move-result v6

    iput-boolean v6, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->showIndicator:Z

    .line 158
    sget v6, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_background:I

    invoke-static {p1, v6, v4}, Lio/dcloud/feature/weex_switch/SwitchButton;->optColor(Landroid/content/res/TypedArray;II)I

    move-result v4

    iput v4, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->background:I

    .line 162
    sget v4, Lcom/taobao/weex/R$styleable;->SwitchButton_sb_enable_effect:I

    invoke-static {p1, v4, v1}, Lio/dcloud/feature/weex_switch/SwitchButton;->optBoolean(Landroid/content/res/TypedArray;IZ)Z

    move-result v4

    iput-boolean v4, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->enableEffect:Z

    if-eqz p1, :cond_e8

    .line 167
    invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V

    .line 171
    :cond_e8
    new-instance p1, Landroid/graphics/Paint;

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

    iput-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    .line 172
    invoke-virtual {p1, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V

    .line 173
    new-instance p1, Landroid/graphics/Paint;

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

    iput-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonPaint:Landroid/graphics/Paint;

    .line 174
    invoke-virtual {p1, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V

    .line 175
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonPaint:Landroid/graphics/Paint;

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

    .line 177
    iget-boolean p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowEffect:Z

    if-eqz p1, :cond_112

    .line 178
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonPaint:Landroid/graphics/Paint;

    iget p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowRadius:I

    int-to-float p2, p2

    iget v4, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowOffset:I

    int-to-float v4, v4

    iget v6, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowColor:I

    invoke-virtual {p1, p2, v3, v4, v6}, Landroid/graphics/Paint;->setShadowLayer(FFFI)V

    .line 185
    :cond_112
    new-instance p1, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    invoke-direct {p1}, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;-><init>()V

    iput-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    .line 186
    new-instance p1, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    invoke-direct {p1}, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;-><init>()V

    iput-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->beforeState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    .line 187
    new-instance p1, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    invoke-direct {p1}, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;-><init>()V

    iput-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->afterState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    const/4 p1, 0x2

    new-array p1, p1, [F

    .line 189
    fill-array-data p1, :array_15a

    invoke-static {p1}, Landroid/animation/ValueAnimator;->ofFloat([F)Landroid/animation/ValueAnimator;

    move-result-object p1

    iput-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->valueAnimator:Landroid/animation/ValueAnimator;

    int-to-long v3, v5

    .line 190
    invoke-virtual {p1, v3, v4}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator;

    .line 191
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->valueAnimator:Landroid/animation/ValueAnimator;

    invoke-virtual {p1, v2}, Landroid/animation/ValueAnimator;->setRepeatCount(I)V

    .line 193
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->valueAnimator:Landroid/animation/ValueAnimator;

    iget-object p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animatorUpdateListener:Landroid/animation/ValueAnimator$AnimatorUpdateListener;

    invoke-virtual {p1, p2}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V

    .line 194
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->valueAnimator:Landroid/animation/ValueAnimator;

    iget-object p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animatorListener:Landroid/animation/Animator$AnimatorListener;

    invoke-virtual {p1, p2}, Landroid/animation/ValueAnimator;->addListener(Landroid/animation/Animator$AnimatorListener;)V

    .line 196
    invoke-super {p0, v1}, Landroid/view/View;->setClickable(Z)V

    .line 197
    invoke-virtual {p0, v2, v2, v2, v2}, Lio/dcloud/feature/weex_switch/SwitchButton;->setPadding(IIII)V

    .line 198
    sget p1, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 p2, 0xb

    if-lt p1, p2, :cond_159

    .line 199
    invoke-virtual {p0, v1, v0}, Lio/dcloud/feature/weex_switch/SwitchButton;->setLayerType(ILandroid/graphics/Paint;)V

    :cond_159
    return-void

    :array_15a
    .array-data 4
        0x0
        0x3f800000    # 1.0f
    .end array-data
.end method

.method private isDragState()Z
    .registers 3

    .line 713
    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animateState:I

    const/4 v1, 0x2

    if-ne v0, v1, :cond_7

    const/4 v0, 0x1

    goto :goto_8

    :cond_7
    const/4 v0, 0x0

    :goto_8
    return v0
.end method

.method private isInAnimating()Z
    .registers 2

    .line 696
    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animateState:I

    if-eqz v0, :cond_6

    const/4 v0, 0x1

    goto :goto_7

    :cond_6
    const/4 v0, 0x0

    :goto_7
    return v0
.end method

.method private isPendingDragState()Z
    .registers 4

    .line 704
    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animateState:I

    const/4 v1, 0x1

    if-eq v0, v1, :cond_a

    const/4 v2, 0x3

    if-ne v0, v2, :cond_9

    goto :goto_a

    :cond_9
    const/4 v1, 0x0

    :cond_a
    :goto_a
    return v1
.end method

.method private static optBoolean(Landroid/content/res/TypedArray;IZ)Z
    .registers 3
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0
        }
        names = {
            "typedArray",
            "index",
            "def"
        }
    .end annotation

    if-nez p0, :cond_3

    return p2

    .line 870
    :cond_3
    invoke-virtual {p0, p1, p2}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z

    move-result p0

    return p0
.end method

.method private static optColor(Landroid/content/res/TypedArray;II)I
    .registers 3
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0
        }
        names = {
            "typedArray",
            "index",
            "def"
        }
    .end annotation

    if-nez p0, :cond_3

    return p2

    .line 863
    :cond_3
    invoke-virtual {p0, p1, p2}, Landroid/content/res/TypedArray;->getColor(II)I

    move-result p0

    return p0
.end method

.method private static optInt(Landroid/content/res/TypedArray;II)I
    .registers 3
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0
        }
        names = {
            "typedArray",
            "index",
            "def"
        }
    .end annotation

    if-nez p0, :cond_3

    return p2

    .line 841
    :cond_3
    invoke-virtual {p0, p1, p2}, Landroid/content/res/TypedArray;->getInt(II)I

    move-result p0

    return p0
.end method

.method private static optPixelSize(Landroid/content/res/TypedArray;IF)F
    .registers 3
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0
        }
        names = {
            "typedArray",
            "index",
            "def"
        }
    .end annotation

    if-nez p0, :cond_3

    return p2

    .line 849
    :cond_3
    invoke-virtual {p0, p1, p2}, Landroid/content/res/TypedArray;->getDimension(IF)F

    move-result p0

    return p0
.end method

.method private static optPixelSize(Landroid/content/res/TypedArray;II)I
    .registers 3
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0
        }
        names = {
            "typedArray",
            "index",
            "def"
        }
    .end annotation

    if-nez p0, :cond_3

    return p2

    .line 856
    :cond_3
    invoke-virtual {p0, p1, p2}, Landroid/content/res/TypedArray;->getDimensionPixelOffset(II)I

    move-result p0

    return p0
.end method

.method private pendingCancelDragState()V
    .registers 3

    .line 775
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isDragState()Z

    move-result v0

    if-nez v0, :cond_c

    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isPendingDragState()Z

    move-result v0

    if-eqz v0, :cond_39

    .line 776
    :cond_c
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->valueAnimator:Landroid/animation/ValueAnimator;

    invoke-virtual {v0}, Landroid/animation/ValueAnimator;->isRunning()Z

    move-result v0

    if-eqz v0, :cond_19

    .line 777
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->valueAnimator:Landroid/animation/ValueAnimator;

    invoke-virtual {v0}, Landroid/animation/ValueAnimator;->cancel()V

    :cond_19
    const/4 v0, 0x3

    .line 780
    iput v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animateState:I

    .line 781
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->beforeState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget-object v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    # invokes: Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->copy(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V
    invoke-static {v0, v1}, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->access$000(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V

    .line 783
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked()Z

    move-result v0

    if-eqz v0, :cond_2f

    .line 784
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->afterState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    invoke-direct {p0, v0}, Lio/dcloud/feature/weex_switch/SwitchButton;->setCheckedViewState(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V

    goto :goto_34

    .line 786
    :cond_2f
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->afterState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    invoke-direct {p0, v0}, Lio/dcloud/feature/weex_switch/SwitchButton;->setUncheckViewState(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V

    .line 788
    :goto_34
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->valueAnimator:Landroid/animation/ValueAnimator;

    invoke-virtual {v0}, Landroid/animation/ValueAnimator;->start()V

    :cond_39
    return-void
.end method

.method private pendingDragState()V
    .registers 3

    .line 745
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isInAnimating()Z

    move-result v0

    if-eqz v0, :cond_7

    return-void

    .line 746
    :cond_7
    iget-boolean v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isTouchingDown:Z

    if-nez v0, :cond_c

    return-void

    .line 748
    :cond_c
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->valueAnimator:Landroid/animation/ValueAnimator;

    invoke-virtual {v0}, Landroid/animation/ValueAnimator;->isRunning()Z

    move-result v0

    if-eqz v0, :cond_19

    .line 749
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->valueAnimator:Landroid/animation/ValueAnimator;

    invoke-virtual {v0}, Landroid/animation/ValueAnimator;->cancel()V

    :cond_19
    const/4 v0, 0x1

    .line 752
    iput v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animateState:I

    .line 754
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->beforeState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget-object v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    # invokes: Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->copy(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V
    invoke-static {v0, v1}, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->access$000(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V

    .line 755
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->afterState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget-object v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    # invokes: Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->copy(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V
    invoke-static {v0, v1}, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->access$000(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V

    .line 757
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked()Z

    move-result v0

    if-eqz v0, :cond_43

    .line 758
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->afterState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkedColor:I

    iput v1, v0, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->checkStateColor:I

    .line 759
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->afterState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonMaxX:F

    iput v1, v0, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->buttonX:F

    .line 760
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->afterState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkedColor:I

    iput v1, v0, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->checkedLineColor:I

    goto :goto_55

    .line 762
    :cond_43
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->afterState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->uncheckColor:I

    iput v1, v0, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->checkStateColor:I

    .line 763
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->afterState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonMinX:F

    iput v1, v0, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->buttonX:F

    .line 764
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->afterState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewRadius:F

    iput v1, v0, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->radius:F

    .line 767
    :goto_55
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->valueAnimator:Landroid/animation/ValueAnimator;

    invoke-virtual {v0}, Landroid/animation/ValueAnimator;->start()V

    return-void
.end method

.method private pendingSettleState()V
    .registers 3

    .line 797
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->valueAnimator:Landroid/animation/ValueAnimator;

    invoke-virtual {v0}, Landroid/animation/ValueAnimator;->isRunning()Z

    move-result v0

    if-eqz v0, :cond_d

    .line 798
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->valueAnimator:Landroid/animation/ValueAnimator;

    invoke-virtual {v0}, Landroid/animation/ValueAnimator;->cancel()V

    :cond_d
    const/4 v0, 0x4

    .line 801
    iput v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animateState:I

    .line 802
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->beforeState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget-object v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    # invokes: Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->copy(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V
    invoke-static {v0, v1}, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->access$000(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V

    .line 804
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked()Z

    move-result v0

    if-eqz v0, :cond_23

    .line 805
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->afterState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    invoke-direct {p0, v0}, Lio/dcloud/feature/weex_switch/SwitchButton;->setCheckedViewState(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V

    goto :goto_28

    .line 807
    :cond_23
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->afterState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    invoke-direct {p0, v0}, Lio/dcloud/feature/weex_switch/SwitchButton;->setUncheckViewState(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V

    .line 809
    :goto_28
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->valueAnimator:Landroid/animation/ValueAnimator;

    invoke-virtual {v0}, Landroid/animation/ValueAnimator;->start()V

    return-void
.end method

.method private setCheckedViewState(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V
    .registers 3
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "viewState"
        }
    .end annotation

    .line 293
    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewRadius:F

    iput v0, p1, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->radius:F

    .line 294
    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkedColor:I

    iput v0, p1, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->checkStateColor:I

    .line 295
    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkLineColor:I

    iput v0, p1, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->checkedLineColor:I

    .line 296
    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonMaxX:F

    iput v0, p1, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->buttonX:F

    return-void
.end method

.method private setUncheckViewState(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V
    .registers 3
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "viewState"
        }
    .end annotation

    const/4 v0, 0x0

    .line 283
    iput v0, p1, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->radius:F

    .line 284
    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->uncheckColor:I

    iput v0, p1, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->checkStateColor:I

    const/4 v0, 0x0

    .line 285
    iput v0, p1, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->checkedLineColor:I

    .line 286
    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonMinX:F

    iput v0, p1, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->buttonX:F

    return-void
.end method

.method private toggle(ZZ)V
    .registers 5
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0
        }
        names = {
            "animate",
            "broadcast"
        }
    .end annotation

    .line 537
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked()Z

    move-result v0

    if-eqz v0, :cond_e

    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->dragFraction:F

    const/high16 v1, 0x3f800000    # 1.0f

    cmpl-float v0, v0, v1

    if-nez v0, :cond_1b

    :cond_e
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked()Z

    move-result v0

    if-nez v0, :cond_c5

    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->dragFraction:F

    const/4 v1, 0x0

    cmpl-float v0, v0, v1

    if-eqz v0, :cond_c5

    .line 538
    :cond_1b
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isEnabled()Z

    move-result v0

    if-nez v0, :cond_26

    iget-boolean v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isInit:Z

    if-nez v0, :cond_26

    return-void

    .line 542
    :cond_26
    iget-boolean v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isEventBroadcast:Z

    if-nez v0, :cond_bd

    .line 545
    iget-boolean v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isUiInited:Z

    if-nez v0, :cond_3a

    .line 546
    iget-boolean p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked:Z

    xor-int/lit8 p1, p1, 0x1

    iput-boolean p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked:Z

    if-eqz p2, :cond_39

    .line 548
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->broadcastEvent()V

    :cond_39
    return-void

    .line 553
    :cond_3a
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->valueAnimator:Landroid/animation/ValueAnimator;

    invoke-virtual {v0}, Landroid/animation/ValueAnimator;->isRunning()Z

    move-result v0

    if-eqz v0, :cond_47

    .line 554
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->valueAnimator:Landroid/animation/ValueAnimator;

    invoke-virtual {v0}, Landroid/animation/ValueAnimator;->cancel()V

    .line 557
    :cond_47
    iget-boolean v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->enableEffect:Z

    if-eqz v0, :cond_9d

    if-nez p1, :cond_4e

    goto :goto_9d

    :cond_4e
    const/4 p1, 0x5

    .line 571
    iput p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->animateState:I

    .line 572
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->beforeState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget-object p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    # invokes: Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->copy(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V
    invoke-static {p1, p2}, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->access$000(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V

    .line 574
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked()Z

    move-result p1

    const-string p2, "ACTION_MOVE"

    if-eqz p1, :cond_7c

    .line 575
    new-instance p1, Ljava/lang/StringBuilder;

    invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v0, "isChecked true =========== "

    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->dragFraction:F

    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-static {p2, p1}, Lio/dcloud/common/adapter/util/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 577
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->afterState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    invoke-direct {p0, p1}, Lio/dcloud/feature/weex_switch/SwitchButton;->setUncheckViewState(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V

    goto :goto_97

    .line 579
    :cond_7c
    new-instance p1, Ljava/lang/StringBuilder;

    invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v0, "isChecked false =========== "

    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->dragFraction:F

    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-static {p2, p1}, Lio/dcloud/common/adapter/util/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 580
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->afterState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    invoke-direct {p0, p1}, Lio/dcloud/feature/weex_switch/SwitchButton;->setCheckedViewState(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V

    .line 582
    :goto_97
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->valueAnimator:Landroid/animation/ValueAnimator;

    invoke-virtual {p1}, Landroid/animation/ValueAnimator;->start()V

    goto :goto_c8

    .line 558
    :cond_9d
    :goto_9d
    iget-boolean p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked:Z

    xor-int/lit8 p1, p1, 0x1

    iput-boolean p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked:Z

    .line 559
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked()Z

    move-result p1

    if-eqz p1, :cond_af

    .line 560
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    invoke-direct {p0, p1}, Lio/dcloud/feature/weex_switch/SwitchButton;->setCheckedViewState(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V

    goto :goto_b4

    .line 562
    :cond_af
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    invoke-direct {p0, p1}, Lio/dcloud/feature/weex_switch/SwitchButton;->setUncheckViewState(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V

    .line 564
    :goto_b4
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->postInvalidate()V

    if-eqz p2, :cond_bc

    .line 566
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->broadcastEvent()V

    :cond_bc
    return-void

    .line 543
    :cond_bd
    new-instance p1, Ljava/lang/RuntimeException;

    const-string p2, "should NOT switch the state in method: [onCheckedChanged]!"

    invoke-direct {p1, p2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V

    throw p1

    .line 584
    :cond_c5
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->pendingCancelDragState()V

    :goto_c8
    return-void
.end method


# virtual methods
.method protected drawCheckedIndicator(Landroid/graphics/Canvas;)V
    .registers 12
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "canvas"
        }
    .end annotation

    .line 358
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget v3, v0, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->checkedLineColor:I

    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkLineWidth:I

    int-to-float v4, v0

    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->left:F

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewRadius:F

    add-float v2, v0, v1

    iget v5, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkedLineOffsetX:F

    sub-float v5, v2, v5

    iget v2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->centerY:F

    iget v6, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkLineLength:F

    sub-float v7, v2, v6

    add-float/2addr v0, v1

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkedLineOffsetY:F

    sub-float/2addr v0, v1

    add-float v8, v2, v6

    iget-object v9, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    move-object v1, p0

    move-object v2, p1

    move v6, v7

    move v7, v0

    invoke-virtual/range {v1 .. v9}, Lio/dcloud/feature/weex_switch/SwitchButton;->drawCheckedIndicator(Landroid/graphics/Canvas;IFFFFFLandroid/graphics/Paint;)V

    return-void
.end method

.method protected drawCheckedIndicator(Landroid/graphics/Canvas;IFFFFFLandroid/graphics/Paint;)V
    .registers 15
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0,
            0x0,
            0x0,
            0x0,
            0x0,
            0x0
        }
        names = {
            "canvas",
            "color",
            "lineWidth",
            "sx",
            "sy",
            "ex",
            "ey",
            "paint"
        }
    .end annotation

    .line 383
    sget-object v0, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style;

    invoke-virtual {p8, v0}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V

    .line 384
    invoke-virtual {p8, p2}, Landroid/graphics/Paint;->setColor(I)V

    .line 385
    invoke-virtual {p8, p3}, Landroid/graphics/Paint;->setStrokeWidth(F)V

    move-object v0, p1

    move v1, p4

    move v2, p5

    move v3, p6

    move v4, p7

    move-object v5, p8

    .line 386
    invoke-virtual/range {v0 .. v5}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V

    return-void
.end method

.method protected drawUncheckIndicator(Landroid/graphics/Canvas;IFFFFLandroid/graphics/Paint;)V
    .registers 9
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0,
            0x0,
            0x0,
            0x0,
            0x0
        }
        names = {
            "canvas",
            "color",
            "lineWidth",
            "centerX",
            "centerY",
            "radius",
            "paint"
        }
    .end annotation

    .line 421
    sget-object v0, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style;

    invoke-virtual {p7, v0}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V

    .line 422
    invoke-virtual {p7, p2}, Landroid/graphics/Paint;->setColor(I)V

    .line 423
    invoke-virtual {p7, p3}, Landroid/graphics/Paint;->setStrokeWidth(F)V

    .line 424
    invoke-virtual {p1, p4, p5, p6, p7}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V

    return-void
.end method

.method public getShadowBottomSize()F
    .registers 3

    .line 224
    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowRadius:I

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowOffset:I

    add-int/2addr v0, v1

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->borderWidth:I

    sub-int/2addr v0, v1

    int-to-float v0, v0

    const/high16 v1, 0x40000000    # 2.0f

    sub-float/2addr v0, v1

    return v0
.end method

.method public getShadowLeftSize()F
    .registers 3

    .line 232
    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowRadius:I

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->borderWidth:I

    sub-int/2addr v0, v1

    int-to-float v0, v0

    const/high16 v1, 0x40000000    # 2.0f

    sub-float/2addr v0, v1

    return v0
.end method

.method public isChecked()Z
    .registers 2

    .line 512
    iget-boolean v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked:Z

    return v0
.end method

.method protected onDraw(Landroid/graphics/Canvas;)V
    .registers 15
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "canvas"
        }
    .end annotation

    .line 301
    invoke-super {p0, p1}, Landroid/view/View;->onDraw(Landroid/graphics/Canvas;)V

    .line 303
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->borderWidth:I

    int-to-float v1, v1

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

    .line 304
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    sget-object v1, Landroid/graphics/Paint$Style;->FILL:Landroid/graphics/Paint$Style;

    invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V

    .line 306
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->background:I

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

    .line 307
    iget v4, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->left:F

    iget v5, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->top:F

    iget v6, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->right:F

    iget v7, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->bottom:F

    iget v8, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewRadius:F

    iget-object v9, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    move-object v2, p0

    move-object v3, p1

    invoke-direct/range {v2 .. v9}, Lio/dcloud/feature/weex_switch/SwitchButton;->drawRoundRect(Landroid/graphics/Canvas;FFFFFLandroid/graphics/Paint;)V

    .line 323
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget v0, v0, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->radius:F

    const/high16 v1, 0x3f000000    # 0.5f

    mul-float/2addr v0, v1

    .line 324
    iget-object v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    sget-object v2, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style;

    invoke-virtual {v1, v2}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V

    .line 325
    iget-object v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    iget-object v2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget v2, v2, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->checkStateColor:I

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

    .line 326
    iget-object v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    iget v2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->borderWidth:I

    int-to-float v2, v2

    const/high16 v3, 0x40000000    # 2.0f

    mul-float v4, v0, v3

    add-float/2addr v2, v4

    invoke-virtual {v1, v2}, Landroid/graphics/Paint;->setStrokeWidth(F)V

    .line 327
    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->left:F

    add-float v6, v1, v0

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->top:F

    add-float v7, v1, v0

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->right:F

    sub-float v8, v1, v0

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->bottom:F

    sub-float v9, v1, v0

    iget v10, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewRadius:F

    iget-object v11, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    move-object v4, p0

    move-object v5, p1

    invoke-direct/range {v4 .. v11}, Lio/dcloud/feature/weex_switch/SwitchButton;->drawRoundRect(Landroid/graphics/Canvas;FFFFFLandroid/graphics/Paint;)V

    .line 332
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    sget-object v1, Landroid/graphics/Paint$Style;->FILL:Landroid/graphics/Paint$Style;

    invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V

    .line 333
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    const/high16 v1, 0x3f800000    # 1.0f

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

    .line 334
    iget v6, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->left:F

    iget v7, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->top:F

    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewRadius:F

    mul-float v1, v0, v3

    add-float v8, v6, v1

    mul-float/2addr v0, v3

    add-float/2addr v0, v7

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->borderWidth:I

    int-to-float v1, v1

    sub-float v9, v0, v1

    iget-object v12, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    const/high16 v10, 0x42b40000    # 90.0f

    const/high16 v11, 0x43340000    # 180.0f

    invoke-direct/range {v4 .. v12}, Lio/dcloud/feature/weex_switch/SwitchButton;->drawArc(Landroid/graphics/Canvas;FFFFFFLandroid/graphics/Paint;)V

    .line 338
    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->left:F

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewRadius:F

    add-float v5, v0, v1

    iget v6, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->top:F

    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget v7, v0, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->buttonX:F

    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->top:F

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewRadius:F

    mul-float/2addr v1, v3

    add-float/2addr v0, v1

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->borderWidth:I

    int-to-float v1, v1

    sub-float v8, v0, v1

    iget-object v9, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->paint:Landroid/graphics/Paint;

    move-object v4, p1

    invoke-virtual/range {v4 .. v9}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V

    .line 349
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget v0, v0, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->buttonX:F

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->centerY:F

    invoke-direct {p0, p1, v0, v1}, Lio/dcloud/feature/weex_switch/SwitchButton;->drawButton(Landroid/graphics/Canvas;FF)V

    return-void
.end method

.method protected onMeasure(II)V
    .registers 7
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0
        }
        names = {
            "widthMeasureSpec",
            "heightMeasureSpec"
        }
    .end annotation

    .line 205
    invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I

    move-result v0

    .line 206
    invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I

    move-result v1

    const/high16 v2, -0x80000000

    const/high16 v3, 0x40000000    # 2.0f

    if-eqz v0, :cond_10

    if-ne v0, v2, :cond_16

    .line 210
    :cond_10
    sget p1, Lio/dcloud/feature/weex_switch/SwitchButton;->DEFAULT_WIDTH:I

    invoke-static {p1, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I

    move-result p1

    :cond_16
    if-eqz v1, :cond_1a

    if-ne v1, v2, :cond_20

    .line 214
    :cond_1a
    sget p2, Lio/dcloud/feature/weex_switch/SwitchButton;->DEFAULT_HEIGHT:I

    invoke-static {p2, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I

    move-result p2

    .line 216
    :cond_20
    invoke-super {p0, p1, p2}, Landroid/view/View;->onMeasure(II)V

    return-void
.end method

.method protected onSizeChanged(IIII)V
    .registers 11
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0,
            0x0
        }
        names = {
            "w",
            "h",
            "oldw",
            "oldh"
        }
    .end annotation

    .line 237
    invoke-super {p0, p1, p2, p3, p4}, Landroid/view/View;->onSizeChanged(IIII)V

    .line 241
    iget p3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowRadius:I

    iget p4, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowOffset:I

    add-int/2addr p3, p4

    iget p4, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->borderWidth:I

    sub-int/2addr p3, p4

    int-to-float p3, p3

    int-to-float p2, p2

    sub-float/2addr p2, p3

    .line 246
    iput p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->height:F

    int-to-float p1, p1

    .line 247
    iput p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->width:F

    const/high16 p3, 0x3f000000    # 0.5f

    mul-float v0, p2, p3

    .line 249
    iput v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewRadius:F

    int-to-float v1, p4

    sub-float v1, v0, v1

    .line 250
    iput v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonRadius:F

    int-to-float v1, p4

    const/high16 v2, 0x40000000    # 2.0f

    div-float/2addr v1, v2

    .line 256
    iput v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->left:F

    int-to-float v3, p4

    div-float/2addr v3, v2

    .line 257
    iput v3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->top:F

    int-to-float v4, p4

    div-float/2addr v4, v2

    sub-float v4, p1, v4

    .line 258
    iput v4, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->right:F

    int-to-float v5, p4

    div-float/2addr v5, v2

    sub-float/2addr p2, v5

    .line 259
    iput p2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->bottom:F

    add-float/2addr v4, v1

    mul-float/2addr v4, p3

    .line 261
    iput v4, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->centerX:F

    add-float/2addr v3, p2

    mul-float/2addr v3, p3

    .line 262
    iput v3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->centerY:F

    div-float/2addr v1, v2

    add-float/2addr v1, v0

    .line 264
    iput v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonMinX:F

    int-to-float p2, p4

    div-float/2addr p2, v2

    sub-float/2addr p1, p2

    int-to-float p2, p4

    div-float/2addr p2, v2

    div-float/2addr p2, v2

    add-float/2addr p1, p2

    sub-float/2addr p1, v0

    .line 265
    iput p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonMaxX:F

    .line 267
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked()Z

    move-result p1

    if-eqz p1, :cond_55

    .line 268
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    invoke-direct {p0, p1}, Lio/dcloud/feature/weex_switch/SwitchButton;->setCheckedViewState(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V

    goto :goto_5a

    .line 270
    :cond_55
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    invoke-direct {p0, p1}, Lio/dcloud/feature/weex_switch/SwitchButton;->setUncheckViewState(Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;)V

    :goto_5a
    const/4 p1, 0x1

    .line 273
    iput-boolean p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isUiInited:Z

    .line 275
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->postInvalidate()V

    return-void
.end method

.method public onTouchEvent(Landroid/view/MotionEvent;)Z
    .registers 13
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "event"
        }
    .end annotation

    .line 602
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isEnabled()Z

    move-result v0

    const/4 v1, 0x0

    if-nez v0, :cond_8

    return v1

    .line 603
    :cond_8
    invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I

    move-result v0

    const/high16 v2, 0x3f000000    # 0.5f

    const-string v3, "ACTION_MOVE"

    const/4 v4, 0x1

    if-eqz v0, :cond_126

    const/high16 v5, 0x3f800000    # 1.0f

    const/4 v6, 0x0

    if-eq v0, v4, :cond_d7

    const/4 v2, 0x2

    if-eq v0, v2, :cond_38

    const/4 p1, 0x3

    if-eq v0, p1, :cond_20

    goto/16 :goto_152

    .line 675
    :cond_20
    iput-boolean v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isTouchingDown:Z

    .line 677
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->postPendingDrag:Ljava/lang/Runnable;

    invoke-virtual {p0, p1}, Lio/dcloud/feature/weex_switch/SwitchButton;->removeCallbacks(Ljava/lang/Runnable;)Z

    .line 679
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isPendingDragState()Z

    move-result p1

    if-nez p1, :cond_33

    .line 680
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isDragState()Z

    move-result p1

    if-eqz p1, :cond_152

    .line 682
    :cond_33
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->pendingCancelDragState()V

    goto/16 :goto_152

    .line 618
    :cond_38
    invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F

    move-result p1

    .line 619
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isPendingDragState()Z

    move-result v0

    if-eqz v0, :cond_79

    .line 621
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->getWidth()I

    move-result v0

    int-to-float v0, v0

    div-float/2addr p1, v0

    iput p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->dragFraction:F

    .line 622
    invoke-static {v5, p1}, Ljava/lang/Math;->min(FF)F

    move-result p1

    invoke-static {v6, p1}, Ljava/lang/Math;->max(FF)F

    move-result p1

    iput p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->dragFraction:F

    .line 623
    new-instance p1, Ljava/lang/StringBuilder;

    invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v0, "isPendingDragState =========== "

    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->dragFraction:F

    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-static {v3, p1}, Lio/dcloud/common/adapter/util/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 624
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonMinX:F

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonMaxX:F

    sub-float/2addr v1, v0

    iget v2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->dragFraction:F

    mul-float/2addr v1, v2

    add-float/2addr v0, v1

    iput v0, p1, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->buttonX:F

    goto/16 :goto_152

    .line 628
    :cond_79
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isDragState()Z

    move-result v0

    if-eqz v0, :cond_152

    .line 630
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->getWidth()I

    move-result v0

    int-to-float v0, v0

    div-float/2addr p1, v0

    iput p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->dragFraction:F

    .line 631
    invoke-static {v5, p1}, Ljava/lang/Math;->min(FF)F

    move-result p1

    invoke-static {v6, p1}, Ljava/lang/Math;->max(FF)F

    move-result p1

    iput p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->dragFraction:F

    .line 632
    new-instance p1, Ljava/lang/StringBuilder;

    invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v0, "isDragState =========== "

    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->dragFraction:F

    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-static {v3, p1}, Lio/dcloud/common/adapter/util/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 634
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonMinX:F

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonMaxX:F

    sub-float/2addr v1, v0

    iget v2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->dragFraction:F

    mul-float/2addr v1, v2

    add-float/2addr v0, v1

    iput v0, p1, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->buttonX:F

    .line 638
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->viewState:Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;

    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->argbEvaluator:Landroid/animation/ArgbEvaluator;

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->dragFraction:F

    iget v2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->uncheckColor:I

    .line 640
    invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v2

    iget v3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkedColor:I

    .line 641
    invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v3

    .line 638
    invoke-virtual {v0, v1, v2, v3}, Landroid/animation/ArgbEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/Integer;

    invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I

    move-result v0

    iput v0, p1, Lio/dcloud/feature/weex_switch/SwitchButton$ViewState;->checkStateColor:I

    .line 643
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->postInvalidate()V

    goto/16 :goto_152

    .line 649
    :cond_d7
    iput-boolean v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isTouchingDown:Z

    .line 651
    iget-object v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->postPendingDrag:Ljava/lang/Runnable;

    invoke-virtual {p0, v0}, Lio/dcloud/feature/weex_switch/SwitchButton;->removeCallbacks(Ljava/lang/Runnable;)Z

    .line 653
    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v7

    iget-wide v9, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->touchDownTime:J

    sub-long/2addr v7, v9

    const-wide/16 v9, 0x190

    cmp-long v0, v7, v9

    if-gtz v0, :cond_ef

    .line 655
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->toggle()V

    goto :goto_152

    .line 656
    :cond_ef
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isDragState()Z

    move-result v0

    if-eqz v0, :cond_11c

    .line 658
    invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F

    move-result p1

    .line 659
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->getWidth()I

    move-result v0

    int-to-float v0, v0

    div-float/2addr p1, v0

    .line 660
    invoke-static {v5, p1}, Ljava/lang/Math;->min(FF)F

    move-result p1

    invoke-static {v6, p1}, Ljava/lang/Math;->max(FF)F

    move-result p1

    cmpl-float p1, p1, v2

    if-lez p1, :cond_10c

    move v1, v4

    .line 662
    :cond_10c
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked()Z

    move-result p1

    if-ne v1, p1, :cond_116

    .line 663
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->pendingCancelDragState()V

    goto :goto_152

    .line 665
    :cond_116
    iput-boolean v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked:Z

    .line 666
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->pendingSettleState()V

    goto :goto_152

    .line 668
    :cond_11c
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isPendingDragState()Z

    move-result p1

    if-eqz p1, :cond_152

    .line 670
    invoke-direct {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->pendingCancelDragState()V

    goto :goto_152

    .line 607
    :cond_126
    new-instance p1, Ljava/lang/StringBuilder;

    invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v0, "ACTION_DOWN =========== "

    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->dragFraction:F

    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-static {v3, p1}, Lio/dcloud/common/adapter/util/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 608
    iput v2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->dragFraction:F

    .line 609
    iput-boolean v4, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isTouchingDown:Z

    .line 610
    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v0

    iput-wide v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->touchDownTime:J

    .line 612
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->postPendingDrag:Ljava/lang/Runnable;

    invoke-virtual {p0, p1}, Lio/dcloud/feature/weex_switch/SwitchButton;->removeCallbacks(Ljava/lang/Runnable;)Z

    .line 614
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->postPendingDrag:Ljava/lang/Runnable;

    const-wide/16 v0, 0x64

    invoke-virtual {p0, p1, v0, v1}, Lio/dcloud/feature/weex_switch/SwitchButton;->postDelayed(Ljava/lang/Runnable;J)Z

    :cond_152
    :goto_152
    return v4
.end method

.method public setChecked(Z)V
    .registers 4
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "checked"
        }
    .end annotation

    .line 499
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isEnabled()Z

    move-result v0

    const/4 v1, 0x0

    if-nez v0, :cond_b

    iget-boolean v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isInit:Z

    if-eqz v0, :cond_1c

    .line 500
    :cond_b
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->isChecked()Z

    move-result v0

    if-ne p1, v0, :cond_17

    .line 501
    invoke-virtual {p0}, Lio/dcloud/feature/weex_switch/SwitchButton;->postInvalidate()V

    .line 502
    iput-boolean v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isInit:Z

    return-void

    .line 505
    :cond_17
    iget-boolean p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->enableEffect:Z

    invoke-direct {p0, p1, v1}, Lio/dcloud/feature/weex_switch/SwitchButton;->toggle(ZZ)V

    .line 507
    :cond_1c
    iput-boolean v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->isInit:Z

    return-void
.end method

.method public setCheckedColor(I)V
    .registers 2
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "checkedColor"
        }
    .end annotation

    .line 533
    iput p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->checkedColor:I

    return-void
.end method

.method public setEnableEffect(Z)V
    .registers 2
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "enable"
        }
    .end annotation

    .line 738
    iput-boolean p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->enableEffect:Z

    return-void
.end method

.method public setOnCheckedChangeListener(Lio/dcloud/feature/weex_switch/SwitchButton$OnCheckedChangeListener;)V
    .registers 2
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "l"
        }
    .end annotation

    .line 820
    iput-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->onCheckedChangeListener:Lio/dcloud/feature/weex_switch/SwitchButton$OnCheckedChangeListener;

    return-void
.end method

.method public final setOnClickListener(Landroid/view/View$OnClickListener;)V
    .registers 2
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "l"
        }
    .end annotation

    return-void
.end method

.method public final setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
    .registers 2
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "l"
        }
    .end annotation

    return-void
.end method

.method public final setPadding(IIII)V
    .registers 5
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0,
            0x0
        }
        names = {
            "left",
            "top",
            "right",
            "bottom"
        }
    .end annotation

    const/4 p1, 0x0

    .line 73
    invoke-super {p0, p1, p1, p1, p1}, Landroid/view/View;->setPadding(IIII)V

    return-void
.end method

.method public setShadowEffect(Z)V
    .registers 6
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "shadowEffect"
        }
    .end annotation

    .line 721
    iget-boolean v0, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowEffect:Z

    if-ne v0, p1, :cond_5

    return-void

    .line 722
    :cond_5
    iput-boolean p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowEffect:Z

    const/4 v0, 0x0

    if-eqz p1, :cond_18

    .line 725
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonPaint:Landroid/graphics/Paint;

    iget v1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowRadius:I

    int-to-float v1, v1

    iget v2, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowOffset:I

    int-to-float v2, v2

    iget v3, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->shadowColor:I

    invoke-virtual {p1, v1, v0, v2, v3}, Landroid/graphics/Paint;->setShadowLayer(FFFI)V

    goto :goto_1e

    .line 730
    :cond_18
    iget-object p1, p0, Lio/dcloud/feature/weex_switch/SwitchButton;->buttonPaint:Landroid/graphics/Paint;

    const/4 v1, 0x0

    invoke-virtual {p1, v0, v0, v0, v1}, Landroid/graphics/Paint;->setShadowLayer(FFFI)V

    :goto_1e
    return-void
.end method

.method public toggle()V
    .registers 2

    const/4 v0, 0x1

    .line 517
    invoke-virtual {p0, v0}, Lio/dcloud/feature/weex_switch/SwitchButton;->toggle(Z)V

    return-void
.end method

.method public toggle(Z)V
    .registers 3
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "animate"
        }
    .end annotation

    const/4 v0, 0x1

    .line 525
    invoke-direct {p0, p1, v0}, Lio/dcloud/feature/weex_switch/SwitchButton;->toggle(ZZ)V

    return-void
.end method