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 // android.opengl.GLSurfaceView$GLThread this
        start local 1 // java.lang.ref.WeakReference glSurfaceViewWeakRef
         0: .line 1253
            aload 0 /* this */
            invokespecial java.lang.Thread.<init>:()V
         1: .line 1841
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.opengl.GLSurfaceView$GLThread.mEventQueue:Ljava/util/ArrayList;
         2: .line 1842
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mSizeChanged:Z
         3: .line 1843
            aload 0 /* this */
            aconst_null
            putfield android.opengl.GLSurfaceView$GLThread.mFinishDrawingRunnable:Ljava/lang/Runnable;
         4: .line 1254
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mWidth:I
         5: .line 1255
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mHeight:I
         6: .line 1256
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mRequestRender:Z
         7: .line 1257
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mRenderMode:I
         8: .line 1258
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mWantRenderNotification:Z
         9: .line 1259
            aload 0 /* this */
            aload 1 /* glSurfaceViewWeakRef */
            putfield android.opengl.GLSurfaceView$GLThread.mGLSurfaceViewWeakRef:Ljava/lang/ref/WeakReference;
        10: .line 1260
            return
        end local 1 // java.lang.ref.WeakReference glSurfaceViewWeakRef
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
         0: .line 1264
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "GLThread "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            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: .line 1270
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThread.guardedRun:()V
         2: .line 1271
            goto 8
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         3: pop
         4: .line 1274
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThreadManager.threadExiting:(Landroid/opengl/GLSurfaceView$GLThread;)V
            goto 9
         5: .line 1273
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1
         6: .line 1274
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThreadManager.threadExiting:(Landroid/opengl/GLSurfaceView$GLThread;)V
         7: .line 1275
            aload 1
            athrow
         8: .line 1274
      StackMap locals:
      StackMap stack:
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThreadManager.threadExiting:(Landroid/opengl/GLSurfaceView$GLThread;)V
         9: .line 1276
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
         0: .line 1283
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
            ifeq 3
         1: .line 1284
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
         2: .line 1285
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper;
            invokevirtual android.opengl.GLSurfaceView$EglHelper.destroySurface:()V
         3: .line 1287
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
         0: .line 1294
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mHaveEglContext:Z
            ifeq 4
         1: .line 1295
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper;
            invokevirtual android.opengl.GLSurfaceView$EglHelper.finish:()V
         2: .line 1296
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mHaveEglContext:Z
         3: .line 1297
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThreadManager.releaseEglContextLocked:(Landroid/opengl/GLSurfaceView$GLThread;)V
         4: .line 1299
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
         0: .line 1301
            aload 0 /* this */
            new android.opengl.GLSurfaceView$EglHelper
            dup
            aload 0 /* this */
            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: .line 1302
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mHaveEglContext:Z
         2: .line 1303
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
         3: .line 1304
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mWantRenderNotification:Z
         4: .line 1307
            aconst_null
            astore 1 /* gl */
        start local 1 // javax.microedition.khronos.opengles.GL10 gl
         5: .line 1308
            iconst_0
            istore 2 /* createEglContext */
        start local 2 // boolean createEglContext
         6: .line 1309
            iconst_0
            istore 3 /* createEglSurface */
        start local 3 // boolean createEglSurface
         7: .line 1310
            iconst_0
            istore 4 /* createGlInterface */
        start local 4 // boolean createGlInterface
         8: .line 1311
            iconst_0
            istore 5 /* lostEglContext */
        start local 5 // boolean lostEglContext
         9: .line 1312
            iconst_0
            istore 6 /* sizeChanged */
        start local 6 // boolean sizeChanged
        10: .line 1313
            iconst_0
            istore 7 /* wantRenderNotification */
        start local 7 // boolean wantRenderNotification
        11: .line 1314
            iconst_0
            istore 8 /* doRenderNotification */
        start local 8 // boolean doRenderNotification
        12: .line 1315
            iconst_0
            istore 9 /* askedToReleaseEglContext */
        start local 9 // boolean askedToReleaseEglContext
        13: .line 1316
            iconst_0
            istore 10 /* w */
        start local 10 // int w
        14: .line 1317
            iconst_0
            istore 11 /* h */
        start local 11 // int h
        15: .line 1318
            aconst_null
            astore 12 /* event */
        start local 12 // java.lang.Runnable event
        16: .line 1319
            aconst_null
            astore 13 /* finishDrawingRunnable */
        start local 13 // java.lang.Runnable finishDrawingRunnable
        17: .line 1322
      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: .line 1324
      StackMap locals: android.opengl.GLSurfaceView$GLThreadManager
      StackMap stack:
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mShouldExit:Z
            ifeq 28
        19: .line 1325
            aload 14
            monitorexit
        20: .line 1615
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            dup
            astore 19
            monitorenter
        21: .line 1616
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglSurfaceLocked:()V
        22: .line 1617
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglContextLocked:()V
        23: .line 1615
            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: .line 1328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mEventQueue:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifne 31
        29: .line 1329
            aload 0 /* this */
            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 /* event */
        30: .line 1330
            goto 109
        31: .line 1334
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* pausing */
        start local 15 // boolean pausing
        32: .line 1335
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mPaused:Z
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mRequestPaused:Z
            if_icmpeq 36
        33: .line 1336
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mRequestPaused:Z
            istore 15 /* pausing */
        34: .line 1337
            aload 0 /* this */
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mRequestPaused:Z
            putfield android.opengl.GLSurfaceView$GLThread.mPaused:Z
        35: .line 1338
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
        36: .line 1345
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mShouldReleaseEglContext:Z
            ifeq 41
        37: .line 1349
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglSurfaceLocked:()V
        38: .line 1350
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglContextLocked:()V
        39: .line 1351
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mShouldReleaseEglContext:Z
        40: .line 1352
            iconst_1
            istore 9 /* askedToReleaseEglContext */
        41: .line 1356
      StackMap locals:
      StackMap stack:
            iload 5 /* lostEglContext */
            ifeq 45
        42: .line 1357
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglSurfaceLocked:()V
        43: .line 1358
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglContextLocked:()V
        44: .line 1359
            iconst_0
            istore 5 /* lostEglContext */
        45: .line 1363
      StackMap locals:
      StackMap stack:
            iload 15 /* pausing */
            ifeq 47
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
            ifeq 47
        46: .line 1367
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglSurfaceLocked:()V
        47: .line 1371
      StackMap locals:
      StackMap stack:
            iload 15 /* pausing */
            ifeq 55
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mHaveEglContext:Z
            ifeq 55
        48: .line 1372
            aload 0 /* this */
            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 /* view */
        start local 16 // android.opengl.GLSurfaceView view
        49: .line 1373
            aload 16 /* view */
            ifnonnull 51
        50: .line 1374
            iconst_0
            goto 52
      StackMap locals: android.opengl.GLSurfaceView
      StackMap stack:
        51: aload 16 /* view */
            getfield android.opengl.GLSurfaceView.mPreserveEGLContextOnPause:Z
        52: .line 1373
      StackMap locals:
      StackMap stack: int
            istore 17 /* preserveEglContextOnPause */
        start local 17 // boolean preserveEglContextOnPause
        53: .line 1375
            iload 17 /* preserveEglContextOnPause */
            ifne 55
        54: .line 1376
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglContextLocked:()V
        end local 17 // boolean preserveEglContextOnPause
        end local 16 // android.opengl.GLSurfaceView view
        55: .line 1384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mHasSurface:Z
            ifne 61
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mWaitingForSurface:Z
            ifne 61
        56: .line 1388
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
            ifeq 58
        57: .line 1389
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglSurfaceLocked:()V
        58: .line 1391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mWaitingForSurface:Z
        59: .line 1392
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mSurfaceIsBad:Z
        60: .line 1393
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
        61: .line 1397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mHasSurface:Z
            ifeq 64
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mWaitingForSurface:Z
            ifeq 64
        62: .line 1401
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mWaitingForSurface:Z
        63: .line 1402
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
        64: .line 1405
      StackMap locals:
      StackMap stack:
            iload 8 /* doRenderNotification */
            ifeq 69
        65: .line 1409
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mWantRenderNotification:Z
        66: .line 1410
            iconst_0
            istore 8 /* doRenderNotification */
        67: .line 1411
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mRenderComplete:Z
        68: .line 1412
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
        69: .line 1415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mFinishDrawingRunnable:Ljava/lang/Runnable;
            ifnull 72
        70: .line 1416
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mFinishDrawingRunnable:Ljava/lang/Runnable;
            astore 13 /* finishDrawingRunnable */
        71: .line 1417
            aload 0 /* this */
            aconst_null
            putfield android.opengl.GLSurfaceView$GLThread.mFinishDrawingRunnable:Ljava/lang/Runnable;
        72: .line 1421
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThread.readyToDraw:()Z
            ifeq 103
        73: .line 1424
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mHaveEglContext:Z
            ifne 85
        74: .line 1425
            iload 9 /* askedToReleaseEglContext */
            ifeq 77
        75: .line 1426
            iconst_0
            istore 9 /* askedToReleaseEglContext */
        76: .line 1427
            goto 85
        77: .line 1429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper;
            invokevirtual android.opengl.GLSurfaceView$EglHelper.start:()V
        78: .line 1430
            goto 82
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
        79: astore 16 /* t */
        start local 16 // java.lang.RuntimeException t
        80: .line 1431
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThreadManager.releaseEglContextLocked:(Landroid/opengl/GLSurfaceView$GLThread;)V
        81: .line 1432
            aload 16 /* t */
            athrow
        end local 16 // java.lang.RuntimeException t
        82: .line 1434
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mHaveEglContext:Z
        83: .line 1435
            iconst_1
            istore 2 /* createEglContext */
        84: .line 1437
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
        85: .line 1441
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mHaveEglContext:Z
            ifeq 90
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
            ifne 90
        86: .line 1442
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
        87: .line 1443
            iconst_1
            istore 3 /* createEglSurface */
        88: .line 1444
            iconst_1
            istore 4 /* createGlInterface */
        89: .line 1445
            iconst_1
            istore 6 /* sizeChanged */
        90: .line 1448
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
            ifeq 107
        91: .line 1449
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mSizeChanged:Z
            ifeq 98
        92: .line 1450
            iconst_1
            istore 6 /* sizeChanged */
        93: .line 1451
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mWidth:I
            istore 10 /* w */
        94: .line 1452
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mHeight:I
            istore 11 /* h */
        95: .line 1453
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mWantRenderNotification:Z
        96: .line 1461
            iconst_1
            istore 3 /* createEglSurface */
        97: .line 1463
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mSizeChanged:Z
        98: .line 1465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mRequestRender:Z
        99: .line 1466
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
       100: .line 1467
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mWantRenderNotification:Z
            ifeq 109
       101: .line 1468
            iconst_1
            istore 7 /* wantRenderNotification */
       102: .line 1470
            goto 109
       103: .line 1473
      StackMap locals:
      StackMap stack:
            aload 13 /* finishDrawingRunnable */
            ifnull 107
       104: .line 1474
            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: .line 1476
            aload 13 /* finishDrawingRunnable */
            invokeinterface java.lang.Runnable.run:()V
       106: .line 1477
            aconst_null
            astore 13 /* finishDrawingRunnable */
       107: .line 1495
      StackMap locals:
      StackMap stack:
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.wait:()V
        end local 15 // boolean pausing
       108: .line 1323
            goto 18
       109: .line 1322
      StackMap locals:
      StackMap stack:
            aload 14
            monitorexit
       110: goto 113
      StackMap locals:
      StackMap stack: java.lang.Throwable
       111: aload 14
            monitorexit
       112: athrow
       113: .line 1499
      StackMap locals:
      StackMap stack:
            aload 12 /* event */
            ifnull 117
       114: .line 1500
            aload 12 /* event */
            invokeinterface java.lang.Runnable.run:()V
       115: .line 1501
            aconst_null
            astore 12 /* event */
       116: .line 1502
            goto 17
       117: .line 1505
      StackMap locals:
      StackMap stack:
            iload 3 /* createEglSurface */
            ifeq 135
       118: .line 1509
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper;
            invokevirtual android.opengl.GLSurfaceView$EglHelper.createSurface:()Z
            ifeq 126
       119: .line 1510
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            dup
            astore 14
            monitorenter
       120: .line 1511
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mFinishedCreatingEglSurface:Z
       121: .line 1512
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
       122: .line 1510
            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: .line 1515
      StackMap locals:
      StackMap stack:
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            dup
            astore 14
            monitorenter
       127: .line 1516
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mFinishedCreatingEglSurface:Z
       128: .line 1517
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mSurfaceIsBad:Z
       129: .line 1518
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
       130: .line 1515
            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: .line 1522
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* createEglSurface */
       135: .line 1525
      StackMap locals:
      StackMap stack:
            iload 4 /* createGlInterface */
            ifeq 138
       136: .line 1526
            aload 0 /* this */
            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 /* gl */
       137: .line 1528
            iconst_0
            istore 4 /* createGlInterface */
       138: .line 1531
      StackMap locals:
      StackMap stack:
            iload 2 /* createEglContext */
            ifeq 149
       139: .line 1535
            aload 0 /* this */
            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 /* view */
        start local 14 // android.opengl.GLSurfaceView view
       140: .line 1536
            aload 14 /* view */
            ifnull 148
       141: .line 1538
            ldc 8
            ldc "onSurfaceCreated"
            invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
       142: .line 1539
            aload 14 /* view */
            getfield android.opengl.GLSurfaceView.mRenderer:Landroid/opengl/GLSurfaceView$Renderer;
            aload 1 /* gl */
            aload 0 /* this */
            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: .line 1540
            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: .line 1541
            ldc 8
            invokestatic android.os.Trace.traceEnd:(J)V
       146: .line 1542
            aload 15
            athrow
       147: .line 1541
      StackMap locals:
      StackMap stack:
            ldc 8
            invokestatic android.os.Trace.traceEnd:(J)V
       148: .line 1544
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* createEglContext */
        end local 14 // android.opengl.GLSurfaceView view
       149: .line 1547
      StackMap locals:
      StackMap stack:
            iload 6 /* sizeChanged */
            ifeq 160
       150: .line 1551
            aload 0 /* this */
            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 /* view */
        start local 14 // android.opengl.GLSurfaceView view
       151: .line 1552
            aload 14 /* view */
            ifnull 159
       152: .line 1554
            ldc 8
            ldc "onSurfaceChanged"
            invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
       153: .line 1555
            aload 14 /* view */
            getfield android.opengl.GLSurfaceView.mRenderer:Landroid/opengl/GLSurfaceView$Renderer;
            aload 1 /* gl */
            iload 10 /* w */
            iload 11 /* h */
            invokeinterface android.opengl.GLSurfaceView$Renderer.onSurfaceChanged:(Ljavax/microedition/khronos/opengles/GL10;II)V
       154: .line 1556
            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: .line 1557
            ldc 8
            invokestatic android.os.Trace.traceEnd:(J)V
       157: .line 1558
            aload 15
            athrow
       158: .line 1557
      StackMap locals:
      StackMap stack:
            ldc 8
            invokestatic android.os.Trace.traceEnd:(J)V
       159: .line 1560
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* sizeChanged */
        end local 14 // android.opengl.GLSurfaceView view
       160: .line 1567
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 /* view */
        start local 14 // android.opengl.GLSurfaceView view
       161: .line 1568
            aload 14 /* view */
            ifnull 172
       162: .line 1570
            ldc 8
            ldc "onDrawFrame"
            invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
       163: .line 1571
            aload 14 /* view */
            getfield android.opengl.GLSurfaceView.mRenderer:Landroid/opengl/GLSurfaceView$Renderer;
            aload 1 /* gl */
            invokeinterface android.opengl.GLSurfaceView$Renderer.onDrawFrame:(Ljavax/microedition/khronos/opengles/GL10;)V
       164: .line 1572
            aload 13 /* finishDrawingRunnable */
            ifnull 171
       165: .line 1573
            aload 13 /* finishDrawingRunnable */
            invokeinterface java.lang.Runnable.run:()V
       166: .line 1574
            aconst_null
            astore 13 /* finishDrawingRunnable */
       167: .line 1576
            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: .line 1577
            ldc 8
            invokestatic android.os.Trace.traceEnd:(J)V
       170: .line 1578
            aload 15
            athrow
       171: .line 1577
      StackMap locals:
      StackMap stack:
            ldc 8
            invokestatic android.os.Trace.traceEnd:(J)V
        end local 14 // android.opengl.GLSurfaceView view
       172: .line 1581
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper;
            invokevirtual android.opengl.GLSurfaceView$EglHelper.swap:()I
            istore 14 /* swapError */
        start local 14 // int swapError
       173: .line 1582
            iload 14 /* swapError */
            lookupswitch { // 2
                12288: 174
                12302: 175
              default: 177
          }
       174: .line 1584
      StackMap locals: int
      StackMap stack:
            goto 185
       175: .line 1589
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* lostEglContext */
       176: .line 1590
            goto 185
       177: .line 1596
      StackMap locals:
      StackMap stack:
            ldc "GLThread"
            ldc "eglSwapBuffers"
            iload 14 /* swapError */
            invokestatic android.opengl.GLSurfaceView$EglHelper.logEglErrorAsWarning:(Ljava/lang/String;Ljava/lang/String;I)V
       178: .line 1598
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            dup
            astore 15
            monitorenter
       179: .line 1599
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mSurfaceIsBad:Z
       180: .line 1600
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
       181: .line 1598
            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: .line 1605
      StackMap locals:
      StackMap stack:
            iload 7 /* wantRenderNotification */
            ifeq 17
       186: .line 1606
            iconst_1
            istore 8 /* doRenderNotification */
       187: .line 1607
            iconst_0
            istore 7 /* wantRenderNotification */
        end local 14 // int swapError
       188: .line 1321
            goto 17
        end local 13 // java.lang.Runnable finishDrawingRunnable
        end local 12 // java.lang.Runnable event
        end local 11 // int h
        end local 10 // int w
        end local 9 // boolean askedToReleaseEglContext
        end local 8 // boolean doRenderNotification
        end local 7 // boolean wantRenderNotification
        end local 6 // boolean sizeChanged
        end local 5 // boolean lostEglContext
        end local 4 // boolean createGlInterface
        end local 3 // boolean createEglSurface
        end local 2 // boolean createEglContext
        end local 1 // javax.microedition.khronos.opengles.GL10 gl
       189: .line 1611
      StackMap locals: android.opengl.GLSurfaceView$GLThread
      StackMap stack: java.lang.Throwable
            astore 18
       190: .line 1615
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            dup
            astore 19
            monitorenter
       191: .line 1616
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglSurfaceLocked:()V
       192: .line 1617
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThread.stopEglContextLocked:()V
       193: .line 1615
            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: .line 1619
      StackMap locals:
      StackMap stack:
            aload 18
            athrow
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
         0: .line 1623
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mHaveEglContext:Z
            ifeq 1
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mHaveEglSurface:Z
            ifeq 1
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThread.readyToDraw:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
         0: .line 1627
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mPaused:Z
            ifne 4
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mHasSurface:Z
            ifeq 4
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mSurfaceIsBad:Z
            ifne 4
         1: .line 1628
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mWidth:I
            ifle 4
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mHeight:I
            ifle 4
         2: .line 1629
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mRequestRender:Z
            ifne 3
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mRenderMode:I
            iconst_1
            if_icmpne 4
         3: .line 1627
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
        start local 1 // int renderMode
         0: .line 1633
            iload 1 /* renderMode */
            iflt 1
            iload 1 /* renderMode */
            iconst_1
            if_icmple 2
         1: .line 1634
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "renderMode"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1636
      StackMap locals:
      StackMap stack:
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            dup
            astore 2
            monitorenter
         3: .line 1637
            aload 0 /* this */
            iload 1 /* renderMode */
            putfield android.opengl.GLSurfaceView$GLThread.mRenderMode:I
         4: .line 1638
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
         5: .line 1636
            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: .line 1640
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int renderMode
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
         0: .line 1643
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            dup
            astore 1
            monitorenter
         1: .line 1644
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mRenderMode:I
            aload 1
            monitorexit
         2: ireturn
         3: .line 1643
      StackMap locals: android.opengl.GLSurfaceView$GLThread android.opengl.GLSurfaceView$GLThreadManager
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
         0: .line 1649
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            dup
            astore 1
            monitorenter
         1: .line 1650
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mRequestRender:Z
         2: .line 1651
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
         3: .line 1649
            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: .line 1653
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
        start local 1 // java.lang.Runnable finishDrawing
         0: .line 1656
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            dup
            astore 2
            monitorenter
         1: .line 1661
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 0 /* this */
            if_acmpne 4
         2: .line 1662
            aload 2
            monitorexit
         3: return
         4: .line 1665
      StackMap locals: android.opengl.GLSurfaceView$GLThreadManager
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mWantRenderNotification:Z
         5: .line 1666
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mRequestRender:Z
         6: .line 1667
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mRenderComplete:Z
         7: .line 1668
            aload 0 /* this */
            aload 1 /* finishDrawing */
            putfield android.opengl.GLSurfaceView$GLThread.mFinishDrawingRunnable:Ljava/lang/Runnable;
         8: .line 1670
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
         9: .line 1656
            aload 2
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 2
            monitorexit
        12: athrow
        13: .line 1672
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Runnable finishDrawing
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
         0: .line 1675
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            dup
            astore 1
            monitorenter
         1: .line 1679
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mHasSurface:Z
         2: .line 1680
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mFinishedCreatingEglSurface:Z
         3: .line 1681
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
         4: .line 1682
            goto 9
         5: .line 1686
      StackMap locals: android.opengl.GLSurfaceView$GLThreadManager
      StackMap stack:
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.wait:()V
         6: .line 1687
            goto 9
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         7: pop
         8: .line 1688
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
         9: .line 1682
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mWaitingForSurface:Z
            ifeq 12
        10: .line 1683
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mFinishedCreatingEglSurface:Z
            ifne 12
        11: .line 1684
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mExited:Z
            ifeq 5
        12: .line 1675
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 1
            monitorexit
        15: athrow
        16: .line 1692
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
         0: .line 1695
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            dup
            astore 1
            monitorenter
         1: .line 1699
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mHasSurface:Z
         2: .line 1700
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
         3: .line 1701
            goto 8
         4: .line 1703
      StackMap locals: android.opengl.GLSurfaceView$GLThreadManager
      StackMap stack:
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.wait:()V
         5: .line 1704
            goto 8
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         6: pop
         7: .line 1705
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
         8: .line 1701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mWaitingForSurface:Z
            ifne 9
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mExited:Z
            ifeq 4
         9: .line 1695
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 1
            monitorexit
        12: athrow
        13: .line 1709
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
         0: .line 1712
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            dup
            astore 1
            monitorenter
         1: .line 1716
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mRequestPaused:Z
         2: .line 1717
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
         3: .line 1718
            goto 8
         4: .line 1723
      StackMap locals: android.opengl.GLSurfaceView$GLThreadManager
      StackMap stack:
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.wait:()V
         5: .line 1724
            goto 8
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         6: pop
         7: .line 1725
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
         8: .line 1718
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mExited:Z
            ifne 9
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mPaused:Z
            ifeq 4
         9: .line 1712
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 1
            monitorexit
        12: athrow
        13: .line 1729
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
         0: .line 1732
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            dup
            astore 1
            monitorenter
         1: .line 1736
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mRequestPaused:Z
         2: .line 1737
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mRequestRender:Z
         3: .line 1738
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mRenderComplete:Z
         4: .line 1739
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
         5: .line 1740
            goto 10
         6: .line 1745
      StackMap locals: android.opengl.GLSurfaceView$GLThreadManager
      StackMap stack:
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.wait:()V
         7: .line 1746
            goto 10
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         8: pop
         9: .line 1747
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        10: .line 1740
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mExited:Z
            ifne 11
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mPaused:Z
            ifeq 11
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mRenderComplete:Z
            ifeq 6
        11: .line 1732
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 1
            monitorexit
        14: athrow
        15: .line 1751
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
        start local 1 // int w
        start local 2 // int h
         0: .line 1754
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            dup
            astore 3
            monitorenter
         1: .line 1755
            aload 0 /* this */
            iload 1 /* w */
            putfield android.opengl.GLSurfaceView$GLThread.mWidth:I
         2: .line 1756
            aload 0 /* this */
            iload 2 /* h */
            putfield android.opengl.GLSurfaceView$GLThread.mHeight:I
         3: .line 1757
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mSizeChanged:Z
         4: .line 1758
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mRequestRender:Z
         5: .line 1759
            aload 0 /* this */
            iconst_0
            putfield android.opengl.GLSurfaceView$GLThread.mRenderComplete:Z
         6: .line 1766
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 0 /* this */
            if_acmpne 9
         7: .line 1767
            aload 3
            monitorexit
         8: return
         9: .line 1770
      StackMap locals: android.opengl.GLSurfaceView$GLThreadManager
      StackMap stack:
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
        10: .line 1773
            goto 15
        11: .line 1779
      StackMap locals:
      StackMap stack:
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.wait:()V
        12: .line 1780
            goto 15
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        13: pop
        14: .line 1781
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        15: .line 1773
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mExited:Z
            ifne 17
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mPaused:Z
            ifne 17
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mRenderComplete:Z
            ifne 17
        16: .line 1774
            aload 0 /* this */
            invokevirtual android.opengl.GLSurfaceView$GLThread.ableToDraw:()Z
            ifne 11
        17: .line 1754
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        18: goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: aload 3
            monitorexit
        20: athrow
        21: .line 1785
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int h
        end local 1 // int w
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
         0: .line 1790
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            dup
            astore 1
            monitorenter
         1: .line 1791
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mShouldExit:Z
         2: .line 1792
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
         3: .line 1793
            goto 8
         4: .line 1795
      StackMap locals: android.opengl.GLSurfaceView$GLThreadManager
      StackMap stack:
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.wait:()V
         5: .line 1796
            goto 8
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         6: pop
         7: .line 1797
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
         8: .line 1793
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mExited:Z
            ifeq 4
         9: .line 1790
            aload 1
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 1
            monitorexit
        12: athrow
        13: .line 1801
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
         0: .line 1804
            aload 0 /* this */
            iconst_1
            putfield android.opengl.GLSurfaceView$GLThread.mShouldReleaseEglContext:Z
         1: .line 1805
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
         2: .line 1806
            return
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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 // android.opengl.GLSurfaceView$GLThread this
        start local 1 // java.lang.Runnable r
         0: .line 1813
            aload 1 /* r */
            ifnonnull 2
         1: .line 1814
            new java.lang.IllegalArgumentException
            dup
            ldc "r must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1816
      StackMap locals:
      StackMap stack:
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            dup
            astore 2
            monitorenter
         3: .line 1817
            aload 0 /* this */
            getfield android.opengl.GLSurfaceView$GLThread.mEventQueue:Ljava/util/ArrayList;
            aload 1 /* r */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1818
            getstatic android.opengl.GLSurfaceView.sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
            invokevirtual java.lang.Object.notifyAll:()V
         5: .line 1816
            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: .line 1820
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Runnable r
        end local 0 // android.opengl.GLSurfaceView$GLThread this
      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