SectionedBarView.smali

.class public final Lcom/avast/android/cleaner/view/chart/SectionedBarView;
.super Landroid/view/View;


# instance fields
.field private final f:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Lcom/avast/android/cleaner/view/chart/Section;",
            ">;"
        }
    .end annotation
.end field

.field private final g:Landroid/graphics/Paint;

.field private final h:Lcom/avast/android/cleaner/view/chart/RoundedCornerRadii;

.field private final i:Landroid/graphics/RectF;

.field private final j:Landroid/graphics/Path;

.field private k:Landroid/graphics/drawable/Drawable;

.field private l:F

.field private m:I


# direct methods
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
    .registers 4

    const/4 v0, 0x0

    invoke-direct {p0, p1, p2, v0}, Lcom/avast/android/cleaner/view/chart/SectionedBarView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
    .registers 5

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

    new-instance p3, Ljava/util/ArrayList;

    invoke-direct {p3}, Ljava/util/ArrayList;-><init>()V

    iput-object p3, p0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->f:Ljava/util/List;

    new-instance p3, Landroid/graphics/Paint;

    const/4 v0, 0x1

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

    iput-object p3, p0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->g:Landroid/graphics/Paint;

    new-instance p3, Lcom/avast/android/cleaner/view/chart/RoundedCornerRadii;

    invoke-direct {p3}, Lcom/avast/android/cleaner/view/chart/RoundedCornerRadii;-><init>()V

    iput-object p3, p0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->h:Lcom/avast/android/cleaner/view/chart/RoundedCornerRadii;

    new-instance p3, Landroid/graphics/RectF;

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

    iput-object p3, p0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->i:Landroid/graphics/RectF;

    new-instance p3, Landroid/graphics/Path;

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

    iput-object p3, p0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->j:Landroid/graphics/Path;

    invoke-direct {p0, p1, p2}, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->a(Landroid/content/Context;Landroid/util/AttributeSet;)V

    return-void
.end method

