d.smali
.class public Lcom/mooc/network/image/d;
.super Ljava/lang/Object;
.source ""
# direct methods
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static a(IIII)I
.registers 10
const/high16 v2, 0x3f800000 # 1.0f
int-to-float v0, p0
mul-float/2addr v0, v2
int-to-float v1, p2
div-float/2addr v0, v1
int-to-float v1, p1
mul-float/2addr v1, v2
int-to-float v2, p3
div-float/2addr v1, v2
invoke-static {v0, v1}, Ljava/lang/Math;->min(FF)F
move-result v0
float-to-double v2, v0
const/4 v0, 0x1
:goto_10
int-to-double v4, v0
cmpg-double v1, v4, v2
if-gez v1, :cond_18
mul-int/lit8 v0, v0, 0x2
goto :goto_10
:cond_18
return v0
.end method
.method public static a(IIIILandroid/widget/ImageView$ScaleType;)I
.registers 7
if-nez p0, :cond_6
if-nez p1, :cond_6
move p0, p2
:cond_5
:goto_5
return p0
:cond_6
sget-object v0, Landroid/widget/ImageView$ScaleType;->FIT_XY:Landroid/widget/ImageView$ScaleType;
if-ne p4, v0, :cond_10
if-nez p0, :cond_e
:goto_c
move p0, p2
goto :goto_5
:cond_e
move p2, p0
goto :goto_c
:cond_10
if-nez p0, :cond_1c
int-to-float v0, p1
const/high16 v1, 0x3f800000 # 1.0f
mul-float/2addr v0, v1
int-to-float v1, p3
div-float/2addr v0, v1
int-to-float v1, p2
mul-float/2addr v0, v1
float-to-int p0, v0
goto :goto_5
:cond_1c
if-eqz p1, :cond_5
div-int v0, p3, p2
int-to-float v0, v0
sget-object v1, Landroid/widget/ImageView$ScaleType;->CENTER_CROP:Landroid/widget/ImageView$ScaleType;
if-ne p4, v1, :cond_31
div-int v1, p1, p0
int-to-float v1, v1
cmpg-float v1, v0, v1
if-gez v1, :cond_5
int-to-float v1, p1
div-float v0, v1, v0
float-to-int p0, v0
goto :goto_5
:cond_31
div-int v1, p1, p0
int-to-float v1, v1
cmpl-float v1, v0, v1
if-lez v1, :cond_5
int-to-float v1, p1
div-float v0, v1, v0
float-to-int p0, v0
goto :goto_5
.end method
.method public static a([BIILandroid/widget/ImageView$ScaleType;Landroid/graphics/Bitmap$Config;)Landroid/graphics/drawable/Drawable;
.registers 10
const/4 v0, 0x1
const/4 v1, 0x0
const/4 v2, 0x0
if-eqz p0, :cond_a
array-length v3, p0
const/16 v4, 0xa
if-ge v3, v4, :cond_c
:cond_a
move-object v0, v1
:cond_b
:goto_b
return-object v0
:cond_c
aget-byte v3, p0, v2
const/16 v4, 0x47
if-ne v3, v4, :cond_43
aget-byte v3, p0, v0
const/16 v4, 0x49
if-ne v3, v4, :cond_43
const/4 v3, 0x2
aget-byte v3, p0, v3
const/16 v4, 0x46
if-ne v3, v4, :cond_43
:goto_1f
if-eqz v0, :cond_35
new-instance v0, Lcom/mooc/network/image/b;
array-length v3, p0
invoke-direct {v0, p0, v2, v3}, Lcom/mooc/network/image/b;-><init>([BII)V
invoke-virtual {v0}, Lcom/mooc/network/image/b;->getIntrinsicHeight()I
move-result v2
if-lez v2, :cond_33
invoke-virtual {v0}, Lcom/mooc/network/image/b;->getIntrinsicWidth()I
move-result v2
if-gtz v2, :cond_b
:cond_33
move-object v0, v1
goto :goto_b
:cond_35
invoke-static {p0, p1, p2, p3, p4}, Lcom/mooc/network/image/d;->b([BIILandroid/widget/ImageView$ScaleType;Landroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v2
if-eqz v2, :cond_41
new-instance v0, Landroid/graphics/drawable/BitmapDrawable;
invoke-direct {v0, v2}, Landroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/graphics/Bitmap;)V
goto :goto_b
:cond_41
move-object v0, v1
goto :goto_b
:cond_43
move v0, v2
goto :goto_1f
.end method
.method public static b([BIILandroid/widget/ImageView$ScaleType;Landroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
.registers 12
const/4 v6, 0x1
const/4 v5, 0x0
new-instance v0, Landroid/graphics/BitmapFactory$Options;
invoke-direct {v0}, Landroid/graphics/BitmapFactory$Options;-><init>()V
if-nez p1, :cond_b
if-eqz p2, :cond_39
:cond_b
iput-boolean v6, v0, Landroid/graphics/BitmapFactory$Options;->inJustDecodeBounds:Z
array-length v1, p0
invoke-static {p0, v5, v1, v0}, Landroid/graphics/BitmapFactory;->decodeByteArray([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
iget v1, v0, Landroid/graphics/BitmapFactory$Options;->outWidth:I
iget v2, v0, Landroid/graphics/BitmapFactory$Options;->outHeight:I
invoke-static {p1, p2, v1, v2, p3}, Lcom/mooc/network/image/d;->a(IIIILandroid/widget/ImageView$ScaleType;)I
move-result v3
invoke-static {p2, p1, v2, v1, p3}, Lcom/mooc/network/image/d;->a(IIIILandroid/widget/ImageView$ScaleType;)I
move-result v4
iput-boolean v5, v0, Landroid/graphics/BitmapFactory$Options;->inJustDecodeBounds:Z
invoke-static {v1, v2, v3, v4}, Lcom/mooc/network/image/d;->a(IIII)I
move-result v1
iput v1, v0, Landroid/graphics/BitmapFactory$Options;->inSampleSize:I
array-length v1, p0
invoke-static {p0, v5, v1, v0}, Landroid/graphics/BitmapFactory;->decodeByteArray([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
move-result-object v0
if-eqz v0, :cond_38
invoke-virtual {v0}, Landroid/graphics/Bitmap;->getWidth()I
move-result v1
if-gt v1, v3, :cond_41
invoke-virtual {v0}, Landroid/graphics/Bitmap;->getHeight()I
move-result v1
if-gt v1, v4, :cond_41
:cond_38
:goto_38
return-object v0
:cond_39
iput-object p4, v0, Landroid/graphics/BitmapFactory$Options;->inPreferredConfig:Landroid/graphics/Bitmap$Config;
array-length v1, p0
invoke-static {p0, v5, v1, v0}, Landroid/graphics/BitmapFactory;->decodeByteArray([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
move-result-object v0
goto :goto_38
:cond_41
invoke-static {v0, v3, v4, v6}, Landroid/graphics/Bitmap;->createScaledBitmap(Landroid/graphics/Bitmap;IIZ)Landroid/graphics/Bitmap;
move-result-object v1
invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V
move-object v0, v1
goto :goto_38
.end method