.class public Lcom/example/linechartlibrary/ValueFormatterHelper; .super Ljava/lang/Object; .source "ValueFormatterHelper.java" # static fields .field public static final DEFAULT_DIGITS_NUMBER:I = 0x0 .field private static final TAG:Ljava/lang/String; = "ValueFormatterHelper" # instance fields .field private appendedText:[C .field private decimalDigitsNumber:I .field private decimalSeparator:C .field private prependedText:[C # direct methods .method public constructor ()V .registers 3 .line 14 invoke-direct {p0}, Ljava/lang/Object;->()V const/high16 v0, -0x80000000 .line 17 iput v0, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->decimalDigitsNumber:I const/4 v0, 0x0 .line 18 new-array v1, v0, [C iput-object v1, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->appendedText:[C .line 19 new-array v0, v0, [C iput-object v0, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->prependedText:[C const/16 v0, 0x2e .line 20 iput-char v0, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->decimalSeparator:C return-void .end method # virtual methods .method public appendText([C)V .registers 6 .line 123 iget-object v0, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->appendedText:[C array-length v1, v0 if-lez v1, :cond_d .line 124 array-length v1, p1 array-length v2, v0 sub-int/2addr v1, v2 array-length v2, v0 const/4 v3, 0x0 invoke-static {v0, v3, p1, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V :cond_d return-void .end method .method public determineDecimalSeparator()V .registers 3 .line 23 invoke-static {}, Ljava/text/NumberFormat;->getInstance()Ljava/text/NumberFormat; move-result-object v0 .line 24 instance-of v1, v0, Ljava/text/DecimalFormat; if-eqz v1, :cond_14 .line 25 check-cast v0, Ljava/text/DecimalFormat; invoke-virtual {v0}, Ljava/text/DecimalFormat;->getDecimalFormatSymbols()Ljava/text/DecimalFormatSymbols; move-result-object v0 invoke-virtual {v0}, Ljava/text/DecimalFormatSymbols;->getDecimalSeparator()C move-result v0 iput-char v0, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->decimalSeparator:C :cond_14 return-void .end method .method public formatFloatValue([CFI)I .registers 6 .line 117 array-length v0, p1 iget-object v1, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->appendedText:[C array-length v1, v1 sub-int/2addr v0, v1 iget-char v1, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->decimalSeparator:C invoke-static {p1, p2, v0, p3, v1}, Lcom/example/linechartlibrary/FloatUtils;->formatFloat([CFIIC)I move-result p1 return p1 .end method .method public formatFloatValueWithPrependedAndAppendedText([CFI)I .registers 5 const/4 v0, 0x0 .line 113 invoke-virtual {p0, p1, p2, p3, v0}, Lcom/example/linechartlibrary/ValueFormatterHelper;->formatFloatValueWithPrependedAndAppendedText([CFI[C)I move-result p1 return p1 .end method .method public formatFloatValueWithPrependedAndAppendedText([CFI[C)I .registers 6 if-eqz p4, :cond_15 .line 85 array-length p2, p4 .line 86 array-length p3, p1 if-le p2, p3, :cond_e .line 87 const-string p2, "ValueFormatterHelper" const-string p3, "Label length is larger than buffer size(64chars), some chars will be skipped!" invoke-static {p2, p3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I .line 88 array-length p2, p1 .line 90 :cond_e array-length p3, p1 sub-int/2addr p3, p2 const/4 v0, 0x0 invoke-static {p4, v0, p1, p3, p2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V return p2 .line 94 :cond_15 invoke-virtual {p0, p3}, Lcom/example/linechartlibrary/ValueFormatterHelper;->getAppliedDecimalDigitsNumber(I)I move-result p3 .line 95 invoke-virtual {p0, p1, p2, p3}, Lcom/example/linechartlibrary/ValueFormatterHelper;->formatFloatValue([CFI)I move-result p2 .line 96 invoke-virtual {p0, p1}, Lcom/example/linechartlibrary/ValueFormatterHelper;->appendText([C)V .line 97 invoke-virtual {p0, p1, p2}, Lcom/example/linechartlibrary/ValueFormatterHelper;->prependText([CI)V .line 98 invoke-virtual {p0}, Lcom/example/linechartlibrary/ValueFormatterHelper;->getPrependedText()[C move-result-object p1 array-length p1, p1 add-int/2addr p2, p1 invoke-virtual {p0}, Lcom/example/linechartlibrary/ValueFormatterHelper;->getAppendedText()[C move-result-object p1 array-length p1, p1 add-int/2addr p2, p1 return p2 .end method .method public formatFloatValueWithPrependedAndAppendedText([CF[C)I .registers 5 const/4 v0, 0x0 .line 105 invoke-virtual {p0, p1, p2, v0, p3}, Lcom/example/linechartlibrary/ValueFormatterHelper;->formatFloatValueWithPrependedAndAppendedText([CFI[C)I move-result p1 return p1 .end method .method public getAppendedText()[C .registers 2 .line 39 iget-object v0, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->appendedText:[C return-object v0 .end method .method public getAppliedDecimalDigitsNumber(I)I .registers 3 .line 138 iget v0, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->decimalDigitsNumber:I if-gez v0, :cond_5 goto :goto_6 :cond_5 move p1, v0 :goto_6 return p1 .end method .method public getDecimalDigitsNumber()I .registers 2 .line 30 iget v0, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->decimalDigitsNumber:I return v0 .end method .method public getDecimalSeparator()C .registers 2 .line 61 iget-char v0, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->decimalSeparator:C return v0 .end method .method public getPrependedText()[C .registers 2 .line 50 iget-object v0, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->prependedText:[C return-object v0 .end method .method public prependText([CI)V .registers 6 .line 130 iget-object v0, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->prependedText:[C array-length v1, v0 if-lez v1, :cond_12 .line 131 array-length v1, p1 sub-int/2addr v1, p2 iget-object p2, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->appendedText:[C array-length p2, p2 sub-int/2addr v1, p2 array-length p2, v0 sub-int/2addr v1, p2 array-length p2, v0 const/4 v2, 0x0 invoke-static {v0, v2, p1, v1, p2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V :cond_12 return-void .end method .method public setAppendedText([C)Lcom/example/linechartlibrary/ValueFormatterHelper; .registers 2 if-eqz p1, :cond_4 .line 44 iput-object p1, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->appendedText:[C :cond_4 return-object p0 .end method .method public setDecimalDigitsNumber(I)Lcom/example/linechartlibrary/ValueFormatterHelper; .registers 2 .line 34 iput p1, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->decimalDigitsNumber:I return-object p0 .end method .method public setDecimalSeparator(C)Lcom/example/linechartlibrary/ValueFormatterHelper; .registers 2 if-eqz p1, :cond_4 .line 67 iput-char p1, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->decimalSeparator:C :cond_4 return-object p0 .end method .method public setPrependedText([C)Lcom/example/linechartlibrary/ValueFormatterHelper; .registers 2 if-eqz p1, :cond_4 .line 55 iput-object p1, p0, Lcom/example/linechartlibrary/ValueFormatterHelper;->prependedText:[C :cond_4 return-object p0 .end method