AutoScaleImageView.smali
.class public Lcom/dianxinos/common/ui/view/AutoScaleImageView;
.super Landroid/widget/ImageView;
.source "AutoScaleImageView.java"
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 3
.prologue
.line 11
invoke-direct {p0, p1, p2}, Landroid/widget/ImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 12
return-void
.end method
# virtual methods
.method protected onMeasure(II)V
.registers 7
.prologue
.line 16
invoke-super {p0, p1, p2}, Landroid/widget/ImageView;->onMeasure(II)V
.line 17
if-gtz p2, :cond_2d
.line 18
invoke-virtual {p0}, Lcom/dianxinos/common/ui/view/AutoScaleImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
move-result-object v0
.line 19
if-eqz v0, :cond_2d
.line 20
invoke-virtual {p0}, Lcom/dianxinos/common/ui/view/AutoScaleImageView;->getMeasuredWidth()I
move-result v1
.line 21
invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I
move-result v2
.line 22
if-lez v2, :cond_2d
if-eq v1, v2, :cond_2d
.line 23
invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
move-result v0
.line 24
const/high16 v3, 0x3f800000 # 1.0f
int-to-float v0, v0
mul-float/2addr v0, v3
int-to-float v2, v2
div-float/2addr v0, v2
.line 25
int-to-float v2, v1
mul-float/2addr v0, v2
float-to-int v0, v0
.line 26
invoke-virtual {p0}, Lcom/dianxinos/common/ui/view/AutoScaleImageView;->getMeasuredHeight()I
move-result v2
if-eq v0, v2, :cond_2d
.line 27
invoke-virtual {p0, v1, v0}, Lcom/dianxinos/common/ui/view/AutoScaleImageView;->setMeasuredDimension(II)V
.line 32
:cond_2d
return-void
.end method