public class android.view.SurfaceView extends android.view.View implements android.view.ViewRootImpl$WindowStoppedCallback
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.view.SurfaceView
super_class: android.view.View
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "SurfaceView"
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
final java.util.ArrayList<android.view.SurfaceHolder$Callback> mCallbacks;
descriptor: Ljava/util/ArrayList;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/ArrayList<Landroid/view/SurfaceHolder$Callback;>;
final int[] mLocation;
descriptor: [I
flags: (0x0010) ACC_FINAL
final java.util.concurrent.locks.ReentrantLock mSurfaceLock;
descriptor: Ljava/util/concurrent/locks/ReentrantLock;
flags: (0x0010) ACC_FINAL
final android.view.Surface mSurface;
descriptor: Landroid/view/Surface;
flags: (0x0010) ACC_FINAL
boolean mDrawingStopped;
descriptor: Z
flags: (0x0000)
boolean mDrawFinished;
descriptor: Z
flags: (0x0000)
final android.graphics.Rect mScreenRect;
descriptor: Landroid/graphics/Rect;
flags: (0x0010) ACC_FINAL
android.view.SurfaceSession mSurfaceSession;
descriptor: Landroid/view/SurfaceSession;
flags: (0x0000)
android.view.SurfaceView$SurfaceControlWithBackground mSurfaceControl;
descriptor: Landroid/view/SurfaceView$SurfaceControlWithBackground;
flags: (0x0000)
android.view.SurfaceControl mDeferredDestroySurfaceControl;
descriptor: Landroid/view/SurfaceControl;
flags: (0x0000)
final android.graphics.Rect mTmpRect;
descriptor: Landroid/graphics/Rect;
flags: (0x0010) ACC_FINAL
final android.content.res.Configuration mConfiguration;
descriptor: Landroid/content/res/Configuration;
flags: (0x0010) ACC_FINAL
int mSubLayer;
descriptor: I
flags: (0x0000)
boolean mIsCreating;
descriptor: Z
flags: (0x0000)
private volatile boolean mRtHandlingPositionUpdates;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final android.view.ViewTreeObserver$OnScrollChangedListener mScrollChangedListener;
descriptor: Landroid/view/ViewTreeObserver$OnScrollChangedListener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.view.ViewTreeObserver$OnPreDrawListener mDrawListener;
descriptor: Landroid/view/ViewTreeObserver$OnPreDrawListener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
boolean mRequestedVisible;
descriptor: Z
flags: (0x0000)
boolean mWindowVisibility;
descriptor: Z
flags: (0x0000)
boolean mLastWindowVisibility;
descriptor: Z
flags: (0x0000)
boolean mViewVisibility;
descriptor: Z
flags: (0x0000)
boolean mWindowStopped;
descriptor: Z
flags: (0x0000)
int mRequestedWidth;
descriptor: I
flags: (0x0000)
int mRequestedHeight;
descriptor: I
flags: (0x0000)
int mRequestedFormat;
descriptor: I
flags: (0x0000)
boolean mHaveFrame;
descriptor: Z
flags: (0x0000)
boolean mSurfaceCreated;
descriptor: Z
flags: (0x0000)
long mLastLockTime;
descriptor: J
flags: (0x0000)
boolean mVisible;
descriptor: Z
flags: (0x0000)
int mWindowSpaceLeft;
descriptor: I
flags: (0x0000)
int mWindowSpaceTop;
descriptor: I
flags: (0x0000)
int mSurfaceWidth;
descriptor: I
flags: (0x0000)
int mSurfaceHeight;
descriptor: I
flags: (0x0000)
int mFormat;
descriptor: I
flags: (0x0000)
final android.graphics.Rect mSurfaceFrame;
descriptor: Landroid/graphics/Rect;
flags: (0x0010) ACC_FINAL
int mLastSurfaceWidth;
descriptor: I
flags: (0x0000)
int mLastSurfaceHeight;
descriptor: I
flags: (0x0000)
private android.content.res.CompatibilityInfo$Translator mTranslator;
descriptor: Landroid/content/res/CompatibilityInfo$Translator;
flags: (0x0002) ACC_PRIVATE
private boolean mGlobalListenersAdded;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mAttachedToWindow;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int mSurfaceFlags;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mPendingReportDraws;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private android.view.SurfaceControl$Transaction mRtTransaction;
descriptor: Landroid/view/SurfaceControl$Transaction;
flags: (0x0002) ACC_PRIVATE
private android.graphics.Rect mRTLastReportedPosition;
descriptor: Landroid/graphics/Rect;
flags: (0x0002) ACC_PRIVATE
private final android.view.SurfaceHolder mSurfaceHolder;
descriptor: Landroid/view/SurfaceHolder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(android.content.Context);
descriptor: (Landroid/content/Context;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokespecial android.view.SurfaceView.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/view/SurfaceView;
0 2 1 context Landroid/content/Context;
MethodParameters:
Name Flags
context
public void <init>(android.content.Context, android.util.AttributeSet);
descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokespecial android.view.SurfaceView.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/view/SurfaceView;
0 2 1 context Landroid/content/Context;
0 2 2 attrs Landroid/util/AttributeSet;
MethodParameters:
Name Flags
context
attrs
public void <init>(android.content.Context, android.util.AttributeSet, int);
descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
iconst_0
invokespecial android.view.SurfaceView.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;II)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/view/SurfaceView;
0 2 1 context Landroid/content/Context;
0 2 2 attrs Landroid/util/AttributeSet;
0 2 3 defStyleAttr I
MethodParameters:
Name Flags
context
attrs
defStyleAttr
public void <init>(android.content.Context, android.util.AttributeSet, int, int);
descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
iload 3
iload 4
invokespecial android.view.View.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;II)V
1: aload 0
2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.view.SurfaceView.mCallbacks:Ljava/util/ArrayList;
3: aload 0
iconst_2
newarray 10
putfield android.view.SurfaceView.mLocation:[I
4: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield android.view.SurfaceView.mSurfaceLock:Ljava/util/concurrent/locks/ReentrantLock;
5: aload 0
new android.view.Surface
dup
invokespecial android.view.Surface.<init>:()V
putfield android.view.SurfaceView.mSurface:Landroid/view/Surface;
6: aload 0
iconst_1
putfield android.view.SurfaceView.mDrawingStopped:Z
7: aload 0
iconst_0
putfield android.view.SurfaceView.mDrawFinished:Z
8: aload 0
new android.graphics.Rect
dup
invokespecial android.graphics.Rect.<init>:()V
putfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
9: aload 0
new android.graphics.Rect
dup
invokespecial android.graphics.Rect.<init>:()V
putfield android.view.SurfaceView.mTmpRect:Landroid/graphics/Rect;
10: aload 0
new android.content.res.Configuration
dup
invokespecial android.content.res.Configuration.<init>:()V
putfield android.view.SurfaceView.mConfiguration:Landroid/content/res/Configuration;
11: aload 0
bipush -2
putfield android.view.SurfaceView.mSubLayer:I
12: aload 0
iconst_0
putfield android.view.SurfaceView.mIsCreating:Z
13: aload 0
iconst_0
putfield android.view.SurfaceView.mRtHandlingPositionUpdates:Z
14: aload 0
15: new android.view.SurfaceView$1
dup
aload 0
invokespecial android.view.SurfaceView$1.<init>:(Landroid/view/SurfaceView;)V
putfield android.view.SurfaceView.mScrollChangedListener:Landroid/view/ViewTreeObserver$OnScrollChangedListener;
16: aload 0
17: new android.view.SurfaceView$2
dup
aload 0
invokespecial android.view.SurfaceView$2.<init>:(Landroid/view/SurfaceView;)V
putfield android.view.SurfaceView.mDrawListener:Landroid/view/ViewTreeObserver$OnPreDrawListener;
18: aload 0
iconst_0
putfield android.view.SurfaceView.mRequestedVisible:Z
19: aload 0
iconst_0
putfield android.view.SurfaceView.mWindowVisibility:Z
20: aload 0
iconst_0
putfield android.view.SurfaceView.mLastWindowVisibility:Z
21: aload 0
iconst_0
putfield android.view.SurfaceView.mViewVisibility:Z
22: aload 0
iconst_0
putfield android.view.SurfaceView.mWindowStopped:Z
23: aload 0
iconst_m1
putfield android.view.SurfaceView.mRequestedWidth:I
24: aload 0
iconst_m1
putfield android.view.SurfaceView.mRequestedHeight:I
25: aload 0
iconst_4
putfield android.view.SurfaceView.mRequestedFormat:I
26: aload 0
iconst_0
putfield android.view.SurfaceView.mHaveFrame:Z
27: aload 0
iconst_0
putfield android.view.SurfaceView.mSurfaceCreated:Z
28: aload 0
lconst_0
putfield android.view.SurfaceView.mLastLockTime:J
29: aload 0
iconst_0
putfield android.view.SurfaceView.mVisible:Z
30: aload 0
iconst_m1
putfield android.view.SurfaceView.mWindowSpaceLeft:I
31: aload 0
iconst_m1
putfield android.view.SurfaceView.mWindowSpaceTop:I
32: aload 0
iconst_m1
putfield android.view.SurfaceView.mSurfaceWidth:I
33: aload 0
iconst_m1
putfield android.view.SurfaceView.mSurfaceHeight:I
34: aload 0
iconst_m1
putfield android.view.SurfaceView.mFormat:I
35: aload 0
new android.graphics.Rect
dup
invokespecial android.graphics.Rect.<init>:()V
putfield android.view.SurfaceView.mSurfaceFrame:Landroid/graphics/Rect;
36: aload 0
iconst_m1
putfield android.view.SurfaceView.mLastSurfaceWidth:I
aload 0
iconst_m1
putfield android.view.SurfaceView.mLastSurfaceHeight:I
37: aload 0
iconst_4
putfield android.view.SurfaceView.mSurfaceFlags:I
38: aload 0
new android.view.SurfaceControl$Transaction
dup
invokespecial android.view.SurfaceControl$Transaction.<init>:()V
putfield android.view.SurfaceView.mRtTransaction:Landroid/view/SurfaceControl$Transaction;
39: aload 0
new android.graphics.Rect
dup
invokespecial android.graphics.Rect.<init>:()V
putfield android.view.SurfaceView.mRTLastReportedPosition:Landroid/graphics/Rect;
40: aload 0
new android.view.SurfaceView$3
dup
aload 0
invokespecial android.view.SurfaceView$3.<init>:(Landroid/view/SurfaceView;)V
putfield android.view.SurfaceView.mSurfaceHolder:Landroid/view/SurfaceHolder;
41: aload 0
getfield android.view.SurfaceView.mRenderNode:Landroid/view/RenderNode;
aload 0
invokevirtual android.view.RenderNode.requestPositionUpdates:(Landroid/view/SurfaceView;)V
42: aload 0
iconst_1
invokevirtual android.view.SurfaceView.setWillNotDraw:(Z)V
43: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Landroid/view/SurfaceView;
0 44 1 context Landroid/content/Context;
0 44 2 attrs Landroid/util/AttributeSet;
0 44 3 defStyleAttr I
0 44 4 defStyleRes I
MethodParameters:
Name Flags
context
attrs
defStyleAttr
defStyleRes
public android.view.SurfaceHolder getHolder();
descriptor: ()Landroid/view/SurfaceHolder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.view.SurfaceView.mSurfaceHolder:Landroid/view/SurfaceHolder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/view/SurfaceView;
private void updateRequestedVisibility();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield android.view.SurfaceView.mViewVisibility:Z
ifeq 1
aload 0
getfield android.view.SurfaceView.mWindowVisibility:Z
ifeq 1
aload 0
getfield android.view.SurfaceView.mWindowStopped:Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack: android.view.SurfaceView
1: iconst_0
StackMap locals: android.view.SurfaceView
StackMap stack: android.view.SurfaceView int
2: putfield android.view.SurfaceView.mRequestedVisible:Z
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/view/SurfaceView;
public void windowStopped(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield android.view.SurfaceView.mWindowStopped:Z
1: aload 0
invokevirtual android.view.SurfaceView.updateRequestedVisibility:()V
2: aload 0
invokevirtual android.view.SurfaceView.updateSurface:()V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/view/SurfaceView;
0 4 1 stopped Z
MethodParameters:
Name Flags
stopped
protected void onAttachedToWindow();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial android.view.View.onAttachedToWindow:()V
1: aload 0
invokevirtual android.view.SurfaceView.getViewRootImpl:()Landroid/view/ViewRootImpl;
aload 0
invokevirtual android.view.ViewRootImpl.addWindowStoppedCallback:(Landroid/view/ViewRootImpl$WindowStoppedCallback;)V
2: aload 0
iconst_0
putfield android.view.SurfaceView.mWindowStopped:Z
3: aload 0
aload 0
invokevirtual android.view.SurfaceView.getVisibility:()I
ifne 4
iconst_1
goto 5
StackMap locals:
StackMap stack: android.view.SurfaceView
4: iconst_0
StackMap locals: android.view.SurfaceView
StackMap stack: android.view.SurfaceView int
5: putfield android.view.SurfaceView.mViewVisibility:Z
6: aload 0
invokevirtual android.view.SurfaceView.updateRequestedVisibility:()V
7: aload 0
iconst_1
putfield android.view.SurfaceView.mAttachedToWindow:Z
8: aload 0
getfield android.view.SurfaceView.mParent:Landroid/view/ViewParent;
aload 0
invokeinterface android.view.ViewParent.requestTransparentRegion:(Landroid/view/View;)V
9: aload 0
getfield android.view.SurfaceView.mGlobalListenersAdded:Z
ifne 14
10: aload 0
invokevirtual android.view.SurfaceView.getViewTreeObserver:()Landroid/view/ViewTreeObserver;
astore 1
start local 1 11: aload 1
aload 0
getfield android.view.SurfaceView.mScrollChangedListener:Landroid/view/ViewTreeObserver$OnScrollChangedListener;
invokevirtual android.view.ViewTreeObserver.addOnScrollChangedListener:(Landroid/view/ViewTreeObserver$OnScrollChangedListener;)V
12: aload 1
aload 0
getfield android.view.SurfaceView.mDrawListener:Landroid/view/ViewTreeObserver$OnPreDrawListener;
invokevirtual android.view.ViewTreeObserver.addOnPreDrawListener:(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V
13: aload 0
iconst_1
putfield android.view.SurfaceView.mGlobalListenersAdded:Z
end local 1 14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Landroid/view/SurfaceView;
11 14 1 observer Landroid/view/ViewTreeObserver;
protected void onWindowVisibilityChanged(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokespecial android.view.View.onWindowVisibilityChanged:(I)V
1: aload 0
iload 1
ifne 2
iconst_1
goto 3
StackMap locals:
StackMap stack: android.view.SurfaceView
2: iconst_0
StackMap locals: android.view.SurfaceView int
StackMap stack: android.view.SurfaceView int
3: putfield android.view.SurfaceView.mWindowVisibility:Z
4: aload 0
invokevirtual android.view.SurfaceView.updateRequestedVisibility:()V
5: aload 0
invokevirtual android.view.SurfaceView.updateSurface:()V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/view/SurfaceView;
0 7 1 visibility I
MethodParameters:
Name Flags
visibility
public void setVisibility(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokespecial android.view.View.setVisibility:(I)V
1: aload 0
iload 1
ifne 2
iconst_1
goto 3
StackMap locals:
StackMap stack: android.view.SurfaceView
2: iconst_0
StackMap locals: android.view.SurfaceView int
StackMap stack: android.view.SurfaceView int
3: putfield android.view.SurfaceView.mViewVisibility:Z
4: aload 0
getfield android.view.SurfaceView.mWindowVisibility:Z
ifeq 5
aload 0
getfield android.view.SurfaceView.mViewVisibility:Z
ifeq 5
aload 0
getfield android.view.SurfaceView.mWindowStopped:Z
ifne 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 2
start local 2 7: iload 2
aload 0
getfield android.view.SurfaceView.mRequestedVisible:Z
if_icmpeq 9
8: aload 0
invokevirtual android.view.SurfaceView.requestLayout:()V
9: StackMap locals: int
StackMap stack:
aload 0
iload 2
putfield android.view.SurfaceView.mRequestedVisible:Z
10: aload 0
invokevirtual android.view.SurfaceView.updateSurface:()V
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/view/SurfaceView;
0 12 1 visibility I
7 12 2 newRequestedVisible Z
MethodParameters:
Name Flags
visibility
private void performDrawFinished();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield android.view.SurfaceView.mPendingReportDraws:I
ifle 6
1: aload 0
iconst_1
putfield android.view.SurfaceView.mDrawFinished:Z
2: aload 0
getfield android.view.SurfaceView.mAttachedToWindow:Z
ifeq 10
3: aload 0
invokevirtual android.view.SurfaceView.notifyDrawFinished:()V
4: aload 0
invokevirtual android.view.SurfaceView.invalidate:()V
5: goto 10
6: StackMap locals:
StackMap stack:
ldc "SurfaceView"
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "finished drawing"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc " but no pending report draw (extra call"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc " to draw completion runnable?)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/view/SurfaceView;
void notifyDrawFinished();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual android.view.SurfaceView.getViewRootImpl:()Landroid/view/ViewRootImpl;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokevirtual android.view.ViewRootImpl.pendingDrawFinished:()V
3: StackMap locals: android.view.ViewRootImpl
StackMap stack:
aload 0
dup
getfield android.view.SurfaceView.mPendingReportDraws:I
iconst_1
isub
putfield android.view.SurfaceView.mPendingReportDraws:I
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/view/SurfaceView;
1 5 1 viewRoot Landroid/view/ViewRootImpl;
protected void onDetachedFromWindow();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual android.view.SurfaceView.getViewRootImpl:()Landroid/view/ViewRootImpl;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
aload 0
invokevirtual android.view.ViewRootImpl.removeWindowStoppedCallback:(Landroid/view/ViewRootImpl$WindowStoppedCallback;)V
3: StackMap locals: android.view.ViewRootImpl
StackMap stack:
aload 0
iconst_0
putfield android.view.SurfaceView.mAttachedToWindow:Z
4: aload 0
getfield android.view.SurfaceView.mGlobalListenersAdded:Z
ifeq 11
5: aload 0
invokevirtual android.view.SurfaceView.getViewTreeObserver:()Landroid/view/ViewTreeObserver;
astore 2
start local 2 6: aload 2
aload 0
getfield android.view.SurfaceView.mScrollChangedListener:Landroid/view/ViewTreeObserver$OnScrollChangedListener;
invokevirtual android.view.ViewTreeObserver.removeOnScrollChangedListener:(Landroid/view/ViewTreeObserver$OnScrollChangedListener;)V
7: aload 2
aload 0
getfield android.view.SurfaceView.mDrawListener:Landroid/view/ViewTreeObserver$OnPreDrawListener;
invokevirtual android.view.ViewTreeObserver.removeOnPreDrawListener:(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V
8: aload 0
iconst_0
putfield android.view.SurfaceView.mGlobalListenersAdded:Z
end local 2 9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.view.SurfaceView.notifyDrawFinished:()V
11: StackMap locals:
StackMap stack:
aload 0
getfield android.view.SurfaceView.mPendingReportDraws:I
ifgt 10
12: aload 0
iconst_0
putfield android.view.SurfaceView.mRequestedVisible:Z
13: aload 0
invokevirtual android.view.SurfaceView.updateSurface:()V
14: aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
ifnull 16
15: aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
invokevirtual android.view.SurfaceView$SurfaceControlWithBackground.destroy:()V
16: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
17: aload 0
iconst_0
putfield android.view.SurfaceView.mHaveFrame:Z
18: aload 0
invokespecial android.view.View.onDetachedFromWindow:()V
19: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Landroid/view/SurfaceView;
1 20 1 viewRoot Landroid/view/ViewRootImpl;
6 9 2 observer Landroid/view/ViewTreeObserver;
protected void onMeasure(int, int);
descriptor: (II)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.view.SurfaceView.mRequestedWidth:I
iflt 2
1: aload 0
getfield android.view.SurfaceView.mRequestedWidth:I
iload 1
iconst_0
invokestatic android.view.SurfaceView.resolveSizeAndState:(III)I
goto 3
2: StackMap locals:
StackMap stack:
iconst_0
iload 1
invokestatic android.view.SurfaceView.getDefaultSize:(II)I
3: StackMap locals:
StackMap stack: int
istore 3
start local 3 4: aload 0
getfield android.view.SurfaceView.mRequestedHeight:I
iflt 6
5: aload 0
getfield android.view.SurfaceView.mRequestedHeight:I
iload 2
iconst_0
invokestatic android.view.SurfaceView.resolveSizeAndState:(III)I
goto 7
6: StackMap locals: int
StackMap stack:
iconst_0
iload 2
invokestatic android.view.SurfaceView.getDefaultSize:(II)I
7: StackMap locals:
StackMap stack: int
istore 4
start local 4 8: aload 0
iload 3
iload 4
invokevirtual android.view.SurfaceView.setMeasuredDimension:(II)V
9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/view/SurfaceView;
0 10 1 widthMeasureSpec I
0 10 2 heightMeasureSpec I
4 10 3 width I
8 10 4 height I
MethodParameters:
Name Flags
widthMeasureSpec
heightMeasureSpec
protected boolean setFrame(int, int, int, int);
descriptor: (IIII)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iload 2
iload 3
iload 4
invokespecial android.view.View.setFrame:(IIII)Z
istore 5
start local 5 1: aload 0
invokevirtual android.view.SurfaceView.updateSurface:()V
2: iload 5
ireturn
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 3 0 this Landroid/view/SurfaceView;
0 3 1 left I
0 3 2 top I
0 3 3 right I
0 3 4 bottom I
1 3 5 result Z
MethodParameters:
Name Flags
left
top
right
bottom
public boolean gatherTransparentRegion(android.graphics.Region);
descriptor: (Landroid/graphics/Region;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual android.view.SurfaceView.isAboveParent:()Z
ifne 1
aload 0
getfield android.view.SurfaceView.mDrawFinished:Z
ifne 2
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial android.view.View.gatherTransparentRegion:(Landroid/graphics/Region;)Z
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
istore 2
start local 2 3: aload 0
getfield android.view.SurfaceView.mPrivateFlags:I
sipush 128
iand
ifne 6
4: aload 0
aload 1
invokespecial android.view.View.gatherTransparentRegion:(Landroid/graphics/Region;)Z
istore 2
5: goto 14
StackMap locals: int
StackMap stack:
6: aload 1
ifnull 14
7: aload 0
invokevirtual android.view.SurfaceView.getWidth:()I
istore 3
start local 3 8: aload 0
invokevirtual android.view.SurfaceView.getHeight:()I
istore 4
start local 4 9: iload 3
ifle 14
iload 4
ifle 14
10: aload 0
aload 0
getfield android.view.SurfaceView.mLocation:[I
invokevirtual android.view.SurfaceView.getLocationInWindow:([I)V
11: aload 0
getfield android.view.SurfaceView.mLocation:[I
iconst_0
iaload
istore 5
start local 5 12: aload 0
getfield android.view.SurfaceView.mLocation:[I
iconst_1
iaload
istore 6
start local 6 13: aload 1
iload 5
iload 6
iload 5
iload 3
iadd
iload 6
iload 4
iadd
getstatic android.graphics.Region$Op.UNION:Landroid/graphics/Region$Op;
invokevirtual android.graphics.Region.op:(IIIILandroid/graphics/Region$Op;)Z
pop
end local 6 end local 5 end local 4 end local 3 14: StackMap locals:
StackMap stack:
aload 0
getfield android.view.SurfaceView.mRequestedFormat:I
invokestatic android.graphics.PixelFormat.formatHasAlpha:(I)Z
ifeq 16
15: iconst_0
istore 2
16: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Landroid/view/SurfaceView;
0 17 1 region Landroid/graphics/Region;
3 17 2 opaque Z
8 14 3 w I
9 14 4 h I
12 14 5 l I
13 14 6 t I
MethodParameters:
Name Flags
region
public void draw(android.graphics.Canvas);
descriptor: (Landroid/graphics/Canvas;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.view.SurfaceView.mDrawFinished:Z
ifeq 3
aload 0
invokevirtual android.view.SurfaceView.isAboveParent:()Z
ifne 3
1: aload 0
getfield android.view.SurfaceView.mPrivateFlags:I
sipush 128
iand
ifne 3
2: aload 1
iconst_0
getstatic android.graphics.PorterDuff$Mode.CLEAR:Landroid/graphics/PorterDuff$Mode;
invokevirtual android.graphics.Canvas.drawColor:(ILandroid/graphics/PorterDuff$Mode;)V
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial android.view.View.draw:(Landroid/graphics/Canvas;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/view/SurfaceView;
0 5 1 canvas Landroid/graphics/Canvas;
MethodParameters:
Name Flags
canvas
protected void dispatchDraw(android.graphics.Canvas);
descriptor: (Landroid/graphics/Canvas;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.view.SurfaceView.mDrawFinished:Z
ifeq 3
aload 0
invokevirtual android.view.SurfaceView.isAboveParent:()Z
ifne 3
1: aload 0
getfield android.view.SurfaceView.mPrivateFlags:I
sipush 128
iand
sipush 128
if_icmpne 3
2: aload 1
iconst_0
getstatic android.graphics.PorterDuff$Mode.CLEAR:Landroid/graphics/PorterDuff$Mode;
invokevirtual android.graphics.Canvas.drawColor:(ILandroid/graphics/PorterDuff$Mode;)V
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial android.view.View.dispatchDraw:(Landroid/graphics/Canvas;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/view/SurfaceView;
0 5 1 canvas Landroid/graphics/Canvas;
MethodParameters:
Name Flags
canvas
public void setZOrderMediaOverlay(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
ifeq 2
1: iconst_m1
goto 3
StackMap locals:
StackMap stack: android.view.SurfaceView
2: bipush -2
3: StackMap locals: android.view.SurfaceView int
StackMap stack: android.view.SurfaceView int
putfield android.view.SurfaceView.mSubLayer:I
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/view/SurfaceView;
0 5 1 isMediaOverlay Z
MethodParameters:
Name Flags
isMediaOverlay
public void setZOrderOnTop(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 3
1: aload 0
iconst_1
putfield android.view.SurfaceView.mSubLayer:I
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
bipush -2
putfield android.view.SurfaceView.mSubLayer:I
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/view/SurfaceView;
0 5 1 onTop Z
MethodParameters:
Name Flags
onTop
public void setSecure(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 3
1: aload 0
dup
getfield android.view.SurfaceView.mSurfaceFlags:I
sipush 128
ior
putfield android.view.SurfaceView.mSurfaceFlags:I
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
dup
getfield android.view.SurfaceView.mSurfaceFlags:I
sipush -129
iand
putfield android.view.SurfaceView.mSurfaceFlags:I
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/view/SurfaceView;
0 5 1 isSecure Z
MethodParameters:
Name Flags
isSecure
private void updateOpaqueFlag();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield android.view.SurfaceView.mRequestedFormat:I
invokestatic android.graphics.PixelFormat.formatHasAlpha:(I)Z
ifne 3
1: aload 0
dup
getfield android.view.SurfaceView.mSurfaceFlags:I
sipush 1024
ior
putfield android.view.SurfaceView.mSurfaceFlags:I
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
dup
getfield android.view.SurfaceView.mSurfaceFlags:I
sipush -1025
iand
putfield android.view.SurfaceView.mSurfaceFlags:I
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/view/SurfaceView;
private android.graphics.Rect getParentSurfaceInsets();
descriptor: ()Landroid/graphics/Rect;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual android.view.SurfaceView.getViewRootImpl:()Landroid/view/ViewRootImpl;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: android.view.ViewRootImpl
StackMap stack:
aload 1
getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
getfield android.view.WindowManager$LayoutParams.surfaceInsets:Landroid/graphics/Rect;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/view/SurfaceView;
1 4 1 root Landroid/view/ViewRootImpl;
protected void updateSurface();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=20, args_size=1
start local 0 0: aload 0
getfield android.view.SurfaceView.mHaveFrame:Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.view.SurfaceView.getViewRootImpl:()Landroid/view/ViewRootImpl;
astore 1
start local 1 3: aload 1
ifnull 4
aload 1
getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
ifnull 4
aload 1
getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
invokevirtual android.view.Surface.isValid:()Z
ifne 5
4: StackMap locals: android.view.ViewRootImpl
StackMap stack:
return
5: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
putfield android.view.SurfaceView.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
6: aload 0
getfield android.view.SurfaceView.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
ifnull 8
7: aload 0
getfield android.view.SurfaceView.mSurface:Landroid/view/Surface;
aload 0
getfield android.view.SurfaceView.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
invokevirtual android.view.Surface.setCompatibilityTranslator:(Landroid/content/res/CompatibilityInfo$Translator;)V
8: StackMap locals:
StackMap stack:
aload 0
getfield android.view.SurfaceView.mRequestedWidth:I
istore 2
start local 2 9: iload 2
ifgt 10
aload 0
invokevirtual android.view.SurfaceView.getWidth:()I
istore 2
10: StackMap locals: int
StackMap stack:
aload 0
getfield android.view.SurfaceView.mRequestedHeight:I
istore 3
start local 3 11: iload 3
ifgt 12
aload 0
invokevirtual android.view.SurfaceView.getHeight:()I
istore 3
12: StackMap locals: int
StackMap stack:
aload 0
getfield android.view.SurfaceView.mFormat:I
aload 0
getfield android.view.SurfaceView.mRequestedFormat:I
if_icmpeq 13
iconst_1
goto 14
StackMap locals:
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: istore 4
start local 4 15: aload 0
getfield android.view.SurfaceView.mVisible:Z
aload 0
getfield android.view.SurfaceView.mRequestedVisible:Z
ixor
istore 5
start local 5 16: aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
ifnull 17
iload 4
ifne 17
iload 5
ifeq 19
17: StackMap locals: int int
StackMap stack:
aload 0
getfield android.view.SurfaceView.mRequestedVisible:Z
ifeq 19
18: iconst_1
goto 20
StackMap locals:
StackMap stack:
19: iconst_0
StackMap locals:
StackMap stack: int
20: istore 6
start local 6 21: aload 0
getfield android.view.SurfaceView.mSurfaceWidth:I
iload 2
if_icmpne 22
aload 0
getfield android.view.SurfaceView.mSurfaceHeight:I
iload 3
if_icmpne 22
iconst_0
goto 23
StackMap locals: int
StackMap stack:
22: iconst_1
StackMap locals:
StackMap stack: int
23: istore 7
start local 7 24: aload 0
getfield android.view.SurfaceView.mWindowVisibility:Z
aload 0
getfield android.view.SurfaceView.mLastWindowVisibility:Z
ixor
istore 8
start local 8 25: iconst_0
istore 9
start local 9 26: iload 6
ifne 27
iload 4
ifne 27
iload 7
ifne 27
iload 5
ifne 27
iload 8
ifeq 176
27: StackMap locals: int int int
StackMap stack:
aload 0
aload 0
getfield android.view.SurfaceView.mLocation:[I
invokevirtual android.view.SurfaceView.getLocationInWindow:([I)V
28: aload 0
aload 0
getfield android.view.SurfaceView.mRequestedVisible:Z
dup_x1
putfield android.view.SurfaceView.mVisible:Z
istore 10
start local 10 29: aload 0
aload 0
getfield android.view.SurfaceView.mLocation:[I
iconst_0
iaload
putfield android.view.SurfaceView.mWindowSpaceLeft:I
30: aload 0
aload 0
getfield android.view.SurfaceView.mLocation:[I
iconst_1
iaload
putfield android.view.SurfaceView.mWindowSpaceTop:I
31: aload 0
iload 2
putfield android.view.SurfaceView.mSurfaceWidth:I
32: aload 0
iload 3
putfield android.view.SurfaceView.mSurfaceHeight:I
33: aload 0
aload 0
getfield android.view.SurfaceView.mRequestedFormat:I
putfield android.view.SurfaceView.mFormat:I
34: aload 0
aload 0
getfield android.view.SurfaceView.mWindowVisibility:Z
putfield android.view.SurfaceView.mLastWindowVisibility:Z
35: aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
aload 0
getfield android.view.SurfaceView.mWindowSpaceLeft:I
putfield android.graphics.Rect.left:I
36: aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
aload 0
getfield android.view.SurfaceView.mWindowSpaceTop:I
putfield android.graphics.Rect.top:I
37: aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
aload 0
getfield android.view.SurfaceView.mWindowSpaceLeft:I
aload 0
invokevirtual android.view.SurfaceView.getWidth:()I
iadd
putfield android.graphics.Rect.right:I
38: aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
aload 0
getfield android.view.SurfaceView.mWindowSpaceTop:I
aload 0
invokevirtual android.view.SurfaceView.getHeight:()I
iadd
putfield android.graphics.Rect.bottom:I
39: aload 0
getfield android.view.SurfaceView.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
ifnull 41
40: aload 0
getfield android.view.SurfaceView.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
invokevirtual android.content.res.CompatibilityInfo$Translator.translateRectInAppWindowToScreen:(Landroid/graphics/Rect;)V
41: StackMap locals: int
StackMap stack:
aload 0
invokevirtual android.view.SurfaceView.getParentSurfaceInsets:()Landroid/graphics/Rect;
astore 11
start local 11 42: aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
aload 11
getfield android.graphics.Rect.left:I
aload 11
getfield android.graphics.Rect.top:I
invokevirtual android.graphics.Rect.offset:(II)V
43: iload 6
ifeq 59
44: aload 0
new android.view.SurfaceSession
dup
aload 1
getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
invokespecial android.view.SurfaceSession.<init>:(Landroid/view/Surface;)V
putfield android.view.SurfaceView.mSurfaceSession:Landroid/view/SurfaceSession;
45: aload 0
aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
putfield android.view.SurfaceView.mDeferredDestroySurfaceControl:Landroid/view/SurfaceControl;
46: aload 0
invokevirtual android.view.SurfaceView.updateOpaqueFlag:()V
47: new java.lang.StringBuilder
dup
ldc "SurfaceView - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual android.view.ViewRootImpl.getTitle:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 12
start local 12 48: aload 0
49: new android.view.SurfaceView$SurfaceControlWithBackground
dup
aload 0
50: aload 12
51: aload 0
getfield android.view.SurfaceView.mSurfaceFlags:I
sipush 1024
iand
ifeq 52
iconst_1
goto 53
StackMap locals: android.view.SurfaceView android.view.ViewRootImpl int int int int int int int int int android.graphics.Rect java.lang.String
StackMap stack: android.view.SurfaceView new 49 new 49 android.view.SurfaceView java.lang.String
52: iconst_0
53: StackMap locals: android.view.SurfaceView android.view.ViewRootImpl int int int int int int int int int android.graphics.Rect java.lang.String
StackMap stack: android.view.SurfaceView new 49 new 49 android.view.SurfaceView java.lang.String int
new android.view.SurfaceControl$Builder
dup
aload 0
getfield android.view.SurfaceView.mSurfaceSession:Landroid/view/SurfaceSession;
invokespecial android.view.SurfaceControl$Builder.<init>:(Landroid/view/SurfaceSession;)V
54: aload 0
getfield android.view.SurfaceView.mSurfaceWidth:I
aload 0
getfield android.view.SurfaceView.mSurfaceHeight:I
invokevirtual android.view.SurfaceControl$Builder.setSize:(II)Landroid/view/SurfaceControl$Builder;
55: aload 0
getfield android.view.SurfaceView.mFormat:I
invokevirtual android.view.SurfaceControl$Builder.setFormat:(I)Landroid/view/SurfaceControl$Builder;
56: aload 0
getfield android.view.SurfaceView.mSurfaceFlags:I
invokevirtual android.view.SurfaceControl$Builder.setFlags:(I)Landroid/view/SurfaceControl$Builder;
invokespecial android.view.SurfaceView$SurfaceControlWithBackground.<init>:(Landroid/view/SurfaceView;Ljava/lang/String;ZLandroid/view/SurfaceControl$Builder;)V
57: putfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
end local 12 58: goto 61
StackMap locals:
StackMap stack:
59: aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
ifnonnull 61
60: return
61: StackMap locals:
StackMap stack:
iconst_0
istore 12
start local 12 62: aload 0
getfield android.view.SurfaceView.mSurfaceLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
63: aload 0
iload 10
ifeq 64
iconst_0
goto 65
StackMap locals: android.view.SurfaceView android.view.ViewRootImpl int int int int int int int int int android.graphics.Rect int
StackMap stack: android.view.SurfaceView
64: iconst_1
StackMap locals: android.view.SurfaceView android.view.ViewRootImpl int int int int int int int int int android.graphics.Rect int
StackMap stack: android.view.SurfaceView int
65: putfield android.view.SurfaceView.mDrawingStopped:Z
66: invokestatic android.view.SurfaceControl.openTransaction:()V
67: aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
aload 0
getfield android.view.SurfaceView.mSubLayer:I
invokevirtual android.view.SurfaceView$SurfaceControlWithBackground.setLayer:(I)V
68: aload 0
getfield android.view.SurfaceView.mViewVisibility:Z
ifeq 71
69: aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
invokevirtual android.view.SurfaceView$SurfaceControlWithBackground.show:()V
70: goto 72
71: StackMap locals:
StackMap stack:
aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
invokevirtual android.view.SurfaceView$SurfaceControlWithBackground.hide:()V
72: StackMap locals:
StackMap stack:
iload 7
ifne 73
iload 6
ifne 73
aload 0
getfield android.view.SurfaceView.mRtHandlingPositionUpdates:Z
ifne 78
73: StackMap locals:
StackMap stack:
aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.left:I
i2f
aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.top:I
i2f
invokevirtual android.view.SurfaceView$SurfaceControlWithBackground.setPosition:(FF)V
74: aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
invokevirtual android.graphics.Rect.width:()I
i2f
aload 0
getfield android.view.SurfaceView.mSurfaceWidth:I
i2f
fdiv
75: fconst_0
fconst_0
76: aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
invokevirtual android.graphics.Rect.height:()I
i2f
aload 0
getfield android.view.SurfaceView.mSurfaceHeight:I
i2f
fdiv
77: invokevirtual android.view.SurfaceView$SurfaceControlWithBackground.setMatrix:(FFFF)V
78: StackMap locals:
StackMap stack:
iload 7
ifeq 84
79: aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
aload 0
getfield android.view.SurfaceView.mSurfaceWidth:I
aload 0
getfield android.view.SurfaceView.mSurfaceHeight:I
invokevirtual android.view.SurfaceView$SurfaceControlWithBackground.setSize:(II)V
80: goto 84
StackMap locals:
StackMap stack: java.lang.Throwable
81: astore 13
82: invokestatic android.view.SurfaceControl.closeTransaction:()V
83: aload 13
athrow
84: StackMap locals:
StackMap stack:
invokestatic android.view.SurfaceControl.closeTransaction:()V
85: iload 7
ifne 86
iload 6
ifeq 87
86: StackMap locals:
StackMap stack:
iconst_1
istore 9
87: StackMap locals:
StackMap stack:
aload 0
getfield android.view.SurfaceView.mSurfaceFrame:Landroid/graphics/Rect;
iconst_0
putfield android.graphics.Rect.left:I
88: aload 0
getfield android.view.SurfaceView.mSurfaceFrame:Landroid/graphics/Rect;
iconst_0
putfield android.graphics.Rect.top:I
89: aload 0
getfield android.view.SurfaceView.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
ifnonnull 93
90: aload 0
getfield android.view.SurfaceView.mSurfaceFrame:Landroid/graphics/Rect;
aload 0
getfield android.view.SurfaceView.mSurfaceWidth:I
putfield android.graphics.Rect.right:I
91: aload 0
getfield android.view.SurfaceView.mSurfaceFrame:Landroid/graphics/Rect;
aload 0
getfield android.view.SurfaceView.mSurfaceHeight:I
putfield android.graphics.Rect.bottom:I
92: goto 96
93: StackMap locals:
StackMap stack:
aload 0
getfield android.view.SurfaceView.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
getfield android.content.res.CompatibilityInfo$Translator.applicationInvertedScale:F
fstore 13
start local 13 94: aload 0
getfield android.view.SurfaceView.mSurfaceFrame:Landroid/graphics/Rect;
aload 0
getfield android.view.SurfaceView.mSurfaceWidth:I
i2f
fload 13
fmul
ldc 0.5
fadd
f2i
putfield android.graphics.Rect.right:I
95: aload 0
getfield android.view.SurfaceView.mSurfaceFrame:Landroid/graphics/Rect;
aload 0
getfield android.view.SurfaceView.mSurfaceHeight:I
i2f
fload 13
fmul
ldc 0.5
fadd
f2i
putfield android.graphics.Rect.bottom:I
end local 13 96: StackMap locals:
StackMap stack:
aload 0
getfield android.view.SurfaceView.mSurfaceFrame:Landroid/graphics/Rect;
getfield android.graphics.Rect.right:I
istore 13
start local 13 97: aload 0
getfield android.view.SurfaceView.mSurfaceFrame:Landroid/graphics/Rect;
getfield android.graphics.Rect.bottom:I
istore 14
start local 14 98: aload 0
getfield android.view.SurfaceView.mLastSurfaceWidth:I
iload 13
if_icmpne 101
99: aload 0
getfield android.view.SurfaceView.mLastSurfaceHeight:I
iload 14
if_icmpne 101
100: iconst_0
goto 102
StackMap locals: int int
StackMap stack:
101: iconst_1
StackMap locals:
StackMap stack: int
102: istore 12
103: aload 0
iload 13
putfield android.view.SurfaceView.mLastSurfaceWidth:I
104: aload 0
iload 14
putfield android.view.SurfaceView.mLastSurfaceHeight:I
end local 14 end local 13 105: goto 109
StackMap locals: android.view.SurfaceView android.view.ViewRootImpl int int int int int int int int int android.graphics.Rect int
StackMap stack: java.lang.Throwable
106: astore 15
107: aload 0
getfield android.view.SurfaceView.mSurfaceLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
108: aload 15
athrow
109: StackMap locals:
StackMap stack:
aload 0
getfield android.view.SurfaceView.mSurfaceLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
110: iload 9
iload 10
ifeq 111
aload 0
getfield android.view.SurfaceView.mDrawFinished:Z
ifne 111
iconst_1
goto 112
StackMap locals:
StackMap stack: int
111: iconst_0
StackMap locals: android.view.SurfaceView android.view.ViewRootImpl int int int int int int int int int android.graphics.Rect int
StackMap stack: int int
112: ior
istore 9
113: aconst_null
astore 13
start local 13 114: iload 6
istore 14
start local 14 115: aload 0
getfield android.view.SurfaceView.mSurfaceCreated:Z
ifeq 126
iload 14
ifne 116
iload 10
ifne 126
iload 5
ifeq 126
116: StackMap locals: android.view.SurfaceHolder$Callback[] int
StackMap stack:
aload 0
iconst_0
putfield android.view.SurfaceView.mSurfaceCreated:Z
117: aload 0
getfield android.view.SurfaceView.mSurface:Landroid/view/Surface;
invokevirtual android.view.Surface.isValid:()Z
ifeq 126
118: aload 0
invokevirtual android.view.SurfaceView.getSurfaceCallbacks:()[Landroid/view/SurfaceHolder$Callback;
astore 13
119: aload 13
dup
astore 18
arraylength
istore 17
iconst_0
istore 16
goto 123
StackMap locals: android.view.SurfaceView android.view.ViewRootImpl int int int int int int int int int android.graphics.Rect int android.view.SurfaceHolder$Callback[] int top int int android.view.SurfaceHolder$Callback[]
StackMap stack:
120: aload 18
iload 16
aaload
astore 15
start local 15 121: aload 15
aload 0
getfield android.view.SurfaceView.mSurfaceHolder:Landroid/view/SurfaceHolder;
invokeinterface android.view.SurfaceHolder$Callback.surfaceDestroyed:(Landroid/view/SurfaceHolder;)V
end local 15 122: iinc 16 1
StackMap locals:
StackMap stack:
123: iload 16
iload 17
if_icmplt 120
124: aload 0
getfield android.view.SurfaceView.mSurface:Landroid/view/Surface;
invokevirtual android.view.Surface.isValid:()Z
ifeq 126
125: aload 0
getfield android.view.SurfaceView.mSurface:Landroid/view/Surface;
invokevirtual android.view.Surface.forceScopedDisconnect:()V
126: StackMap locals: android.view.SurfaceView android.view.ViewRootImpl int int int int int int int int int android.graphics.Rect int android.view.SurfaceHolder$Callback[] int
StackMap stack:
iload 6
ifeq 128
127: aload 0
getfield android.view.SurfaceView.mSurface:Landroid/view/Surface;
aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
invokevirtual android.view.Surface.copyFrom:(Landroid/view/SurfaceControl;)V
128: StackMap locals:
StackMap stack:
iload 7
ifeq 131
aload 0
invokevirtual android.view.SurfaceView.getContext:()Landroid/content/Context;
invokevirtual android.content.Context.getApplicationInfo:()Landroid/content/pm/ApplicationInfo;
getfield android.content.pm.ApplicationInfo.targetSdkVersion:I
129: bipush 26
if_icmpge 131
130: aload 0
getfield android.view.SurfaceView.mSurface:Landroid/view/Surface;
aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
invokevirtual android.view.Surface.createFrom:(Landroid/view/SurfaceControl;)V
131: StackMap locals:
StackMap stack:
iload 10
ifeq 167
aload 0
getfield android.view.SurfaceView.mSurface:Landroid/view/Surface;
invokevirtual android.view.Surface.isValid:()Z
ifeq 167
132: aload 0
getfield android.view.SurfaceView.mSurfaceCreated:Z
ifne 142
iload 14
ifne 133
iload 5
ifeq 142
133: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield android.view.SurfaceView.mSurfaceCreated:Z
134: aload 0
iconst_1
putfield android.view.SurfaceView.mIsCreating:Z
135: aload 13
ifnonnull 137
136: aload 0
invokevirtual android.view.SurfaceView.getSurfaceCallbacks:()[Landroid/view/SurfaceHolder$Callback;
astore 13
137: StackMap locals:
StackMap stack:
aload 13
dup
astore 18
arraylength
istore 17
iconst_0
istore 16
goto 141
StackMap locals: android.view.SurfaceView android.view.ViewRootImpl int int int int int int int int int android.graphics.Rect int android.view.SurfaceHolder$Callback[] int top int int android.view.SurfaceHolder$Callback[]
StackMap stack:
138: aload 18
iload 16
aaload
astore 15
start local 15 139: aload 15
aload 0
getfield android.view.SurfaceView.mSurfaceHolder:Landroid/view/SurfaceHolder;
invokeinterface android.view.SurfaceHolder$Callback.surfaceCreated:(Landroid/view/SurfaceHolder;)V
end local 15 140: iinc 16 1
StackMap locals:
StackMap stack:
141: iload 16
iload 17
if_icmplt 138
142: StackMap locals: android.view.SurfaceView android.view.ViewRootImpl int int int int int int int int int android.graphics.Rect int android.view.SurfaceHolder$Callback[] int
StackMap stack:
iload 6
ifne 144
iload 4
ifne 144
iload 7
ifne 144
143: iload 5
ifne 144
iload 12
ifeq 151
144: StackMap locals:
StackMap stack:
aload 13
ifnonnull 146
145: aload 0
invokevirtual android.view.SurfaceView.getSurfaceCallbacks:()[Landroid/view/SurfaceHolder$Callback;
astore 13
146: StackMap locals:
StackMap stack:
aload 13
dup
astore 18
arraylength
istore 17
iconst_0
istore 16
goto 150
StackMap locals: android.view.SurfaceView android.view.ViewRootImpl int int int int int int int int int android.graphics.Rect int android.view.SurfaceHolder$Callback[] int top int int android.view.SurfaceHolder$Callback[]
StackMap stack:
147: aload 18
iload 16
aaload
astore 15
start local 15 148: aload 15
aload 0
getfield android.view.SurfaceView.mSurfaceHolder:Landroid/view/SurfaceHolder;
aload 0
getfield android.view.SurfaceView.mFormat:I
iload 2
iload 3
invokeinterface android.view.SurfaceHolder$Callback.surfaceChanged:(Landroid/view/SurfaceHolder;III)V
end local 15 149: iinc 16 1
StackMap locals:
StackMap stack:
150: iload 16
iload 17
if_icmplt 147
151: StackMap locals: android.view.SurfaceView android.view.ViewRootImpl int int int int int int int int int android.graphics.Rect int android.view.SurfaceHolder$Callback[] int
StackMap stack:
iload 9
ifeq 167
152: aload 13
ifnonnull 154
153: aload 0
invokevirtual android.view.SurfaceView.getSurfaceCallbacks:()[Landroid/view/SurfaceHolder$Callback;
astore 13
154: StackMap locals:
StackMap stack:
aload 0
dup
getfield android.view.SurfaceView.mPendingReportDraws:I
iconst_1
iadd
putfield android.view.SurfaceView.mPendingReportDraws:I
155: aload 1
invokevirtual android.view.ViewRootImpl.drawPending:()V
156: new com.android.internal.view.SurfaceCallbackHelper
dup
aload 0
invokedynamic run(Landroid/view/SurfaceView;)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/view/SurfaceView.onDrawFinished()V (7)
()V
invokespecial com.android.internal.view.SurfaceCallbackHelper.<init>:(Ljava/lang/Runnable;)V
157: astore 15
start local 15 158: aload 15
aload 0
getfield android.view.SurfaceView.mSurfaceHolder:Landroid/view/SurfaceHolder;
aload 13
invokevirtual com.android.internal.view.SurfaceCallbackHelper.dispatchSurfaceRedrawNeededAsync:(Landroid/view/SurfaceHolder;[Landroid/view/SurfaceHolder$Callback;)V
end local 15 end local 14 end local 13 159: goto 167
StackMap locals: android.view.SurfaceView android.view.ViewRootImpl int int int int int int int int int android.graphics.Rect int
StackMap stack: java.lang.Throwable
160: astore 19
161: aload 0
iconst_0
putfield android.view.SurfaceView.mIsCreating:Z
162: aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
ifnull 166
aload 0
getfield android.view.SurfaceView.mSurfaceCreated:Z
ifne 166
163: aload 0
getfield android.view.SurfaceView.mSurface:Landroid/view/Surface;
invokevirtual android.view.Surface.release:()V
164: aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
invokevirtual android.view.SurfaceView$SurfaceControlWithBackground.destroy:()V
165: aload 0
aconst_null
putfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
166: StackMap locals: android.view.SurfaceView android.view.ViewRootImpl int int int int int int int int int android.graphics.Rect int top top top top top top java.lang.Throwable
StackMap stack:
aload 19
athrow
167: StackMap locals: android.view.SurfaceView android.view.ViewRootImpl int int int int int int int int int android.graphics.Rect int
StackMap stack:
aload 0
iconst_0
putfield android.view.SurfaceView.mIsCreating:Z
168: aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
ifnull 204
aload 0
getfield android.view.SurfaceView.mSurfaceCreated:Z
ifne 204
169: aload 0
getfield android.view.SurfaceView.mSurface:Landroid/view/Surface;
invokevirtual android.view.Surface.release:()V
170: aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
invokevirtual android.view.SurfaceView$SurfaceControlWithBackground.destroy:()V
171: aload 0
aconst_null
putfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
end local 12 end local 11 end local 10 172: goto 204
StackMap locals: android.view.SurfaceView android.view.ViewRootImpl int int int int int int int int
StackMap stack: java.lang.Exception
173: astore 10
start local 10 174: ldc "SurfaceView"
ldc "Exception configuring surface"
aload 10
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 10 175: goto 204
176: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.view.SurfaceView.mLocation:[I
invokevirtual android.view.SurfaceView.getLocationInSurface:([I)V
177: aload 0
getfield android.view.SurfaceView.mWindowSpaceLeft:I
aload 0
getfield android.view.SurfaceView.mLocation:[I
iconst_0
iaload
if_icmpne 180
178: aload 0
getfield android.view.SurfaceView.mWindowSpaceTop:I
aload 0
getfield android.view.SurfaceView.mLocation:[I
iconst_1
iaload
if_icmpne 180
179: iconst_0
goto 181
StackMap locals:
StackMap stack:
180: iconst_1
StackMap locals:
StackMap stack: int
181: istore 10
start local 10 182: aload 0
invokevirtual android.view.SurfaceView.getWidth:()I
aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
invokevirtual android.graphics.Rect.width:()I
if_icmpne 185
183: aload 0
invokevirtual android.view.SurfaceView.getHeight:()I
aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
invokevirtual android.graphics.Rect.height:()I
if_icmpne 185
184: iconst_0
goto 186
StackMap locals: int
StackMap stack:
185: iconst_1
StackMap locals:
StackMap stack: int
186: istore 11
start local 11 187: iload 10
ifne 188
iload 11
ifeq 204
188: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield android.view.SurfaceView.mLocation:[I
iconst_0
iaload
putfield android.view.SurfaceView.mWindowSpaceLeft:I
189: aload 0
aload 0
getfield android.view.SurfaceView.mLocation:[I
iconst_1
iaload
putfield android.view.SurfaceView.mWindowSpaceTop:I
190: aload 0
getfield android.view.SurfaceView.mLocation:[I
iconst_0
aload 0
invokevirtual android.view.SurfaceView.getWidth:()I
iastore
191: aload 0
getfield android.view.SurfaceView.mLocation:[I
iconst_1
aload 0
invokevirtual android.view.SurfaceView.getHeight:()I
iastore
192: aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
aload 0
getfield android.view.SurfaceView.mWindowSpaceLeft:I
aload 0
getfield android.view.SurfaceView.mWindowSpaceTop:I
193: aload 0
getfield android.view.SurfaceView.mWindowSpaceLeft:I
aload 0
getfield android.view.SurfaceView.mLocation:[I
iconst_0
iaload
iadd
aload 0
getfield android.view.SurfaceView.mWindowSpaceTop:I
aload 0
getfield android.view.SurfaceView.mLocation:[I
iconst_1
iaload
iadd
194: invokevirtual android.graphics.Rect.set:(IIII)V
195: aload 0
getfield android.view.SurfaceView.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
ifnull 197
196: aload 0
getfield android.view.SurfaceView.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
invokevirtual android.content.res.CompatibilityInfo$Translator.translateRectInAppWindowToScreen:(Landroid/graphics/Rect;)V
197: StackMap locals:
StackMap stack:
aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
ifnonnull 199
198: return
199: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.view.SurfaceView.isHardwareAccelerated:()Z
ifeq 200
aload 0
getfield android.view.SurfaceView.mRtHandlingPositionUpdates:Z
ifne 204
200: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
ldc -1
invokevirtual android.view.SurfaceView.setParentSpaceRectangle:(Landroid/graphics/Rect;J)V
201: goto 204
StackMap locals:
StackMap stack: java.lang.Exception
202: astore 12
start local 12 203: ldc "SurfaceView"
ldc "Exception configuring surface"
aload 12
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 12 end local 11 end local 10 204: StackMap locals:
StackMap stack:
return
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 205 0 this Landroid/view/SurfaceView;
3 205 1 viewRoot Landroid/view/ViewRootImpl;
9 205 2 myWidth I
11 205 3 myHeight I
15 205 4 formatChanged Z
16 205 5 visibleChanged Z
21 205 6 creating Z
24 205 7 sizeChanged Z
25 205 8 windowVisibleChanged Z
26 205 9 redrawNeeded Z
29 172 10 visible Z
42 172 11 surfaceInsets Landroid/graphics/Rect;
48 58 12 name Ljava/lang/String;
62 172 12 realSizeChanged Z
94 96 13 appInvertedScale F
97 105 13 surfaceWidth I
98 105 14 surfaceHeight I
114 159 13 callbacks [Landroid/view/SurfaceHolder$Callback;
115 159 14 surfaceChanged Z
121 122 15 c Landroid/view/SurfaceHolder$Callback;
139 140 15 c Landroid/view/SurfaceHolder$Callback;
148 149 15 c Landroid/view/SurfaceHolder$Callback;
158 159 15 sch Lcom/android/internal/view/SurfaceCallbackHelper;
174 175 10 ex Ljava/lang/Exception;
182 204 10 positionChanged Z
187 204 11 layoutSizeChanged Z
203 204 12 ex Ljava/lang/Exception;
Exception table:
from to target type
67 81 81 any
63 106 106 any
110 160 160 any
28 60 173 Class java.lang.Exception
61 172 173 Class java.lang.Exception
200 201 202 Class java.lang.Exception
private void onDrawFinished();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.view.SurfaceView.mDeferredDestroySurfaceControl:Landroid/view/SurfaceControl;
ifnull 3
1: aload 0
getfield android.view.SurfaceView.mDeferredDestroySurfaceControl:Landroid/view/SurfaceControl;
invokevirtual android.view.SurfaceControl.destroy:()V
2: aload 0
aconst_null
putfield android.view.SurfaceView.mDeferredDestroySurfaceControl:Landroid/view/SurfaceControl;
3: StackMap locals:
StackMap stack:
aload 0
aload 0
invokedynamic run(Landroid/view/SurfaceView;)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/view/SurfaceView.lambda$1()V (7)
()V
invokevirtual android.view.SurfaceView.runOnUiThread:(Ljava/lang/Runnable;)V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/view/SurfaceView;
protected void applyChildSurfaceTransaction_renderWorker(android.view.SurfaceControl$Transaction, android.view.Surface, long);
descriptor: (Landroid/view/SurfaceControl$Transaction;Landroid/view/Surface;J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/view/SurfaceView;
0 1 1 t Landroid/view/SurfaceControl$Transaction;
0 1 2 viewRootSurface Landroid/view/Surface;
0 1 3 nextViewRootFrameNumber J
MethodParameters:
Name Flags
t
viewRootSurface
nextViewRootFrameNumber
private void applySurfaceTransforms(android.view.SurfaceControl, android.graphics.Rect, long);
descriptor: (Landroid/view/SurfaceControl;Landroid/graphics/Rect;J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: lload 3
lconst_0
lcmp
ifle 5
1: aload 0
invokevirtual android.view.SurfaceView.getViewRootImpl:()Landroid/view/ViewRootImpl;
astore 5
start local 5 2: aload 0
getfield android.view.SurfaceView.mRtTransaction:Landroid/view/SurfaceControl$Transaction;
aload 1
aload 5
getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
3: lload 3
4: invokevirtual android.view.SurfaceControl$Transaction.deferTransactionUntilSurface:(Landroid/view/SurfaceControl;Landroid/view/Surface;J)Landroid/view/SurfaceControl$Transaction;
pop
end local 5 5: StackMap locals:
StackMap stack:
aload 0
getfield android.view.SurfaceView.mRtTransaction:Landroid/view/SurfaceControl$Transaction;
aload 1
aload 2
getfield android.graphics.Rect.left:I
i2f
aload 2
getfield android.graphics.Rect.top:I
i2f
invokevirtual android.view.SurfaceControl$Transaction.setPosition:(Landroid/view/SurfaceControl;FF)Landroid/view/SurfaceControl$Transaction;
pop
6: aload 0
getfield android.view.SurfaceView.mRtTransaction:Landroid/view/SurfaceControl$Transaction;
aload 1
7: aload 2
invokevirtual android.graphics.Rect.width:()I
i2f
aload 0
getfield android.view.SurfaceView.mSurfaceWidth:I
i2f
fdiv
8: fconst_0
fconst_0
9: aload 2
invokevirtual android.graphics.Rect.height:()I
i2f
aload 0
getfield android.view.SurfaceView.mSurfaceHeight:I
i2f
fdiv
10: invokevirtual android.view.SurfaceControl$Transaction.setMatrix:(Landroid/view/SurfaceControl;FFFF)Landroid/view/SurfaceControl$Transaction;
pop
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/view/SurfaceView;
0 12 1 surface Landroid/view/SurfaceControl;
0 12 2 position Landroid/graphics/Rect;
0 12 3 frameNumber J
2 5 5 viewRoot Landroid/view/ViewRootImpl;
MethodParameters:
Name Flags
surface
position
frameNumber
private void setParentSpaceRectangle(android.graphics.Rect, long);
descriptor: (Landroid/graphics/Rect;J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual android.view.SurfaceView.getViewRootImpl:()Landroid/view/ViewRootImpl;
astore 4
start local 4 1: aload 0
aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
aload 1
lload 2
invokevirtual android.view.SurfaceView.applySurfaceTransforms:(Landroid/view/SurfaceControl;Landroid/graphics/Rect;J)V
2: aload 0
aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
getfield android.view.SurfaceView$SurfaceControlWithBackground.mBackgroundControl:Landroid/view/SurfaceControl;
aload 1
lload 2
invokevirtual android.view.SurfaceView.applySurfaceTransforms:(Landroid/view/SurfaceControl;Landroid/graphics/Rect;J)V
3: aload 0
aload 0
getfield android.view.SurfaceView.mRtTransaction:Landroid/view/SurfaceControl$Transaction;
aload 4
getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
4: lload 2
5: invokevirtual android.view.SurfaceView.applyChildSurfaceTransaction_renderWorker:(Landroid/view/SurfaceControl$Transaction;Landroid/view/Surface;J)V
6: aload 0
getfield android.view.SurfaceView.mRtTransaction:Landroid/view/SurfaceControl$Transaction;
invokevirtual android.view.SurfaceControl$Transaction.apply:()V
7: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/view/SurfaceView;
0 8 1 position Landroid/graphics/Rect;
0 8 2 frameNumber J
1 8 4 viewRoot Landroid/view/ViewRootImpl;
MethodParameters:
Name Flags
position
frameNumber
public final void updateSurfacePosition_renderWorker(long, int, int, int, int);
descriptor: (JIIII)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=8, args_size=6
start local 0 start local 1 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield android.view.SurfaceView.mRtHandlingPositionUpdates:Z
3: aload 0
getfield android.view.SurfaceView.mRTLastReportedPosition:Landroid/graphics/Rect;
getfield android.graphics.Rect.left:I
iload 3
if_icmpne 8
4: aload 0
getfield android.view.SurfaceView.mRTLastReportedPosition:Landroid/graphics/Rect;
getfield android.graphics.Rect.top:I
iload 4
if_icmpne 8
5: aload 0
getfield android.view.SurfaceView.mRTLastReportedPosition:Landroid/graphics/Rect;
getfield android.graphics.Rect.right:I
iload 5
if_icmpne 8
6: aload 0
getfield android.view.SurfaceView.mRTLastReportedPosition:Landroid/graphics/Rect;
getfield android.graphics.Rect.bottom:I
iload 6
if_icmpne 8
7: return
8: StackMap locals:
StackMap stack:
aload 0
getfield android.view.SurfaceView.mRTLastReportedPosition:Landroid/graphics/Rect;
iload 3
iload 4
iload 5
iload 6
invokevirtual android.graphics.Rect.set:(IIII)V
9: aload 0
aload 0
getfield android.view.SurfaceView.mRTLastReportedPosition:Landroid/graphics/Rect;
lload 1
invokevirtual android.view.SurfaceView.setParentSpaceRectangle:(Landroid/graphics/Rect;J)V
10: goto 13
StackMap locals:
StackMap stack: java.lang.Exception
11: astore 7
start local 7 12: ldc "SurfaceView"
ldc "Exception from repositionChild"
aload 7
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 7 13: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/view/SurfaceView;
0 14 1 frameNumber J
0 14 3 left I
0 14 4 top I
0 14 5 right I
0 14 6 bottom I
12 13 7 ex Ljava/lang/Exception;
Exception table:
from to target type
8 10 11 Class java.lang.Exception
MethodParameters:
Name Flags
frameNumber
left
top
right
bottom
public final void surfacePositionLost_uiRtSync(long);
descriptor: (J)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield android.view.SurfaceView.mRTLastReportedPosition:Landroid/graphics/Rect;
invokevirtual android.graphics.Rect.setEmpty:()V
1: aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
ifnonnull 3
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield android.view.SurfaceView.mRtHandlingPositionUpdates:Z
ifeq 10
4: aload 0
iconst_0
putfield android.view.SurfaceView.mRtHandlingPositionUpdates:Z
5: aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
invokevirtual android.graphics.Rect.isEmpty:()Z
ifne 10
aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
aload 0
getfield android.view.SurfaceView.mRTLastReportedPosition:Landroid/graphics/Rect;
invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
ifne 10
6: aload 0
aload 0
getfield android.view.SurfaceView.mScreenRect:Landroid/graphics/Rect;
lload 1
invokevirtual android.view.SurfaceView.setParentSpaceRectangle:(Landroid/graphics/Rect;J)V
7: goto 10
StackMap locals:
StackMap stack: java.lang.Exception
8: astore 3
start local 3 9: ldc "SurfaceView"
ldc "Exception configuring surface"
aload 3
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 3 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/view/SurfaceView;
0 11 1 frameNumber J
9 10 3 ex Ljava/lang/Exception;
Exception table:
from to target type
6 7 8 Class java.lang.Exception
MethodParameters:
Name Flags
frameNumber
private android.view.SurfaceHolder$Callback[] getSurfaceCallbacks();
descriptor: ()[Landroid/view/SurfaceHolder$Callback;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield android.view.SurfaceView.mCallbacks:Ljava/util/ArrayList;
dup
astore 2
monitorenter
1: aload 0
getfield android.view.SurfaceView.mCallbacks:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
anewarray android.view.SurfaceHolder$Callback
astore 1
start local 1 2: aload 0
getfield android.view.SurfaceView.mCallbacks:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
3: aload 2
monitorexit
4: goto 7
end local 1 StackMap locals: android.view.SurfaceView top java.util.ArrayList
StackMap stack: java.lang.Throwable
5: aload 2
monitorexit
6: athrow
start local 1 7: StackMap locals: android.view.SurfaceView android.view.SurfaceHolder$Callback[]
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/view/SurfaceView;
2 5 1 callbacks [Landroid/view/SurfaceHolder$Callback;
7 8 1 callbacks [Landroid/view/SurfaceHolder$Callback;
Exception table:
from to target type
1 4 5 any
5 6 5 any
private void runOnUiThread(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual android.view.SurfaceView.getHandler:()Landroid/os/Handler;
astore 2
start local 2 1: aload 2
ifnull 4
aload 2
invokevirtual android.os.Handler.getLooper:()Landroid/os/Looper;
invokestatic android.os.Looper.myLooper:()Landroid/os/Looper;
if_acmpeq 4
2: aload 2
aload 1
invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
pop
3: goto 5
4: StackMap locals: android.os.Handler
StackMap stack:
aload 1
invokeinterface java.lang.Runnable.run:()V
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/view/SurfaceView;
0 6 1 runnable Ljava/lang/Runnable;
1 6 2 handler Landroid/os/Handler;
MethodParameters:
Name Flags
runnable
public boolean isFixedSize();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.view.SurfaceView.mRequestedWidth:I
iconst_m1
if_icmpne 1
aload 0
getfield android.view.SurfaceView.mRequestedHeight:I
iconst_m1
if_icmpne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/view/SurfaceView;
private boolean isAboveParent();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.view.SurfaceView.mSubLayer:I
iflt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/view/SurfaceView;
public void setResizeBackgroundColor(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.view.SurfaceView.mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
iload 1
invokevirtual android.view.SurfaceView$SurfaceControlWithBackground.setBackgroundColor:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/view/SurfaceView;
0 2 1 bgColor I
MethodParameters:
Name Flags
bgColor
private void lambda$1();
descriptor: ()V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.view.SurfaceView.performDrawFinished:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/view/SurfaceView;
}
SourceFile: "SurfaceView.java"
NestMembers:
android.view.SurfaceView$1 android.view.SurfaceView$2 android.view.SurfaceView$3 android.view.SurfaceView$SurfaceControlWithBackground
InnerClasses:
public Translator = android.content.res.CompatibilityInfo$Translator of android.content.res.CompatibilityInfo
public final Mode = android.graphics.PorterDuff$Mode of android.graphics.PorterDuff
public final Op = android.graphics.Region$Op of android.graphics.Region
public Builder = android.view.SurfaceControl$Builder of android.view.SurfaceControl
public Transaction = android.view.SurfaceControl$Transaction of android.view.SurfaceControl
public abstract Callback = android.view.SurfaceHolder$Callback of android.view.SurfaceHolder
android.view.SurfaceView$1
android.view.SurfaceView$2
android.view.SurfaceView$3
SurfaceControlWithBackground = android.view.SurfaceView$SurfaceControlWithBackground of android.view.SurfaceView
abstract WindowStoppedCallback = android.view.ViewRootImpl$WindowStoppedCallback of android.view.ViewRootImpl
public abstract OnPreDrawListener = android.view.ViewTreeObserver$OnPreDrawListener of android.view.ViewTreeObserver
public abstract OnScrollChangedListener = android.view.ViewTreeObserver$OnScrollChangedListener of android.view.ViewTreeObserver
public LayoutParams = android.view.WindowManager$LayoutParams of android.view.WindowManager
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles