Wave.smali
.class public Lcom/dianxinos/optimizer/feed/bottom/Wave;
.super Landroid/view/View;
.source "Wave.java"
# instance fields
.field private a:I
.field private b:I
.field private c:I
.field private d:F
.field private e:I
.field private f:I
.field private g:Landroid/graphics/Paint;
.field private h:Landroid/graphics/Paint;
.field private i:Landroid/graphics/Path;
.field private j:Ljava/lang/Thread;
.field private k:Z
.field private l:F
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 3
.prologue
.line 51
invoke-direct {p0, p1, p2}, Landroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 52
invoke-direct {p0, p1}, Lcom/dianxinos/optimizer/feed/bottom/Wave;->a(Landroid/content/Context;)V
.line 53
return-void
.end method
.method static synthetic a(Lcom/dianxinos/optimizer/feed/bottom/Wave;I)I
.registers 2
.prologue
.line 25
iput p1, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->e:I
return p1
.end method
.method private a(IFFI)Landroid/graphics/Path;
.registers 12
.prologue
const/4 v1, 0x0
.line 167
div-int/lit8 v0, p1, 0x3
int-to-float v0, v0
add-float v2, v0, p3
.line 168
const/high16 v0, 0x40000000 # 2.0f
div-float v3, v2, v0
.line 169
new-instance v0, Landroid/graphics/Path;
invoke-direct {v0}, Landroid/graphics/Path;-><init>()V
.line 171
invoke-virtual {v0, v1, v2}, Landroid/graphics/Path;->moveTo(FF)V
.line 172
invoke-direct {p0, p2, v3, p4}, Lcom/dianxinos/optimizer/feed/bottom/Wave;->a(FFI)[F
move-result-object v4
.line 173
const/4 v3, 0x0
:goto_17
array-length v5, v4
if-ge v3, v5, :cond_23
.line 174
int-to-float v5, v3
aget v6, v4, v3
invoke-virtual {v0, v5, v6}, Landroid/graphics/Path;->lineTo(FF)V
.line 173
add-int/lit8 v3, v3, 0x1
goto :goto_17
.line 176
:cond_23
int-to-float v3, p4
invoke-virtual {v0, v3, v2}, Landroid/graphics/Path;->lineTo(FF)V
.line 177
invoke-virtual {v0}, Landroid/graphics/Path;->close()V
.line 178
int-to-float v3, p4
int-to-float v4, p1
sget-object v5, Landroid/graphics/Path$Direction;->CCW:Landroid/graphics/Path$Direction;
invoke-virtual/range {v0 .. v5}, Landroid/graphics/Path;->addRect(FFFFLandroid/graphics/Path$Direction;)V
.line 179
return-object v0
.end method
.method private a(Landroid/content/Context;)V
.registers 7
.prologue
const/high16 v4, 0x3f800000 # 1.0f
const/4 v3, 0x1
.line 56
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0xb
if-lt v0, v1, :cond_13
.line 57
invoke-virtual {p0}, Lcom/dianxinos/optimizer/feed/bottom/Wave;->isHardwareAccelerated()Z
move-result v0
if-eqz v0, :cond_13
.line 58
const/4 v0, 0x0
invoke-virtual {p0, v3, v0}, Lcom/dianxinos/optimizer/feed/bottom/Wave;->setLayerType(ILandroid/graphics/Paint;)V
.line 62
:cond_13
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
const v1, 0x7f0d0045
invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getColor(I)I
move-result v0
.line 63
new-instance v1, Landroid/graphics/Paint;
invoke-direct {v1, v3}, Landroid/graphics/Paint;-><init>(I)V
iput-object v1, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->g:Landroid/graphics/Paint;
.line 64
iget-object v1, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->g:Landroid/graphics/Paint;
invoke-virtual {v1, v4}, Landroid/graphics/Paint;->setStrokeWidth(F)V
.line 65
iget-object v1, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->g:Landroid/graphics/Paint;
invoke-virtual {v1, v0}, Landroid/graphics/Paint;->setColor(I)V
.line 66
iget-object v1, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->g:Landroid/graphics/Paint;
const/16 v2, 0x2a
invoke-virtual {v1, v2}, Landroid/graphics/Paint;->setAlpha(I)V
.line 67
new-instance v1, Landroid/graphics/Paint;
invoke-direct {v1, v3}, Landroid/graphics/Paint;-><init>(I)V
iput-object v1, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->h:Landroid/graphics/Paint;
.line 68
iget-object v1, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->h:Landroid/graphics/Paint;
invoke-virtual {v1, v4}, Landroid/graphics/Paint;->setStrokeWidth(F)V
.line 69
iget-object v1, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->h:Landroid/graphics/Paint;
invoke-virtual {v1, v0}, Landroid/graphics/Paint;->setColor(I)V
.line 70
iget-object v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->h:Landroid/graphics/Paint;
const/16 v1, 0x19
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAlpha(I)V
.line 71
return-void
.end method
.method private a(Landroid/graphics/Canvas;Landroid/graphics/Paint;I)V
.registers 7
.prologue
const/4 v2, 0x0
.line 147
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
.line 148
iget-object v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->i:Landroid/graphics/Path;
neg-int v1, p3
int-to-float v1, v1
invoke-virtual {v0, v1, v2}, Landroid/graphics/Path;->offset(FF)V
.line 149
iget-object v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->i:Landroid/graphics/Path;
invoke-virtual {p1, v0, p2}, Landroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
.line 150
iget-object v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->i:Landroid/graphics/Path;
int-to-float v1, p3
invoke-virtual {v0, v1, v2}, Landroid/graphics/Path;->offset(FF)V
.line 151
invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
.line 152
return-void
.end method
.method static synthetic a(Lcom/dianxinos/optimizer/feed/bottom/Wave;)Z
.registers 2
.prologue
.line 25
iget-boolean v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->k:Z
return v0
.end method
.method private a(FFI)[F
.registers 14
.prologue
.line 190
new-array v1, p3, [F
.line 191
const-wide v2, 0x401921fb54442d18L # 6.283185307179586
iget v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->b:I
int-to-double v4, v0
div-double/2addr v2, v4
.line 192
const/4 v0, 0x0
:goto_c
if-ge v0, p3, :cond_1e
.line 193
float-to-double v4, p1
float-to-double v6, p2
int-to-double v8, v0
mul-double/2addr v8, v2
invoke-static {v8, v9}, Ljava/lang/Math;->sin(D)D
move-result-wide v8
mul-double/2addr v6, v8
add-double/2addr v4, v6
double-to-float v4, v4
aput v4, v1, v0
.line 192
add-int/lit8 v0, v0, 0x1
goto :goto_c
.line 195
:cond_1e
return-object v1
.end method
.method private b(I)I
.registers 4
.prologue
.line 155
iget v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->c:I
add-int/2addr v0, p1
iget v1, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->b:I
rem-int/2addr v0, v1
return v0
.end method
.method static synthetic b(Lcom/dianxinos/optimizer/feed/bottom/Wave;)I
.registers 2
.prologue
.line 25
iget v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->e:I
return v0
.end method
.method static synthetic b(Lcom/dianxinos/optimizer/feed/bottom/Wave;I)I
.registers 3
.prologue
.line 25
invoke-direct {p0, p1}, Lcom/dianxinos/optimizer/feed/bottom/Wave;->b(I)I
move-result v0
return v0
.end method
.method static synthetic c(Lcom/dianxinos/optimizer/feed/bottom/Wave;)I
.registers 2
.prologue
.line 25
iget v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->f:I
return v0
.end method
.method static synthetic c(Lcom/dianxinos/optimizer/feed/bottom/Wave;I)I
.registers 2
.prologue
.line 25
iput p1, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->f:I
return p1
.end method
# virtual methods
.method public a()V
.registers 3
.prologue
.line 122
iget-object v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->j:Ljava/lang/Thread;
if-eqz v0, :cond_d
iget-object v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->j:Ljava/lang/Thread;
invoke-virtual {v0}, Ljava/lang/Thread;->isAlive()Z
move-result v0
if-eqz v0, :cond_d
.line 138
:goto_c
return-void
.line 125
:cond_d
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->k:Z
.line 126
new-instance v0, Ljava/lang/Thread;
new-instance v1, Lcom/dianxinos/optimizer/feed/bottom/Wave$1;
invoke-direct {v1, p0}, Lcom/dianxinos/optimizer/feed/bottom/Wave$1;-><init>(Lcom/dianxinos/optimizer/feed/bottom/Wave;)V
invoke-direct {v0, v1}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
iput-object v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->j:Ljava/lang/Thread;
.line 137
iget-object v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->j:Ljava/lang/Thread;
invoke-virtual {v0}, Ljava/lang/Thread;->start()V
goto :goto_c
.end method
.method public a(I)V
.registers 8
.prologue
.line 88
int-to-float v0, p1
const/high16 v1, 0x40400000 # 3.0f
div-float/2addr v0, v1
iget v1, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->l:F
add-float v2, v0, v1
.line 89
iget v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->d:F
div-float v0, v2, v0
.line 90
iput v2, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->d:F
.line 91
new-instance v1, Landroid/graphics/Matrix;
invoke-direct {v1}, Landroid/graphics/Matrix;-><init>()V
.line 92
const/high16 v3, 0x3f800000 # 1.0f
invoke-virtual {v1, v3, v0}, Landroid/graphics/Matrix;->setScale(FF)V
.line 93
iget-object v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->i:Landroid/graphics/Path;
invoke-virtual {v0, v1}, Landroid/graphics/Path;->transform(Landroid/graphics/Matrix;)V
.line 94
iget-object v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->i:Landroid/graphics/Path;
const/4 v1, 0x0
iget v3, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->a:I
int-to-float v3, v3
int-to-float v4, p1
sget-object v5, Landroid/graphics/Path$Direction;->CCW:Landroid/graphics/Path$Direction;
invoke-virtual/range {v0 .. v5}, Landroid/graphics/Path;->addRect(FFFFLandroid/graphics/Path$Direction;)V
.line 95
return-void
.end method
.method public a(Landroid/content/Context;II)V
.registers 7
.prologue
const/high16 v2, 0x40000000 # 2.0f
.line 74
int-to-float v0, p3
iput v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->d:F
.line 75
const/high16 v0, 0x43700000 # 240.0f
invoke-static {p1, v0}, Ldxoptimizer/cec;->a(Landroid/content/Context;F)F
move-result v0
float-to-int v0, v0
iput v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->b:I
.line 76
invoke-static {p1, v2}, Ldxoptimizer/cec;->a(Landroid/content/Context;F)F
move-result v0
float-to-int v0, v0
iput v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->c:I
.line 77
const/4 v0, 0x0
iput v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->e:I
.line 78
const/high16 v0, 0x42700000 # 60.0f
invoke-static {p1, v0}, Ldxoptimizer/cec;->a(Landroid/content/Context;F)F
move-result v0
float-to-int v0, v0
iput v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->f:I
.line 79
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
.line 80
iget v0, v0, Landroid/util/DisplayMetrics;->widthPixels:I
iget v1, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->b:I
add-int/2addr v0, v1
iput v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->a:I
.line 82
const/high16 v0, 0x40a00000 # 5.0f
iget v1, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->d:F
mul-float/2addr v0, v1
const/high16 v1, 0x41100000 # 9.0f
div-float/2addr v0, v1
iput v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->l:F
.line 83
iget v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->d:F
div-float/2addr v0, v2
.line 84
iget v1, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->l:F
iget v2, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->a:I
invoke-direct {p0, p2, v0, v1, v2}, Lcom/dianxinos/optimizer/feed/bottom/Wave;->a(IFFI)Landroid/graphics/Path;
move-result-object v0
iput-object v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->i:Landroid/graphics/Path;
.line 85
return-void
.end method
.method public b()V
.registers 2
.prologue
.line 141
iget-object v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->j:Ljava/lang/Thread;
if-eqz v0, :cond_f
iget-object v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->j:Ljava/lang/Thread;
invoke-virtual {v0}, Ljava/lang/Thread;->isAlive()Z
move-result v0
if-eqz v0, :cond_f
.line 142
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->k:Z
.line 144
:cond_f
return-void
.end method
.method protected onAttachedToWindow()V
.registers 4
.prologue
.line 99
invoke-super {p0}, Landroid/view/View;->onAttachedToWindow()V
.line 100
invoke-virtual {p0}, Lcom/dianxinos/optimizer/feed/bottom/Wave;->a()V
.line 102
const-string v0, "hm"
const-string v1, "hbw_s"
const/4 v2, 0x1
.line 103
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
.line 102
invoke-static {v0, v1, v2}, Ldxoptimizer/cgh;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Number;)V
.line 104
return-void
.end method
.method protected onDetachedFromWindow()V
.registers 1
.prologue
.line 108
invoke-super {p0}, Landroid/view/View;->onDetachedFromWindow()V
.line 109
invoke-virtual {p0}, Lcom/dianxinos/optimizer/feed/bottom/Wave;->b()V
.line 110
return-void
.end method
.method protected onDraw(Landroid/graphics/Canvas;)V
.registers 4
.prologue
.line 114
monitor-enter p0
.line 115
:try_start_1
iget-object v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->h:Landroid/graphics/Paint;
iget v1, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->f:I
invoke-direct {p0, p1, v0, v1}, Lcom/dianxinos/optimizer/feed/bottom/Wave;->a(Landroid/graphics/Canvas;Landroid/graphics/Paint;I)V
.line 116
iget-object v0, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->g:Landroid/graphics/Paint;
iget v1, p0, Lcom/dianxinos/optimizer/feed/bottom/Wave;->e:I
invoke-direct {p0, p1, v0, v1}, Lcom/dianxinos/optimizer/feed/bottom/Wave;->a(Landroid/graphics/Canvas;Landroid/graphics/Paint;I)V
.line 117
monitor-exit p0
.line 119
return-void
.line 117
:catchall_11
move-exception v0
monitor-exit p0
:try_end_13
.catchall {:try_start_1 .. :try_end_13} :catchall_11
throw v0
.end method