class android.opengl.GLSurfaceView$GLThread extends java.lang.Thread
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.opengl.GLSurfaceView$GLThread
super_class: java.lang.Thread
{
private boolean mShouldExit;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mExited;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mRequestPaused;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mPaused;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mHasSurface;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mSurfaceIsBad;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mWaitingForSurface;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mHaveEglContext;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mHaveEglSurface;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mFinishedCreatingEglSurface;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mShouldReleaseEglContext;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int mWidth;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mHeight;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mRenderMode;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean mRequestRender;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mWantRenderNotification;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mRenderComplete;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.ArrayList<java.lang.Runnable> mEventQueue;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Ljava/lang/Runnable;>;
private boolean mSizeChanged;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.Runnable mFinishDrawingRunnable;
descriptor: Ljava/lang/Runnable;
flags: (0x0002) ACC_PRIVATE
private android.opengl.GLSurfaceView$EglHelper mEglHelper;
descriptor: Landroid/opengl/GLSurfaceView$EglHelper;
flags: (0x0002) ACC_PRIVATE
private java.lang.ref.WeakReference<android.opengl.GLSurfaceView> mGLSurfaceViewWeakRef;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ref/WeakReference<Landroid/opengl/GLSurfaceView;>;
void <init>(java.lang.ref.WeakReference<android.opengl.GLSurfaceView>);
descriptor: (Ljava/lang/ref/WeakReference;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Thread.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.opengl.GLSurfaceView$GLThread.mEventQueue:Ljava/util/ArrayList;
2: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mSizeChanged:Z
3: aload 0
aconst_null
putfield android.opengl.GLSurfaceView$GLThread.mFinishDrawingRunnable:Ljava/lang/Runnable;
4: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mWidth:I
5: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mHeight:I
6: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mRequestRender:Z
7: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mRenderMode:I
8: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mWantRenderNotification:Z
9: aload 0
aload 1
putfield android.opengl.GLSurfaceView$GLThread.mGLSurfaceViewWeakRef:Ljava/lang/ref/WeakReference;
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/opengl/GLSurfaceView$GLThread;
0 11 1 glSurfaceViewWeakRef Ljava/lang/ref/WeakReference<Landroid/opengl/GLSurfaceView;>;
Signature: (Ljava/lang/ref/WeakReference<Landroid/opengl/GLSurfaceView;>;)V
MethodParameters:
Name Flags
glSurfaceViewWeakRef
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
new java.lang.StringBuilder
dup
ldc "GLThread "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual android.opengl.GLSurfaceView$GLThread.getId:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual android.opengl.GLSurfaceView$GLThread.setName:(Ljava/lang/String;)V
1: aload 0
invokevirtual android.opengl.GLSurfaceView$GLThread.guardedRun:()V
2: goto 8
StackMap locals:
StackMap stack: java.lang.InterruptedException
3: pop
4: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
aload 0
invokevirtual android.opengl.GLSurfaceView$GLThreadManager.threadExiting:(Landroid/opengl/GLSurfaceView$GLThread;)V
goto 9
5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
6: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
aload 0
invokevirtual android.opengl.GLSurfaceView$GLThreadManager.threadExiting:(Landroid/opengl/GLSurfaceView$GLThread;)V
7: aload 1
athrow
8: StackMap locals:
StackMap stack:
getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
aload 0
invokevirtual android.opengl.GLSurfaceView$GLThreadManager.threadExiting:(Landroid/opengl/GLSurfaceView$GLThread;)V
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/opengl/GLSurfaceView$GLThread;
Exception table:
from to target type
1 2 3 Class java.lang.InterruptedException
1 4 5 any
private void stopEglSurfaceLocked();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
ifeq 3
1: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
2: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper;
invokevirtual android.opengl.GLSurfaceView$EglHelper.destroySurface:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/opengl/GLSurfaceView$GLThread;
private void stopEglContextLocked();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mHaveEglContext:Z
ifeq 4
1: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper;
invokevirtual android.opengl.GLSurfaceView$EglHelper.finish:()V
2: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mHaveEglContext:Z
3: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
aload 0
invokevirtual android.opengl.GLSurfaceView$GLThreadManager.releaseEglContextLocked:(Landroid/opengl/GLSurfaceView$GLThread;)V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/opengl/GLSurfaceView$GLThread;
private void guardedRun();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=20, args_size=1
start local 0 0: aload 0
new android.opengl.GLSurfaceView$EglHelper
dup
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mGLSurfaceViewWeakRef:Ljava/lang/ref/WeakReference;
invokespecial android.opengl.GLSurfaceView$EglHelper.<init>:(Ljava/lang/ref/WeakReference;)V
putfield android.opengl.GLSurfaceView$GLThread.mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper;
1: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mHaveEglContext:Z
2: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
3: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mWantRenderNotification:Z
4: aconst_null
astore 1
start local 1 5: iconst_0
istore 2
start local 2 6: iconst_0
istore 3
start local 3 7: iconst_0
istore 4
start local 4 8: iconst_0
istore 5
start local 5 9: iconst_0
istore 6
start local 6 10: iconst_0
istore 7
start local 7 11: iconst_0
istore 8
start local 8 12: iconst_0
istore 9
start local 9 13: iconst_0
istore 10
start local 10 14: iconst_0
istore 11
start local 11 15: aconst_null
astore 12
start local 12 16: aconst_null
astore 13
start local 13 17: StackMap locals: android.opengl.GLSurfaceView$GLThread javax.microedition.khronos.opengles.GL10 int int int int int int int int int int java.lang.Runnable java.lang.Runnable
StackMap stack:
getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
dup
astore 14
monitorenter
18: StackMap locals: android.opengl.GLSurfaceView$GLThreadManager
StackMap stack:
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mShouldExit:Z
ifeq 28
19: aload 14
monitorexit
20: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
dup
astore 19
monitorenter
21: aload 0
invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglSurfaceLocked:()V
22: aload 0
invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglContextLocked:()V
23: aload 19
monitorexit
24: goto 27
StackMap locals: android.opengl.GLSurfaceView$GLThread javax.microedition.khronos.opengles.GL10 int int int int int int int int int int java.lang.Runnable java.lang.Runnable android.opengl.GLSurfaceView$GLThreadManager top top top top android.opengl.GLSurfaceView$GLThreadManager
StackMap stack: java.lang.Throwable
25: aload 19
monitorexit
26: athrow
StackMap locals: android.opengl.GLSurfaceView$GLThread javax.microedition.khronos.opengles.GL10 int int int int int int int int int int java.lang.Runnable java.lang.Runnable android.opengl.GLSurfaceView$GLThreadManager
StackMap stack:
27: return
28: StackMap locals:
StackMap stack:
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mEventQueue:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifne 31
29: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mEventQueue:Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
checkcast java.lang.Runnable
astore 12
30: goto 109
31: StackMap locals:
StackMap stack:
iconst_0
istore 15
start local 15 32: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mPaused:Z
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mRequestPaused:Z
if_icmpeq 36
33: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mRequestPaused:Z
istore 15
34: aload 0
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mRequestPaused:Z
putfield android.opengl.GLSurfaceView$GLThread.mPaused:Z
35: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
36: StackMap locals: int
StackMap stack:
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mShouldReleaseEglContext:Z
ifeq 41
37: aload 0
invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglSurfaceLocked:()V
38: aload 0
invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglContextLocked:()V
39: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mShouldReleaseEglContext:Z
40: iconst_1
istore 9
41: StackMap locals:
StackMap stack:
iload 5
ifeq 45
42: aload 0
invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglSurfaceLocked:()V
43: aload 0
invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglContextLocked:()V
44: iconst_0
istore 5
45: StackMap locals:
StackMap stack:
iload 15
ifeq 47
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
ifeq 47
46: aload 0
invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglSurfaceLocked:()V
47: StackMap locals:
StackMap stack:
iload 15
ifeq 55
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mHaveEglContext:Z
ifeq 55
48: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mGLSurfaceViewWeakRef:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.opengl.GLSurfaceView
astore 16
start local 16 49: aload 16
ifnonnull 51
50: iconst_0
goto 52
StackMap locals: android.opengl.GLSurfaceView
StackMap stack:
51: aload 16
getfield android.opengl.GLSurfaceView.mPreserveEGLContextOnPause:Z
52: StackMap locals:
StackMap stack: int
istore 17
start local 17 53: iload 17
ifne 55
54: aload 0
invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglContextLocked:()V
end local 17 end local 16 55: StackMap locals:
StackMap stack:
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mHasSurface:Z
ifne 61
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mWaitingForSurface:Z
ifne 61
56: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
ifeq 58
57: aload 0
invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglSurfaceLocked:()V
58: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mWaitingForSurface:Z
59: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mSurfaceIsBad:Z
60: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
61: StackMap locals:
StackMap stack:
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mHasSurface:Z
ifeq 64
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mWaitingForSurface:Z
ifeq 64
62: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mWaitingForSurface:Z
63: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
64: StackMap locals:
StackMap stack:
iload 8
ifeq 69
65: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mWantRenderNotification:Z
66: iconst_0
istore 8
67: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mRenderComplete:Z
68: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
69: StackMap locals:
StackMap stack:
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mFinishDrawingRunnable:Ljava/lang/Runnable;
ifnull 72
70: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mFinishDrawingRunnable:Ljava/lang/Runnable;
astore 13
71: aload 0
aconst_null
putfield android.opengl.GLSurfaceView$GLThread.mFinishDrawingRunnable:Ljava/lang/Runnable;
72: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.opengl.GLSurfaceView$GLThread.readyToDraw:()Z
ifeq 103
73: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mHaveEglContext:Z
ifne 85
74: iload 9
ifeq 77
75: iconst_0
istore 9
76: goto 85
77: StackMap locals:
StackMap stack:
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper;
invokevirtual android.opengl.GLSurfaceView$EglHelper.start:()V
78: goto 82
StackMap locals:
StackMap stack: java.lang.RuntimeException
79: astore 16
start local 16 80: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
aload 0
invokevirtual android.opengl.GLSurfaceView$GLThreadManager.releaseEglContextLocked:(Landroid/opengl/GLSurfaceView$GLThread;)V
81: aload 16
athrow
end local 16 82: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mHaveEglContext:Z
83: iconst_1
istore 2
84: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
85: StackMap locals:
StackMap stack:
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mHaveEglContext:Z
ifeq 90
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
ifne 90
86: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
87: iconst_1
istore 3
88: iconst_1
istore 4
89: iconst_1
istore 6
90: StackMap locals:
StackMap stack:
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
ifeq 107
91: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mSizeChanged:Z
ifeq 98
92: iconst_1
istore 6
93: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mWidth:I
istore 10
94: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mHeight:I
istore 11
95: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mWantRenderNotification:Z
96: iconst_1
istore 3
97: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mSizeChanged:Z
98: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mRequestRender:Z
99: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
100: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mWantRenderNotification:Z
ifeq 109
101: iconst_1
istore 7
102: goto 109
103: StackMap locals:
StackMap stack:
aload 13
ifnull 107
104: ldc "GLSurfaceView"
ldc "Warning, !readyToDraw() but waiting for draw finished! Early reporting draw finished."
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
105: aload 13
invokeinterface java.lang.Runnable.run:()V
106: aconst_null
astore 13
107: StackMap locals:
StackMap stack:
getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.wait:()V
end local 15 108: goto 18
109: StackMap locals:
StackMap stack:
aload 14
monitorexit
110: goto 113
StackMap locals:
StackMap stack: java.lang.Throwable
111: aload 14
monitorexit
112: athrow
113: StackMap locals:
StackMap stack:
aload 12
ifnull 117
114: aload 12
invokeinterface java.lang.Runnable.run:()V
115: aconst_null
astore 12
116: goto 17
117: StackMap locals:
StackMap stack:
iload 3
ifeq 135
118: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper;
invokevirtual android.opengl.GLSurfaceView$EglHelper.createSurface:()Z
ifeq 126
119: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
dup
astore 14
monitorenter
120: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mFinishedCreatingEglSurface:Z
121: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
122: aload 14
monitorexit
123: goto 134
StackMap locals: android.opengl.GLSurfaceView$GLThread javax.microedition.khronos.opengles.GL10 int int int int int int int int int int java.lang.Runnable java.lang.Runnable android.opengl.GLSurfaceView$GLThreadManager
StackMap stack: java.lang.Throwable
124: aload 14
monitorexit
125: athrow
126: StackMap locals:
StackMap stack:
getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
dup
astore 14
monitorenter
127: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mFinishedCreatingEglSurface:Z
128: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mSurfaceIsBad:Z
129: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
130: aload 14
monitorexit
131: goto 17
StackMap locals: android.opengl.GLSurfaceView$GLThread javax.microedition.khronos.opengles.GL10 int int int int int int int int int int java.lang.Runnable java.lang.Runnable android.opengl.GLSurfaceView$GLThreadManager
StackMap stack: java.lang.Throwable
132: aload 14
monitorexit
133: athrow
134: StackMap locals:
StackMap stack:
iconst_0
istore 3
135: StackMap locals:
StackMap stack:
iload 4
ifeq 138
136: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper;
invokevirtual android.opengl.GLSurfaceView$EglHelper.createGL:()Ljavax/microedition/khronos/opengles/GL;
checkcast javax.microedition.khronos.opengles.GL10
astore 1
137: iconst_0
istore 4
138: StackMap locals:
StackMap stack:
iload 2
ifeq 149
139: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mGLSurfaceViewWeakRef:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.opengl.GLSurfaceView
astore 14
start local 14 140: aload 14
ifnull 148
141: ldc 8
ldc "onSurfaceCreated"
invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
142: aload 14
getfield android.opengl.GLSurfaceView.mRenderer:Landroid/opengl/GLSurfaceView$Renderer;
aload 1
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper;
getfield android.opengl.GLSurfaceView$EglHelper.mEglConfig:Ljavax/microedition/khronos/egl/EGLConfig;
invokeinterface android.opengl.GLSurfaceView$Renderer.onSurfaceCreated:(Ljavax/microedition/khronos/opengles/GL10;Ljavax/microedition/khronos/egl/EGLConfig;)V
143: goto 147
StackMap locals: android.opengl.GLSurfaceView$GLThread javax.microedition.khronos.opengles.GL10 int int int int int int int int int int java.lang.Runnable java.lang.Runnable android.opengl.GLSurfaceView
StackMap stack: java.lang.Throwable
144: astore 15
145: ldc 8
invokestatic android.os.Trace.traceEnd:(J)V
146: aload 15
athrow
147: StackMap locals:
StackMap stack:
ldc 8
invokestatic android.os.Trace.traceEnd:(J)V
148: StackMap locals:
StackMap stack:
iconst_0
istore 2
end local 14 149: StackMap locals:
StackMap stack:
iload 6
ifeq 160
150: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mGLSurfaceViewWeakRef:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.opengl.GLSurfaceView
astore 14
start local 14 151: aload 14
ifnull 159
152: ldc 8
ldc "onSurfaceChanged"
invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
153: aload 14
getfield android.opengl.GLSurfaceView.mRenderer:Landroid/opengl/GLSurfaceView$Renderer;
aload 1
iload 10
iload 11
invokeinterface android.opengl.GLSurfaceView$Renderer.onSurfaceChanged:(Ljavax/microedition/khronos/opengles/GL10;II)V
154: goto 158
StackMap locals: android.opengl.GLSurfaceView$GLThread javax.microedition.khronos.opengles.GL10 int int int int int int int int int int java.lang.Runnable java.lang.Runnable android.opengl.GLSurfaceView
StackMap stack: java.lang.Throwable
155: astore 15
156: ldc 8
invokestatic android.os.Trace.traceEnd:(J)V
157: aload 15
athrow
158: StackMap locals:
StackMap stack:
ldc 8
invokestatic android.os.Trace.traceEnd:(J)V
159: StackMap locals:
StackMap stack:
iconst_0
istore 6
end local 14 160: StackMap locals:
StackMap stack:
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mGLSurfaceViewWeakRef:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.opengl.GLSurfaceView
astore 14
start local 14 161: aload 14
ifnull 172
162: ldc 8
ldc "onDrawFrame"
invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
163: aload 14
getfield android.opengl.GLSurfaceView.mRenderer:Landroid/opengl/GLSurfaceView$Renderer;
aload 1
invokeinterface android.opengl.GLSurfaceView$Renderer.onDrawFrame:(Ljavax/microedition/khronos/opengles/GL10;)V
164: aload 13
ifnull 171
165: aload 13
invokeinterface java.lang.Runnable.run:()V
166: aconst_null
astore 13
167: goto 171
StackMap locals: android.opengl.GLSurfaceView$GLThread javax.microedition.khronos.opengles.GL10 int int int int int int int int int int java.lang.Runnable java.lang.Runnable android.opengl.GLSurfaceView
StackMap stack: java.lang.Throwable
168: astore 15
169: ldc 8
invokestatic android.os.Trace.traceEnd:(J)V
170: aload 15
athrow
171: StackMap locals:
StackMap stack:
ldc 8
invokestatic android.os.Trace.traceEnd:(J)V
end local 14 172: StackMap locals:
StackMap stack:
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper;
invokevirtual android.opengl.GLSurfaceView$EglHelper.swap:()I
istore 14
start local 14 173: iload 14
lookupswitch { // 2
12288: 174
12302: 175
default: 177
}
174: StackMap locals: int
StackMap stack:
goto 185
175: StackMap locals:
StackMap stack:
iconst_1
istore 5
176: goto 185
177: StackMap locals:
StackMap stack:
ldc "GLThread"
ldc "eglSwapBuffers"
iload 14
invokestatic android.opengl.GLSurfaceView$EglHelper.logEglErrorAsWarning:(Ljava/lang/String;Ljava/lang/String;I)V
178: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
dup
astore 15
monitorenter
179: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mSurfaceIsBad:Z
180: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
181: aload 15
monitorexit
182: goto 185
StackMap locals: android.opengl.GLSurfaceView$GLThread javax.microedition.khronos.opengles.GL10 int int int int int int int int int int java.lang.Runnable java.lang.Runnable int android.opengl.GLSurfaceView$GLThreadManager
StackMap stack: java.lang.Throwable
183: aload 15
monitorexit
184: athrow
185: StackMap locals:
StackMap stack:
iload 7
ifeq 17
186: iconst_1
istore 8
187: iconst_0
istore 7
end local 14 188: goto 17
end local 13 end local 12 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 189: StackMap locals: android.opengl.GLSurfaceView$GLThread
StackMap stack: java.lang.Throwable
astore 18
190: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
dup
astore 19
monitorenter
191: aload 0
invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglSurfaceLocked:()V
192: aload 0
invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglContextLocked:()V
193: aload 19
monitorexit
194: goto 197
StackMap locals: android.opengl.GLSurfaceView$GLThread top top top top top top top top top top top top top top top top top java.lang.Throwable android.opengl.GLSurfaceView$GLThreadManager
StackMap stack: java.lang.Throwable
195: aload 19
monitorexit
196: athrow
197: StackMap locals:
StackMap stack:
aload 18
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 198 0 this Landroid/opengl/GLSurfaceView$GLThread;
5 189 1 gl Ljavax/microedition/khronos/opengles/GL10;
6 189 2 createEglContext Z
7 189 3 createEglSurface Z
8 189 4 createGlInterface Z
9 189 5 lostEglContext Z
10 189 6 sizeChanged Z
11 189 7 wantRenderNotification Z
12 189 8 doRenderNotification Z
13 189 9 askedToReleaseEglContext Z
14 189 10 w I
15 189 11 h I
16 189 12 event Ljava/lang/Runnable;
17 189 13 finishDrawingRunnable Ljava/lang/Runnable;
32 108 15 pausing Z
49 55 16 view Landroid/opengl/GLSurfaceView;
53 55 17 preserveEglContextOnPause Z
80 82 16 t Ljava/lang/RuntimeException;
140 149 14 view Landroid/opengl/GLSurfaceView;
151 160 14 view Landroid/opengl/GLSurfaceView;
161 172 14 view Landroid/opengl/GLSurfaceView;
173 188 14 swapError I
Exception table:
from to target type
21 24 25 any
25 26 25 any
77 78 79 Class java.lang.RuntimeException
18 20 111 any
28 110 111 any
111 112 111 any
120 123 124 any
124 125 124 any
127 131 132 any
132 133 132 any
141 144 144 any
152 155 155 any
162 168 168 any
179 182 183 any
183 184 183 any
4 20 189 any
28 189 189 any
191 194 195 any
195 196 195 any
Exceptions:
throws java.lang.InterruptedException
public boolean ableToDraw();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mHaveEglContext:Z
ifeq 1
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
ifeq 1
aload 0
invokevirtual android.opengl.GLSurfaceView$GLThread.readyToDraw:()Z
ifeq 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/opengl/GLSurfaceView$GLThread;
private boolean readyToDraw();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mPaused:Z
ifne 4
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mHasSurface:Z
ifeq 4
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mSurfaceIsBad:Z
ifne 4
1: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mWidth:I
ifle 4
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mHeight:I
ifle 4
2: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mRequestRender:Z
ifne 3
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mRenderMode:I
iconst_1
if_icmpne 4
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/opengl/GLSurfaceView$GLThread;
public void setRenderMode(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
iconst_1
if_icmple 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "renderMode"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
dup
astore 2
monitorenter
3: aload 0
iload 1
putfield android.opengl.GLSurfaceView$GLThread.mRenderMode:I
4: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
5: aload 2
monitorexit
6: goto 9
StackMap locals: android.opengl.GLSurfaceView$GLThread int android.opengl.GLSurfaceView$GLThreadManager
StackMap stack: java.lang.Throwable
7: aload 2
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/opengl/GLSurfaceView$GLThread;
0 10 1 renderMode I
Exception table:
from to target type
3 6 7 any
7 8 7 any
MethodParameters:
Name Flags
renderMode
public int getRenderMode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
dup
astore 1
monitorenter
1: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mRenderMode:I
aload 1
monitorexit
2: ireturn
3: StackMap locals: android.opengl.GLSurfaceView$GLThread android.opengl.GLSurfaceView$GLThreadManager
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/opengl/GLSurfaceView$GLThread;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public void requestRender();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
dup
astore 1
monitorenter
1: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mRequestRender:Z
2: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
3: aload 1
monitorexit
4: goto 7
StackMap locals: android.opengl.GLSurfaceView$GLThread android.opengl.GLSurfaceView$GLThreadManager
StackMap stack: java.lang.Throwable
5: aload 1
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/opengl/GLSurfaceView$GLThread;
Exception table:
from to target type
1 4 5 any
5 6 5 any
public void requestRenderAndNotify(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
dup
astore 2
monitorenter
1: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 0
if_acmpne 4
2: aload 2
monitorexit
3: return
4: StackMap locals: android.opengl.GLSurfaceView$GLThreadManager
StackMap stack:
aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mWantRenderNotification:Z
5: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mRequestRender:Z
6: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mRenderComplete:Z
7: aload 0
aload 1
putfield android.opengl.GLSurfaceView$GLThread.mFinishDrawingRunnable:Ljava/lang/Runnable;
8: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
9: aload 2
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 2
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/opengl/GLSurfaceView$GLThread;
0 14 1 finishDrawing Ljava/lang/Runnable;
Exception table:
from to target type
1 3 11 any
4 10 11 any
11 12 11 any
MethodParameters:
Name Flags
finishDrawing
public void surfaceCreated();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
dup
astore 1
monitorenter
1: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mHasSurface:Z
2: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mFinishedCreatingEglSurface:Z
3: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
4: goto 9
5: StackMap locals: android.opengl.GLSurfaceView$GLThreadManager
StackMap stack:
getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.wait:()V
6: goto 9
StackMap locals:
StackMap stack: java.lang.InterruptedException
7: pop
8: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
9: StackMap locals:
StackMap stack:
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mWaitingForSurface:Z
ifeq 12
10: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mFinishedCreatingEglSurface:Z
ifne 12
11: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mExited:Z
ifeq 5
12: StackMap locals:
StackMap stack:
aload 1
monitorexit
13: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
14: aload 1
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Landroid/opengl/GLSurfaceView$GLThread;
Exception table:
from to target type
5 6 7 Class java.lang.InterruptedException
1 13 14 any
14 15 14 any
public void surfaceDestroyed();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
dup
astore 1
monitorenter
1: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mHasSurface:Z
2: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
3: goto 8
4: StackMap locals: android.opengl.GLSurfaceView$GLThreadManager
StackMap stack:
getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.wait:()V
5: goto 8
StackMap locals:
StackMap stack: java.lang.InterruptedException
6: pop
7: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
8: StackMap locals:
StackMap stack:
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mWaitingForSurface:Z
ifne 9
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mExited:Z
ifeq 4
9: StackMap locals:
StackMap stack:
aload 1
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 1
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/opengl/GLSurfaceView$GLThread;
Exception table:
from to target type
4 5 6 Class java.lang.InterruptedException
1 10 11 any
11 12 11 any
public void onPause();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
dup
astore 1
monitorenter
1: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mRequestPaused:Z
2: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
3: goto 8
4: StackMap locals: android.opengl.GLSurfaceView$GLThreadManager
StackMap stack:
getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.wait:()V
5: goto 8
StackMap locals:
StackMap stack: java.lang.InterruptedException
6: pop
7: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
8: StackMap locals:
StackMap stack:
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mExited:Z
ifne 9
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mPaused:Z
ifeq 4
9: StackMap locals:
StackMap stack:
aload 1
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 1
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/opengl/GLSurfaceView$GLThread;
Exception table:
from to target type
4 5 6 Class java.lang.InterruptedException
1 10 11 any
11 12 11 any
public void onResume();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
dup
astore 1
monitorenter
1: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mRequestPaused:Z
2: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mRequestRender:Z
3: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mRenderComplete:Z
4: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
5: goto 10
6: StackMap locals: android.opengl.GLSurfaceView$GLThreadManager
StackMap stack:
getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.wait:()V
7: goto 10
StackMap locals:
StackMap stack: java.lang.InterruptedException
8: pop
9: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
10: StackMap locals:
StackMap stack:
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mExited:Z
ifne 11
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mPaused:Z
ifeq 11
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mRenderComplete:Z
ifeq 6
11: StackMap locals:
StackMap stack:
aload 1
monitorexit
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 1
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Landroid/opengl/GLSurfaceView$GLThread;
Exception table:
from to target type
6 7 8 Class java.lang.InterruptedException
1 12 13 any
13 14 13 any
public void onWindowResize(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
dup
astore 3
monitorenter
1: aload 0
iload 1
putfield android.opengl.GLSurfaceView$GLThread.mWidth:I
2: aload 0
iload 2
putfield android.opengl.GLSurfaceView$GLThread.mHeight:I
3: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mSizeChanged:Z
4: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mRequestRender:Z
5: aload 0
iconst_0
putfield android.opengl.GLSurfaceView$GLThread.mRenderComplete:Z
6: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 0
if_acmpne 9
7: aload 3
monitorexit
8: return
9: StackMap locals: android.opengl.GLSurfaceView$GLThreadManager
StackMap stack:
getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
10: goto 15
11: StackMap locals:
StackMap stack:
getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.wait:()V
12: goto 15
StackMap locals:
StackMap stack: java.lang.InterruptedException
13: pop
14: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
15: StackMap locals:
StackMap stack:
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mExited:Z
ifne 17
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mPaused:Z
ifne 17
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mRenderComplete:Z
ifne 17
16: aload 0
invokevirtual android.opengl.GLSurfaceView$GLThread.ableToDraw:()Z
ifne 11
17: StackMap locals:
StackMap stack:
aload 3
monitorexit
18: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
19: aload 3
monitorexit
20: athrow
21: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Landroid/opengl/GLSurfaceView$GLThread;
0 22 1 w I
0 22 2 h I
Exception table:
from to target type
11 12 13 Class java.lang.InterruptedException
1 8 19 any
9 18 19 any
19 20 19 any
MethodParameters:
Name Flags
w
h
public void requestExitAndWait();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
dup
astore 1
monitorenter
1: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mShouldExit:Z
2: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
3: goto 8
4: StackMap locals: android.opengl.GLSurfaceView$GLThreadManager
StackMap stack:
getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.wait:()V
5: goto 8
StackMap locals:
StackMap stack: java.lang.InterruptedException
6: pop
7: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
8: StackMap locals:
StackMap stack:
aload 0
getfield android.opengl.GLSurfaceView$GLThread.mExited:Z
ifeq 4
9: aload 1
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 1
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/opengl/GLSurfaceView$GLThread;
Exception table:
from to target type
4 5 6 Class java.lang.InterruptedException
1 10 11 any
11 12 11 any
public void requestReleaseEglContextLocked();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield android.opengl.GLSurfaceView$GLThread.mShouldReleaseEglContext:Z
1: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/opengl/GLSurfaceView$GLThread;
public void queueEvent(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "r must not be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
dup
astore 2
monitorenter
3: aload 0
getfield android.opengl.GLSurfaceView$GLThread.mEventQueue:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
4: getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
invokevirtual java.lang.Object.notifyAll:()V
5: aload 2
monitorexit
6: goto 9
StackMap locals: android.opengl.GLSurfaceView$GLThread java.lang.Runnable android.opengl.GLSurfaceView$GLThreadManager
StackMap stack: java.lang.Throwable
7: aload 2
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/opengl/GLSurfaceView$GLThread;
0 10 1 r Ljava/lang/Runnable;
Exception table:
from to target type
3 6 7 any
7 8 7 any
MethodParameters:
Name Flags
r
}
SourceFile: "GLSurfaceView.java"
NestHost: android.opengl.GLSurfaceView
InnerClasses:
private EglHelper = android.opengl.GLSurfaceView$EglHelper of android.opengl.GLSurfaceView
GLThread = android.opengl.GLSurfaceView$GLThread of android.opengl.GLSurfaceView
private GLThreadManager = android.opengl.GLSurfaceView$GLThreadManager of android.opengl.GLSurfaceView
public abstract Renderer = android.opengl.GLSurfaceView$Renderer of android.opengl.GLSurfaceView