final class com.android.shell.Screenshooter
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.android.shell.Screenshooter
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Screenshooter"
void <init>();
descriptor: ()V
flags: (0x0000)
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 Lcom/android/shell/Screenshooter;
static android.graphics.Bitmap takeScreenshot();
descriptor: ()Landroid/graphics/Bitmap;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=7, args_size=0
0: invokestatic android.hardware.display.DisplayManagerGlobal.getInstance:()Landroid/hardware/display/DisplayManagerGlobal;
1: iconst_0
invokevirtual android.hardware.display.DisplayManagerGlobal.getRealDisplay:(I)Landroid/view/Display;
2: astore 0
start local 0 3: new android.graphics.Point
dup
invokespecial android.graphics.Point.<init>:()V
astore 1
start local 1 4: aload 0
aload 1
invokevirtual android.view.Display.getRealSize:(Landroid/graphics/Point;)V
5: aload 1
getfield android.graphics.Point.x:I
istore 2
start local 2 6: aload 1
getfield android.graphics.Point.y:I
istore 3
start local 3 7: aload 0
invokevirtual android.view.Display.getRotation:()I
istore 4
start local 4 8: new android.graphics.Rect
dup
iconst_0
iconst_0
iload 2
iload 3
invokespecial android.graphics.Rect.<init>:(IIII)V
astore 5
start local 5 9: ldc "Screenshooter"
new java.lang.StringBuilder
dup
ldc "Taking screenshot of dimensions "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " x "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
10: aload 5
iload 2
iload 3
iload 4
invokestatic android.view.SurfaceControl.screenshot:(Landroid/graphics/Rect;III)Landroid/graphics/Bitmap;
11: astore 6
start local 6 12: aload 6
ifnonnull 17
13: ldc "Screenshooter"
new java.lang.StringBuilder
dup
ldc "Failed to take screenshot of dimensions "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " x "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
16: aconst_null
areturn
17: StackMap locals: android.view.Display android.graphics.Point int int int android.graphics.Rect android.graphics.Bitmap
StackMap stack:
aload 6
iconst_0
invokevirtual android.graphics.Bitmap.setHasAlpha:(Z)V
18: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
3 19 0 display Landroid/view/Display;
4 19 1 displaySize Landroid/graphics/Point;
6 19 2 displayWidth I
7 19 3 displayHeight I
8 19 4 rotation I
9 19 5 crop Landroid/graphics/Rect;
12 19 6 screenShot Landroid/graphics/Bitmap;
}
SourceFile: "Screenshooter.java"