.class public Lcom/example/linechartlibrary/Axis; .super Ljava/lang/Object; .source "Axis.java" # static fields .field public static final DEFAULT_MAX_AXIS_LABEL_CHARS:I = 0x3 .field public static final DEFAULT_TEXT_SIZE_SP:I = 0xc # instance fields .field private formatter:Lcom/example/linechartlibrary/AxisValueFormatter; .field private hasLines:Z .field private hasSeparationLine:Z .field private hasTiltedLabels:Z .field private isAutoGenerated:Z .field private isInside:Z .field private lineColor:I .field private maxLabelChars:I .field private name:Ljava/lang/String; .field private separationLineColor:I .field private textColor:I .field private textSize:I .field private typeface:Landroid/graphics/Typeface; .field private values:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Lcom/example/linechartlibrary/AxisValue;", ">;" } .end annotation .end field # direct methods .method public constructor ()V .registers 4 .line 82 invoke-direct {p0}, Ljava/lang/Object;->()V const/16 v0, 0xc .line 28 iput v0, p0, Lcom/example/linechartlibrary/Axis;->textSize:I const/4 v0, 0x3 .line 32 iput v0, p0, Lcom/example/linechartlibrary/Axis;->maxLabelChars:I .line 36 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/example/linechartlibrary/Axis;->values:Ljava/util/List; const/4 v0, 0x1 .line 44 iput-boolean v0, p0, Lcom/example/linechartlibrary/Axis;->isAutoGenerated:Z const/4 v1, 0x0 .line 48 iput-boolean v1, p0, Lcom/example/linechartlibrary/Axis;->hasLines:Z .line 52 iput-boolean v1, p0, Lcom/example/linechartlibrary/Axis;->isInside:Z const v2, -0x333334 .line 56 iput v2, p0, Lcom/example/linechartlibrary/Axis;->textColor:I .line 60 sget v2, Lcom/example/linechartlibrary/ChartUtils;->DEFAULT_DARKEN_COLOR:I iput v2, p0, Lcom/example/linechartlibrary/Axis;->lineColor:I .line 61 sget v2, Lcom/example/linechartlibrary/ChartUtils;->DEFAULT_DARKEN_COLOR:I iput v2, p0, Lcom/example/linechartlibrary/Axis;->separationLineColor:I .line 70 new-instance v2, Lcom/example/linechartlibrary/SimpleAxisValueFormatter; invoke-direct {v2}, Lcom/example/linechartlibrary/SimpleAxisValueFormatter;->()V iput-object v2, p0, Lcom/example/linechartlibrary/Axis;->formatter:Lcom/example/linechartlibrary/AxisValueFormatter; .line 75 iput-boolean v0, p0, Lcom/example/linechartlibrary/Axis;->hasSeparationLine:Z .line 77 iput-boolean v1, p0, Lcom/example/linechartlibrary/Axis;->hasTiltedLabels:Z return-void .end method .method public constructor (Lcom/example/linechartlibrary/Axis;)V .registers 5 .line 92 invoke-direct {p0}, Ljava/lang/Object;->()V const/16 v0, 0xc .line 28 iput v0, p0, Lcom/example/linechartlibrary/Axis;->textSize:I const/4 v0, 0x3 .line 32 iput v0, p0, Lcom/example/linechartlibrary/Axis;->maxLabelChars:I .line 36 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/example/linechartlibrary/Axis;->values:Ljava/util/List; const/4 v0, 0x1 .line 44 iput-boolean v0, p0, Lcom/example/linechartlibrary/Axis;->isAutoGenerated:Z const/4 v1, 0x0 .line 48 iput-boolean v1, p0, Lcom/example/linechartlibrary/Axis;->hasLines:Z .line 52 iput-boolean v1, p0, Lcom/example/linechartlibrary/Axis;->isInside:Z const v2, -0x333334 .line 56 iput v2, p0, Lcom/example/linechartlibrary/Axis;->textColor:I .line 60 sget v2, Lcom/example/linechartlibrary/ChartUtils;->DEFAULT_DARKEN_COLOR:I iput v2, p0, Lcom/example/linechartlibrary/Axis;->lineColor:I .line 61 sget v2, Lcom/example/linechartlibrary/ChartUtils;->DEFAULT_DARKEN_COLOR:I iput v2, p0, Lcom/example/linechartlibrary/Axis;->separationLineColor:I .line 70 new-instance v2, Lcom/example/linechartlibrary/SimpleAxisValueFormatter; invoke-direct {v2}, Lcom/example/linechartlibrary/SimpleAxisValueFormatter;->()V iput-object v2, p0, Lcom/example/linechartlibrary/Axis;->formatter:Lcom/example/linechartlibrary/AxisValueFormatter; .line 75 iput-boolean v0, p0, Lcom/example/linechartlibrary/Axis;->hasSeparationLine:Z .line 77 iput-boolean v1, p0, Lcom/example/linechartlibrary/Axis;->hasTiltedLabels:Z .line 93 iget-object v0, p1, Lcom/example/linechartlibrary/Axis;->name:Ljava/lang/String; iput-object v0, p0, Lcom/example/linechartlibrary/Axis;->name:Ljava/lang/String; .line 94 iget-boolean v0, p1, Lcom/example/linechartlibrary/Axis;->isAutoGenerated:Z iput-boolean v0, p0, Lcom/example/linechartlibrary/Axis;->isAutoGenerated:Z .line 95 iget-boolean v0, p1, Lcom/example/linechartlibrary/Axis;->hasLines:Z iput-boolean v0, p0, Lcom/example/linechartlibrary/Axis;->hasLines:Z .line 96 iget-boolean v0, p1, Lcom/example/linechartlibrary/Axis;->isInside:Z iput-boolean v0, p0, Lcom/example/linechartlibrary/Axis;->isInside:Z .line 97 iget v0, p1, Lcom/example/linechartlibrary/Axis;->textColor:I iput v0, p0, Lcom/example/linechartlibrary/Axis;->textColor:I .line 98 iget v0, p1, Lcom/example/linechartlibrary/Axis;->lineColor:I iput v0, p0, Lcom/example/linechartlibrary/Axis;->lineColor:I .line 99 iget v0, p1, Lcom/example/linechartlibrary/Axis;->textSize:I iput v0, p0, Lcom/example/linechartlibrary/Axis;->textSize:I .line 100 iget v0, p1, Lcom/example/linechartlibrary/Axis;->maxLabelChars:I iput v0, p0, Lcom/example/linechartlibrary/Axis;->maxLabelChars:I .line 101 iget-object v0, p1, Lcom/example/linechartlibrary/Axis;->typeface:Landroid/graphics/Typeface; iput-object v0, p0, Lcom/example/linechartlibrary/Axis;->typeface:Landroid/graphics/Typeface; .line 102 iget-object v0, p1, Lcom/example/linechartlibrary/Axis;->formatter:Lcom/example/linechartlibrary/AxisValueFormatter; iput-object v0, p0, Lcom/example/linechartlibrary/Axis;->formatter:Lcom/example/linechartlibrary/AxisValueFormatter; .line 103 iget-boolean v0, p1, Lcom/example/linechartlibrary/Axis;->hasSeparationLine:Z iput-boolean v0, p0, Lcom/example/linechartlibrary/Axis;->hasSeparationLine:Z .line 105 iget-object p1, p1, Lcom/example/linechartlibrary/Axis;->values:Ljava/util/List; invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_63 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_7a invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/example/linechartlibrary/AxisValue; .line 106 iget-object v1, p0, Lcom/example/linechartlibrary/Axis;->values:Ljava/util/List; new-instance v2, Lcom/example/linechartlibrary/AxisValue; invoke-direct {v2, v0}, Lcom/example/linechartlibrary/AxisValue;->(Lcom/example/linechartlibrary/AxisValue;)V invoke-interface {v1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_63 :cond_7a return-void .end method .method public constructor (Ljava/util/List;)V .registers 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Lcom/example/linechartlibrary/AxisValue;", ">;)V" } .end annotation .line 88 invoke-direct {p0}, Ljava/lang/Object;->()V const/16 v0, 0xc .line 28 iput v0, p0, Lcom/example/linechartlibrary/Axis;->textSize:I const/4 v0, 0x3 .line 32 iput v0, p0, Lcom/example/linechartlibrary/Axis;->maxLabelChars:I .line 36 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/example/linechartlibrary/Axis;->values:Ljava/util/List; const/4 v0, 0x1 .line 44 iput-boolean v0, p0, Lcom/example/linechartlibrary/Axis;->isAutoGenerated:Z const/4 v1, 0x0 .line 48 iput-boolean v1, p0, Lcom/example/linechartlibrary/Axis;->hasLines:Z .line 52 iput-boolean v1, p0, Lcom/example/linechartlibrary/Axis;->isInside:Z const v2, -0x333334 .line 56 iput v2, p0, Lcom/example/linechartlibrary/Axis;->textColor:I .line 60 sget v2, Lcom/example/linechartlibrary/ChartUtils;->DEFAULT_DARKEN_COLOR:I iput v2, p0, Lcom/example/linechartlibrary/Axis;->lineColor:I .line 61 sget v2, Lcom/example/linechartlibrary/ChartUtils;->DEFAULT_DARKEN_COLOR:I iput v2, p0, Lcom/example/linechartlibrary/Axis;->separationLineColor:I .line 70 new-instance v2, Lcom/example/linechartlibrary/SimpleAxisValueFormatter; invoke-direct {v2}, Lcom/example/linechartlibrary/SimpleAxisValueFormatter;->()V iput-object v2, p0, Lcom/example/linechartlibrary/Axis;->formatter:Lcom/example/linechartlibrary/AxisValueFormatter; .line 75 iput-boolean v0, p0, Lcom/example/linechartlibrary/Axis;->hasSeparationLine:Z .line 77 iput-boolean v1, p0, Lcom/example/linechartlibrary/Axis;->hasTiltedLabels:Z .line 89 invoke-virtual {p0, p1}, Lcom/example/linechartlibrary/Axis;->setValues(Ljava/util/List;)Lcom/example/linechartlibrary/Axis; return-void .end method .method public static generateAxisFromCollection(Ljava/util/List;)Lcom/example/linechartlibrary/Axis; .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Ljava/lang/Float;", ">;)", "Lcom/example/linechartlibrary/Axis;" } .end annotation .line 129 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V .line 131 invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object p0 :goto_9 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_22 invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/Float; invoke-virtual {v1}, Ljava/lang/Float;->floatValue()F move-result v1 .line 132 new-instance v2, Lcom/example/linechartlibrary/AxisValue; invoke-direct {v2, v1}, Lcom/example/linechartlibrary/AxisValue;->(F)V .line 133 invoke-interface {v0, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_9 .line 137 :cond_22 new-instance p0, Lcom/example/linechartlibrary/Axis; invoke-direct {p0, v0}, Lcom/example/linechartlibrary/Axis;->(Ljava/util/List;)V return-object p0 .end method .method public static generateAxisFromCollection(Ljava/util/List;Ljava/util/List;)Lcom/example/linechartlibrary/Axis; .registers 6 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Ljava/lang/Float;", ">;", "Ljava/util/List<", "Ljava/lang/String;", ">;)", "Lcom/example/linechartlibrary/Axis;" } .end annotation .line 145 invoke-interface {p0}, Ljava/util/List;->size()I move-result v0 invoke-interface {p1}, Ljava/util/List;->size()I move-result v1 if-ne v0, v1, :cond_3f .line 149 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V .line 151 invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object p0 const/4 v1, 0x0 :goto_14 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_39 invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/lang/Float; invoke-virtual {v2}, Ljava/lang/Float;->floatValue()F move-result v2 .line 152 new-instance v3, Lcom/example/linechartlibrary/AxisValue; invoke-direct {v3, v2}, Lcom/example/linechartlibrary/AxisValue;->(F)V invoke-interface {p1, v1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/lang/String; invoke-virtual {v3, v2}, Lcom/example/linechartlibrary/AxisValue;->setLabel(Ljava/lang/String;)Lcom/example/linechartlibrary/AxisValue; move-result-object v2 .line 153 invoke-interface {v0, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z add-int/lit8 v1, v1, 0x1 goto :goto_14 .line 157 :cond_39 new-instance p0, Lcom/example/linechartlibrary/Axis; invoke-direct {p0, v0}, Lcom/example/linechartlibrary/Axis;->(Ljava/util/List;)V return-object p0 .line 146 :cond_3f new-instance p0, Ljava/lang/IllegalArgumentException; const-string p1, "Values and labels lists must have the same size!" invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p0 .end method .method public static generateAxisFromRange(FFF)Lcom/example/linechartlibrary/Axis; .registers 5 .line 115 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V :goto_5 cmpg-float v1, p0, p1 if-gtz v1, :cond_13 .line 117 new-instance v1, Lcom/example/linechartlibrary/AxisValue; invoke-direct {v1, p0}, Lcom/example/linechartlibrary/AxisValue;->(F)V .line 118 invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z add-float/2addr p0, p2 goto :goto_5 .line 121 :cond_13 new-instance p0, Lcom/example/linechartlibrary/Axis; invoke-direct {p0, v0}, Lcom/example/linechartlibrary/Axis;->(Ljava/util/List;)V return-object p0 .end method # virtual methods .method public getFormatter()Lcom/example/linechartlibrary/AxisValueFormatter; .registers 2 .line 273 iget-object v0, p0, Lcom/example/linechartlibrary/Axis;->formatter:Lcom/example/linechartlibrary/AxisValueFormatter; return-object v0 .end method .method public getHasSeparationLineColor()I .registers 2 .line 297 iget v0, p0, Lcom/example/linechartlibrary/Axis;->separationLineColor:I return v0 .end method .method public getLineColor()I .registers 2 .line 229 iget v0, p0, Lcom/example/linechartlibrary/Axis;->lineColor:I return v0 .end method .method public getMaxLabelChars()I .registers 2 .line 247 iget v0, p0, Lcom/example/linechartlibrary/Axis;->maxLabelChars:I return v0 .end method .method public getName()Ljava/lang/String; .registers 2 .line 177 iget-object v0, p0, Lcom/example/linechartlibrary/Axis;->name:Ljava/lang/String; return-object v0 .end method .method public getTextColor()I .registers 2 .line 204 iget v0, p0, Lcom/example/linechartlibrary/Axis;->textColor:I return v0 .end method .method public getTextSize()I .registers 2 .line 238 iget v0, p0, Lcom/example/linechartlibrary/Axis;->textSize:I return v0 .end method .method public getTypeface()Landroid/graphics/Typeface; .registers 2 .line 264 iget-object v0, p0, Lcom/example/linechartlibrary/Axis;->typeface:Landroid/graphics/Typeface; return-object v0 .end method .method public getValues()Ljava/util/List; .registers 2 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Lcom/example/linechartlibrary/AxisValue;", ">;" } .end annotation .line 162 iget-object v0, p0, Lcom/example/linechartlibrary/Axis;->values:Ljava/util/List; return-object v0 .end method .method public hasLines()Z .registers 2 .line 195 iget-boolean v0, p0, Lcom/example/linechartlibrary/Axis;->hasLines:Z return v0 .end method .method public hasSeparationLine()Z .registers 2 .line 300 iget-boolean v0, p0, Lcom/example/linechartlibrary/Axis;->hasSeparationLine:Z return v0 .end method .method public hasTiltedLabels()Z .registers 2 .line 304 iget-boolean v0, p0, Lcom/example/linechartlibrary/Axis;->hasTiltedLabels:Z return v0 .end method .method public isAutoGenerated()Z .registers 2 .line 186 iget-boolean v0, p0, Lcom/example/linechartlibrary/Axis;->isAutoGenerated:Z return v0 .end method .method public isInside()Z .registers 2 .line 216 iget-boolean v0, p0, Lcom/example/linechartlibrary/Axis;->isInside:Z return v0 .end method .method public setAutoGenerated(Z)Lcom/example/linechartlibrary/Axis; .registers 2 .line 190 iput-boolean p1, p0, Lcom/example/linechartlibrary/Axis;->isAutoGenerated:Z return-object p0 .end method .method public setFormatter(Lcom/example/linechartlibrary/AxisValueFormatter;)Lcom/example/linechartlibrary/Axis; .registers 2 if-nez p1, :cond_a .line 278 new-instance p1, Lcom/example/linechartlibrary/SimpleAxisValueFormatter; invoke-direct {p1}, Lcom/example/linechartlibrary/SimpleAxisValueFormatter;->()V iput-object p1, p0, Lcom/example/linechartlibrary/Axis;->formatter:Lcom/example/linechartlibrary/AxisValueFormatter; goto :goto_c .line 280 :cond_a iput-object p1, p0, Lcom/example/linechartlibrary/Axis;->formatter:Lcom/example/linechartlibrary/AxisValueFormatter; :goto_c return-object p0 .end method .method public setHasLines(Z)Lcom/example/linechartlibrary/Axis; .registers 2 .line 199 iput-boolean p1, p0, Lcom/example/linechartlibrary/Axis;->hasLines:Z return-object p0 .end method .method public setHasSeparationLine(Z)Lcom/example/linechartlibrary/Axis; .registers 2 .line 289 iput-boolean p1, p0, Lcom/example/linechartlibrary/Axis;->hasSeparationLine:Z return-object p0 .end method .method public setHasSeparationLineColor(I)Lcom/example/linechartlibrary/Axis; .registers 2 .line 293 iput p1, p0, Lcom/example/linechartlibrary/Axis;->separationLineColor:I return-object p0 .end method .method public setHasTiltedLabels(Z)Lcom/example/linechartlibrary/Axis; .registers 2 .line 308 iput-boolean p1, p0, Lcom/example/linechartlibrary/Axis;->hasTiltedLabels:Z return-object p0 .end method .method public setInside(Z)Lcom/example/linechartlibrary/Axis; .registers 2 .line 224 iput-boolean p1, p0, Lcom/example/linechartlibrary/Axis;->isInside:Z return-object p0 .end method .method public setLineColor(I)Lcom/example/linechartlibrary/Axis; .registers 2 .line 233 iput p1, p0, Lcom/example/linechartlibrary/Axis;->lineColor:I return-object p0 .end method .method public setMaxLabelChars(I)Lcom/example/linechartlibrary/Axis; .registers 3 if-gez p1, :cond_4 const/4 p1, 0x0 goto :goto_9 :cond_4 const/16 v0, 0x20 if-le p1, v0, :cond_9 move p1, v0 .line 259 :cond_9 :goto_9 iput p1, p0, Lcom/example/linechartlibrary/Axis;->maxLabelChars:I return-object p0 .end method .method public setName(Ljava/lang/String;)Lcom/example/linechartlibrary/Axis; .registers 2 .line 181 iput-object p1, p0, Lcom/example/linechartlibrary/Axis;->name:Ljava/lang/String; return-object p0 .end method .method public setTextColor(I)Lcom/example/linechartlibrary/Axis; .registers 2 .line 208 iput p1, p0, Lcom/example/linechartlibrary/Axis;->textColor:I return-object p0 .end method .method public setTextSize(I)Lcom/example/linechartlibrary/Axis; .registers 2 .line 242 iput p1, p0, Lcom/example/linechartlibrary/Axis;->textSize:I return-object p0 .end method .method public setTypeface(Landroid/graphics/Typeface;)Lcom/example/linechartlibrary/Axis; .registers 2 .line 268 iput-object p1, p0, Lcom/example/linechartlibrary/Axis;->typeface:Landroid/graphics/Typeface; return-object p0 .end method .method public setValues(Ljava/util/List;)Lcom/example/linechartlibrary/Axis; .registers 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Lcom/example/linechartlibrary/AxisValue;", ">;)", "Lcom/example/linechartlibrary/Axis;" } .end annotation if-nez p1, :cond_a .line 167 new-instance p1, Ljava/util/ArrayList; invoke-direct {p1}, Ljava/util/ArrayList;->()V iput-object p1, p0, Lcom/example/linechartlibrary/Axis;->values:Ljava/util/List; goto :goto_c .line 169 :cond_a iput-object p1, p0, Lcom/example/linechartlibrary/Axis;->values:Ljava/util/List; :goto_c const/4 p1, 0x0 .line 172 iput-boolean p1, p0, Lcom/example/linechartlibrary/Axis;->isAutoGenerated:Z return-object p0 .end method