class android.hardware.Camera$EventHandler extends android.os.Handler
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.hardware.Camera$EventHandler
  super_class: android.os.Handler
{
  private final android.hardware.Camera mCamera;
    descriptor: Landroid/hardware/Camera;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final android.hardware.Camera this$0;
    descriptor: Landroid/hardware/Camera;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(android.hardware.Camera, android.hardware.Camera, android.os.Looper);
    descriptor: (Landroid/hardware/Camera;Landroid/hardware/Camera;Landroid/os/Looper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // android.hardware.Camera$EventHandler this
        start local 2 // android.hardware.Camera c
        start local 3 // android.os.Looper looper
         0: .line 1169
            aload 0 /* this */
            aload 1
            putfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
         1: .line 1170
            aload 0 /* this */
            aload 3 /* looper */
            invokespecial android.os.Handler.<init>:(Landroid/os/Looper;)V
         2: .line 1171
            aload 0 /* this */
            aload 2 /* c */
            putfield android.hardware.Camera$EventHandler.mCamera:Landroid/hardware/Camera;
         3: .line 1172
            return
        end local 3 // android.os.Looper looper
        end local 2 // android.hardware.Camera c
        end local 0 // android.hardware.Camera$EventHandler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Landroid/hardware/Camera$EventHandler;
            0    4     2       c  Landroid/hardware/Camera;
            0    4     3  looper  Landroid/os/Looper;
    MethodParameters:
        Name  Flags
      this$0  final
      c       
      looper  

  public void handleMessage(android.os.Message);
    descriptor: (Landroid/os/Message;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // android.hardware.Camera$EventHandler this
        start local 1 // android.os.Message msg
         0: .line 1176
            aload 1 /* msg */
            getfield android.os.Message.what:I
            lookupswitch { // 10
                    1: 43
                    2: 1
                    4: 22
                    8: 35
                   16: 10
                   64: 19
                  128: 4
                  256: 7
                 1024: 40
                 2048: 53
              default: 58
          }
         1: .line 1178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
            ifnull 3
         2: .line 1179
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
            invokeinterface android.hardware.Camera$ShutterCallback.onShutter:()V
         3: .line 1181
      StackMap locals:
      StackMap stack:
            return
         4: .line 1184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
            ifnull 6
         5: .line 1185
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast byte[]
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.mCamera:Landroid/hardware/Camera;
            invokeinterface android.hardware.Camera$PictureCallback.onPictureTaken:([BLandroid/hardware/Camera;)V
         6: .line 1187
      StackMap locals:
      StackMap stack:
            return
         7: .line 1190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mJpegCallback:Landroid/hardware/Camera$PictureCallback;
            ifnull 9
         8: .line 1191
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mJpegCallback:Landroid/hardware/Camera$PictureCallback;
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast byte[]
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.mCamera:Landroid/hardware/Camera;
            invokeinterface android.hardware.Camera$PictureCallback.onPictureTaken:([BLandroid/hardware/Camera;)V
         9: .line 1193
      StackMap locals:
      StackMap stack:
            return
        10: .line 1196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
            astore 2 /* pCb */
        start local 2 // android.hardware.Camera$PreviewCallback pCb
        11: .line 1197
            aload 2 /* pCb */
            ifnull 18
        12: .line 1198
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mOneShot:Z
            ifeq 15
        13: .line 1202
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            aconst_null
            putfield android.hardware.Camera.mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
        14: .line 1203
            goto 17
      StackMap locals: android.hardware.Camera$PreviewCallback
      StackMap stack:
        15: aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mWithBuffer:Z
            ifne 17
        16: .line 1207
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            iconst_1
            iconst_0
            invokevirtual android.hardware.Camera.setHasPreviewCallback:(ZZ)V
        17: .line 1209
      StackMap locals:
      StackMap stack:
            aload 2 /* pCb */
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast byte[]
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.mCamera:Landroid/hardware/Camera;
            invokeinterface android.hardware.Camera$PreviewCallback.onPreviewFrame:([BLandroid/hardware/Camera;)V
        18: .line 1211
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.hardware.Camera$PreviewCallback pCb
        19: .line 1214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
            ifnull 21
        20: .line 1215
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast byte[]
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.mCamera:Landroid/hardware/Camera;
            invokeinterface android.hardware.Camera$PictureCallback.onPictureTaken:([BLandroid/hardware/Camera;)V
        21: .line 1217
      StackMap locals:
      StackMap stack:
            return
        22: .line 1220
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* cb */
        start local 3 // android.hardware.Camera$AutoFocusCallback cb
        23: .line 1221
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mAutoFocusCallbackLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
        24: .line 1222
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
            astore 3 /* cb */
        25: .line 1221
            aload 4
            monitorexit
        26: goto 29
      StackMap locals: android.hardware.Camera$EventHandler android.os.Message top android.hardware.Camera$AutoFocusCallback java.lang.Object
      StackMap stack: java.lang.Throwable
        27: aload 4
            monitorexit
        28: athrow
        29: .line 1224
      StackMap locals:
      StackMap stack:
            aload 3 /* cb */
            ifnull 34
        30: .line 1225
            aload 1 /* msg */
            getfield android.os.Message.arg1:I
            ifne 31
            iconst_0
            goto 32
      StackMap locals:
      StackMap stack:
        31: iconst_1
      StackMap locals:
      StackMap stack: int
        32: istore 4 /* success */
        start local 4 // boolean success
        33: .line 1226
            aload 3 /* cb */
            iload 4 /* success */
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.mCamera:Landroid/hardware/Camera;
            invokeinterface android.hardware.Camera$AutoFocusCallback.onAutoFocus:(ZLandroid/hardware/Camera;)V
        end local 4 // boolean success
        34: .line 1228
      StackMap locals:
      StackMap stack:
            return
        end local 3 // android.hardware.Camera$AutoFocusCallback cb
        35: .line 1231
      StackMap locals: android.hardware.Camera$EventHandler android.os.Message
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
            ifnull 39
        36: .line 1232
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
            aload 1 /* msg */
            getfield android.os.Message.arg1:I
            aload 1 /* msg */
            getfield android.os.Message.arg2:I
            ifeq 37
            iconst_1
            goto 38
      StackMap locals: android.hardware.Camera$EventHandler android.os.Message
      StackMap stack: android.hardware.Camera$OnZoomChangeListener int
        37: iconst_0
      StackMap locals: android.hardware.Camera$EventHandler android.os.Message
      StackMap stack: android.hardware.Camera$OnZoomChangeListener int int
        38: aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.mCamera:Landroid/hardware/Camera;
            invokeinterface android.hardware.Camera$OnZoomChangeListener.onZoomChange:(IZLandroid/hardware/Camera;)V
        39: .line 1234
      StackMap locals:
      StackMap stack:
            return
        40: .line 1237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
            ifnull 42
        41: .line 1238
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast android.hardware.Camera$Face[]
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.mCamera:Landroid/hardware/Camera;
            invokeinterface android.hardware.Camera$FaceDetectionListener.onFaceDetection:([Landroid/hardware/Camera$Face;Landroid/hardware/Camera;)V
        42: .line 1240
      StackMap locals:
      StackMap stack:
            return
        43: .line 1243
      StackMap locals:
      StackMap stack:
            ldc "Camera"
            new java.lang.StringBuilder
            dup
            ldc "Error "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* msg */
            getfield android.os.Message.arg1:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        44: .line 1244
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mDetailedErrorCallback:Landroid/hardware/Camera$ErrorCallback;
            ifnull 47
        45: .line 1245
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mDetailedErrorCallback:Landroid/hardware/Camera$ErrorCallback;
            aload 1 /* msg */
            getfield android.os.Message.arg1:I
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.mCamera:Landroid/hardware/Camera;
            invokeinterface android.hardware.Camera$ErrorCallback.onError:(ILandroid/hardware/Camera;)V
        46: .line 1246
            goto 52
      StackMap locals:
      StackMap stack:
        47: aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
            ifnull 52
        48: .line 1247
            aload 1 /* msg */
            getfield android.os.Message.arg1:I
            iconst_3
            if_icmpne 51
        49: .line 1248
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
            iconst_2
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.mCamera:Landroid/hardware/Camera;
            invokeinterface android.hardware.Camera$ErrorCallback.onError:(ILandroid/hardware/Camera;)V
        50: .line 1249
            goto 52
        51: .line 1250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
            aload 1 /* msg */
            getfield android.os.Message.arg1:I
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.mCamera:Landroid/hardware/Camera;
            invokeinterface android.hardware.Camera$ErrorCallback.onError:(ILandroid/hardware/Camera;)V
        52: .line 1253
      StackMap locals:
      StackMap stack:
            return
        53: .line 1256
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
            ifnull 57
        54: .line 1257
            aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.this$0:Landroid/hardware/Camera;
            getfield android.hardware.Camera.mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
            aload 1 /* msg */
            getfield android.os.Message.arg1:I
            ifne 55
            iconst_0
            goto 56
      StackMap locals:
      StackMap stack: android.hardware.Camera$AutoFocusMoveCallback
        55: iconst_1
      StackMap locals: android.hardware.Camera$EventHandler android.os.Message
      StackMap stack: android.hardware.Camera$AutoFocusMoveCallback int
        56: aload 0 /* this */
            getfield android.hardware.Camera$EventHandler.mCamera:Landroid/hardware/Camera;
            invokeinterface android.hardware.Camera$AutoFocusMoveCallback.onAutoFocusMoving:(ZLandroid/hardware/Camera;)V
        57: .line 1259
      StackMap locals:
      StackMap stack:
            return
        58: .line 1262
      StackMap locals:
      StackMap stack:
            ldc "Camera"
            new java.lang.StringBuilder
            dup
            ldc "Unknown message type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* msg */
            getfield android.os.Message.what:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        59: .line 1263
            return
        end local 1 // android.os.Message msg
        end local 0 // android.hardware.Camera$EventHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   60     0     this  Landroid/hardware/Camera$EventHandler;
            0   60     1      msg  Landroid/os/Message;
           11   19     2      pCb  Landroid/hardware/Camera$PreviewCallback;
           23   35     3       cb  Landroid/hardware/Camera$AutoFocusCallback;
           33   34     4  success  Z
      Exception table:
        from    to  target  type
          24    26      27  any
          27    28      27  any
    MethodParameters:
      Name  Flags
      msg   
}
SourceFile: "Camera.java"
NestHost: android.hardware.Camera
InnerClasses:
  public abstract AutoFocusCallback = android.hardware.Camera$AutoFocusCallback of android.hardware.Camera
  public abstract AutoFocusMoveCallback = android.hardware.Camera$AutoFocusMoveCallback of android.hardware.Camera
  public abstract ErrorCallback = android.hardware.Camera$ErrorCallback of android.hardware.Camera
  private EventHandler = android.hardware.Camera$EventHandler of android.hardware.Camera
  public Face = android.hardware.Camera$Face of android.hardware.Camera
  public abstract FaceDetectionListener = android.hardware.Camera$FaceDetectionListener of android.hardware.Camera
  public abstract OnZoomChangeListener = android.hardware.Camera$OnZoomChangeListener of android.hardware.Camera
  public abstract PictureCallback = android.hardware.Camera$PictureCallback of android.hardware.Camera
  public abstract PreviewCallback = android.hardware.Camera$PreviewCallback of android.hardware.Camera
  public abstract ShutterCallback = android.hardware.Camera$ShutterCallback of android.hardware.Camera