public class android.graphics.BitmapFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.graphics.BitmapFactory
super_class: java.lang.Object
{
private static final int DECODE_BUFFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16384
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/graphics/BitmapFactory;
public static android.graphics.Bitmap decodeFile(java.lang.String, android.graphics.BitmapFactory$Options);
descriptor: (Ljava/lang/String;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokestatic android.graphics.BitmapFactory$Options.validate:(Landroid/graphics/BitmapFactory$Options;)V
1: aconst_null
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: new java.io.FileInputStream
dup
aload 0
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
astore 3
4: aload 3
aconst_null
aload 1
invokestatic android.graphics.BitmapFactory.decodeStream:(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
astore 2
5: goto 18
StackMap locals: java.lang.String android.graphics.BitmapFactory$Options android.graphics.Bitmap java.io.InputStream
StackMap stack: java.lang.Exception
6: astore 4
start local 4 7: ldc "BitmapFactory"
new java.lang.StringBuilder
dup
ldc "Unable to decode stream: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 4 8: aload 3
ifnull 22
9: aload 3
invokevirtual java.io.InputStream.close:()V
10: goto 22
StackMap locals:
StackMap stack: java.io.IOException
11: pop
goto 22
12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
13: aload 3
ifnull 17
14: aload 3
invokevirtual java.io.InputStream.close:()V
15: goto 17
StackMap locals: java.lang.String android.graphics.BitmapFactory$Options android.graphics.Bitmap java.io.InputStream top java.lang.Throwable
StackMap stack: java.io.IOException
16: pop
17: StackMap locals:
StackMap stack:
aload 5
athrow
18: StackMap locals: java.lang.String android.graphics.BitmapFactory$Options android.graphics.Bitmap java.io.InputStream
StackMap stack:
aload 3
ifnull 22
19: aload 3
invokevirtual java.io.InputStream.close:()V
20: goto 22
StackMap locals:
StackMap stack: java.io.IOException
21: pop
22: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 pathName Ljava/lang/String;
0 23 1 opts Landroid/graphics/BitmapFactory$Options;
2 23 2 bm Landroid/graphics/Bitmap;
3 23 3 stream Ljava/io/InputStream;
7 8 4 e Ljava/lang/Exception;
Exception table:
from to target type
3 5 6 Class java.lang.Exception
9 10 11 Class java.io.IOException
3 8 12 any
14 15 16 Class java.io.IOException
19 20 21 Class java.io.IOException
MethodParameters:
Name Flags
pathName
opts
public static android.graphics.Bitmap decodeFile(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/graphics/Bitmap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokestatic android.graphics.BitmapFactory.decodeFile:(Ljava/lang/String;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pathName Ljava/lang/String;
MethodParameters:
Name Flags
pathName
public static android.graphics.Bitmap decodeResourceStream(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory$Options);
descriptor: (Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
invokestatic android.graphics.BitmapFactory$Options.validate:(Landroid/graphics/BitmapFactory$Options;)V
1: aload 4
ifnonnull 3
2: new android.graphics.BitmapFactory$Options
dup
invokespecial android.graphics.BitmapFactory$Options.<init>:()V
astore 4
3: StackMap locals:
StackMap stack:
aload 4
getfield android.graphics.BitmapFactory$Options.inDensity:I
ifne 10
aload 1
ifnull 10
4: aload 1
getfield android.util.TypedValue.density:I
istore 5
start local 5 5: iload 5
ifne 8
6: aload 4
sipush 160
putfield android.graphics.BitmapFactory$Options.inDensity:I
7: goto 10
StackMap locals: int
StackMap stack:
8: iload 5
ldc 65535
if_icmpeq 10
9: aload 4
iload 5
putfield android.graphics.BitmapFactory$Options.inDensity:I
end local 5 10: StackMap locals:
StackMap stack:
aload 4
getfield android.graphics.BitmapFactory$Options.inTargetDensity:I
ifne 12
aload 0
ifnull 12
11: aload 4
aload 0
invokevirtual android.content.res.Resources.getDisplayMetrics:()Landroid/util/DisplayMetrics;
getfield android.util.DisplayMetrics.densityDpi:I
putfield android.graphics.BitmapFactory$Options.inTargetDensity:I
12: StackMap locals:
StackMap stack:
aload 2
aload 3
aload 4
invokestatic android.graphics.BitmapFactory.decodeStream:(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 res Landroid/content/res/Resources;
0 13 1 value Landroid/util/TypedValue;
0 13 2 is Ljava/io/InputStream;
0 13 3 pad Landroid/graphics/Rect;
0 13 4 opts Landroid/graphics/BitmapFactory$Options;
5 10 5 density I
MethodParameters:
Name Flags
res
value
is
pad
opts
public static android.graphics.Bitmap decodeResource(android.content.res.Resources, int, android.graphics.BitmapFactory$Options);
descriptor: (Landroid/content/res/Resources;ILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic android.graphics.BitmapFactory$Options.validate:(Landroid/graphics/BitmapFactory$Options;)V
1: aconst_null
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: new android.util.TypedValue
dup
invokespecial android.util.TypedValue.<init>:()V
astore 5
start local 5 4: aload 0
iload 1
aload 5
invokevirtual android.content.res.Resources.openRawResource:(ILandroid/util/TypedValue;)Ljava/io/InputStream;
astore 4
5: aload 0
aload 5
aload 4
aconst_null
aload 2
invokestatic android.graphics.BitmapFactory.decodeResourceStream:(Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
astore 3
end local 5 6: goto 16
StackMap locals: android.content.res.Resources int android.graphics.BitmapFactory$Options android.graphics.Bitmap java.io.InputStream
StackMap stack: java.lang.Exception
7: pop
8: aload 4
ifnull 19
aload 4
invokevirtual java.io.InputStream.close:()V
9: goto 19
StackMap locals:
StackMap stack: java.io.IOException
10: pop
goto 19
11: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
12: aload 4
ifnull 15
aload 4
invokevirtual java.io.InputStream.close:()V
13: goto 15
StackMap locals: android.content.res.Resources int android.graphics.BitmapFactory$Options android.graphics.Bitmap java.io.InputStream top java.lang.Throwable
StackMap stack: java.io.IOException
14: pop
15: StackMap locals:
StackMap stack:
aload 6
athrow
16: StackMap locals: android.content.res.Resources int android.graphics.BitmapFactory$Options android.graphics.Bitmap java.io.InputStream
StackMap stack:
aload 4
ifnull 19
aload 4
invokevirtual java.io.InputStream.close:()V
17: goto 19
StackMap locals:
StackMap stack: java.io.IOException
18: pop
19: StackMap locals:
StackMap stack:
aload 3
ifnonnull 21
aload 2
ifnull 21
aload 2
getfield android.graphics.BitmapFactory$Options.inBitmap:Landroid/graphics/Bitmap;
ifnull 21
20: new java.lang.IllegalArgumentException
dup
ldc "Problem decoding into existing bitmap"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 res Landroid/content/res/Resources;
0 22 1 id I
0 22 2 opts Landroid/graphics/BitmapFactory$Options;
2 22 3 bm Landroid/graphics/Bitmap;
3 22 4 is Ljava/io/InputStream;
4 6 5 value Landroid/util/TypedValue;
Exception table:
from to target type
3 6 7 Class java.lang.Exception
8 9 10 Class java.io.IOException
3 8 11 any
12 13 14 Class java.io.IOException
16 17 18 Class java.io.IOException
MethodParameters:
Name Flags
res
id
opts
public static android.graphics.Bitmap decodeResource(android.content.res.Resources, int);
descriptor: (Landroid/content/res/Resources;I)Landroid/graphics/Bitmap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
aconst_null
invokestatic android.graphics.BitmapFactory.decodeResource:(Landroid/content/res/Resources;ILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 res Landroid/content/res/Resources;
0 1 1 id I
MethodParameters:
Name Flags
res
id
public static android.graphics.Bitmap decodeByteArray(byte[], int, int, android.graphics.BitmapFactory$Options);
descriptor: ([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iload 2
ior
iflt 1
aload 0
arraylength
iload 1
iload 2
iadd
if_icmpge 2
1: StackMap locals:
StackMap stack:
new java.lang.ArrayIndexOutOfBoundsException
dup
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 3
invokestatic android.graphics.BitmapFactory$Options.validate:(Landroid/graphics/BitmapFactory$Options;)V
3: ldc 2
ldc "decodeBitmap"
invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
4: aload 0
iload 1
iload 2
aload 3
invokestatic android.graphics.BitmapFactory.nativeDecodeByteArray:([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
astore 4
start local 4 5: aload 4
ifnonnull 7
aload 3
ifnull 7
aload 3
getfield android.graphics.BitmapFactory$Options.inBitmap:Landroid/graphics/Bitmap;
ifnull 7
6: new java.lang.IllegalArgumentException
dup
ldc "Problem decoding into existing bitmap"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: android.graphics.Bitmap
StackMap stack:
aload 4
aload 3
invokestatic android.graphics.BitmapFactory.setDensityFromOptions:(Landroid/graphics/Bitmap;Landroid/graphics/BitmapFactory$Options;)V
8: goto 12
end local 4 StackMap locals: byte[] int int android.graphics.BitmapFactory$Options
StackMap stack: java.lang.Throwable
9: astore 5
10: ldc 2
invokestatic android.os.Trace.traceEnd:(J)V
11: aload 5
athrow
start local 4 12: StackMap locals: android.graphics.Bitmap
StackMap stack:
ldc 2
invokestatic android.os.Trace.traceEnd:(J)V
13: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 data [B
0 14 1 offset I
0 14 2 length I
0 14 3 opts Landroid/graphics/BitmapFactory$Options;
5 9 4 bm Landroid/graphics/Bitmap;
12 14 4 bm Landroid/graphics/Bitmap;
Exception table:
from to target type
4 9 9 any
MethodParameters:
Name Flags
data
offset
length
opts
public static android.graphics.Bitmap decodeByteArray(byte[], int, int);
descriptor: ([BII)Landroid/graphics/Bitmap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
aconst_null
invokestatic android.graphics.BitmapFactory.decodeByteArray:([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 data [B
0 1 1 offset I
0 1 2 length I
MethodParameters:
Name Flags
data
offset
length
private static void setDensityFromOptions(android.graphics.Bitmap, android.graphics.BitmapFactory$Options);
descriptor: (Landroid/graphics/Bitmap;Landroid/graphics/BitmapFactory$Options;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
aload 1
ifnonnull 2
StackMap locals:
StackMap stack:
1: return
2: StackMap locals:
StackMap stack:
aload 1
getfield android.graphics.BitmapFactory$Options.inDensity:I
istore 2
start local 2 3: iload 2
ifeq 15
4: aload 0
iload 2
invokevirtual android.graphics.Bitmap.setDensity:(I)V
5: aload 1
getfield android.graphics.BitmapFactory$Options.inTargetDensity:I
istore 3
start local 3 6: iload 3
ifeq 7
iload 2
iload 3
if_icmpeq 7
iload 2
aload 1
getfield android.graphics.BitmapFactory$Options.inScreenDensity:I
if_icmpne 8
7: StackMap locals: int int
StackMap stack:
return
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.graphics.Bitmap.getNinePatchChunk:()[B
astore 4
start local 4 9: aload 4
ifnull 10
aload 4
invokestatic android.graphics.NinePatch.isNinePatchChunk:([B)Z
ifeq 10
iconst_1
goto 11
StackMap locals: byte[]
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 5
start local 5 12: aload 1
getfield android.graphics.BitmapFactory$Options.inScaled:Z
ifne 13
iload 5
ifeq 17
13: StackMap locals: int
StackMap stack:
aload 0
iload 3
invokevirtual android.graphics.Bitmap.setDensity:(I)V
end local 5 end local 4 end local 3 14: goto 17
StackMap locals:
StackMap stack:
15: aload 1
getfield android.graphics.BitmapFactory$Options.inBitmap:Landroid/graphics/Bitmap;
ifnull 17
16: aload 0
invokestatic android.graphics.Bitmap.getDefaultDensity:()I
invokevirtual android.graphics.Bitmap.setDensity:(I)V
17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 outputBitmap Landroid/graphics/Bitmap;
0 18 1 opts Landroid/graphics/BitmapFactory$Options;
3 18 2 density I
6 14 3 targetDensity I
9 14 4 np [B
12 14 5 isNinePatch Z
MethodParameters:
Name Flags
outputBitmap
opts
public static android.graphics.Bitmap decodeStream(java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory$Options);
descriptor: (Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokestatic android.graphics.BitmapFactory$Options.validate:(Landroid/graphics/BitmapFactory$Options;)V
3: aconst_null
astore 3
start local 3 4: ldc 2
ldc "decodeBitmap"
invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
5: aload 0
instanceof android.content.res.AssetManager$AssetInputStream
ifeq 9
6: aload 0
checkcast android.content.res.AssetManager$AssetInputStream
invokevirtual android.content.res.AssetManager$AssetInputStream.getNativeAsset:()J
lstore 4
start local 4 7: lload 4
aload 1
aload 2
invokestatic android.graphics.BitmapFactory.nativeDecodeAsset:(JLandroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
astore 3
end local 4 8: goto 10
9: StackMap locals: android.graphics.Bitmap
StackMap stack:
aload 0
aload 1
aload 2
invokestatic android.graphics.BitmapFactory.decodeStreamInternal:(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
astore 3
10: StackMap locals:
StackMap stack:
aload 3
ifnonnull 12
aload 2
ifnull 12
aload 2
getfield android.graphics.BitmapFactory$Options.inBitmap:Landroid/graphics/Bitmap;
ifnull 12
11: new java.lang.IllegalArgumentException
dup
ldc "Problem decoding into existing bitmap"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 3
aload 2
invokestatic android.graphics.BitmapFactory.setDensityFromOptions:(Landroid/graphics/Bitmap;Landroid/graphics/BitmapFactory$Options;)V
13: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 6
15: ldc 2
invokestatic android.os.Trace.traceEnd:(J)V
16: aload 6
athrow
17: StackMap locals:
StackMap stack:
ldc 2
invokestatic android.os.Trace.traceEnd:(J)V
18: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 is Ljava/io/InputStream;
0 19 1 outPadding Landroid/graphics/Rect;
0 19 2 opts Landroid/graphics/BitmapFactory$Options;
4 19 3 bm Landroid/graphics/Bitmap;
7 8 4 asset J
Exception table:
from to target type
5 14 14 any
MethodParameters:
Name Flags
is
outPadding
opts
private static android.graphics.Bitmap decodeStreamInternal(java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory$Options);
descriptor: (Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 2
ifnull 2
aload 2
getfield android.graphics.BitmapFactory$Options.inTempStorage:[B
astore 3
2: StackMap locals: byte[]
StackMap stack:
aload 3
ifnonnull 3
sipush 16384
newarray 8
astore 3
3: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 1
aload 2
invokestatic android.graphics.BitmapFactory.nativeDecodeStream:(Ljava/io/InputStream;[BLandroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 is Ljava/io/InputStream;
0 4 1 outPadding Landroid/graphics/Rect;
0 4 2 opts Landroid/graphics/BitmapFactory$Options;
1 4 3 tempStorage [B
MethodParameters:
Name Flags
is
outPadding
opts
public static android.graphics.Bitmap decodeStream(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Landroid/graphics/Bitmap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
aconst_null
invokestatic android.graphics.BitmapFactory.decodeStream:(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 is Ljava/io/InputStream;
MethodParameters:
Name Flags
is
public static android.graphics.Bitmap decodeFileDescriptor(java.io.FileDescriptor, android.graphics.Rect, android.graphics.BitmapFactory$Options);
descriptor: (Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic android.graphics.BitmapFactory$Options.validate:(Landroid/graphics/BitmapFactory$Options;)V
1: ldc 2
ldc "decodeFileDescriptor"
invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
2: aload 0
invokestatic android.graphics.BitmapFactory.nativeIsSeekable:(Ljava/io/FileDescriptor;)Z
ifeq 5
3: aload 0
aload 1
aload 2
invokestatic android.graphics.BitmapFactory.nativeDecodeFileDescriptor:(Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
astore 3
start local 3 4: goto 16
end local 3 5: StackMap locals:
StackMap stack:
new java.io.FileInputStream
dup
aload 0
invokespecial java.io.FileInputStream.<init>:(Ljava/io/FileDescriptor;)V
astore 4
start local 4 6: aload 4
aload 1
aload 2
invokestatic android.graphics.BitmapFactory.decodeStreamInternal:(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
astore 3
start local 3 7: goto 13
end local 3 StackMap locals: java.io.FileDescriptor android.graphics.Rect android.graphics.BitmapFactory$Options top java.io.FileInputStream
StackMap stack: java.lang.Throwable
8: astore 5
9: aload 4
invokevirtual java.io.FileInputStream.close:()V
10: goto 12
StackMap locals: java.io.FileDescriptor android.graphics.Rect android.graphics.BitmapFactory$Options top java.io.FileInputStream java.lang.Throwable
StackMap stack: java.lang.Throwable
11: pop
12: StackMap locals:
StackMap stack:
aload 5
athrow
start local 3 13: StackMap locals: java.io.FileDescriptor android.graphics.Rect android.graphics.BitmapFactory$Options android.graphics.Bitmap java.io.FileInputStream
StackMap stack:
aload 4
invokevirtual java.io.FileInputStream.close:()V
14: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
15: pop
end local 4 16: StackMap locals:
StackMap stack:
aload 3
ifnonnull 18
aload 2
ifnull 18
aload 2
getfield android.graphics.BitmapFactory$Options.inBitmap:Landroid/graphics/Bitmap;
ifnull 18
17: new java.lang.IllegalArgumentException
dup
ldc "Problem decoding into existing bitmap"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
aload 3
aload 2
invokestatic android.graphics.BitmapFactory.setDensityFromOptions:(Landroid/graphics/Bitmap;Landroid/graphics/BitmapFactory$Options;)V
19: goto 23
end local 3 StackMap locals: java.io.FileDescriptor android.graphics.Rect android.graphics.BitmapFactory$Options
StackMap stack: java.lang.Throwable
20: astore 6
21: ldc 2
invokestatic android.os.Trace.traceEnd:(J)V
22: aload 6
athrow
start local 3 23: StackMap locals: android.graphics.Bitmap
StackMap stack:
ldc 2
invokestatic android.os.Trace.traceEnd:(J)V
24: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 fd Ljava/io/FileDescriptor;
0 25 1 outPadding Landroid/graphics/Rect;
0 25 2 opts Landroid/graphics/BitmapFactory$Options;
4 5 3 bm Landroid/graphics/Bitmap;
7 8 3 bm Landroid/graphics/Bitmap;
13 20 3 bm Landroid/graphics/Bitmap;
23 25 3 bm Landroid/graphics/Bitmap;
6 16 4 fis Ljava/io/FileInputStream;
Exception table:
from to target type
6 8 8 any
9 10 11 Class java.lang.Throwable
13 14 15 Class java.lang.Throwable
2 20 20 any
MethodParameters:
Name Flags
fd
outPadding
opts
public static android.graphics.Bitmap decodeFileDescriptor(java.io.FileDescriptor);
descriptor: (Ljava/io/FileDescriptor;)Landroid/graphics/Bitmap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
aconst_null
invokestatic android.graphics.BitmapFactory.decodeFileDescriptor:(Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 fd Ljava/io/FileDescriptor;
MethodParameters:
Name Flags
fd
private static native android.graphics.Bitmap nativeDecodeStream(java.io.InputStream, byte[], android.graphics.Rect, android.graphics.BitmapFactory$Options);
descriptor: (Ljava/io/InputStream;[BLandroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
is
storage
padding
opts
private static native android.graphics.Bitmap nativeDecodeFileDescriptor(java.io.FileDescriptor, android.graphics.Rect, android.graphics.BitmapFactory$Options);
descriptor: (Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
fd
padding
opts
private static native android.graphics.Bitmap nativeDecodeAsset(long, android.graphics.Rect, android.graphics.BitmapFactory$Options);
descriptor: (JLandroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
nativeAsset
padding
opts
private static native android.graphics.Bitmap nativeDecodeByteArray(byte[], int, int, android.graphics.BitmapFactory$Options);
descriptor: ([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
data
offset
length
opts
private static native boolean nativeIsSeekable(java.io.FileDescriptor);
descriptor: (Ljava/io/FileDescriptor;)Z
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
fd
}
SourceFile: "BitmapFactory.java"
NestMembers:
android.graphics.BitmapFactory$Options
InnerClasses:
public final AssetInputStream = android.content.res.AssetManager$AssetInputStream of android.content.res.AssetManager
public Options = android.graphics.BitmapFactory$Options of android.graphics.BitmapFactory