ImageUtil.smali
.class public Lcom/sdk/orion/ui/baselibrary/utils/ImageUtil;
.super Ljava/lang/Object;
# static fields
.field private static server_url:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 1
const-string/jumbo v0, "http://i{0}.xlpan.kanimg.com/poster/{1}_{2}X{3}.jpg"
sput-object v0, Lcom/sdk/orion/ui/baselibrary/utils/ImageUtil;->server_url:Ljava/lang/String;
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static drawableToBitmap(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Bitmap;
.registers 6
const/4 v4, 0x0
if-nez p0, :cond_5
const/4 v0, 0x0
:goto_4
return-object v0
:cond_5
invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I
move-result v1
invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
move-result v2
invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getOpacity()I
move-result v0
const/4 v3, -0x1
if-eq v0, v3, :cond_2e
sget-object v0, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
:goto_16
invoke-static {v1, v2, v0}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v0
new-instance v1, Landroid/graphics/Canvas;
invoke-direct {v1, v0}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V
invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I
move-result v2
invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
move-result v3
invoke-virtual {p0, v4, v4, v2, v3}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V
invoke-virtual {p0, v1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V
goto :goto_4
:cond_2e
sget-object v0, Landroid/graphics/Bitmap$Config;->RGB_565:Landroid/graphics/Bitmap$Config;
goto :goto_16
.end method
.method public static fastblurUsingJava(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
.registers 36
:try_start_0
invoke-virtual/range {p0 .. p0}, Landroid/graphics/Bitmap;->getConfig()Landroid/graphics/Bitmap$Config;
move-result-object v2
const/4 v3, 0x1
move-object/from16 v0, p0
invoke-virtual {v0, v2, v3}, Landroid/graphics/Bitmap;->copy(Landroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;
:try_end_a
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_a} :catch_12
move-result-object v2
const/4 v3, 0x1
move/from16 v0, p1
if-ge v0, v3, :cond_15
const/4 v2, 0x0
:goto_11
return-object v2
:catch_12
move-exception v2
const/4 v2, 0x0
goto :goto_11
:cond_15
invoke-virtual {v2}, Landroid/graphics/Bitmap;->getWidth()I
move-result v5
invoke-virtual {v2}, Landroid/graphics/Bitmap;->getHeight()I
move-result v9
mul-int v3, v5, v9
new-array v3, v3, [I
const/4 v4, 0x0
const/4 v6, 0x0
const/4 v7, 0x0
move v8, v5
invoke-virtual/range {v2 .. v9}, Landroid/graphics/Bitmap;->getPixels([IIIIIII)V
add-int/lit8 v21, v5, -0x1
add-int/lit8 v22, v9, -0x1
mul-int v4, v5, v9
add-int v6, p1, p1
add-int/lit8 v23, v6, 0x1
new-array v0, v4, [I
move-object/from16 v24, v0
new-array v0, v4, [I
move-object/from16 v25, v0
new-array v0, v4, [I
move-object/from16 v26, v0
invoke-static {v5, v9}, Ljava/lang/Math;->max(II)I
move-result v4
new-array v0, v4, [I
move-object/from16 v27, v0
add-int/lit8 v4, v23, 0x1
shr-int/lit8 v4, v4, 0x1
mul-int v6, v4, v4
const/16 v7, 0x100
mul-int v4, v7, v6
new-array v0, v4, [I
move-object/from16 v28, v0
const/4 v4, 0x0
:goto_55
mul-int v8, v7, v6
if-ge v4, v8, :cond_60
div-int v8, v4, v6
aput v8, v28, v4
add-int/lit8 v4, v4, 0x1
goto :goto_55
:cond_60
const/4 v6, 0x0
const/4 v4, 0x3
move/from16 v0, v23
filled-new-array {v0, v4}, [I
move-result-object v4
sget-object v7, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
invoke-static {v7, v4}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;
move-result-object v4
check-cast v4, [[I
add-int/lit8 v29, p1, 0x1
const/4 v7, 0x0
move/from16 v19, v6
move v13, v6
move/from16 v20, v7
:goto_78
move/from16 v0, v20
if-ge v0, v9, :cond_1d1
const/4 v6, 0x0
move/from16 v0, p1
neg-int v7, v0
move v8, v6
move v10, v6
move v11, v6
move v12, v6
move v14, v7
move v15, v6
move/from16 v16, v6
move/from16 v17, v6
move v7, v6
:goto_8b
move/from16 v0, p1
if-gt v14, v0, :cond_10e
const/16 v18, 0x0
move/from16 v0, v18
invoke-static {v14, v0}, Ljava/lang/Math;->max(II)I
move-result v18
move/from16 v0, v21
move/from16 v1, v18
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v18
add-int v18, v18, v13
aget v18, v3, v18
add-int v30, v14, p1
aget-object v30, v4, v30
const/16 v31, 0x0
const/high16 v32, 0xff0000
and-int v32, v32, v18
shr-int/lit8 v32, v32, 0x10
aput v32, v30, v31
const/16 v31, 0x1
const v32, 0xff00
and-int v32, v32, v18
shr-int/lit8 v32, v32, 0x8
aput v32, v30, v31
const/16 v31, 0x2
move/from16 v0, v18
and-int/lit16 v0, v0, 0xff
move/from16 v18, v0
aput v18, v30, v31
invoke-static {v14}, Ljava/lang/Math;->abs(I)I
move-result v18
sub-int v18, v29, v18
const/16 v31, 0x0
aget v31, v30, v31
mul-int v31, v31, v18
add-int v17, v17, v31
const/16 v31, 0x1
aget v31, v30, v31
mul-int v31, v31, v18
add-int v16, v16, v31
const/16 v31, 0x2
aget v31, v30, v31
mul-int v18, v18, v31
add-int v15, v15, v18
if-lez v14, :cond_fb
const/16 v18, 0x0
aget v18, v30, v18
add-int v8, v8, v18
const/16 v18, 0x1
aget v18, v30, v18
add-int v7, v7, v18
const/16 v18, 0x2
aget v18, v30, v18
add-int v6, v6, v18
:goto_f8
add-int/lit8 v14, v14, 0x1
goto :goto_8b
:cond_fb
const/16 v18, 0x0
aget v18, v30, v18
add-int v12, v12, v18
const/16 v18, 0x1
aget v18, v30, v18
add-int v11, v11, v18
const/16 v18, 0x2
aget v18, v30, v18
add-int v10, v10, v18
goto :goto_f8
:cond_10e
const/4 v14, 0x0
move/from16 v18, v17
move/from16 v17, v16
move/from16 v16, v15
move v15, v14
move v14, v13
move/from16 v13, p1
:goto_119
if-ge v15, v5, :cond_1c6
aget v30, v28, v18
aput v30, v24, v14
aget v30, v28, v17
aput v30, v25, v14
aget v30, v28, v16
aput v30, v26, v14
sub-int v18, v18, v12
sub-int v17, v17, v11
sub-int v16, v16, v10
sub-int v30, v13, p1
add-int v30, v30, v23
rem-int v30, v30, v23
aget-object v30, v4, v30
const/16 v31, 0x0
aget v31, v30, v31
sub-int v12, v12, v31
const/16 v31, 0x1
aget v31, v30, v31
sub-int v11, v11, v31
const/16 v31, 0x2
aget v31, v30, v31
sub-int v10, v10, v31
if-nez v20, :cond_157
add-int v31, v15, p1
add-int/lit8 v31, v31, 0x1
move/from16 v0, v31
move/from16 v1, v21
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v31
aput v31, v27, v15
:cond_157
aget v31, v27, v15
add-int v31, v31, v19
aget v31, v3, v31
const/16 v32, 0x0
const/high16 v33, 0xff0000
and-int v33, v33, v31
shr-int/lit8 v33, v33, 0x10
aput v33, v30, v32
const/16 v32, 0x1
const v33, 0xff00
and-int v33, v33, v31
shr-int/lit8 v33, v33, 0x8
aput v33, v30, v32
const/16 v32, 0x2
move/from16 v0, v31
and-int/lit16 v0, v0, 0xff
move/from16 v31, v0
aput v31, v30, v32
const/16 v31, 0x0
aget v31, v30, v31
add-int v8, v8, v31
const/16 v31, 0x1
aget v31, v30, v31
add-int v7, v7, v31
const/16 v31, 0x2
aget v30, v30, v31
add-int v6, v6, v30
add-int v18, v18, v8
add-int v17, v17, v7
add-int v16, v16, v6
add-int/lit8 v13, v13, 0x1
rem-int v13, v13, v23
rem-int v30, v13, v23
aget-object v30, v4, v30
const/16 v31, 0x0
aget v31, v30, v31
add-int v12, v12, v31
const/16 v31, 0x1
aget v31, v30, v31
add-int v11, v11, v31
const/16 v31, 0x2
aget v31, v30, v31
add-int v10, v10, v31
const/16 v31, 0x0
aget v31, v30, v31
sub-int v8, v8, v31
const/16 v31, 0x1
aget v31, v30, v31
sub-int v7, v7, v31
const/16 v31, 0x2
aget v30, v30, v31
sub-int v6, v6, v30
add-int/lit8 v14, v14, 0x1
add-int/lit8 v15, v15, 0x1
goto/16 :goto_119
:cond_1c6
add-int v6, v19, v5
add-int/lit8 v7, v20, 0x1
move/from16 v19, v6
move v13, v14
move/from16 v20, v7
goto/16 :goto_78
:cond_1d1
const/4 v15, 0x0
:goto_1d2
if-ge v15, v5, :cond_30e
const/4 v7, 0x0
move/from16 v0, p1
neg-int v6, v0
mul-int/2addr v6, v5
move/from16 v0, p1
neg-int v8, v0
move v10, v7
move v11, v7
move v12, v7
move v13, v7
move/from16 v18, v8
move v14, v7
move/from16 v16, v7
move/from16 v17, v7
move v8, v7
:goto_1e8
move/from16 v0, v18
move/from16 v1, p1
if-gt v0, v1, :cond_253
const/16 v19, 0x0
move/from16 v0, v19
invoke-static {v0, v6}, Ljava/lang/Math;->max(II)I
move-result v19
add-int v20, v19, v15
add-int v19, v18, p1
aget-object v21, v4, v19
const/16 v19, 0x0
aget v30, v24, v20
aput v30, v21, v19
const/16 v19, 0x1
aget v30, v25, v20
aput v30, v21, v19
const/16 v19, 0x2
aget v30, v26, v20
aput v30, v21, v19
invoke-static/range {v18 .. v18}, Ljava/lang/Math;->abs(I)I
move-result v19
sub-int v30, v29, v19
aget v19, v24, v20
mul-int v19, v19, v30
add-int v19, v19, v17
aget v17, v25, v20
mul-int v17, v17, v30
add-int v17, v17, v16
aget v16, v26, v20
mul-int v16, v16, v30
add-int v16, v16, v14
if-lez v18, :cond_246
const/4 v14, 0x0
aget v14, v21, v14
add-int/2addr v10, v14
const/4 v14, 0x1
aget v14, v21, v14
add-int/2addr v8, v14
const/4 v14, 0x2
aget v14, v21, v14
add-int/2addr v7, v14
:goto_234
move/from16 v0, v18
move/from16 v1, v22
if-ge v0, v1, :cond_23b
add-int/2addr v6, v5
:cond_23b
add-int/lit8 v14, v18, 0x1
move/from16 v18, v14
move/from16 v14, v16
move/from16 v16, v17
move/from16 v17, v19
goto :goto_1e8
:cond_246
const/4 v14, 0x0
aget v14, v21, v14
add-int/2addr v13, v14
const/4 v14, 0x1
aget v14, v21, v14
add-int/2addr v12, v14
const/4 v14, 0x2
aget v14, v21, v14
add-int/2addr v11, v14
goto :goto_234
:cond_253
const/4 v6, 0x0
move/from16 v18, v16
move/from16 v19, v17
move/from16 v16, v6
move/from16 v17, v14
move v14, v15
move v6, v7
move v7, v8
move v8, v10
move v10, v11
move v11, v12
move v12, v13
move/from16 v13, p1
:goto_265
move/from16 v0, v16
if-ge v0, v9, :cond_30a
const/high16 v20, -0x1000000
aget v21, v3, v14
and-int v20, v20, v21
aget v21, v28, v19
shl-int/lit8 v21, v21, 0x10
or-int v20, v20, v21
aget v21, v28, v18
shl-int/lit8 v21, v21, 0x8
or-int v20, v20, v21
aget v21, v28, v17
or-int v20, v20, v21
aput v20, v3, v14
sub-int v19, v19, v12
sub-int v18, v18, v11
sub-int v17, v17, v10
sub-int v20, v13, p1
add-int v20, v20, v23
rem-int v20, v20, v23
aget-object v20, v4, v20
const/16 v21, 0x0
aget v21, v20, v21
sub-int v12, v12, v21
const/16 v21, 0x1
aget v21, v20, v21
sub-int v11, v11, v21
const/16 v21, 0x2
aget v21, v20, v21
sub-int v10, v10, v21
if-nez v15, :cond_2ad
add-int v21, v16, v29
invoke-static/range {v21 .. v22}, Ljava/lang/Math;->min(II)I
move-result v21
mul-int v21, v21, v5
aput v21, v27, v16
:cond_2ad
aget v21, v27, v16
add-int v21, v21, v15
const/16 v30, 0x0
aget v31, v24, v21
aput v31, v20, v30
const/16 v30, 0x1
aget v31, v25, v21
aput v31, v20, v30
const/16 v30, 0x2
aget v21, v26, v21
aput v21, v20, v30
const/16 v21, 0x0
aget v21, v20, v21
add-int v8, v8, v21
const/16 v21, 0x1
aget v21, v20, v21
add-int v7, v7, v21
const/16 v21, 0x2
aget v20, v20, v21
add-int v6, v6, v20
add-int v19, v19, v8
add-int v18, v18, v7
add-int v17, v17, v6
add-int/lit8 v13, v13, 0x1
rem-int v13, v13, v23
aget-object v20, v4, v13
const/16 v21, 0x0
aget v21, v20, v21
add-int v12, v12, v21
const/16 v21, 0x1
aget v21, v20, v21
add-int v11, v11, v21
const/16 v21, 0x2
aget v21, v20, v21
add-int v10, v10, v21
const/16 v21, 0x0
aget v21, v20, v21
sub-int v8, v8, v21
const/16 v21, 0x1
aget v21, v20, v21
sub-int v7, v7, v21
const/16 v21, 0x2
aget v20, v20, v21
sub-int v6, v6, v20
add-int/2addr v14, v5
add-int/lit8 v16, v16, 0x1
goto/16 :goto_265
:cond_30a
add-int/lit8 v15, v15, 0x1
goto/16 :goto_1d2
:cond_30e
const/4 v4, 0x0
const/4 v6, 0x0
const/4 v7, 0x0
move v8, v5
invoke-virtual/range {v2 .. v9}, Landroid/graphics/Bitmap;->setPixels([IIIIIII)V
goto/16 :goto_11
.end method
.method public static getPicUrl(Ljava/lang/String;II)Ljava/lang/String;
.registers 8
const/4 v0, 0x0
const/4 v3, 0x1
const/4 v2, 0x0
if-eqz p0, :cond_b
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v1
if-ge v1, v3, :cond_c
:cond_b
:goto_b
return-object v0
:cond_c
invoke-virtual {p0, v2}, Ljava/lang/String;->charAt(I)C
move-result v1
invoke-static {v1}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;
move-result-object v1
const/16 v2, 0x10
:try_start_16
invoke-static {v1, v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
move-result v1
rem-int/lit8 v1, v1, 0x5
sget-object v2, Lcom/sdk/orion/ui/baselibrary/utils/ImageUtil;->server_url:Ljava/lang/String;
const/4 v3, 0x4
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
aput-object v1, v3, v4
const/4 v1, 0x1
aput-object p0, v3, v1
const/4 v1, 0x2
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v3, v1
const/4 v1, 0x3
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v3, v1
invoke-static {v2, v3}, Ljava/text/MessageFormat;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
:try_end_3c
.catch Ljava/lang/Exception; {:try_start_16 .. :try_end_3c} :catch_3e
move-result-object v0
goto :goto_b
:catch_3e
move-exception v1
goto :goto_b
.end method
.method public static toRoundBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
.registers 14
const/4 v12, 0x0
const/4 v5, 0x0
invoke-virtual {p0}, Landroid/graphics/Bitmap;->getWidth()I
move-result v7
invoke-virtual {p0}, Landroid/graphics/Bitmap;->getHeight()I
move-result v8
if-gt v7, v8, :cond_5b
div-int/lit8 v0, v7, 0x2
int-to-float v4, v0
int-to-float v2, v7
int-to-float v3, v7
int-to-float v1, v7
int-to-float v0, v7
move v6, v4
move v8, v7
move v4, v5
:goto_16
sget-object v9, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
invoke-static {v8, v7, v9}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v7
new-instance v8, Landroid/graphics/Canvas;
invoke-direct {v8, v7}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V
new-instance v9, Landroid/graphics/Paint;
invoke-direct {v9}, Landroid/graphics/Paint;-><init>()V
new-instance v10, Landroid/graphics/Rect;
float-to-int v4, v4
float-to-int v11, v5
float-to-int v3, v3
float-to-int v2, v2
invoke-direct {v10, v4, v11, v3, v2}, Landroid/graphics/Rect;-><init>(IIII)V
new-instance v2, Landroid/graphics/Rect;
float-to-int v3, v5
float-to-int v4, v5
float-to-int v1, v1
float-to-int v0, v0
invoke-direct {v2, v3, v4, v1, v0}, Landroid/graphics/Rect;-><init>(IIII)V
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0, v2}, Landroid/graphics/RectF;-><init>(Landroid/graphics/Rect;)V
const/4 v1, 0x1
invoke-virtual {v9, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V
invoke-virtual {v8, v12, v12, v12, v12}, Landroid/graphics/Canvas;->drawARGB(IIII)V
const v1, -0xbdbdbe
invoke-virtual {v9, v1}, Landroid/graphics/Paint;->setColor(I)V
invoke-virtual {v8, v0, v6, v6, v9}, Landroid/graphics/Canvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V
new-instance v0, Landroid/graphics/PorterDuffXfermode;
sget-object v1, Landroid/graphics/PorterDuff$Mode;->SRC_IN:Landroid/graphics/PorterDuff$Mode;
invoke-direct {v0, v1}, Landroid/graphics/PorterDuffXfermode;-><init>(Landroid/graphics/PorterDuff$Mode;)V
invoke-virtual {v9, v0}, Landroid/graphics/Paint;->setXfermode(Landroid/graphics/Xfermode;)Landroid/graphics/Xfermode;
invoke-virtual {v8, p0, v10, v2, v9}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
return-object v7
:cond_5b
div-int/lit8 v0, v8, 0x2
int-to-float v6, v0
sub-int v0, v7, v8
div-int/lit8 v0, v0, 0x2
int-to-float v4, v0
int-to-float v0, v7
sub-float v3, v0, v4
int-to-float v2, v8
int-to-float v1, v8
int-to-float v0, v8
move v7, v8
goto :goto_16
.end method