Bitmaps.smali
.class public Lim/tpelyyftgw/messenger/Bitmaps;
.super Ljava/lang/Object;
.source "Bitmaps.java"
# static fields
.field protected static footer:[B
.field protected static header:[B
.field private static final jpegData:Ljava/lang/ThreadLocal;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ThreadLocal<",
"[B>;"
}
.end annotation
.end field
.field private static volatile sScaleMatrix:Landroid/graphics/Matrix;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 19
new-instance v0, Lim/tpelyyftgw/messenger/Bitmaps$1;
invoke-direct {v0}, Lim/tpelyyftgw/messenger/Bitmaps$1;-><init>()V
sput-object v0, Lim/tpelyyftgw/messenger/Bitmaps;->jpegData:Ljava/lang/ThreadLocal;
.line 105
const/16 v0, 0x26f
new-array v0, v0, [B
fill-array-data v0, :array_1a
sput-object v0, Lim/tpelyyftgw/messenger/Bitmaps;->header:[B
.line 197
const/4 v0, 0x2
new-array v0, v0, [B
fill-array-data v0, :array_156
sput-object v0, Lim/tpelyyftgw/messenger/Bitmaps;->footer:[B
return-void
nop
:array_1a
.array-data 1
-0x1t
-0x28t
-0x1t
-0x20t
0x0t
0x10t
0x4at
0x46t
0x49t
0x46t
0x0t
0x1t
0x1t
0x0t
0x0t
0x1t
0x0t
0x1t
0x0t
0x0t
-0x1t
-0x25t
0x0t
0x43t
0x0t
0x28t
0x1ct
0x1et
0x23t
0x1et
0x19t
0x28t
0x23t
0x21t
0x23t
0x2dt
0x2bt
0x28t
0x30t
0x3ct
0x64t
0x41t
0x3ct
0x37t
0x37t
0x3ct
0x7bt
0x58t
0x5dt
0x49t
0x64t
-0x6ft
-0x80t
-0x67t
-0x6at
-0x71t
-0x80t
-0x74t
-0x76t
-0x60t
-0x4ct
-0x1at
-0x3dt
-0x60t
-0x56t
-0x26t
-0x53t
-0x76t
-0x74t
-0x38t
-0x1t
-0x35t
-0x26t
-0x12t
-0xbt
-0x1t
-0x1t
-0x1t
-0x65t
-0x3ft
-0x1t
-0x1t
-0x1t
-0x6t
-0x1t
-0x1at
-0x3t
-0x1t
-0x8t
-0x1t
-0x25t
0x0t
0x43t
0x1t
0x2bt
0x2dt
0x2dt
0x3ct
0x35t
0x3ct
0x76t
0x41t
0x41t
0x76t
-0x8t
-0x5bt
-0x74t
-0x5bt
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x8t
-0x1t
-0x40t
0x0t
0x11t
0x8t
0x0t
0x1et
0x0t
0x28t
0x3t
0x1t
0x22t
0x0t
0x2t
0x11t
0x1t
0x3t
0x11t
0x1t
-0x1t
-0x3ct
0x0t
0x1ft
0x0t
0x0t
0x1t
0x5t
0x1t
0x1t
0x1t
0x1t
0x1t
0x1t
0x0t
0x0t
0x0t
0x0t
0x0t
0x0t
0x0t
0x0t
0x1t
0x2t
0x3t
0x4t
0x5t
0x6t
0x7t
0x8t
0x9t
0xat
0xbt
-0x1t
-0x3ct
0x0t
-0x4bt
0x10t
0x0t
0x2t
0x1t
0x3t
0x3t
0x2t
0x4t
0x3t
0x5t
0x5t
0x4t
0x4t
0x0t
0x0t
0x1t
0x7dt
0x1t
0x2t
0x3t
0x0t
0x4t
0x11t
0x5t
0x12t
0x21t
0x31t
0x41t
0x6t
0x13t
0x51t
0x61t
0x7t
0x22t
0x71t
0x14t
0x32t
-0x7ft
-0x6ft
-0x5ft
0x8t
0x23t
0x42t
-0x4ft
-0x3ft
0x15t
0x52t
-0x2ft
-0x10t
0x24t
0x33t
0x62t
0x72t
-0x7et
0x9t
0xat
0x16t
0x17t
0x18t
0x19t
0x1at
0x25t
0x26t
0x27t
0x28t
0x29t
0x2at
0x34t
0x35t
0x36t
0x37t
0x38t
0x39t
0x3at
0x43t
0x44t
0x45t
0x46t
0x47t
0x48t
0x49t
0x4at
0x53t
0x54t
0x55t
0x56t
0x57t
0x58t
0x59t
0x5at
0x63t
0x64t
0x65t
0x66t
0x67t
0x68t
0x69t
0x6at
0x73t
0x74t
0x75t
0x76t
0x77t
0x78t
0x79t
0x7at
-0x7dt
-0x7ct
-0x7bt
-0x7at
-0x79t
-0x78t
-0x77t
-0x76t
-0x6et
-0x6dt
-0x6ct
-0x6bt
-0x6at
-0x69t
-0x68t
-0x67t
-0x66t
-0x5et
-0x5dt
-0x5ct
-0x5bt
-0x5at
-0x59t
-0x58t
-0x57t
-0x56t
-0x4et
-0x4dt
-0x4ct
-0x4bt
-0x4at
-0x49t
-0x48t
-0x47t
-0x46t
-0x3et
-0x3dt
-0x3ct
-0x3bt
-0x3at
-0x39t
-0x38t
-0x37t
-0x36t
-0x2et
-0x2dt
-0x2ct
-0x2bt
-0x2at
-0x29t
-0x28t
-0x27t
-0x26t
-0x1ft
-0x1et
-0x1dt
-0x1ct
-0x1bt
-0x1at
-0x19t
-0x18t
-0x17t
-0x16t
-0xft
-0xet
-0xdt
-0xct
-0xbt
-0xat
-0x9t
-0x8t
-0x7t
-0x6t
-0x1t
-0x3ct
0x0t
0x1ft
0x1t
0x0t
0x3t
0x1t
0x1t
0x1t
0x1t
0x1t
0x1t
0x1t
0x1t
0x1t
0x0t
0x0t
0x0t
0x0t
0x0t
0x0t
0x1t
0x2t
0x3t
0x4t
0x5t
0x6t
0x7t
0x8t
0x9t
0xat
0xbt
-0x1t
-0x3ct
0x0t
-0x4bt
0x11t
0x0t
0x2t
0x1t
0x2t
0x4t
0x4t
0x3t
0x4t
0x7t
0x5t
0x4t
0x4t
0x0t
0x1t
0x2t
0x77t
0x0t
0x1t
0x2t
0x3t
0x11t
0x4t
0x5t
0x21t
0x31t
0x6t
0x12t
0x41t
0x51t
0x7t
0x61t
0x71t
0x13t
0x22t
0x32t
-0x7ft
0x8t
0x14t
0x42t
-0x6ft
-0x5ft
-0x4ft
-0x3ft
0x9t
0x23t
0x33t
0x52t
-0x10t
0x15t
0x62t
0x72t
-0x2ft
0xat
0x16t
0x24t
0x34t
-0x1ft
0x25t
-0xft
0x17t
0x18t
0x19t
0x1at
0x26t
0x27t
0x28t
0x29t
0x2at
0x35t
0x36t
0x37t
0x38t
0x39t
0x3at
0x43t
0x44t
0x45t
0x46t
0x47t
0x48t
0x49t
0x4at
0x53t
0x54t
0x55t
0x56t
0x57t
0x58t
0x59t
0x5at
0x63t
0x64t
0x65t
0x66t
0x67t
0x68t
0x69t
0x6at
0x73t
0x74t
0x75t
0x76t
0x77t
0x78t
0x79t
0x7at
-0x7et
-0x7dt
-0x7ct
-0x7bt
-0x7at
-0x79t
-0x78t
-0x77t
-0x76t
-0x6et
-0x6dt
-0x6ct
-0x6bt
-0x6at
-0x69t
-0x68t
-0x67t
-0x66t
-0x5et
-0x5dt
-0x5ct
-0x5bt
-0x5at
-0x59t
-0x58t
-0x57t
-0x56t
-0x4et
-0x4dt
-0x4ct
-0x4bt
-0x4at
-0x49t
-0x48t
-0x47t
-0x46t
-0x3et
-0x3dt
-0x3ct
-0x3bt
-0x3at
-0x39t
-0x38t
-0x37t
-0x36t
-0x2et
-0x2dt
-0x2ct
-0x2bt
-0x2at
-0x29t
-0x28t
-0x27t
-0x26t
-0x1et
-0x1dt
-0x1ct
-0x1bt
-0x1at
-0x19t
-0x18t
-0x17t
-0x16t
-0xet
-0xdt
-0xct
-0xbt
-0xat
-0x9t
-0x8t
-0x7t
-0x6t
-0x1t
-0x26t
0x0t
0xct
0x3t
0x1t
0x0t
0x2t
0x11t
0x3t
0x11t
0x0t
0x3ft
0x0t
.end array-data
:array_156
.array-data 1
-0x1t
-0x27t
.end array-data
.end method
.method public constructor <init>()V
.registers 1
.line 15
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static checkWidthHeight(II)V
.registers 4
.param p0, "width" # I
.param p1, "height" # I
.line 239
if-lez p0, :cond_d
.line 242
if-lez p1, :cond_5
.line 245
return-void
.line 243
:cond_5
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "height must be > 0"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 240
:cond_d
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string/jumbo v1, "width must be > 0"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private static checkXYSign(II)V
.registers 4
.param p0, "x" # I
.param p1, "y" # I
.line 230
if-ltz p0, :cond_e
.line 233
if-ltz p1, :cond_5
.line 236
return-void
.line 234
:cond_5
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string/jumbo v1, "y must be >= 0"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 231
:cond_e
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string/jumbo v1, "x must be >= 0"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
.registers 9
.param p0, "width" # I
.param p1, "height" # I
.param p2, "config" # Landroid/graphics/Bitmap$Config;
.line 204
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v1, 0x0
const/16 v2, 0x15
if-ge v0, v2, :cond_4a
.line 205
new-instance v0, Landroid/graphics/BitmapFactory$Options;
invoke-direct {v0}, Landroid/graphics/BitmapFactory$Options;-><init>()V
.line 206
.local v0, "options":Landroid/graphics/BitmapFactory$Options;
const/4 v2, 0x1
iput-boolean v2, v0, Landroid/graphics/BitmapFactory$Options;->inDither:Z
.line 207
iput-object p2, v0, Landroid/graphics/BitmapFactory$Options;->inPreferredConfig:Landroid/graphics/Bitmap$Config;
.line 208
iput-boolean v2, v0, Landroid/graphics/BitmapFactory$Options;->inPurgeable:Z
.line 209
iput v2, v0, Landroid/graphics/BitmapFactory$Options;->inSampleSize:I
.line 210
iput-boolean v2, v0, Landroid/graphics/BitmapFactory$Options;->inMutable:Z
.line 211
sget-object v3, Lim/tpelyyftgw/messenger/Bitmaps;->jpegData:Ljava/lang/ThreadLocal;
invoke-virtual {v3}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object v3
check-cast v3, [B
.line 212
.local v3, "array":[B
const/16 v4, 0x4c
shr-int/lit8 v5, p1, 0x8
int-to-byte v5, v5
aput-byte v5, v3, v4
.line 213
const/16 v4, 0x4d
and-int/lit16 v5, p1, 0xff
int-to-byte v5, v5
aput-byte v5, v3, v4
.line 214
const/16 v4, 0x4e
shr-int/lit8 v5, p0, 0x8
int-to-byte v5, v5
aput-byte v5, v3, v4
.line 215
const/16 v4, 0x4f
and-int/lit16 v5, p0, 0xff
int-to-byte v5, v5
aput-byte v5, v3, v4
.line 216
array-length v4, v3
invoke-static {v3, v1, v4, v0}, Landroid/graphics/BitmapFactory;->decodeByteArray([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
move-result-object v4
.line 217
.local v4, "bitmap":Landroid/graphics/Bitmap;
invoke-static {v4}, Lim/tpelyyftgw/messenger/Utilities;->pinBitmap(Landroid/graphics/Bitmap;)I
.line 218
invoke-virtual {v4, v2}, Landroid/graphics/Bitmap;->setHasAlpha(Z)V
.line 219
invoke-virtual {v4, v1}, Landroid/graphics/Bitmap;->eraseColor(I)V
.line 220
.end local v0 # "options":Landroid/graphics/BitmapFactory$Options;
.end local v3 # "array":[B
goto :goto_4e
.line 221
.end local v4 # "bitmap":Landroid/graphics/Bitmap;
:cond_4a
invoke-static {p0, p1, p2}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v4
.line 223
.restart local v4 # "bitmap":Landroid/graphics/Bitmap;
:goto_4e
sget-object v0, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
if-eq p2, v0, :cond_56
sget-object v0, Landroid/graphics/Bitmap$Config;->ARGB_4444:Landroid/graphics/Bitmap$Config;
if-ne p2, v0, :cond_59
.line 224
:cond_56
invoke-virtual {v4, v1}, Landroid/graphics/Bitmap;->eraseColor(I)V
.line 226
:cond_59
return-object v4
.end method
.method public static createBitmap(Landroid/graphics/Bitmap;IIII)Landroid/graphics/Bitmap;
.registers 12
.param p0, "source" # Landroid/graphics/Bitmap;
.param p1, "x" # I
.param p2, "y" # I
.param p3, "width" # I
.param p4, "height" # I
.line 324
const/4 v5, 0x0
const/4 v6, 0x0
move-object v0, p0
move v1, p1
move v2, p2
move v3, p3
move v4, p4
invoke-static/range {v0 .. v6}, Lim/tpelyyftgw/messenger/Bitmaps;->createBitmap(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public static createBitmap(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;
.registers 25
.param p0, "source" # Landroid/graphics/Bitmap;
.param p1, "x" # I
.param p2, "y" # I
.param p3, "width" # I
.param p4, "height" # I
.param p5, "m" # Landroid/graphics/Matrix;
.param p6, "filter" # Z
.line 248
move-object/from16 v1, p0
move/from16 v2, p1
move/from16 v3, p2
move/from16 v4, p3
move/from16 v5, p4
move-object/from16 v6, p5
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v7, 0x15
if-lt v0, v7, :cond_17
.line 249
invoke-static/range {p0 .. p6}, Landroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.line 251
:cond_17
invoke-static/range {p1 .. p2}, Lim/tpelyyftgw/messenger/Bitmaps;->checkXYSign(II)V
.line 252
invoke-static/range {p3 .. p4}, Lim/tpelyyftgw/messenger/Bitmaps;->checkWidthHeight(II)V
.line 253
add-int v0, v2, v4
invoke-virtual/range {p0 .. p0}, Landroid/graphics/Bitmap;->getWidth()I
move-result v7
if-gt v0, v7, :cond_10e
.line 256
add-int v0, v3, v5
invoke-virtual/range {p0 .. p0}, Landroid/graphics/Bitmap;->getHeight()I
move-result v7
if-gt v0, v7, :cond_105
.line 259
invoke-virtual/range {p0 .. p0}, Landroid/graphics/Bitmap;->isMutable()Z
move-result v0
if-nez v0, :cond_4c
if-nez v2, :cond_4c
if-nez v3, :cond_4c
invoke-virtual/range {p0 .. p0}, Landroid/graphics/Bitmap;->getWidth()I
move-result v0
if-ne v4, v0, :cond_4c
invoke-virtual/range {p0 .. p0}, Landroid/graphics/Bitmap;->getHeight()I
move-result v0
if-ne v5, v0, :cond_4c
if-eqz v6, :cond_4b
invoke-virtual/range {p5 .. p5}, Landroid/graphics/Matrix;->isIdentity()Z
move-result v0
if-eqz v0, :cond_4c
.line 260
:cond_4b
return-object v1
.line 263
:cond_4c
move/from16 v0, p3
.line 264
.local v0, "neww":I
move/from16 v7, p4
.line 265
.local v7, "newh":I
new-instance v8, Landroid/graphics/Canvas;
invoke-direct {v8}, Landroid/graphics/Canvas;-><init>()V
.line 269
.local v8, "canvas":Landroid/graphics/Canvas;
new-instance v9, Landroid/graphics/Rect;
add-int v10, v2, v4
add-int v11, v3, v5
invoke-direct {v9, v2, v3, v10, v11}, Landroid/graphics/Rect;-><init>(IIII)V
.line 270
.local v9, "srcR":Landroid/graphics/Rect;
new-instance v10, Landroid/graphics/RectF;
int-to-float v11, v4
int-to-float v12, v5
const/4 v13, 0x0
invoke-direct {v10, v13, v13, v11, v12}, Landroid/graphics/RectF;-><init>(FFFF)V
.line 272
.local v10, "dstR":Landroid/graphics/RectF;
sget-object v11, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
.line 273
.local v11, "newConfig":Landroid/graphics/Bitmap$Config;
invoke-virtual/range {p0 .. p0}, Landroid/graphics/Bitmap;->getConfig()Landroid/graphics/Bitmap$Config;
move-result-object v12
.line 274
.local v12, "config":Landroid/graphics/Bitmap$Config;
const/4 v13, 0x1
if-eqz v12, :cond_84
.line 275
sget-object v14, Lim/tpelyyftgw/messenger/Bitmaps$2;->$SwitchMap$android$graphics$Bitmap$Config:[I
invoke-virtual {v12}, Landroid/graphics/Bitmap$Config;->ordinal()I
move-result v15
aget v14, v14, v15
if-eq v14, v13, :cond_82
const/4 v15, 0x2
if-eq v14, v15, :cond_7f
.line 285
sget-object v11, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
goto :goto_84
.line 280
:cond_7f
sget-object v11, Landroid/graphics/Bitmap$Config;->ALPHA_8:Landroid/graphics/Bitmap$Config;
.line 281
goto :goto_84
.line 277
:cond_82
sget-object v11, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
.line 290
:cond_84
:goto_84
if-eqz v6, :cond_d6
invoke-virtual/range {p5 .. p5}, Landroid/graphics/Matrix;->isIdentity()Z
move-result v14
if-eqz v14, :cond_8d
goto :goto_d6
.line 294
:cond_8d
invoke-virtual/range {p5 .. p5}, Landroid/graphics/Matrix;->rectStaysRect()Z
move-result v14
xor-int/2addr v14, v13
.line 295
.local v14, "transformed":Z
new-instance v15, Landroid/graphics/RectF;
invoke-direct {v15}, Landroid/graphics/RectF;-><init>()V
.line 296
.local v15, "deviceR":Landroid/graphics/RectF;
invoke-virtual {v6, v15, v10}, Landroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;Landroid/graphics/RectF;)Z
.line 297
invoke-virtual {v15}, Landroid/graphics/RectF;->width()F
move-result v16
invoke-static/range {v16 .. v16}, Ljava/lang/Math;->round(F)I
move-result v0
.line 298
invoke-virtual {v15}, Landroid/graphics/RectF;->height()F
move-result v16
invoke-static/range {v16 .. v16}, Ljava/lang/Math;->round(F)I
move-result v7
.line 299
if-eqz v14, :cond_b1
sget-object v16, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
move-object/from16 v13, v16
goto :goto_b2
:cond_b1
move-object v13, v11
:goto_b2
invoke-static {v0, v7, v13}, Lim/tpelyyftgw/messenger/Bitmaps;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v13
.line 300
.local v13, "bitmap":Landroid/graphics/Bitmap;
move/from16 v17, v0
.end local v0 # "neww":I
.local v17, "neww":I
iget v0, v15, Landroid/graphics/RectF;->left:F
neg-float v0, v0
iget v2, v15, Landroid/graphics/RectF;->top:F
neg-float v2, v2
invoke-virtual {v8, v0, v2}, Landroid/graphics/Canvas;->translate(FF)V
.line 301
invoke-virtual {v8, v6}, Landroid/graphics/Canvas;->concat(Landroid/graphics/Matrix;)V
.line 302
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
.line 303
.local v0, "paint":Landroid/graphics/Paint;
move/from16 v2, p6
invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setFilterBitmap(Z)V
.line 304
if-eqz v14, :cond_d4
.line 305
const/4 v2, 0x1
invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 308
.end local v14 # "transformed":Z
.end local v15 # "deviceR":Landroid/graphics/RectF;
:cond_d4
move-object v2, v0
goto :goto_dd
.line 291
.end local v13 # "bitmap":Landroid/graphics/Bitmap;
.end local v17 # "neww":I
.local v0, "neww":I
:cond_d6
:goto_d6
invoke-static {v0, v7, v11}, Lim/tpelyyftgw/messenger/Bitmaps;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v13
.line 292
.restart local v13 # "bitmap":Landroid/graphics/Bitmap;
const/4 v2, 0x0
move/from16 v17, v0
.line 308
.end local v0 # "neww":I
.local v2, "paint":Landroid/graphics/Paint;
.restart local v17 # "neww":I
:goto_dd
invoke-virtual/range {p0 .. p0}, Landroid/graphics/Bitmap;->getDensity()I
move-result v0
invoke-virtual {v13, v0}, Landroid/graphics/Bitmap;->setDensity(I)V
.line 309
invoke-virtual/range {p0 .. p0}, Landroid/graphics/Bitmap;->hasAlpha()Z
move-result v0
invoke-virtual {v13, v0}, Landroid/graphics/Bitmap;->setHasAlpha(Z)V
.line 310
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v14, 0x13
if-lt v0, v14, :cond_f8
.line 311
invoke-virtual/range {p0 .. p0}, Landroid/graphics/Bitmap;->isPremultiplied()Z
move-result v0
invoke-virtual {v13, v0}, Landroid/graphics/Bitmap;->setPremultiplied(Z)V
.line 313
:cond_f8
invoke-virtual {v8, v13}, Landroid/graphics/Canvas;->setBitmap(Landroid/graphics/Bitmap;)V
.line 314
invoke-virtual {v8, v1, v9, v10, v2}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
.line 316
const/4 v0, 0x0
:try_start_ff
invoke-virtual {v8, v0}, Landroid/graphics/Canvas;->setBitmap(Landroid/graphics/Bitmap;)V
:try_end_102
.catch Ljava/lang/Exception; {:try_start_ff .. :try_end_102} :catch_103
.line 319
goto :goto_104
.line 317
:catch_103
move-exception v0
.line 320
:goto_104
return-object v13
.line 257
.end local v2 # "paint":Landroid/graphics/Paint;
.end local v7 # "newh":I
.end local v8 # "canvas":Landroid/graphics/Canvas;
.end local v9 # "srcR":Landroid/graphics/Rect;
.end local v10 # "dstR":Landroid/graphics/RectF;
.end local v11 # "newConfig":Landroid/graphics/Bitmap$Config;
.end local v12 # "config":Landroid/graphics/Bitmap$Config;
.end local v13 # "bitmap":Landroid/graphics/Bitmap;
.end local v17 # "neww":I
:cond_105
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string/jumbo v2, "y + height must be <= bitmap.height()"
invoke-direct {v0, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 254
:cond_10e
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string/jumbo v2, "x + width must be <= bitmap.width()"
invoke-direct {v0, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static createScaledBitmap(Landroid/graphics/Bitmap;IIZ)Landroid/graphics/Bitmap;
.registers 19
.param p0, "src" # Landroid/graphics/Bitmap;
.param p1, "dstWidth" # I
.param p2, "dstHeight" # I
.param p3, "filter" # Z
.line 328
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x15
if-lt v0, v1, :cond_b
.line 329
invoke-static/range {p0 .. p3}, Landroid/graphics/Bitmap;->createScaledBitmap(Landroid/graphics/Bitmap;IIZ)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.line 332
:cond_b
const-class v1, Landroid/graphics/Bitmap;
monitor-enter v1
.line 333
:try_start_e
sget-object v0, Lim/tpelyyftgw/messenger/Bitmaps;->sScaleMatrix:Landroid/graphics/Matrix;
.line 334
.local v0, "m":Landroid/graphics/Matrix;
const/4 v2, 0x0
sput-object v2, Lim/tpelyyftgw/messenger/Bitmaps;->sScaleMatrix:Landroid/graphics/Matrix;
.line 335
monitor-exit v1
:try_end_14
.catchall {:try_start_e .. :try_end_14} :catchall_50
.line 336
if-nez v0, :cond_1e
.line 337
new-instance v1, Landroid/graphics/Matrix;
invoke-direct {v1}, Landroid/graphics/Matrix;-><init>()V
move-object v0, v1
move-object v8, v0
goto :goto_1f
.line 336
:cond_1e
move-object v8, v0
.line 339
.end local v0 # "m":Landroid/graphics/Matrix;
.local v8, "m":Landroid/graphics/Matrix;
:goto_1f
invoke-virtual {p0}, Landroid/graphics/Bitmap;->getWidth()I
move-result v9
.line 340
.local v9, "width":I
invoke-virtual {p0}, Landroid/graphics/Bitmap;->getHeight()I
move-result v10
.line 341
.local v10, "height":I
move/from16 v11, p1
int-to-float v0, v11
int-to-float v1, v9
div-float v12, v0, v1
.line 342
.local v12, "sx":F
move/from16 v13, p2
int-to-float v0, v13
int-to-float v1, v10
div-float v14, v0, v1
.line 343
.local v14, "sy":F
invoke-virtual {v8, v12, v14}, Landroid/graphics/Matrix;->setScale(FF)V
.line 344
const/4 v2, 0x0
const/4 v3, 0x0
move-object v1, p0
move v4, v9
move v5, v10
move-object v6, v8
move/from16 v7, p3
invoke-static/range {v1 .. v7}, Lim/tpelyyftgw/messenger/Bitmaps;->createBitmap(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;
move-result-object v2
.line 345
.local v2, "b":Landroid/graphics/Bitmap;
const-class v3, Landroid/graphics/Bitmap;
monitor-enter v3
.line 346
:try_start_45
sget-object v0, Lim/tpelyyftgw/messenger/Bitmaps;->sScaleMatrix:Landroid/graphics/Matrix;
if-nez v0, :cond_4b
.line 347
sput-object v8, Lim/tpelyyftgw/messenger/Bitmaps;->sScaleMatrix:Landroid/graphics/Matrix;
.line 349
:cond_4b
monitor-exit v3
.line 350
return-object v2
.line 349
:catchall_4d
move-exception v0
monitor-exit v3
:try_end_4f
.catchall {:try_start_45 .. :try_end_4f} :catchall_4d
throw v0
.line 335
.end local v2 # "b":Landroid/graphics/Bitmap;
.end local v8 # "m":Landroid/graphics/Matrix;
.end local v9 # "width":I
.end local v10 # "height":I
.end local v12 # "sx":F
.end local v14 # "sy":F
:catchall_50
move-exception v0
move/from16 v11, p1
move/from16 v13, p2
:goto_55
:try_start_55
monitor-exit v1
:try_end_56
.catchall {:try_start_55 .. :try_end_56} :catchall_57
throw v0
:catchall_57
move-exception v0
goto :goto_55
.end method