.method private a(Landroid/content/Context;Landroid/util/AttributeSet;)V
    .registers 7

    const/4 v3, 0x4

    sget-object v0, Lcom/avast/android/cleaner/R$styleable;->SectionedBarView:[I

    const/4 v1, 0x2

    const/4 v1, 0x0

    const/4 v3, 0x7

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

    move-result-object v0

    const/4 v2, 0x5

    const/4 v2, 0x1

    :try_start_c
    const/4 v3, 0x1

    invoke-virtual {v0, v2, v1}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I

    move-result v2

    const/4 v3, 0x4

    int-to-float v2, v2

    const/4 v3, 0x7

    iput v2, p0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->l:F

    const/4 v3, 0x5

    invoke-virtual {v0, v1, v1}, Landroid/content/res/TypedArray;->getColor(II)I

    move-result v1

    const/4 v3, 0x4

    iput v1, p0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->m:I
    :try_end_1e
    .catchall {:try_start_c .. :try_end_1e} :catchall_2d

    const/4 v3, 0x5

    invoke-virtual {v0}, Landroid/content/res/TypedArray;->recycle()V

    const/4 v3, 0x0

    iget-object v0, p0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->h:Lcom/avast/android/cleaner/view/chart/RoundedCornerRadii;

    invoke-virtual {v0, p1, p2}, Lcom/avast/android/cleaner/view/chart/RoundedCornerRadii;->b(Landroid/content/Context;Landroid/util/AttributeSet;)V

    const/4 v3, 0x6

    invoke-direct {p0}, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->b()V

    return-void

    :catchall_2d
    move-exception p1

    invoke-virtual {v0}, Landroid/content/res/TypedArray;->recycle()V

    throw p1
.end method

.method private b()V
    .registers 5

    invoke-virtual {p0}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;

    move-result-object v0

    const/4 v3, 0x0

    if-nez v0, :cond_1f

    const/4 v3, 0x7

    new-instance v0, Landroid/graphics/drawable/ColorDrawable;

    invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;

    move-result-object v1

    const/4 v3, 0x2

    const v2, 0x1010031

    const/4 v3, 0x5

    invoke-static {v1, v2}, Lcom/avast/android/cleaner/util/AttrUtil;->b(Landroid/content/Context;I)I

    move-result v1

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

    const/4 v3, 0x1

    iput-object v0, p0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->k:Landroid/graphics/drawable/Drawable;

    const/4 v3, 0x2

    goto :goto_2b

    :cond_1f
    invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;

    move-result-object v0

    const/4 v3, 0x3

    invoke-virtual {v0}, Landroid/graphics/drawable/Drawable$ConstantState;->newDrawable()Landroid/graphics/drawable/Drawable;

    move-result-object v0

    const/4 v3, 0x0

    iput-object v0, p0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->k:Landroid/graphics/drawable/Drawable;

    :goto_2b
    invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;

    move-result-object v0

    const v1, 0x7f06028f

    const/4 v3, 0x3

    invoke-static {v0, v1}, Landroidx/core/content/ContextCompat;->d(Landroid/content/Context;I)I

    move-result v0

    const/4 v3, 0x1

    invoke-virtual {p0, v0}, Landroid/view/View;->setBackgroundColor(I)V

    return-void
.end method

.method private getTotalDividerSizeInPx()F
    .registers 6

    invoke-direct {p0}, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->getVisibleSectionCount()I

    move-result v0

    const/4 v4, 0x4

    const/4 v1, 0x1

    sub-int/2addr v0, v1

    const/4 v4, 0x0

    const/4 v2, 0x0

    if-lez v0, :cond_14

    iget v3, p0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->l:F

    cmpl-float v3, v3, v2

    const/4 v4, 0x1

    if-lez v3, :cond_14

    const/4 v4, 0x1

    goto :goto_15

    :cond_14
    const/4 v1, 0x0

    :goto_15
    const/4 v4, 0x1

    if-eqz v1, :cond_1f

    int-to-float v0, v0

    const/4 v4, 0x4

    iget v1, p0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->l:F

    mul-float v0, v0, v1

    return v0

    :cond_1f
    const/4 v4, 0x5

    return v2
.end method

.method private getVisibleSectionCount()I
    .registers 6

    const/4 v4, 0x0

    iget-object v0, p0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->f:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v0

    const/4 v4, 0x4

    const/4 v1, 0x0

    :cond_9
    :goto_9
    const/4 v4, 0x4

    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    const/4 v4, 0x7

    if-eqz v2, :cond_29

    const/4 v4, 0x2

    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    const/4 v4, 0x7

    check-cast v2, Lcom/avast/android/cleaner/view/chart/Section;

    invoke-virtual {v2}, Lcom/avast/android/cleaner/view/chart/Section;->b()F

    move-result v2

    const/4 v4, 0x5

    const/4 v3, 0x0

    const/4 v4, 0x2

    cmpl-float v2, v2, v3

    const/4 v4, 0x7

    if-lez v2, :cond_9

    const/4 v4, 0x7

    add-int/lit8 v1, v1, 0x1

    goto :goto_9

    :cond_29
    const/4 v4, 0x6

    return v1
.end method


# virtual methods
.method protected onDraw(Landroid/graphics/Canvas;)V
    .registers 19

    move-object/from16 v0, p0

    move-object/from16 v7, p1

    invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getPaddingLeft()I

    move-result v1

    invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getWidth()I

    move-result v2

    add-int/2addr v2, v1

    invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getPaddingRight()I

    move-result v3

    sub-int v8, v2, v3

    invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getPaddingTop()I

    move-result v2

    invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getHeight()I

    move-result v3

    invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getPaddingBottom()I

    move-result v4

    sub-int/2addr v3, v4

    sub-int v4, v8, v1

    int-to-float v4, v4

    invoke-direct/range {p0 .. p0}, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->getTotalDividerSizeInPx()F

    move-result v5

    sub-float/2addr v4, v5

    float-to-int v9, v4

    iget-object v4, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->i:Landroid/graphics/RectF;

    int-to-float v5, v1

    int-to-float v10, v2

    int-to-float v11, v8

    int-to-float v12, v3

    invoke-virtual {v4, v5, v10, v11, v12}, Landroid/graphics/RectF;->set(FFFF)V

    iget-object v4, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->j:Landroid/graphics/Path;

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

    iget-object v4, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->j:Landroid/graphics/Path;

    iget-object v6, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->i:Landroid/graphics/RectF;

    iget-object v13, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->h:Lcom/avast/android/cleaner/view/chart/RoundedCornerRadii;

    invoke-virtual {v13}, Lcom/avast/android/cleaner/view/chart/RoundedCornerRadii;->a()[F

    move-result-object v13

    sget-object v14, Landroid/graphics/Path$Direction;->CW:Landroid/graphics/Path$Direction;

    invoke-virtual {v4, v6, v13, v14}, Landroid/graphics/Path;->addRoundRect(Landroid/graphics/RectF;[FLandroid/graphics/Path$Direction;)V

    iget-object v4, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->j:Landroid/graphics/Path;

    invoke-virtual {v7, v4}, Landroid/graphics/Canvas;->clipPath(Landroid/graphics/Path;)Z

    iget-object v4, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->k:Landroid/graphics/drawable/Drawable;

    invoke-virtual {v4, v1, v2, v8, v3}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V

    iget-object v1, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->k:Landroid/graphics/drawable/Drawable;

    invoke-virtual {v1, v7}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V

    iget-object v1, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->f:Ljava/util/List;

    invoke-interface {v1}, Ljava/util/List;->isEmpty()Z

    move-result v1

    if-eqz v1, :cond_5e

    return-void

    :cond_5e
    const/4 v13, 0x0

    move v2, v5

    const/4 v14, 0x0

    :goto_61
    iget-object v1, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->f:Ljava/util/List;

    invoke-interface {v1}, Ljava/util/List;->size()I

    move-result v1

    if-ge v14, v1, :cond_de

    iget-object v1, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->f:Ljava/util/List;

    invoke-interface {v1, v14}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/avast/android/cleaner/view/chart/Section;

    int-to-float v3, v9

    invoke-virtual {v1}, Lcom/avast/android/cleaner/view/chart/Section;->b()F

    move-result v4

    mul-float v15, v3, v4

    add-float v3, v2, v15

    add-int/lit8 v4, v8, -0x2

    int-to-float v4, v4

    cmpl-float v4, v3, v4

    if-lez v4, :cond_86

    move/from16 v16, v11

    move/from16 v16, v11

    goto :goto_8a

    :cond_86
    move/from16 v16, v3

    move/from16 v16, v3

    :goto_8a
    iget-object v3, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->g:Landroid/graphics/Paint;

    invoke-virtual {v1}, Lcom/avast/android/cleaner/view/chart/Section;->a()I

    move-result v1

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

    iget-object v6, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->g:Landroid/graphics/Paint;

    move-object/from16 v1, p1

    move v3, v10

    move/from16 v4, v16

    move v5, v12

    move v5, v12

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

    iget-object v1, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->f:Ljava/util/List;

    invoke-interface {v1}, Ljava/util/List;->size()I

    move-result v1

    const/4 v2, 0x1

    sub-int/2addr v1, v2

    if-ge v14, v1, :cond_b5

    iget v1, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->l:F

    const/4 v3, 0x0

    cmpl-float v1, v1, v3

    if-lez v1, :cond_b5

    cmpl-float v1, v15, v3

    if-lez v1, :cond_b5

    goto :goto_b6

    :cond_b5
    const/4 v2, 0x0

    :goto_b6
    if-eqz v2, :cond_d7

    iget-object v1, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->g:Landroid/graphics/Paint;

    iget v2, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->m:I

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

    iget v1, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->l:F

    add-float v15, v16, v1

    iget-object v6, v0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->g:Landroid/graphics/Paint;

    move-object/from16 v1, p1

    move-object/from16 v1, p1

    move/from16 v2, v16

    move/from16 v2, v16

    move v3, v10

    move v4, v15

    move v4, v15

    move v5, v12

    move v5, v12

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

    move v2, v15

    goto :goto_db

    :cond_d7
    move/from16 v2, v16

    move/from16 v2, v16

    :goto_db
    add-int/lit8 v14, v14, 0x1

    goto :goto_61

    :cond_de
    return-void
.end method

.method protected onMeasure(II)V
    .registers 5

    invoke-virtual {p0}, Landroid/view/View;->getSuggestedMinimumWidth()I

    move-result v0

    const/4 v1, 0x6

    invoke-static {v0, p1}, Landroid/view/View;->getDefaultSize(II)I

    move-result p1

    const/4 v1, 0x5

    invoke-virtual {p0}, Landroid/view/View;->getSuggestedMinimumHeight()I

    move-result v0

    invoke-static {v0, p2}, Landroid/view/View;->getDefaultSize(II)I

    move-result p2

    const/4 v1, 0x3

    invoke-virtual {p0, p1, p2}, Landroid/view/View;->setMeasuredDimension(II)V

    return-void
.end method

.method public setSections(Ljava/util/List;)V
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List<",
            "Lcom/avast/android/cleaner/view/chart/Section;",
            ">;)V"
        }
    .end annotation

    iget-object v0, p0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->f:Ljava/util/List;

    const/4 v1, 0x2

    invoke-interface {v0}, Ljava/util/List;->clear()V

    iget-object v0, p0, Lcom/avast/android/cleaner/view/chart/SectionedBarView;->f:Ljava/util/List;

    invoke-interface {v0, p1}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z

    const/4 v1, 0x0

    invoke-virtual {p0}, Landroid/view/View;->invalidate()V

    const/4 v1, 0x2

    return-void
.end method