VisualizerView.smali
.class public Lcom/imo/android/imoim/views/VisualizerView;
.super Landroid/view/View;
.source "SourceFile"
# instance fields
.field public a:Z
.field private b:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private c:Z
.field private d:Landroid/graphics/Paint;
.field private e:Landroid/graphics/Paint;
.field private f:I
.field private g:I
.field private h:I
.field private i:I
.field private j:I
.field private k:I
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
.line 40
invoke-direct {p0, p1}, Landroid/view/View;-><init>(Landroid/content/Context;)V
.line 28
new-instance p1, Landroid/graphics/Paint;
invoke-direct {p1}, Landroid/graphics/Paint;-><init>()V
iput-object p1, p0, Lcom/imo/android/imoim/views/VisualizerView;->d:Landroid/graphics/Paint;
.line 29
new-instance p1, Landroid/graphics/Paint;
invoke-direct {p1}, Landroid/graphics/Paint;-><init>()V
iput-object p1, p0, Lcom/imo/android/imoim/views/VisualizerView;->e:Landroid/graphics/Paint;
const/4 p1, 0x0
.line 33
iput p1, p0, Lcom/imo/android/imoim/views/VisualizerView;->i:I
.line 35
iput-boolean p1, p0, Lcom/imo/android/imoim/views/VisualizerView;->a:Z
const/4 p1, 0x3
.line 36
invoke-static {p1}, Lcom/imo/android/imoim/util/ay;->a(I)I
move-result p1
iput p1, p0, Lcom/imo/android/imoim/views/VisualizerView;->j:I
const/4 p1, 0x2
.line 37
invoke-static {p1}, Lcom/imo/android/imoim/util/ay;->a(I)I
move-result p1
iput p1, p0, Lcom/imo/android/imoim/views/VisualizerView;->k:I
.line 41
invoke-static {}, Lcom/imo/android/imoim/IMO;->a()Lcom/imo/android/imoim/IMO;
move-result-object p1
invoke-virtual {p1}, Lcom/imo/android/imoim/IMO;->getResources()Landroid/content/res/Resources;
move-result-object p1
const v0, 0x7f060023
.line 42
invoke-virtual {p1, v0}, Landroid/content/res/Resources;->getColor(I)I
move-result p1
iput p1, p0, Lcom/imo/android/imoim/views/VisualizerView;->g:I
.line 43
invoke-static {}, Lcom/imo/android/imoim/IMO;->a()Lcom/imo/android/imoim/IMO;
move-result-object p1
invoke-virtual {p1}, Lcom/imo/android/imoim/IMO;->getResources()Landroid/content/res/Resources;
move-result-object p1
const v0, 0x7f060021
.line 44
invoke-virtual {p1, v0}, Landroid/content/res/Resources;->getColor(I)I
move-result p1
iput p1, p0, Lcom/imo/android/imoim/views/VisualizerView;->h:I
.line 45
invoke-direct {p0}, Lcom/imo/android/imoim/views/VisualizerView;->b()V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 5
.line 49
invoke-direct {p0, p1, p2}, Landroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 28
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lcom/imo/android/imoim/views/VisualizerView;->d:Landroid/graphics/Paint;
.line 29
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lcom/imo/android/imoim/views/VisualizerView;->e:Landroid/graphics/Paint;
const/4 v0, 0x0
.line 33
iput v0, p0, Lcom/imo/android/imoim/views/VisualizerView;->i:I
.line 35
iput-boolean v0, p0, Lcom/imo/android/imoim/views/VisualizerView;->a:Z
const/4 v1, 0x3
.line 36
invoke-static {v1}, Lcom/imo/android/imoim/util/ay;->a(I)I
move-result v1
iput v1, p0, Lcom/imo/android/imoim/views/VisualizerView;->j:I
const/4 v1, 0x2
.line 37
invoke-static {v1}, Lcom/imo/android/imoim/util/ay;->a(I)I
move-result v1
iput v1, p0, Lcom/imo/android/imoim/views/VisualizerView;->k:I
.line 50
invoke-virtual {p1}, Landroid/content/Context;->getTheme()Landroid/content/res/Resources$Theme;
move-result-object p1
sget-object v1, Lcom/imo/android/imoim/k$b;->VisualizerView:[I
invoke-virtual {p1, p2, v1, v0, v0}, Landroid/content/res/Resources$Theme;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object p1
.line 54
:try_start_2e
invoke-static {}, Lcom/imo/android/imoim/IMO;->a()Lcom/imo/android/imoim/IMO;
move-result-object p2
invoke-virtual {p2}, Lcom/imo/android/imoim/IMO;->getResources()Landroid/content/res/Resources;
move-result-object p2
const/4 v1, -0x1
invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getResourceId(II)I
move-result v0
invoke-virtual {p2, v0}, Landroid/content/res/Resources;->getColor(I)I
move-result p2
iput p2, p0, Lcom/imo/android/imoim/views/VisualizerView;->g:I
.line 56
invoke-static {}, Lcom/imo/android/imoim/IMO;->a()Lcom/imo/android/imoim/IMO;
move-result-object p2
invoke-virtual {p2}, Lcom/imo/android/imoim/IMO;->getResources()Landroid/content/res/Resources;
move-result-object p2
const/4 v0, 0x1
invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getResourceId(II)I
move-result v0
invoke-virtual {p2, v0}, Landroid/content/res/Resources;->getColor(I)I
move-result p2
iput p2, p0, Lcom/imo/android/imoim/views/VisualizerView;->h:I
:try_end_54
.catch Ljava/lang/Exception; {:try_start_2e .. :try_end_54} :catch_57
.catchall {:try_start_2e .. :try_end_54} :catchall_55
goto :goto_79
:catchall_55
move-exception p2
goto :goto_80
.line 59
:catch_57
:try_start_57
invoke-static {}, Lcom/imo/android/imoim/IMO;->a()Lcom/imo/android/imoim/IMO;
move-result-object p2
invoke-virtual {p2}, Lcom/imo/android/imoim/IMO;->getResources()Landroid/content/res/Resources;
move-result-object p2
const v0, 0x7f060023
.line 60
invoke-virtual {p2, v0}, Landroid/content/res/Resources;->getColor(I)I
move-result p2
iput p2, p0, Lcom/imo/android/imoim/views/VisualizerView;->g:I
.line 61
invoke-static {}, Lcom/imo/android/imoim/IMO;->a()Lcom/imo/android/imoim/IMO;
move-result-object p2
invoke-virtual {p2}, Lcom/imo/android/imoim/IMO;->getResources()Landroid/content/res/Resources;
move-result-object p2
const v0, 0x7f060021
.line 62
invoke-virtual {p2, v0}, Landroid/content/res/Resources;->getColor(I)I
move-result p2
iput p2, p0, Lcom/imo/android/imoim/views/VisualizerView;->h:I
:try_end_79
.catchall {:try_start_57 .. :try_end_79} :catchall_55
.line 64
:goto_79
invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V
.line 66
invoke-direct {p0}, Lcom/imo/android/imoim/views/VisualizerView;->b()V
return-void
.line 64
:goto_80
invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V
throw p2
.end method
.method private b()V
.registers 3
const/4 v0, 0x0
.line 70
iput-object v0, p0, Lcom/imo/android/imoim/views/VisualizerView;->b:Ljava/util/List;
const/4 v0, 0x0
.line 71
iput-boolean v0, p0, Lcom/imo/android/imoim/views/VisualizerView;->c:Z
.line 72
iget-object v0, p0, Lcom/imo/android/imoim/views/VisualizerView;->d:Landroid/graphics/Paint;
const/high16 v1, 0x40400000 # 3.0f
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStrokeWidth(F)V
.line 73
iget-object v0, p0, Lcom/imo/android/imoim/views/VisualizerView;->d:Landroid/graphics/Paint;
iget v1, p0, Lcom/imo/android/imoim/views/VisualizerView;->g:I
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
.line 74
iget-object v0, p0, Lcom/imo/android/imoim/views/VisualizerView;->e:Landroid/graphics/Paint;
iget v1, p0, Lcom/imo/android/imoim/views/VisualizerView;->i:I
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
.line 75
iget-object v0, p0, Lcom/imo/android/imoim/views/VisualizerView;->e: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
return-void
.end method
.method private c()V
.registers 2
.line 90
iget-boolean v0, p0, Lcom/imo/android/imoim/views/VisualizerView;->c:Z
if-eqz v0, :cond_b
const v0, 0xf423f
.line 91
invoke-virtual {p0, v0}, Lcom/imo/android/imoim/views/VisualizerView;->a(I)V
return-void
:cond_b
const/4 v0, -0x1
.line 93
invoke-virtual {p0, v0}, Lcom/imo/android/imoim/views/VisualizerView;->a(I)V
return-void
.end method
# virtual methods
.method public final a()V
.registers 2
const/4 v0, 0x1
.line 85
iput-boolean v0, p0, Lcom/imo/android/imoim/views/VisualizerView;->c:Z
.line 86
invoke-direct {p0}, Lcom/imo/android/imoim/views/VisualizerView;->c()V
return-void
.end method
.method public final a(I)V
.registers 2
.line 97
iput p1, p0, Lcom/imo/android/imoim/views/VisualizerView;->f:I
.line 99
invoke-virtual {p0}, Lcom/imo/android/imoim/views/VisualizerView;->invalidate()V
return-void
.end method
.method public final a(Ljava/util/List;Z)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;Z)V"
}
.end annotation
.line 79
iput-object p1, p0, Lcom/imo/android/imoim/views/VisualizerView;->b:Ljava/util/List;
.line 80
iput-boolean p2, p0, Lcom/imo/android/imoim/views/VisualizerView;->c:Z
.line 81
invoke-direct {p0}, Lcom/imo/android/imoim/views/VisualizerView;->c()V
return-void
.end method
.method protected onDraw(Landroid/graphics/Canvas;)V
.registers 21
move-object/from16 v0, p0
.line 113
invoke-super/range {p0 .. p1}, Landroid/view/View;->onDraw(Landroid/graphics/Canvas;)V
.line 114
iget-object v1, v0, Lcom/imo/android/imoim/views/VisualizerView;->b:Ljava/util/List;
if-eqz v1, :cond_de
invoke-interface {v1}, Ljava/util/List;->isEmpty()Z
move-result v1
if-eqz v1, :cond_11
goto/16 :goto_de
.line 117
:cond_11
iget-object v1, v0, Lcom/imo/android/imoim/views/VisualizerView;->b:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v1
.line 118
invoke-virtual/range {p0 .. p0}, Lcom/imo/android/imoim/views/VisualizerView;->getWidth()I
move-result v2
invoke-static/range {p0 .. p0}, Lcom/imo/android/imoim/util/do;->a(Landroid/view/View;)I
move-result v3
sub-int/2addr v2, v3
invoke-static/range {p0 .. p0}, Lcom/imo/android/imoim/util/do;->b(Landroid/view/View;)I
move-result v3
sub-int/2addr v2, v3
int-to-float v2, v2
const/4 v3, 0x1
if-ne v1, v3, :cond_2b
const/4 v4, 0x1
goto :goto_2d
:cond_2b
add-int/lit8 v4, v1, -0x1
:goto_2d
int-to-float v4, v4
div-float/2addr v2, v4
.line 121
iget-boolean v4, v0, Lcom/imo/android/imoim/views/VisualizerView;->a:Z
if-eqz v4, :cond_3a
iget v4, v0, Lcom/imo/android/imoim/views/VisualizerView;->j:I
iget v5, v0, Lcom/imo/android/imoim/views/VisualizerView;->k:I
add-int/2addr v4, v5
int-to-float v4, v4
goto :goto_3c
:cond_3a
const/high16 v4, 0x40c00000 # 6.0f
:goto_3c
invoke-static {v2, v4}, Ljava/lang/Math;->max(FF)F
move-result v2
.line 122
invoke-virtual/range {p0 .. p0}, Lcom/imo/android/imoim/views/VisualizerView;->getHeight()I
move-result v4
.line 123
iget-boolean v5, v0, Lcom/imo/android/imoim/views/VisualizerView;->a:Z
if-eqz v5, :cond_4b
iget v5, v0, Lcom/imo/android/imoim/views/VisualizerView;->k:I
goto :goto_4c
:cond_4b
const/4 v5, 0x5
.line 124
:goto_4c
iget-object v6, v0, Lcom/imo/android/imoim/views/VisualizerView;->e:Landroid/graphics/Paint;
move-object/from16 v13, p1
invoke-virtual {v13, v6}, Landroid/graphics/Canvas;->drawPaint(Landroid/graphics/Paint;)V
.line 125
iget-object v6, v0, Lcom/imo/android/imoim/views/VisualizerView;->b:Ljava/util/List;
const/4 v14, 0x0
.line 1016
invoke-interface {v6, v14}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v7
check-cast v7, Ljava/lang/Integer;
invoke-virtual {v7}, Ljava/lang/Integer;->intValue()I
move-result v7
.line 1017
invoke-interface {v6}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v6
move v15, v7
:goto_65
invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z
move-result v7
if-eqz v7, :cond_7a
invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v7
check-cast v7, Ljava/lang/Integer;
invoke-virtual {v7}, Ljava/lang/Integer;->intValue()I
move-result v7
.line 1018
invoke-static {v15, v7}, Ljava/lang/Math;->max(II)I
move-result v15
goto :goto_65
.line 126
:cond_7a
div-int/lit8 v6, v4, 0x2
.line 129
iget v7, v0, Lcom/imo/android/imoim/views/VisualizerView;->f:I
div-int/lit8 v12, v7, 0x64
.line 130
invoke-static/range {p0 .. p0}, Lcom/imo/android/imoim/util/do;->a(Landroid/view/View;)I
move-result v7
int-to-float v7, v7
if-ne v1, v3, :cond_89
const/4 v1, 0x0
goto :goto_8a
:cond_89
const/4 v1, 0x1
:goto_8a
move v8, v7
.line 131
:goto_8b
iget-object v7, v0, Lcom/imo/android/imoim/views/VisualizerView;->b:Ljava/util/List;
invoke-interface {v7}, Ljava/util/List;->size()I
move-result v7
if-ge v1, v7, :cond_de
.line 132
iget-object v7, v0, Lcom/imo/android/imoim/views/VisualizerView;->b:Ljava/util/List;
invoke-interface {v7, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v7
check-cast v7, Ljava/lang/Integer;
invoke-virtual {v7}, Ljava/lang/Integer;->intValue()I
move-result v7
mul-int v7, v7, v4
add-int/lit8 v9, v15, 0x1
.line 133
div-int/2addr v7, v9
div-int/lit8 v7, v7, 0x2
invoke-static {v7, v3}, Ljava/lang/Math;->max(II)I
move-result v7
add-float v16, v8, v2
int-to-float v9, v5
sub-float v10, v16, v9
if-lt v12, v1, :cond_b3
const/4 v9, 0x1
goto :goto_b4
:cond_b3
const/4 v9, 0x0
:goto_b4
if-eqz v9, :cond_be
.line 137
iget-object v9, v0, Lcom/imo/android/imoim/views/VisualizerView;->d:Landroid/graphics/Paint;
iget v11, v0, Lcom/imo/android/imoim/views/VisualizerView;->h:I
invoke-virtual {v9, v11}, Landroid/graphics/Paint;->setColor(I)V
goto :goto_c5
.line 139
:cond_be
iget-object v9, v0, Lcom/imo/android/imoim/views/VisualizerView;->d:Landroid/graphics/Paint;
iget v11, v0, Lcom/imo/android/imoim/views/VisualizerView;->g:I
invoke-virtual {v9, v11}, Landroid/graphics/Paint;->setColor(I)V
:goto_c5
sub-int v9, v6, v7
int-to-float v9, v9
add-int/2addr v7, v6
int-to-float v11, v7
.line 141
iget-object v7, v0, Lcom/imo/android/imoim/views/VisualizerView;->d:Landroid/graphics/Paint;
move-object/from16 v17, v7
move-object/from16 v7, p1
move/from16 v18, v12
move-object/from16 v12, v17
invoke-virtual/range {v7 .. v12}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
add-int/lit8 v1, v1, 0x1
move/from16 v8, v16
move/from16 v12, v18
goto :goto_8b
:cond_de
:goto_de
return-void
.end method