class android.widget.Magnifier$InternalPopupWindow
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.widget.Magnifier$InternalPopupWindow
super_class: java.lang.Object
{
private static final int CONTENT_BITMAP_ALPHA;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 242
private static final int SURFACE_Z;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private final android.view.Display mDisplay;
descriptor: Landroid/view/Display;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mContentWidth;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mContentHeight;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mSurfaceWidth;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mSurfaceHeight;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mOffsetX;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mOffsetY;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.view.SurfaceSession mSurfaceSession;
descriptor: Landroid/view/SurfaceSession;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.view.SurfaceControl mSurfaceControl;
descriptor: Landroid/view/SurfaceControl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.view.Surface mSurface;
descriptor: Landroid/view/Surface;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.view.ThreadedRenderer$SimpleRenderer mRenderer;
descriptor: Landroid/view/ThreadedRenderer$SimpleRenderer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.view.RenderNode mBitmapRenderNode;
descriptor: Landroid/view/RenderNode;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Runnable mMagnifierUpdater;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.os.Handler mHandler;
descriptor: Landroid/os/Handler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private android.widget.Magnifier$Callback mCallback;
descriptor: Landroid/widget/Magnifier$Callback;
flags: (0x0002) ACC_PRIVATE
private int mLastDrawContentPositionX;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mLastDrawContentPositionY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final java.lang.Object mLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean mFrameDrawScheduled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private android.graphics.Bitmap mBitmap;
descriptor: Landroid/graphics/Bitmap;
flags: (0x0002) ACC_PRIVATE
private boolean mFirstDraw;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int mWindowPositionX;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mWindowPositionY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean mPendingWindowPositionUpdate;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.lang.Object mDestroyLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(android.content.Context, android.view.Display, android.view.Surface, int, int, float, float, android.os.Handler, java.lang.Object, android.widget.Magnifier$Callback);
descriptor: (Landroid/content/Context;Landroid/view/Display;Landroid/view/Surface;IIFFLandroid/os/Handler;Ljava/lang/Object;Landroid/widget/Magnifier$Callback;)V
flags: (0x0000)
Code:
stack=6, locals=13, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield android.widget.Magnifier$InternalPopupWindow.mFirstDraw:Z
2: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield android.widget.Magnifier$InternalPopupWindow.mDestroyLock:Ljava/lang/Object;
3: aload 0
aload 2
putfield android.widget.Magnifier$InternalPopupWindow.mDisplay:Landroid/view/Display;
4: aload 0
aload 9
putfield android.widget.Magnifier$InternalPopupWindow.mLock:Ljava/lang/Object;
5: aload 0
aload 10
putfield android.widget.Magnifier$InternalPopupWindow.mCallback:Landroid/widget/Magnifier$Callback;
6: aload 0
iload 4
putfield android.widget.Magnifier$InternalPopupWindow.mContentWidth:I
7: aload 0
iload 5
putfield android.widget.Magnifier$InternalPopupWindow.mContentHeight:I
8: aload 0
ldc 0.1
iload 4
i2f
fmul
f2i
putfield android.widget.Magnifier$InternalPopupWindow.mOffsetX:I
9: aload 0
ldc 0.1
iload 5
i2f
fmul
f2i
putfield android.widget.Magnifier$InternalPopupWindow.mOffsetY:I
10: aload 0
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mContentWidth:I
iconst_2
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mOffsetX:I
imul
iadd
putfield android.widget.Magnifier$InternalPopupWindow.mSurfaceWidth:I
11: aload 0
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mContentHeight:I
iconst_2
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mOffsetY:I
imul
iadd
putfield android.widget.Magnifier$InternalPopupWindow.mSurfaceHeight:I
12: aload 0
new android.view.SurfaceSession
dup
aload 3
invokespecial android.view.SurfaceSession.<init>:(Landroid/view/Surface;)V
putfield android.widget.Magnifier$InternalPopupWindow.mSurfaceSession:Landroid/view/SurfaceSession;
13: aload 0
new android.view.SurfaceControl$Builder
dup
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mSurfaceSession:Landroid/view/SurfaceSession;
invokespecial android.view.SurfaceControl$Builder.<init>:(Landroid/view/SurfaceSession;)V
14: bipush -3
invokevirtual android.view.SurfaceControl$Builder.setFormat:(I)Landroid/view/SurfaceControl$Builder;
15: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mSurfaceWidth:I
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mSurfaceHeight:I
invokevirtual android.view.SurfaceControl$Builder.setSize:(II)Landroid/view/SurfaceControl$Builder;
16: ldc "magnifier surface"
invokevirtual android.view.SurfaceControl$Builder.setName:(Ljava/lang/String;)Landroid/view/SurfaceControl$Builder;
17: iconst_4
invokevirtual android.view.SurfaceControl$Builder.setFlags:(I)Landroid/view/SurfaceControl$Builder;
18: invokevirtual android.view.SurfaceControl$Builder.build:()Landroid/view/SurfaceControl;
19: putfield android.widget.Magnifier$InternalPopupWindow.mSurfaceControl:Landroid/view/SurfaceControl;
20: aload 0
new android.view.Surface
dup
invokespecial android.view.Surface.<init>:()V
putfield android.widget.Magnifier$InternalPopupWindow.mSurface:Landroid/view/Surface;
21: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mSurface:Landroid/view/Surface;
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mSurfaceControl:Landroid/view/SurfaceControl;
invokevirtual android.view.Surface.copyFrom:(Landroid/view/SurfaceControl;)V
22: aload 0
new android.view.ThreadedRenderer$SimpleRenderer
dup
23: aload 1
24: ldc "magnifier renderer"
25: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mSurface:Landroid/view/Surface;
invokespecial android.view.ThreadedRenderer$SimpleRenderer.<init>:(Landroid/content/Context;Ljava/lang/String;Landroid/view/Surface;)V
26: putfield android.widget.Magnifier$InternalPopupWindow.mRenderer:Landroid/view/ThreadedRenderer$SimpleRenderer;
27: aload 0
aload 0
28: ldc "magnifier content"
29: fload 6
30: fload 7
31: invokevirtual android.widget.Magnifier$InternalPopupWindow.createRenderNodeForBitmap:(Ljava/lang/String;FF)Landroid/view/RenderNode;
putfield android.widget.Magnifier$InternalPopupWindow.mBitmapRenderNode:Landroid/view/RenderNode;
32: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mRenderer:Landroid/view/ThreadedRenderer$SimpleRenderer;
invokevirtual android.view.ThreadedRenderer$SimpleRenderer.getRootNode:()Landroid/view/RenderNode;
iload 4
iload 5
invokevirtual android.view.RenderNode.start:(II)Landroid/view/DisplayListCanvas;
astore 11
start local 11 33: aload 11
invokevirtual android.view.DisplayListCanvas.insertReorderBarrier:()V
34: aload 11
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mBitmapRenderNode:Landroid/view/RenderNode;
invokevirtual android.view.DisplayListCanvas.drawRenderNode:(Landroid/view/RenderNode;)V
35: aload 11
invokevirtual android.view.DisplayListCanvas.insertInorderBarrier:()V
36: goto 40
StackMap locals: android.widget.Magnifier$InternalPopupWindow android.content.Context android.view.Display android.view.Surface int int float float android.os.Handler java.lang.Object android.widget.Magnifier$Callback android.view.DisplayListCanvas
StackMap stack: java.lang.Throwable
37: astore 12
38: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mRenderer:Landroid/view/ThreadedRenderer$SimpleRenderer;
invokevirtual android.view.ThreadedRenderer$SimpleRenderer.getRootNode:()Landroid/view/RenderNode;
aload 11
invokevirtual android.view.RenderNode.end:(Landroid/view/DisplayListCanvas;)V
39: aload 12
athrow
40: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mRenderer:Landroid/view/ThreadedRenderer$SimpleRenderer;
invokevirtual android.view.ThreadedRenderer$SimpleRenderer.getRootNode:()Landroid/view/RenderNode;
aload 11
invokevirtual android.view.RenderNode.end:(Landroid/view/DisplayListCanvas;)V
41: aload 0
aload 8
putfield android.widget.Magnifier$InternalPopupWindow.mHandler:Landroid/os/Handler;
42: aload 0
aload 0
invokedynamic run(Landroid/widget/Magnifier$InternalPopupWindow;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
android/widget/Magnifier$InternalPopupWindow.doDraw()V (7)
()V
putfield android.widget.Magnifier$InternalPopupWindow.mMagnifierUpdater:Ljava/lang/Runnable;
43: aload 0
iconst_0
putfield android.widget.Magnifier$InternalPopupWindow.mFrameDrawScheduled:Z
44: return
end local 11 end local 10 end local 9 end local 8 end local 7 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
0 45 0 this Landroid/widget/Magnifier$InternalPopupWindow;
0 45 1 context Landroid/content/Context;
0 45 2 display Landroid/view/Display;
0 45 3 parentSurface Landroid/view/Surface;
0 45 4 width I
0 45 5 height I
0 45 6 elevation F
0 45 7 cornerRadius F
0 45 8 handler Landroid/os/Handler;
0 45 9 lock Ljava/lang/Object;
0 45 10 callback Landroid/widget/Magnifier$Callback;
33 45 11 canvas Landroid/view/DisplayListCanvas;
Exception table:
from to target type
33 37 37 any
MethodParameters:
Name Flags
context final
display final
parentSurface final
width final
height final
elevation final
cornerRadius final
handler final
lock final
callback final
private android.view.RenderNode createRenderNodeForBitmap(java.lang.String, float, float);
descriptor: (Ljava/lang/String;FF)Landroid/view/RenderNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aconst_null
invokestatic android.view.RenderNode.create:(Ljava/lang/String;Landroid/view/View;)Landroid/view/RenderNode;
astore 4
start local 4 1: aload 4
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mOffsetX:I
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mOffsetY:I
2: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mOffsetX:I
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mContentWidth:I
iadd
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mOffsetY:I
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mContentHeight:I
iadd
3: invokevirtual android.view.RenderNode.setLeftTopRightBottom:(IIII)Z
pop
4: aload 4
fload 2
invokevirtual android.view.RenderNode.setElevation:(F)Z
pop
5: new android.graphics.Outline
dup
invokespecial android.graphics.Outline.<init>:()V
astore 5
start local 5 6: aload 5
iconst_0
iconst_0
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mContentWidth:I
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mContentHeight:I
fload 3
invokevirtual android.graphics.Outline.setRoundRect:(IIIIF)V
7: aload 5
fconst_1
invokevirtual android.graphics.Outline.setAlpha:(F)V
8: aload 4
aload 5
invokevirtual android.view.RenderNode.setOutline:(Landroid/graphics/Outline;)Z
pop
9: aload 4
iconst_1
invokevirtual android.view.RenderNode.setClipToOutline:(Z)Z
pop
10: aload 4
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mContentWidth:I
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mContentHeight:I
invokevirtual android.view.RenderNode.start:(II)Landroid/view/DisplayListCanvas;
astore 6
start local 6 11: aload 6
ldc -16711936
invokevirtual android.view.DisplayListCanvas.drawColor:(I)V
12: goto 16
StackMap locals: android.widget.Magnifier$InternalPopupWindow java.lang.String float float android.view.RenderNode android.graphics.Outline android.view.DisplayListCanvas
StackMap stack: java.lang.Throwable
13: astore 7
14: aload 4
aload 6
invokevirtual android.view.RenderNode.end:(Landroid/view/DisplayListCanvas;)V
15: aload 7
athrow
16: StackMap locals:
StackMap stack:
aload 4
aload 6
invokevirtual android.view.RenderNode.end:(Landroid/view/DisplayListCanvas;)V
17: aload 4
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
0 18 0 this Landroid/widget/Magnifier$InternalPopupWindow;
0 18 1 name Ljava/lang/String;
0 18 2 elevation F
0 18 3 cornerRadius F
1 18 4 bitmapRenderNode Landroid/view/RenderNode;
6 18 5 outline Landroid/graphics/Outline;
11 18 6 canvas Landroid/view/DisplayListCanvas;
Exception table:
from to target type
11 13 13 any
MethodParameters:
Name Flags
name final
elevation final
cornerRadius final
public void setContentPositionForNextDraw(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mOffsetX:I
isub
putfield android.widget.Magnifier$InternalPopupWindow.mWindowPositionX:I
1: aload 0
iload 2
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mOffsetY:I
isub
putfield android.widget.Magnifier$InternalPopupWindow.mWindowPositionY:I
2: aload 0
iconst_1
putfield android.widget.Magnifier$InternalPopupWindow.mPendingWindowPositionUpdate:Z
3: aload 0
invokevirtual android.widget.Magnifier$InternalPopupWindow.requestUpdate:()V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/widget/Magnifier$InternalPopupWindow;
0 5 1 contentX I
0 5 2 contentY I
MethodParameters:
Name Flags
contentX final
contentY final
public void updateContent(android.graphics.Bitmap);
descriptor: (Landroid/graphics/Bitmap;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mBitmap:Landroid/graphics/Bitmap;
ifnull 2
1: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mBitmap:Landroid/graphics/Bitmap;
invokevirtual android.graphics.Bitmap.recycle:()V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield android.widget.Magnifier$InternalPopupWindow.mBitmap:Landroid/graphics/Bitmap;
3: aload 0
invokevirtual android.widget.Magnifier$InternalPopupWindow.requestUpdate:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/widget/Magnifier$InternalPopupWindow;
0 5 1 bitmap Landroid/graphics/Bitmap;
MethodParameters:
Name Flags
bitmap final
private void requestUpdate();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mFrameDrawScheduled:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mHandler:Landroid/os/Handler;
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mMagnifierUpdater:Ljava/lang/Runnable;
invokestatic android.os.Message.obtain:(Landroid/os/Handler;Ljava/lang/Runnable;)Landroid/os/Message;
astore 1
start local 1 3: aload 1
iconst_1
invokevirtual android.os.Message.setAsynchronous:(Z)V
4: aload 1
invokevirtual android.os.Message.sendToTarget:()V
5: aload 0
iconst_1
putfield android.widget.Magnifier$InternalPopupWindow.mFrameDrawScheduled:Z
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/widget/Magnifier$InternalPopupWindow;
3 7 1 request Landroid/os/Message;
public void destroy();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mDestroyLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mSurface:Landroid/view/Surface;
invokevirtual android.view.Surface.destroy:()V
2: aload 1
monitorexit
3: goto 6
StackMap locals: android.widget.Magnifier$InternalPopupWindow java.lang.Object
StackMap stack: java.lang.Throwable
4: aload 1
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mLock:Ljava/lang/Object;
dup
astore 1
monitorenter
7: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mRenderer:Landroid/view/ThreadedRenderer$SimpleRenderer;
invokevirtual android.view.ThreadedRenderer$SimpleRenderer.destroy:()V
8: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mSurfaceControl:Landroid/view/SurfaceControl;
invokevirtual android.view.SurfaceControl.destroy:()V
9: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mSurfaceSession:Landroid/view/SurfaceSession;
invokevirtual android.view.SurfaceSession.kill:()V
10: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mBitmapRenderNode:Landroid/view/RenderNode;
invokevirtual android.view.RenderNode.destroy:()V
11: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mHandler:Landroid/os/Handler;
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mMagnifierUpdater:Ljava/lang/Runnable;
invokevirtual android.os.Handler.removeCallbacks:(Ljava/lang/Runnable;)V
12: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mBitmap:Landroid/graphics/Bitmap;
ifnull 14
13: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mBitmap:Landroid/graphics/Bitmap;
invokevirtual android.graphics.Bitmap.recycle:()V
14: StackMap locals: java.lang.Object
StackMap stack:
aload 1
monitorexit
15: goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
16: aload 1
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Landroid/widget/Magnifier$InternalPopupWindow;
Exception table:
from to target type
1 3 4 any
4 5 4 any
7 15 16 any
16 17 16 any
private void doDraw();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=1
start local 0 0: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mSurface:Landroid/view/Surface;
invokevirtual android.view.Surface.isValid:()Z
ifne 4
2: aload 2
monitorexit
3: return
4: StackMap locals: android.widget.Magnifier$InternalPopupWindow top java.lang.Object
StackMap stack:
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mBitmapRenderNode:Landroid/view/RenderNode;
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mContentWidth:I
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mContentHeight:I
invokevirtual android.view.RenderNode.start:(II)Landroid/view/DisplayListCanvas;
5: astore 3
start local 3 6: aload 3
iconst_m1
invokevirtual android.view.DisplayListCanvas.drawColor:(I)V
7: new android.graphics.Rect
dup
iconst_0
iconst_0
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mBitmap:Landroid/graphics/Bitmap;
invokevirtual android.graphics.Bitmap.getWidth:()I
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mBitmap:Landroid/graphics/Bitmap;
invokevirtual android.graphics.Bitmap.getHeight:()I
invokespecial android.graphics.Rect.<init>:(IIII)V
astore 4
start local 4 8: new android.graphics.Rect
dup
iconst_0
iconst_0
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mContentWidth:I
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mContentHeight:I
invokespecial android.graphics.Rect.<init>:(IIII)V
astore 5
start local 5 9: new android.graphics.Paint
dup
invokespecial android.graphics.Paint.<init>:()V
astore 6
start local 6 10: aload 6
iconst_1
invokevirtual android.graphics.Paint.setFilterBitmap:(Z)V
11: aload 6
sipush 242
invokevirtual android.graphics.Paint.setAlpha:(I)V
12: aload 3
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mBitmap:Landroid/graphics/Bitmap;
aload 4
aload 5
aload 6
invokevirtual android.view.DisplayListCanvas.drawBitmap:(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
end local 6 end local 5 end local 4 13: goto 17
StackMap locals: android.widget.Magnifier$InternalPopupWindow top java.lang.Object android.view.DisplayListCanvas
StackMap stack: java.lang.Throwable
14: astore 7
15: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mBitmapRenderNode:Landroid/view/RenderNode;
aload 3
invokevirtual android.view.RenderNode.end:(Landroid/view/DisplayListCanvas;)V
16: aload 7
athrow
17: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mBitmapRenderNode:Landroid/view/RenderNode;
aload 3
invokevirtual android.view.RenderNode.end:(Landroid/view/DisplayListCanvas;)V
18: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mPendingWindowPositionUpdate:Z
ifne 19
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mFirstDraw:Z
ifeq 27
19: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mFirstDraw:Z
istore 4
start local 4 20: aload 0
iconst_0
putfield android.widget.Magnifier$InternalPopupWindow.mFirstDraw:Z
21: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mPendingWindowPositionUpdate:Z
istore 5
start local 5 22: aload 0
iconst_0
putfield android.widget.Magnifier$InternalPopupWindow.mPendingWindowPositionUpdate:Z
23: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mWindowPositionX:I
istore 6
start local 6 24: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mWindowPositionY:I
istore 7
start local 7 25: aload 0
iload 6
iload 7
iload 5
iload 4
invokedynamic onFrameDraw(Landroid/widget/Magnifier$InternalPopupWindow;IIZZ)Landroid/view/ThreadedRenderer$FrameDrawingCallback;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(J)V
android/widget/Magnifier$InternalPopupWindow.lambda$1(IIZZJ)V (7)
(J)V
astore 1
end local 7 end local 6 end local 5 end local 4 start local 1 26: goto 28
end local 1 27: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 28: StackMap locals: android.widget.Magnifier$InternalPopupWindow android.view.ThreadedRenderer$FrameDrawingCallback java.lang.Object android.view.DisplayListCanvas
StackMap stack:
aload 0
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mWindowPositionX:I
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mOffsetX:I
iadd
putfield android.widget.Magnifier$InternalPopupWindow.mLastDrawContentPositionX:I
29: aload 0
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mWindowPositionY:I
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mOffsetY:I
iadd
putfield android.widget.Magnifier$InternalPopupWindow.mLastDrawContentPositionY:I
30: aload 0
iconst_0
putfield android.widget.Magnifier$InternalPopupWindow.mFrameDrawScheduled:Z
end local 3 31: aload 2
monitorexit
32: goto 35
end local 1 StackMap locals: android.widget.Magnifier$InternalPopupWindow top java.lang.Object
StackMap stack: java.lang.Throwable
33: aload 2
monitorexit
34: athrow
start local 1 35: StackMap locals: android.widget.Magnifier$InternalPopupWindow android.view.ThreadedRenderer$FrameDrawingCallback
StackMap stack:
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mRenderer:Landroid/view/ThreadedRenderer$SimpleRenderer;
aload 1
invokevirtual android.view.ThreadedRenderer$SimpleRenderer.draw:(Landroid/view/ThreadedRenderer$FrameDrawingCallback;)V
36: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mCallback:Landroid/widget/Magnifier$Callback;
ifnull 38
37: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mCallback:Landroid/widget/Magnifier$Callback;
invokeinterface android.widget.Magnifier$Callback.onOperationComplete:()V
38: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Landroid/widget/Magnifier$InternalPopupWindow;
26 27 1 callback Landroid/view/ThreadedRenderer$FrameDrawingCallback;
28 33 1 callback Landroid/view/ThreadedRenderer$FrameDrawingCallback;
35 39 1 callback Landroid/view/ThreadedRenderer$FrameDrawingCallback;
6 31 3 canvas Landroid/view/DisplayListCanvas;
8 13 4 srcRect Landroid/graphics/Rect;
9 13 5 dstRect Landroid/graphics/Rect;
10 13 6 paint Landroid/graphics/Paint;
20 26 4 firstDraw Z
22 26 5 updateWindowPosition Z
24 26 6 pendingX I
25 26 7 pendingY I
Exception table:
from to target type
6 14 14 any
1 3 33 any
4 32 33 any
33 34 33 any
private void lambda$1(int, int, boolean, boolean, long);
descriptor: (IIZZJ)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=9, args_size=6
start local 0 start local 5 0: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mDestroyLock:Ljava/lang/Object;
dup
astore 7
monitorenter
1: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mSurface:Landroid/view/Surface;
invokevirtual android.view.Surface.isValid:()Z
ifne 4
2: aload 7
monitorexit
3: return
4: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mLock:Ljava/lang/Object;
dup
astore 8
monitorenter
5: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mRenderer:Landroid/view/ThreadedRenderer$SimpleRenderer;
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mDisplay:Landroid/view/Display;
iload 1
iload 2
invokevirtual android.view.ThreadedRenderer$SimpleRenderer.setLightCenter:(Landroid/view/Display;II)V
6: invokestatic android.view.SurfaceControl.openTransaction:()V
7: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mSurfaceControl:Landroid/view/SurfaceControl;
aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mSurface:Landroid/view/Surface;
lload 5
invokevirtual android.view.SurfaceControl.deferTransactionUntil:(Landroid/view/Surface;J)V
8: iload 3
ifeq 10
9: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mSurfaceControl:Landroid/view/SurfaceControl;
iload 1
i2f
iload 2
i2f
invokevirtual android.view.SurfaceControl.setPosition:(FF)V
10: StackMap locals: java.lang.Object
StackMap stack:
iload 4
ifeq 13
11: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mSurfaceControl:Landroid/view/SurfaceControl;
iconst_5
invokevirtual android.view.SurfaceControl.setLayer:(I)V
12: aload 0
getfield android.widget.Magnifier$InternalPopupWindow.mSurfaceControl:Landroid/view/SurfaceControl;
invokevirtual android.view.SurfaceControl.show:()V
13: StackMap locals:
StackMap stack:
invokestatic android.view.SurfaceControl.closeTransaction:()V
14: aload 8
monitorexit
15: goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
16: aload 8
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
aload 7
monitorexit
19: goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
20: aload 7
monitorexit
21: athrow
22: StackMap locals:
StackMap stack:
return
end local 5 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Landroid/widget/Magnifier$InternalPopupWindow;
0 23 5 frame J
Exception table:
from to target type
5 15 16 any
16 17 16 any
1 3 20 any
4 19 20 any
20 21 20 any
}
SourceFile: "Magnifier.java"
NestHost: android.widget.Magnifier
InnerClasses:
public Builder = android.view.SurfaceControl$Builder of android.view.SurfaceControl
public abstract FrameDrawingCallback = android.view.ThreadedRenderer$FrameDrawingCallback of android.view.ThreadedRenderer
public SimpleRenderer = android.view.ThreadedRenderer$SimpleRenderer of android.view.ThreadedRenderer
public abstract Callback = android.widget.Magnifier$Callback of android.widget.Magnifier
private InternalPopupWindow = android.widget.Magnifier$InternalPopupWindow of android.widget.Magnifier
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles