public class android.hardware.Camera
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.hardware.Camera
  super_class: java.lang.Object
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Camera"

  private static final int CAMERA_MSG_ERROR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int CAMERA_MSG_SHUTTER;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int CAMERA_MSG_FOCUS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int CAMERA_MSG_ZOOM;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int CAMERA_MSG_PREVIEW_FRAME;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  private static final int CAMERA_MSG_VIDEO_FRAME;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  private static final int CAMERA_MSG_POSTVIEW_FRAME;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  private static final int CAMERA_MSG_RAW_IMAGE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 128

  private static final int CAMERA_MSG_COMPRESSED_IMAGE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 256

  private static final int CAMERA_MSG_RAW_IMAGE_NOTIFY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 512

  private static final int CAMERA_MSG_PREVIEW_METADATA;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1024

  private static final int CAMERA_MSG_FOCUS_MOVE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2048

  private long mNativeContext;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private android.hardware.Camera$EventHandler mEventHandler;
    descriptor: Landroid/hardware/Camera$EventHandler;
    flags: (0x0002) ACC_PRIVATE

  private android.hardware.Camera$ShutterCallback mShutterCallback;
    descriptor: Landroid/hardware/Camera$ShutterCallback;
    flags: (0x0002) ACC_PRIVATE

  private android.hardware.Camera$PictureCallback mRawImageCallback;
    descriptor: Landroid/hardware/Camera$PictureCallback;
    flags: (0x0002) ACC_PRIVATE

  private android.hardware.Camera$PictureCallback mJpegCallback;
    descriptor: Landroid/hardware/Camera$PictureCallback;
    flags: (0x0002) ACC_PRIVATE

  private android.hardware.Camera$PreviewCallback mPreviewCallback;
    descriptor: Landroid/hardware/Camera$PreviewCallback;
    flags: (0x0002) ACC_PRIVATE

  private boolean mUsingPreviewAllocation;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private android.hardware.Camera$PictureCallback mPostviewCallback;
    descriptor: Landroid/hardware/Camera$PictureCallback;
    flags: (0x0002) ACC_PRIVATE

  private android.hardware.Camera$AutoFocusCallback mAutoFocusCallback;
    descriptor: Landroid/hardware/Camera$AutoFocusCallback;
    flags: (0x0002) ACC_PRIVATE

  private android.hardware.Camera$AutoFocusMoveCallback mAutoFocusMoveCallback;
    descriptor: Landroid/hardware/Camera$AutoFocusMoveCallback;
    flags: (0x0002) ACC_PRIVATE

  private android.hardware.Camera$OnZoomChangeListener mZoomListener;
    descriptor: Landroid/hardware/Camera$OnZoomChangeListener;
    flags: (0x0002) ACC_PRIVATE

  private android.hardware.Camera$FaceDetectionListener mFaceListener;
    descriptor: Landroid/hardware/Camera$FaceDetectionListener;
    flags: (0x0002) ACC_PRIVATE

  private android.hardware.Camera$ErrorCallback mErrorCallback;
    descriptor: Landroid/hardware/Camera$ErrorCallback;
    flags: (0x0002) ACC_PRIVATE

  private android.hardware.Camera$ErrorCallback mDetailedErrorCallback;
    descriptor: Landroid/hardware/Camera$ErrorCallback;
    flags: (0x0002) ACC_PRIVATE

  private boolean mOneShot;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean mWithBuffer;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean mFaceDetectionRunning;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final java.lang.Object mAutoFocusCallbackLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Object mShutterSoundLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.android.internal.app.IAppOpsService mAppOps;
    descriptor: Lcom/android/internal/app/IAppOpsService;
    flags: (0x0002) ACC_PRIVATE

  private com.android.internal.app.IAppOpsCallback mAppOpsCallback;
    descriptor: Lcom/android/internal/app/IAppOpsCallback;
    flags: (0x0002) ACC_PRIVATE

  private boolean mHasAppOpsPlayAudio;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "mShutterSoundLock")

  private boolean mShutterSoundEnabledFromApp;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "mShutterSoundLock")

  private static final int NO_ERROR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final java.lang.String ACTION_NEW_PICTURE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "android.hardware.action.NEW_PICTURE"

  public static final java.lang.String ACTION_NEW_VIDEO;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "android.hardware.action.NEW_VIDEO"

  public static final int CAMERA_HAL_API_VERSION_1_0;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 256

  private static final int CAMERA_HAL_API_VERSION_NORMAL_CONNECT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -2

  private static final int CAMERA_HAL_API_VERSION_UNSPECIFIED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final int CAMERA_FACE_DETECTION_HW;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int CAMERA_FACE_DETECTION_SW;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int CAMERA_ERROR_UNKNOWN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int CAMERA_ERROR_EVICTED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int CAMERA_ERROR_DISABLED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int CAMERA_ERROR_SERVER_DIED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 100

  public static native int getNumberOfCameras();
    descriptor: ()I
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE

  public static void getCameraInfo(int, android.hardware.Camera$CameraInfo);
    descriptor: (ILandroid/hardware/Camera$CameraInfo;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // int cameraId
        start local 1 // android.hardware.Camera$CameraInfo cameraInfo
         0: .line 287
            iload 0 /* cameraId */
            aload 1 /* cameraInfo */
            invokestatic android.hardware.Camera._getCameraInfo:(ILandroid/hardware/Camera$CameraInfo;)V
         1: .line 288
            ldc "audio"
            invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
            astore 2 /* b */
        start local 2 // android.os.IBinder b
         2: .line 289
            aload 2 /* b */
            invokestatic android.media.IAudioService$Stub.asInterface:(Landroid/os/IBinder;)Landroid/media/IAudioService;
            astore 3 /* audioService */
        start local 3 // android.media.IAudioService audioService
         3: .line 291
            aload 3 /* audioService */
            invokeinterface android.media.IAudioService.isCameraSoundForced:()Z
            ifeq 8
         4: .line 294
            aload 1 /* cameraInfo */
            iconst_0
            putfield android.hardware.Camera$CameraInfo.canDisableShutterSound:Z
         5: .line 296
            goto 8
      StackMap locals: int android.hardware.Camera$CameraInfo android.os.IBinder android.media.IAudioService
      StackMap stack: android.os.RemoteException
         6: pop
         7: .line 297
            ldc "Camera"
            ldc "Audio service is unavailable for queries"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         8: .line 299
      StackMap locals:
      StackMap stack:
            return
        end local 3 // android.media.IAudioService audioService
        end local 2 // android.os.IBinder b
        end local 1 // android.hardware.Camera$CameraInfo cameraInfo
        end local 0 // int cameraId
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0      cameraId  I
            0    9     1    cameraInfo  Landroid/hardware/Camera$CameraInfo;
            2    9     2             b  Landroid/os/IBinder;
            3    9     3  audioService  Landroid/media/IAudioService;
      Exception table:
        from    to  target  type
           3     5       6  Class android.os.RemoteException
    MethodParameters:
            Name  Flags
      cameraId    
      cameraInfo  

  private static native void _getCameraInfo(int, android.hardware.Camera$CameraInfo);
    descriptor: (ILandroid/hardware/Camera$CameraInfo;)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
            Name  Flags
      cameraId    
      cameraInfo  

  public static android.hardware.Camera open(int);
    descriptor: (I)Landroid/hardware/Camera;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int cameraId
         0: .line 392
            new android.hardware.Camera
            dup
            iload 0 /* cameraId */
            invokespecial android.hardware.Camera.<init>:(I)V
            areturn
        end local 0 // int cameraId
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  cameraId  I
    MethodParameters:
          Name  Flags
      cameraId  

  public static android.hardware.Camera open();
    descriptor: ()Landroid/hardware/Camera;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=0
         0: .line 405
            invokestatic android.hardware.Camera.getNumberOfCameras:()I
            istore 0 /* numberOfCameras */
        start local 0 // int numberOfCameras
         1: .line 406
            new android.hardware.Camera$CameraInfo
            dup
            invokespecial android.hardware.Camera$CameraInfo.<init>:()V
            astore 1 /* cameraInfo */
        start local 1 // android.hardware.Camera$CameraInfo cameraInfo
         2: .line 407
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 8
         4: .line 408
      StackMap locals: int android.hardware.Camera$CameraInfo int
      StackMap stack:
            iload 2 /* i */
            aload 1 /* cameraInfo */
            invokestatic android.hardware.Camera.getCameraInfo:(ILandroid/hardware/Camera$CameraInfo;)V
         5: .line 409
            aload 1 /* cameraInfo */
            getfield android.hardware.Camera$CameraInfo.facing:I
            ifne 7
         6: .line 410
            new android.hardware.Camera
            dup
            iload 2 /* i */
            invokespecial android.hardware.Camera.<init>:(I)V
            areturn
         7: .line 407
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            iload 0 /* numberOfCameras */
            if_icmplt 4
        end local 2 // int i
         9: .line 413
            aconst_null
            areturn
        end local 1 // android.hardware.Camera$CameraInfo cameraInfo
        end local 0 // int numberOfCameras
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            1   10     0  numberOfCameras  I
            2   10     1       cameraInfo  Landroid/hardware/Camera$CameraInfo;
            3    9     2                i  I

  public static android.hardware.Camera openLegacy(int, int);
    descriptor: (II)Landroid/hardware/Camera;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // int cameraId
        start local 1 // int halVersion
         0: .line 455
            iload 1 /* halVersion */
            sipush 256
            if_icmpge 2
         1: .line 456
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid HAL version "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* halVersion */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 459
      StackMap locals:
      StackMap stack:
            new android.hardware.Camera
            dup
            iload 0 /* cameraId */
            iload 1 /* halVersion */
            invokespecial android.hardware.Camera.<init>:(II)V
            areturn
        end local 1 // int halVersion
        end local 0 // int cameraId
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0    cameraId  I
            0    3     1  halVersion  I
    MethodParameters:
            Name  Flags
      cameraId    
      halVersion  

  private void <init>(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.hardware.Camera this
         0: .line 19
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import android.system cannot be resolved\n\tEACCES cannot be resolved to a variable\n\tENODEV cannot be resolved to a variable\n\tENOSYS cannot be resolved to a variable\n\tEOPNOTSUPP cannot be resolved to a variable\n\tEINVAL cannot be resolved to a variable\n\tEBUSY cannot be resolved to a variable\n\tEUSERS cannot be resolved to a variable\n\tEACCES cannot be resolved to a variable\n\tENODEV cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/Camera;
    MethodParameters:
            Name  Flags
      cameraId    
      halVersion  

  private int cameraInitVersion(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // android.hardware.Camera this
        start local 1 // int cameraId
        start local 2 // int halVersion
         0: .line 498
            aload 0 /* this */
            aconst_null
            putfield android.hardware.Camera.mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
         1: .line 499
            aload 0 /* this */
            aconst_null
            putfield android.hardware.Camera.mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
         2: .line 500
            aload 0 /* this */
            aconst_null
            putfield android.hardware.Camera.mJpegCallback:Landroid/hardware/Camera$PictureCallback;
         3: .line 501
            aload 0 /* this */
            aconst_null
            putfield android.hardware.Camera.mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
         4: .line 502
            aload 0 /* this */
            aconst_null
            putfield android.hardware.Camera.mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
         5: .line 503
            aload 0 /* this */
            iconst_0
            putfield android.hardware.Camera.mUsingPreviewAllocation:Z
         6: .line 504
            aload 0 /* this */
            aconst_null
            putfield android.hardware.Camera.mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
         7: .line 507
            invokestatic android.os.Looper.myLooper:()Landroid/os/Looper;
            dup
            astore 3 /* looper */
        start local 3 // android.os.Looper looper
         8: ifnull 11
         9: .line 508
            aload 0 /* this */
            new android.hardware.Camera$EventHandler
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* looper */
            invokespecial android.hardware.Camera$EventHandler.<init>:(Landroid/hardware/Camera;Landroid/hardware/Camera;Landroid/os/Looper;)V
            putfield android.hardware.Camera.mEventHandler:Landroid/hardware/Camera$EventHandler;
        10: .line 509
            goto 15
      StackMap locals: android.os.Looper
      StackMap stack:
        11: invokestatic android.os.Looper.getMainLooper:()Landroid/os/Looper;
            dup
            astore 3 /* looper */
            ifnull 14
        12: .line 510
            aload 0 /* this */
            new android.hardware.Camera$EventHandler
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* looper */
            invokespecial android.hardware.Camera$EventHandler.<init>:(Landroid/hardware/Camera;Landroid/hardware/Camera;Landroid/os/Looper;)V
            putfield android.hardware.Camera.mEventHandler:Landroid/hardware/Camera$EventHandler;
        13: .line 511
            goto 15
        14: .line 512
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield android.hardware.Camera.mEventHandler:Landroid/hardware/Camera$EventHandler;
        15: .line 515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aload 0 /* this */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            iload 1 /* cameraId */
            iload 2 /* halVersion */
        16: .line 516
            invokestatic android.app.ActivityThread.currentOpPackageName:()Ljava/lang/String;
        17: .line 515
            invokevirtual android.hardware.Camera.native_setup:(Ljava/lang/Object;IILjava/lang/String;)I
            ireturn
        end local 3 // android.os.Looper looper
        end local 2 // int halVersion
        end local 1 // int cameraId
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Landroid/hardware/Camera;
            0   18     1    cameraId  I
            0   18     2  halVersion  I
            8   18     3      looper  Landroid/os/Looper;
    MethodParameters:
            Name  Flags
      cameraId    
      halVersion  

  private int cameraInitNormal(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.Camera this
        start local 1 // int cameraId
         0: .line 520
            aload 0 /* this */
            iload 1 /* cameraId */
            bipush -2
            invokevirtual android.hardware.Camera.cameraInitVersion:(II)I
            ireturn
        end local 1 // int cameraId
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Landroid/hardware/Camera;
            0    1     1  cameraId  I
    MethodParameters:
          Name  Flags
      cameraId  

  public int cameraInitUnspecified(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.Camera this
        start local 1 // int cameraId
         0: .line 538
            aload 0 /* this */
            iload 1 /* cameraId */
            iconst_m1
            invokevirtual android.hardware.Camera.cameraInitVersion:(II)I
            ireturn
        end local 1 // int cameraId
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Landroid/hardware/Camera;
            0    1     1  cameraId  I
    MethodParameters:
          Name  Flags
      cameraId  

  void <init>(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.Camera this
         0: .line 19
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import android.system cannot be resolved\n\tEACCES cannot be resolved to a variable\n\tENODEV cannot be resolved to a variable\n\tENOSYS cannot be resolved to a variable\n\tEOPNOTSUPP cannot be resolved to a variable\n\tEINVAL cannot be resolved to a variable\n\tEBUSY cannot be resolved to a variable\n\tEUSERS cannot be resolved to a variable\n\tEACCES cannot be resolved to a variable\n\tENODEV cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/Camera;
    MethodParameters:
          Name  Flags
      cameraId  

  public static boolean checkInitErrors(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int err
         0: .line 561
            iload 0 /* err */
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int err
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   err  I
    MethodParameters:
      Name  Flags
      err   

  public static android.hardware.Camera openUninitialized();
    descriptor: ()Landroid/hardware/Camera;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 568
            new android.hardware.Camera
            dup
            invokespecial android.hardware.Camera.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.hardware.Camera this
         0: .line 574
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 183
            aload 0 /* this */
            iconst_0
            putfield android.hardware.Camera.mFaceDetectionRunning:Z
         2: .line 184
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield android.hardware.Camera.mAutoFocusCallbackLock:Ljava/lang/Object;
         3: .line 186
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield android.hardware.Camera.mShutterSoundLock:Ljava/lang/Object;
         4: .line 191
            aload 0 /* this */
            iconst_1
            putfield android.hardware.Camera.mHasAppOpsPlayAudio:Z
         5: .line 193
            aload 0 /* this */
            iconst_1
            putfield android.hardware.Camera.mShutterSoundEnabledFromApp:Z
         6: .line 575
            aload 0 /* this */
            invokevirtual android.hardware.Camera.initAppOps:()V
         7: .line 576
            return
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Landroid/hardware/Camera;

  private void initAppOps();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // android.hardware.Camera this
         0: .line 579
            ldc "appops"
            invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
            astore 1 /* b */
        start local 1 // android.os.IBinder b
         1: .line 580
            aload 0 /* this */
            aload 1 /* b */
            invokestatic com.android.internal.app.IAppOpsService$Stub.asInterface:(Landroid/os/IBinder;)Lcom/android/internal/app/IAppOpsService;
            putfield android.hardware.Camera.mAppOps:Lcom/android/internal/app/IAppOpsService;
         2: .line 582
            aload 0 /* this */
            invokevirtual android.hardware.Camera.updateAppOpsPlayAudio:()V
         3: .line 584
            aload 0 /* this */
            new android.hardware.Camera$IAppOpsCallbackWrapper
            dup
            aload 0 /* this */
            invokespecial android.hardware.Camera$IAppOpsCallbackWrapper.<init>:(Landroid/hardware/Camera;)V
            putfield android.hardware.Camera.mAppOpsCallback:Lcom/android/internal/app/IAppOpsCallback;
         4: .line 586
            aload 0 /* this */
            getfield android.hardware.Camera.mAppOps:Lcom/android/internal/app/IAppOpsService;
            bipush 28
         5: .line 587
            invokestatic android.app.ActivityThread.currentPackageName:()Ljava/lang/String;
            aload 0 /* this */
            getfield android.hardware.Camera.mAppOpsCallback:Lcom/android/internal/app/IAppOpsCallback;
         6: .line 586
            invokeinterface com.android.internal.app.IAppOpsService.startWatchingMode:(ILjava/lang/String;Lcom/android/internal/app/IAppOpsCallback;)V
         7: .line 588
            goto 11
      StackMap locals: android.hardware.Camera android.os.IBinder
      StackMap stack: android.os.RemoteException
         8: astore 2 /* e */
        start local 2 // android.os.RemoteException e
         9: .line 589
            ldc "Camera"
            ldc "Error registering appOps callback"
            aload 2 /* e */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        10: .line 590
            aload 0 /* this */
            iconst_0
            putfield android.hardware.Camera.mHasAppOpsPlayAudio:Z
        end local 2 // android.os.RemoteException e
        11: .line 592
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.os.IBinder b
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Landroid/hardware/Camera;
            1   12     1     b  Landroid/os/IBinder;
            9   11     2     e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           4     7       8  Class android.os.RemoteException

  private void releaseAppOps();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.hardware.Camera this
         0: .line 596
            aload 0 /* this */
            getfield android.hardware.Camera.mAppOps:Lcom/android/internal/app/IAppOpsService;
            ifnull 4
         1: .line 597
            aload 0 /* this */
            getfield android.hardware.Camera.mAppOps:Lcom/android/internal/app/IAppOpsService;
            aload 0 /* this */
            getfield android.hardware.Camera.mAppOpsCallback:Lcom/android/internal/app/IAppOpsCallback;
            invokeinterface com.android.internal.app.IAppOpsService.stopWatchingMode:(Lcom/android/internal/app/IAppOpsCallback;)V
         2: .line 599
            goto 4
      StackMap locals:
      StackMap stack: java.lang.Exception
         3: pop
         4: .line 602
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/hardware/Camera;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Exception

  protected void finalize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.Camera this
         0: .line 606
            aload 0 /* this */
            invokevirtual android.hardware.Camera.release:()V
         1: .line 607
            return
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/hardware/Camera;

  private final native int native_setup(java.lang.Object, int, int, java.lang.String);
    descriptor: (Ljava/lang/Object;IILjava/lang/String;)I
    flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
    MethodParameters:
             Name  Flags
      camera_this  
      cameraId     
      halVersion   
      packageName  

  private final native void native_release();
    descriptor: ()V
    flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE

  public final void release();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.hardware.Camera this
         0: .line 621
            aload 0 /* this */
            invokevirtual android.hardware.Camera.native_release:()V
         1: .line 622
            aload 0 /* this */
            iconst_0
            putfield android.hardware.Camera.mFaceDetectionRunning:Z
         2: .line 623
            aload 0 /* this */
            invokevirtual android.hardware.Camera.releaseAppOps:()V
         3: .line 624
            return
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/hardware/Camera;

  public final native void unlock();
    descriptor: ()V
    flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE

  public final native void lock();
    descriptor: ()V
    flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE

  public final native void reconnect();
    descriptor: ()V
    flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE
    Exceptions:
      throws java.io.IOException

  public final void setPreviewDisplay(android.view.SurfaceHolder);
    descriptor: (Landroid/view/SurfaceHolder;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.hardware.Camera this
        start local 1 // android.view.SurfaceHolder holder
         0: .line 711
            aload 1 /* holder */
            ifnull 3
         1: .line 712
            aload 0 /* this */
            aload 1 /* holder */
            invokeinterface android.view.SurfaceHolder.getSurface:()Landroid/view/Surface;
            invokevirtual android.hardware.Camera.setPreviewSurface:(Landroid/view/Surface;)V
         2: .line 713
            goto 4
         3: .line 714
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            invokevirtual android.hardware.Camera.setPreviewSurface:(Landroid/view/Surface;)V
         4: .line 716
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.SurfaceHolder holder
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Landroid/hardware/Camera;
            0    5     1  holder  Landroid/view/SurfaceHolder;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      holder  

  public final native void setPreviewSurface(android.view.Surface);
    descriptor: (Landroid/view/Surface;)V
    flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      surface  

  public final native void setPreviewTexture(android.graphics.SurfaceTexture);
    descriptor: (Landroid/graphics/SurfaceTexture;)V
    flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      surfaceTexture  

  public final native void startPreview();
    descriptor: ()V
    flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE

  public final void stopPreview();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.hardware.Camera this
         0: .line 823
            aload 0 /* this */
            invokevirtual android.hardware.Camera._stopPreview:()V
         1: .line 824
            aload 0 /* this */
            iconst_0
            putfield android.hardware.Camera.mFaceDetectionRunning:Z
         2: .line 826
            aload 0 /* this */
            aconst_null
            putfield android.hardware.Camera.mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
         3: .line 827
            aload 0 /* this */
            aconst_null
            putfield android.hardware.Camera.mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
         4: .line 828
            aload 0 /* this */
            aconst_null
            putfield android.hardware.Camera.mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
         5: .line 829
            aload 0 /* this */
            aconst_null
            putfield android.hardware.Camera.mJpegCallback:Landroid/hardware/Camera$PictureCallback;
         6: .line 830
            aload 0 /* this */
            getfield android.hardware.Camera.mAutoFocusCallbackLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         7: .line 831
            aload 0 /* this */
            aconst_null
            putfield android.hardware.Camera.mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
         8: .line 830
            aload 1
            monitorexit
         9: goto 12
      StackMap locals: android.hardware.Camera java.lang.Object
      StackMap stack: java.lang.Throwable
        10: aload 1
            monitorexit
        11: athrow
        12: .line 833
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield android.hardware.Camera.mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
        13: .line 834
            return
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Landroid/hardware/Camera;
      Exception table:
        from    to  target  type
           7     9      10  any
          10    11      10  any

  private final native void _stopPreview();
    descriptor: ()V
    flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE

  public final native boolean previewEnabled();
    descriptor: ()Z
    flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE

  public final void setPreviewCallback(android.hardware.Camera$PreviewCallback);
    descriptor: (Landroid/hardware/Camera$PreviewCallback;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.Camera this
        start local 1 // android.hardware.Camera$PreviewCallback cb
         0: .line 864
            aload 0 /* this */
            aload 1 /* cb */
            putfield android.hardware.Camera.mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
         1: .line 865
            aload 0 /* this */
            iconst_0
            putfield android.hardware.Camera.mOneShot:Z
         2: .line 866
            aload 0 /* this */
            iconst_0
            putfield android.hardware.Camera.mWithBuffer:Z
         3: .line 867
            aload 1 /* cb */
            ifnull 5
         4: .line 868
            aload 0 /* this */
            iconst_0
            putfield android.hardware.Camera.mUsingPreviewAllocation:Z
         5: .line 872
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cb */
            ifnull 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack: android.hardware.Camera
         6: iconst_0
      StackMap locals: android.hardware.Camera android.hardware.Camera$PreviewCallback
      StackMap stack: android.hardware.Camera int
         7: iconst_0
            invokevirtual android.hardware.Camera.setHasPreviewCallback:(ZZ)V
         8: .line 873
            return
        end local 1 // android.hardware.Camera$PreviewCallback cb
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/hardware/Camera;
            0    9     1    cb  Landroid/hardware/Camera$PreviewCallback;
    MethodParameters:
      Name  Flags
      cb    

  public final void setOneShotPreviewCallback(android.hardware.Camera$PreviewCallback);
    descriptor: (Landroid/hardware/Camera$PreviewCallback;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.Camera this
        start local 1 // android.hardware.Camera$PreviewCallback cb
         0: .line 892
            aload 0 /* this */
            aload 1 /* cb */
            putfield android.hardware.Camera.mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
         1: .line 893
            aload 0 /* this */
            iconst_1
            putfield android.hardware.Camera.mOneShot:Z
         2: .line 894
            aload 0 /* this */
            iconst_0
            putfield android.hardware.Camera.mWithBuffer:Z
         3: .line 895
            aload 1 /* cb */
            ifnull 5
         4: .line 896
            aload 0 /* this */
            iconst_0
            putfield android.hardware.Camera.mUsingPreviewAllocation:Z
         5: .line 898
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cb */
            ifnull 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack: android.hardware.Camera
         6: iconst_0
      StackMap locals: android.hardware.Camera android.hardware.Camera$PreviewCallback
      StackMap stack: android.hardware.Camera int
         7: iconst_0
            invokevirtual android.hardware.Camera.setHasPreviewCallback:(ZZ)V
         8: .line 899
            return
        end local 1 // android.hardware.Camera$PreviewCallback cb
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/hardware/Camera;
            0    9     1    cb  Landroid/hardware/Camera$PreviewCallback;
    MethodParameters:
      Name  Flags
      cb    

  private final native void setHasPreviewCallback(boolean, boolean);
    descriptor: (ZZ)V
    flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
    MethodParameters:
              Name  Flags
      installed     
      manualBuffer  

  public final void setPreviewCallbackWithBuffer(android.hardware.Camera$PreviewCallback);
    descriptor: (Landroid/hardware/Camera$PreviewCallback;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.Camera this
        start local 1 // android.hardware.Camera$PreviewCallback cb
         0: .line 932
            aload 0 /* this */
            aload 1 /* cb */
            putfield android.hardware.Camera.mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
         1: .line 933
            aload 0 /* this */
            iconst_0
            putfield android.hardware.Camera.mOneShot:Z
         2: .line 934
            aload 0 /* this */
            iconst_1
            putfield android.hardware.Camera.mWithBuffer:Z
         3: .line 935
            aload 1 /* cb */
            ifnull 5
         4: .line 936
            aload 0 /* this */
            iconst_0
            putfield android.hardware.Camera.mUsingPreviewAllocation:Z
         5: .line 938
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cb */
            ifnull 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack: android.hardware.Camera
         6: iconst_0
      StackMap locals: android.hardware.Camera android.hardware.Camera$PreviewCallback
      StackMap stack: android.hardware.Camera int
         7: iconst_1
            invokevirtual android.hardware.Camera.setHasPreviewCallback:(ZZ)V
         8: .line 939
            return
        end local 1 // android.hardware.Camera$PreviewCallback cb
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/hardware/Camera;
            0    9     1    cb  Landroid/hardware/Camera$PreviewCallback;
    MethodParameters:
      Name  Flags
      cb    

  public final void addCallbackBuffer(byte[]);
    descriptor: ([B)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.Camera this
        start local 1 // byte[] callbackBuffer
         0: .line 976
            aload 0 /* this */
            aload 1 /* callbackBuffer */
            bipush 16
            invokevirtual android.hardware.Camera._addCallbackBuffer:([BI)V
         1: .line 977
            return
        end local 1 // byte[] callbackBuffer
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Landroid/hardware/Camera;
            0    2     1  callbackBuffer  [B
    MethodParameters:
                Name  Flags
      callbackBuffer  

  public final void addRawImageCallbackBuffer(byte[]);
    descriptor: ([B)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.Camera this
        start local 1 // byte[] callbackBuffer
         0: .line 1019
            aload 0 /* this */
            aload 1 /* callbackBuffer */
            sipush 128
            invokevirtual android.hardware.Camera.addCallbackBuffer:([BI)V
         1: .line 1020
            return
        end local 1 // byte[] callbackBuffer
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Landroid/hardware/Camera;
            0    2     1  callbackBuffer  [B
    MethodParameters:
                Name  Flags
      callbackBuffer  

  private final void addCallbackBuffer(byte[], int);
    descriptor: ([BI)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.hardware.Camera this
        start local 1 // byte[] callbackBuffer
        start local 2 // int msgType
         0: .line 1025
            iload 2 /* msgType */
            bipush 16
            if_icmpeq 5
         1: .line 1026
            iload 2 /* msgType */
            sipush 128
            if_icmpeq 5
         2: .line 1027
            new java.lang.IllegalArgumentException
            dup
         3: .line 1028
            new java.lang.StringBuilder
            dup
            ldc "Unsupported message type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* msgType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 1027
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 1031
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* callbackBuffer */
            iload 2 /* msgType */
            invokevirtual android.hardware.Camera._addCallbackBuffer:([BI)V
         6: .line 1032
            return
        end local 2 // int msgType
        end local 1 // byte[] callbackBuffer
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Landroid/hardware/Camera;
            0    7     1  callbackBuffer  [B
            0    7     2         msgType  I
    MethodParameters:
                Name  Flags
      callbackBuffer  
      msgType         

  private final native void _addCallbackBuffer(byte[], int);
    descriptor: ([BI)V
    flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
    MethodParameters:
                Name  Flags
      callbackBuffer  
      msgType         

  public final android.renderscript.Allocation createPreviewAllocation(android.renderscript.RenderScript, int);
    descriptor: (Landroid/renderscript/RenderScript;I)Landroid/renderscript/Allocation;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // android.hardware.Camera this
        start local 1 // android.renderscript.RenderScript rs
        start local 2 // int usage
         0: .line 1064
            aload 0 /* this */
            invokevirtual android.hardware.Camera.getParameters:()Landroid/hardware/Camera$Parameters;
            astore 3 /* p */
        start local 3 // android.hardware.Camera$Parameters p
         1: .line 1065
            aload 3 /* p */
            invokevirtual android.hardware.Camera$Parameters.getPreviewSize:()Landroid/hardware/Camera$Size;
            astore 4 /* previewSize */
        start local 4 // android.hardware.Camera$Size previewSize
         2: .line 1066
            new android.renderscript.Type$Builder
            dup
            aload 1 /* rs */
         3: .line 1067
            aload 1 /* rs */
         4: .line 1068
            getstatic android.renderscript.Element$DataType.UNSIGNED_8:Landroid/renderscript/Element$DataType;
         5: .line 1069
            getstatic android.renderscript.Element$DataKind.PIXEL_YUV:Landroid/renderscript/Element$DataKind;
         6: .line 1067
            invokestatic android.renderscript.Element.createPixel:(Landroid/renderscript/RenderScript;Landroid/renderscript/Element$DataType;Landroid/renderscript/Element$DataKind;)Landroid/renderscript/Element;
         7: .line 1066
            invokespecial android.renderscript.Type$Builder.<init>:(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)V
            astore 5 /* yuvBuilder */
        start local 5 // android.renderscript.Type$Builder yuvBuilder
         8: .line 1072
            aload 5 /* yuvBuilder */
            ldc 842094169
            invokevirtual android.renderscript.Type$Builder.setYuvFormat:(I)Landroid/renderscript/Type$Builder;
            pop
         9: .line 1073
            aload 5 /* yuvBuilder */
            aload 4 /* previewSize */
            getfield android.hardware.Camera$Size.width:I
            invokevirtual android.renderscript.Type$Builder.setX:(I)Landroid/renderscript/Type$Builder;
            pop
        10: .line 1074
            aload 5 /* yuvBuilder */
            aload 4 /* previewSize */
            getfield android.hardware.Camera$Size.height:I
            invokevirtual android.renderscript.Type$Builder.setY:(I)Landroid/renderscript/Type$Builder;
            pop
        11: .line 1076
            aload 1 /* rs */
            aload 5 /* yuvBuilder */
            invokevirtual android.renderscript.Type$Builder.create:()Landroid/renderscript/Type;
        12: .line 1077
            iload 2 /* usage */
            bipush 32
            ior
        13: .line 1076
            invokestatic android.renderscript.Allocation.createTyped:(Landroid/renderscript/RenderScript;Landroid/renderscript/Type;I)Landroid/renderscript/Allocation;
            astore 6 /* a */
        start local 6 // android.renderscript.Allocation a
        14: .line 1079
            aload 6 /* a */
            areturn
        end local 6 // android.renderscript.Allocation a
        end local 5 // android.renderscript.Type$Builder yuvBuilder
        end local 4 // android.hardware.Camera$Size previewSize
        end local 3 // android.hardware.Camera$Parameters p
        end local 2 // int usage
        end local 1 // android.renderscript.RenderScript rs
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Landroid/hardware/Camera;
            0   15     1           rs  Landroid/renderscript/RenderScript;
            0   15     2        usage  I
            1   15     3            p  Landroid/hardware/Camera$Parameters;
            2   15     4  previewSize  Landroid/hardware/Camera$Size;
            8   15     5   yuvBuilder  Landroid/renderscript/Type$Builder;
           14   15     6            a  Landroid/renderscript/Allocation;
    Exceptions:
      throws android.renderscript.RSIllegalArgumentException
    MethodParameters:
       Name  Flags
      rs     
      usage  

  public final void setPreviewCallbackAllocation(android.renderscript.Allocation);
    descriptor: (Landroid/renderscript/Allocation;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // android.hardware.Camera this
        start local 1 // android.renderscript.Allocation previewAllocation
         0: .line 1130
            aconst_null
            astore 2 /* previewSurface */
        start local 2 // android.view.Surface previewSurface
         1: .line 1131
            aload 1 /* previewAllocation */
            ifnull 30
         2: .line 1132
            aload 0 /* this */
            invokevirtual android.hardware.Camera.getParameters:()Landroid/hardware/Camera$Parameters;
            astore 3 /* p */
        start local 3 // android.hardware.Camera$Parameters p
         3: .line 1133
            aload 3 /* p */
            invokevirtual android.hardware.Camera$Parameters.getPreviewSize:()Landroid/hardware/Camera$Size;
            astore 4 /* previewSize */
        start local 4 // android.hardware.Camera$Size previewSize
         4: .line 1134
            aload 4 /* previewSize */
            getfield android.hardware.Camera$Size.width:I
            aload 1 /* previewAllocation */
            invokevirtual android.renderscript.Allocation.getType:()Landroid/renderscript/Type;
            invokevirtual android.renderscript.Type.getX:()I
            if_icmpne 6
         5: .line 1135
            aload 4 /* previewSize */
            getfield android.hardware.Camera$Size.height:I
            aload 1 /* previewAllocation */
            invokevirtual android.renderscript.Allocation.getType:()Landroid/renderscript/Type;
            invokevirtual android.renderscript.Type.getY:()I
            if_icmpeq 15
         6: .line 1136
      StackMap locals: android.view.Surface android.hardware.Camera$Parameters android.hardware.Camera$Size
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         7: .line 1137
            new java.lang.StringBuilder
            dup
            ldc "Allocation dimensions don't match preview dimensions: Allocation is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 1139
            aload 1 /* previewAllocation */
            invokevirtual android.renderscript.Allocation.getType:()Landroid/renderscript/Type;
            invokevirtual android.renderscript.Type.getX:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         9: .line 1140
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 1141
            aload 1 /* previewAllocation */
            invokevirtual android.renderscript.Allocation.getType:()Landroid/renderscript/Type;
            invokevirtual android.renderscript.Type.getY:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        11: .line 1142
            ldc ". Preview is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* previewSize */
            getfield android.hardware.Camera$Size.width:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 1143
            aload 4 /* previewSize */
            getfield android.hardware.Camera$Size.height:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        13: .line 1137
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 1136
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 1145
      StackMap locals:
      StackMap stack:
            aload 1 /* previewAllocation */
            invokevirtual android.renderscript.Allocation.getUsage:()I
        16: .line 1146
            bipush 32
        17: .line 1145
            iand
            ifne 21
        18: .line 1147
            new java.lang.IllegalArgumentException
            dup
        19: .line 1148
            ldc "Allocation usage does not include USAGE_IO_INPUT"
        20: .line 1147
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 1150
      StackMap locals:
      StackMap stack:
            aload 1 /* previewAllocation */
            invokevirtual android.renderscript.Allocation.getType:()Landroid/renderscript/Type;
            invokevirtual android.renderscript.Type.getElement:()Landroid/renderscript/Element;
            invokevirtual android.renderscript.Element.getDataKind:()Landroid/renderscript/Element$DataKind;
        22: .line 1151
            getstatic android.renderscript.Element$DataKind.PIXEL_YUV:Landroid/renderscript/Element$DataKind;
        23: .line 1150
            if_acmpeq 27
        24: .line 1152
            new java.lang.IllegalArgumentException
            dup
        25: .line 1153
            ldc "Allocation is not of a YUV type"
        26: .line 1152
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 1155
      StackMap locals:
      StackMap stack:
            aload 1 /* previewAllocation */
            invokevirtual android.renderscript.Allocation.getSurface:()Landroid/view/Surface;
            astore 2 /* previewSurface */
        28: .line 1156
            aload 0 /* this */
            iconst_1
            putfield android.hardware.Camera.mUsingPreviewAllocation:Z
        end local 4 // android.hardware.Camera$Size previewSize
        end local 3 // android.hardware.Camera$Parameters p
        29: .line 1157
            goto 31
        30: .line 1158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.hardware.Camera.mUsingPreviewAllocation:Z
        31: .line 1160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* previewSurface */
            invokevirtual android.hardware.Camera.setPreviewCallbackSurface:(Landroid/view/Surface;)V
        32: .line 1161
            return
        end local 2 // android.view.Surface previewSurface
        end local 1 // android.renderscript.Allocation previewAllocation
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   33     0               this  Landroid/hardware/Camera;
            0   33     1  previewAllocation  Landroid/renderscript/Allocation;
            1   33     2     previewSurface  Landroid/view/Surface;
            3   29     3                  p  Landroid/hardware/Camera$Parameters;
            4   29     4        previewSize  Landroid/hardware/Camera$Size;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                   Name  Flags
      previewAllocation  

  private final native void setPreviewCallbackSurface(android.view.Surface);
    descriptor: (Landroid/view/Surface;)V
    flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
    MethodParameters:
      Name  Flags
      s     

  private static void postEventFromNative(java.lang.Object, int, int, int, java.lang.Object);
    descriptor: (Ljava/lang/Object;IIILjava/lang/Object;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // java.lang.Object camera_ref
        start local 1 // int what
        start local 2 // int arg1
        start local 3 // int arg2
        start local 4 // java.lang.Object obj
         0: .line 1271
            aload 0 /* camera_ref */
            checkcast java.lang.ref.WeakReference
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast android.hardware.Camera
            astore 5 /* c */
        start local 5 // android.hardware.Camera c
         1: .line 1272
            aload 5 /* c */
            ifnonnull 3
         2: .line 1273
            return
         3: .line 1275
      StackMap locals: android.hardware.Camera
      StackMap stack:
            aload 5 /* c */
            getfield android.hardware.Camera.mEventHandler:Landroid/hardware/Camera$EventHandler;
            ifnull 6
         4: .line 1276
            aload 5 /* c */
            getfield android.hardware.Camera.mEventHandler:Landroid/hardware/Camera$EventHandler;
            iload 1 /* what */
            iload 2 /* arg1 */
            iload 3 /* arg2 */
            aload 4 /* obj */
            invokevirtual android.hardware.Camera$EventHandler.obtainMessage:(IIILjava/lang/Object;)Landroid/os/Message;
            astore 6 /* m */
        start local 6 // android.os.Message m
         5: .line 1277
            aload 5 /* c */
            getfield android.hardware.Camera.mEventHandler:Landroid/hardware/Camera$EventHandler;
            aload 6 /* m */
            invokevirtual android.hardware.Camera$EventHandler.sendMessage:(Landroid/os/Message;)Z
            pop
        end local 6 // android.os.Message m
         6: .line 1279
      StackMap locals:
      StackMap stack:
            return
        end local 5 // android.hardware.Camera c
        end local 4 // java.lang.Object obj
        end local 3 // int arg2
        end local 2 // int arg1
        end local 1 // int what
        end local 0 // java.lang.Object camera_ref
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0  camera_ref  Ljava/lang/Object;
            0    7     1        what  I
            0    7     2        arg1  I
            0    7     3        arg2  I
            0    7     4         obj  Ljava/lang/Object;
            1    7     5           c  Landroid/hardware/Camera;
            5    6     6           m  Landroid/os/Message;
    MethodParameters:
            Name  Flags
      camera_ref  
      what        
      arg1        
      arg2        
      obj         

  public final void autoFocus(android.hardware.Camera$AutoFocusCallback);
    descriptor: (Landroid/hardware/Camera$AutoFocusCallback;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.hardware.Camera this
        start local 1 // android.hardware.Camera$AutoFocusCallback cb
         0: .line 1363
            aload 0 /* this */
            getfield android.hardware.Camera.mAutoFocusCallbackLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 1364
            aload 0 /* this */
            aload 1 /* cb */
            putfield android.hardware.Camera.mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
         2: .line 1363
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: android.hardware.Camera android.hardware.Camera$AutoFocusCallback java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 1366
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.hardware.Camera.native_autoFocus:()V
         7: .line 1367
            return
        end local 1 // android.hardware.Camera$AutoFocusCallback cb
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Landroid/hardware/Camera;
            0    8     1    cb  Landroid/hardware/Camera$AutoFocusCallback;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
      Name  Flags
      cb    

  private final native void native_autoFocus();
    descriptor: ()V
    flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE

  public final void cancelAutoFocus();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.hardware.Camera this
         0: .line 1383
            aload 0 /* this */
            getfield android.hardware.Camera.mAutoFocusCallbackLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 1384
            aload 0 /* this */
            aconst_null
            putfield android.hardware.Camera.mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
         2: .line 1383
            aload 1
            monitorexit
         3: goto 6
      StackMap locals: android.hardware.Camera java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 1
            monitorexit
         5: athrow
         6: .line 1386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.hardware.Camera.native_cancelAutoFocus:()V
         7: .line 1402
            aload 0 /* this */
            getfield android.hardware.Camera.mEventHandler:Landroid/hardware/Camera$EventHandler;
            iconst_4
            invokevirtual android.hardware.Camera$EventHandler.removeMessages:(I)V
         8: .line 1403
            return
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/hardware/Camera;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  private final native void native_cancelAutoFocus();
    descriptor: ()V
    flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE

  public void setAutoFocusMoveCallback(android.hardware.Camera$AutoFocusMoveCallback);
    descriptor: (Landroid/hardware/Camera$AutoFocusMoveCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.hardware.Camera this
        start local 1 // android.hardware.Camera$AutoFocusMoveCallback cb
         0: .line 1438
            aload 0 /* this */
            aload 1 /* cb */
            putfield android.hardware.Camera.mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
         1: .line 1439
            aload 0 /* this */
            aload 0 /* this */
            getfield android.hardware.Camera.mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
            ifnull 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack: android.hardware.Camera
         2: iconst_0
      StackMap locals: android.hardware.Camera android.hardware.Camera$AutoFocusMoveCallback
      StackMap stack: android.hardware.Camera int
         3: invokevirtual android.hardware.Camera.enableFocusMoveCallback:(I)V
         4: .line 1440
            return
        end local 1 // android.hardware.Camera$AutoFocusMoveCallback cb
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/hardware/Camera;
            0    5     1    cb  Landroid/hardware/Camera$AutoFocusMoveCallback;
    MethodParameters:
      Name  Flags
      cb    

  private native void enableFocusMoveCallback(int);
    descriptor: (I)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
        Name  Flags
      enable  

  public final void takePicture(android.hardware.Camera$ShutterCallback, android.hardware.Camera$PictureCallback, android.hardware.Camera$PictureCallback);
    descriptor: (Landroid/hardware/Camera$ShutterCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.hardware.Camera this
        start local 1 // android.hardware.Camera$ShutterCallback shutter
        start local 2 // android.hardware.Camera$PictureCallback raw
        start local 3 // android.hardware.Camera$PictureCallback jpeg
         0: .line 1493
            aload 0 /* this */
            aload 1 /* shutter */
            aload 2 /* raw */
            aconst_null
            aload 3 /* jpeg */
            invokevirtual android.hardware.Camera.takePicture:(Landroid/hardware/Camera$ShutterCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;)V
         1: .line 1494
            return
        end local 3 // android.hardware.Camera$PictureCallback jpeg
        end local 2 // android.hardware.Camera$PictureCallback raw
        end local 1 // android.hardware.Camera$ShutterCallback shutter
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/hardware/Camera;
            0    2     1  shutter  Landroid/hardware/Camera$ShutterCallback;
            0    2     2      raw  Landroid/hardware/Camera$PictureCallback;
            0    2     3     jpeg  Landroid/hardware/Camera$PictureCallback;
    MethodParameters:
         Name  Flags
      shutter  
      raw      
      jpeg     

  private final native void native_takePicture(int);
    descriptor: (I)V
    flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
    MethodParameters:
         Name  Flags
      msgType  

  public final void takePicture(android.hardware.Camera$ShutterCallback, android.hardware.Camera$PictureCallback, android.hardware.Camera$PictureCallback, android.hardware.Camera$PictureCallback);
    descriptor: (Landroid/hardware/Camera$ShutterCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=6, args_size=5
        start local 0 // android.hardware.Camera this
        start local 1 // android.hardware.Camera$ShutterCallback shutter
        start local 2 // android.hardware.Camera$PictureCallback raw
        start local 3 // android.hardware.Camera$PictureCallback postview
        start local 4 // android.hardware.Camera$PictureCallback jpeg
         0: .line 1531
            aload 0 /* this */
            aload 1 /* shutter */
            putfield android.hardware.Camera.mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
         1: .line 1532
            aload 0 /* this */
            aload 2 /* raw */
            putfield android.hardware.Camera.mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
         2: .line 1533
            aload 0 /* this */
            aload 3 /* postview */
            putfield android.hardware.Camera.mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
         3: .line 1534
            aload 0 /* this */
            aload 4 /* jpeg */
            putfield android.hardware.Camera.mJpegCallback:Landroid/hardware/Camera$PictureCallback;
         4: .line 1537
            iconst_0
            istore 5 /* msgType */
        start local 5 // int msgType
         5: .line 1538
            aload 0 /* this */
            getfield android.hardware.Camera.mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
            ifnull 7
         6: .line 1539
            iload 5 /* msgType */
            iconst_2
            ior
            istore 5 /* msgType */
         7: .line 1541
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.Camera.mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
            ifnull 9
         8: .line 1542
            iload 5 /* msgType */
            sipush 128
            ior
            istore 5 /* msgType */
         9: .line 1544
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.Camera.mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
            ifnull 11
        10: .line 1545
            iload 5 /* msgType */
            bipush 64
            ior
            istore 5 /* msgType */
        11: .line 1547
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.Camera.mJpegCallback:Landroid/hardware/Camera$PictureCallback;
            ifnull 13
        12: .line 1548
            iload 5 /* msgType */
            sipush 256
            ior
            istore 5 /* msgType */
        13: .line 1551
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* msgType */
            invokevirtual android.hardware.Camera.native_takePicture:(I)V
        14: .line 1552
            aload 0 /* this */
            iconst_0
            putfield android.hardware.Camera.mFaceDetectionRunning:Z
        15: .line 1553
            return
        end local 5 // int msgType
        end local 4 // android.hardware.Camera$PictureCallback jpeg
        end local 3 // android.hardware.Camera$PictureCallback postview
        end local 2 // android.hardware.Camera$PictureCallback raw
        end local 1 // android.hardware.Camera$ShutterCallback shutter
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Landroid/hardware/Camera;
            0   16     1   shutter  Landroid/hardware/Camera$ShutterCallback;
            0   16     2       raw  Landroid/hardware/Camera$PictureCallback;
            0   16     3  postview  Landroid/hardware/Camera$PictureCallback;
            0   16     4      jpeg  Landroid/hardware/Camera$PictureCallback;
            5   16     5   msgType  I
    MethodParameters:
          Name  Flags
      shutter   
      raw       
      postview  
      jpeg      

  public final native void startSmoothZoom(int);
    descriptor: (I)V
    flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE
    MethodParameters:
       Name  Flags
      value  

  public final native void stopSmoothZoom();
    descriptor: ()V
    flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE

  public final native void setDisplayOrientation(int);
    descriptor: (I)V
    flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE
    MethodParameters:
         Name  Flags
      degrees  

  public final boolean enableShutterSound(boolean);
    descriptor: (Z)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // android.hardware.Camera this
        start local 1 // boolean enabled
         0: .line 1676
            iconst_1
            istore 2 /* canDisableShutterSound */
        start local 2 // boolean canDisableShutterSound
         1: .line 1677
            ldc "audio"
            invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
            astore 3 /* b */
        start local 3 // android.os.IBinder b
         2: .line 1678
            aload 3 /* b */
            invokestatic android.media.IAudioService$Stub.asInterface:(Landroid/os/IBinder;)Landroid/media/IAudioService;
            astore 4 /* audioService */
        start local 4 // android.media.IAudioService audioService
         3: .line 1680
            aload 4 /* audioService */
            invokeinterface android.media.IAudioService.isCameraSoundForced:()Z
            ifeq 8
         4: .line 1681
            iconst_0
            istore 2 /* canDisableShutterSound */
         5: .line 1683
            goto 8
      StackMap locals: android.hardware.Camera int int android.os.IBinder android.media.IAudioService
      StackMap stack: android.os.RemoteException
         6: pop
         7: .line 1684
            ldc "Camera"
            ldc "Audio service is unavailable for queries"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         8: .line 1686
      StackMap locals:
      StackMap stack:
            iload 1 /* enabled */
            ifne 10
            iload 2 /* canDisableShutterSound */
            ifne 10
         9: .line 1687
            iconst_0
            ireturn
        10: .line 1689
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.Camera.mShutterSoundLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
        11: .line 1690
            aload 0 /* this */
            iload 1 /* enabled */
            putfield android.hardware.Camera.mShutterSoundEnabledFromApp:Z
        12: .line 1693
            aload 0 /* this */
            iload 1 /* enabled */
            invokevirtual android.hardware.Camera._enableShutterSound:(Z)Z
            istore 6 /* ret */
        start local 6 // boolean ret
        13: .line 1694
            iload 1 /* enabled */
            ifeq 17
            aload 0 /* this */
            getfield android.hardware.Camera.mHasAppOpsPlayAudio:Z
            ifne 17
        14: .line 1695
            ldc "Camera"
            ldc "Shutter sound is not allowed by AppOpsManager"
            invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        15: .line 1696
            iload 2 /* canDisableShutterSound */
            ifeq 17
        16: .line 1697
            aload 0 /* this */
            iconst_0
            invokevirtual android.hardware.Camera._enableShutterSound:(Z)Z
            pop
        17: .line 1700
      StackMap locals: java.lang.Object int
      StackMap stack:
            iload 6 /* ret */
            aload 5
            monitorexit
        18: ireturn
        end local 6 // boolean ret
        19: .line 1689
      StackMap locals: android.hardware.Camera int int android.os.IBinder android.media.IAudioService java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 5
            monitorexit
        20: athrow
        end local 4 // android.media.IAudioService audioService
        end local 3 // android.os.IBinder b
        end local 2 // boolean canDisableShutterSound
        end local 1 // boolean enabled
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   21     0                    this  Landroid/hardware/Camera;
            0   21     1                 enabled  Z
            1   21     2  canDisableShutterSound  Z
            2   21     3                       b  Landroid/os/IBinder;
            3   21     4            audioService  Landroid/media/IAudioService;
           13   19     6                     ret  Z
      Exception table:
        from    to  target  type
           3     5       6  Class android.os.RemoteException
          11    18      19  any
          19    20      19  any
    MethodParameters:
         Name  Flags
      enabled  

  public final boolean disableShutterSound();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.hardware.Camera this
         0: .line 1721
            aload 0 /* this */
            iconst_0
            invokevirtual android.hardware.Camera._enableShutterSound:(Z)Z
            ireturn
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/Camera;

  private final native boolean _enableShutterSound(boolean);
    descriptor: (Z)Z
    flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
    MethodParameters:
         Name  Flags
      enabled  

  private void updateAppOpsPlayAudio();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // android.hardware.Camera this
         0: .line 1745
            aload 0 /* this */
            getfield android.hardware.Camera.mShutterSoundLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 1746
            aload 0 /* this */
            getfield android.hardware.Camera.mHasAppOpsPlayAudio:Z
            istore 2 /* oldHasAppOpsPlayAudio */
        start local 2 // boolean oldHasAppOpsPlayAudio
         2: .line 1748
            iconst_1
            istore 3 /* mode */
        start local 3 // int mode
         3: .line 1749
            aload 0 /* this */
            getfield android.hardware.Camera.mAppOps:Lcom/android/internal/app/IAppOpsService;
            ifnull 8
         4: .line 1750
            aload 0 /* this */
            getfield android.hardware.Camera.mAppOps:Lcom/android/internal/app/IAppOpsService;
            bipush 28
         5: .line 1751
            bipush 13
         6: .line 1752
            invokestatic android.os.Process.myUid:()I
            invokestatic android.app.ActivityThread.currentPackageName:()Ljava/lang/String;
         7: .line 1750
            invokeinterface com.android.internal.app.IAppOpsService.checkAudioOperation:(IIILjava/lang/String;)I
            istore 3 /* mode */
         8: .line 1754
      StackMap locals: java.lang.Object int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* mode */
            ifne 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack: android.hardware.Camera
         9: iconst_0
      StackMap locals: android.hardware.Camera java.lang.Object int int
      StackMap stack: android.hardware.Camera int
        10: putfield android.hardware.Camera.mHasAppOpsPlayAudio:Z
        end local 3 // int mode
        11: .line 1755
            goto 15
      StackMap locals: android.hardware.Camera java.lang.Object int
      StackMap stack: android.os.RemoteException
        12: pop
        13: .line 1756
            ldc "Camera"
            ldc "AppOpsService check audio operation failed"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        14: .line 1757
            aload 0 /* this */
            iconst_0
            putfield android.hardware.Camera.mHasAppOpsPlayAudio:Z
        15: .line 1759
      StackMap locals:
      StackMap stack:
            iload 2 /* oldHasAppOpsPlayAudio */
            aload 0 /* this */
            getfield android.hardware.Camera.mHasAppOpsPlayAudio:Z
            if_icmpeq 27
        16: .line 1760
            aload 0 /* this */
            getfield android.hardware.Camera.mHasAppOpsPlayAudio:Z
            ifne 26
        17: .line 1761
            ldc "audio"
            invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
            astore 3 /* b */
        start local 3 // android.os.IBinder b
        18: .line 1762
            aload 3 /* b */
            invokestatic android.media.IAudioService$Stub.asInterface:(Landroid/os/IBinder;)Landroid/media/IAudioService;
            astore 4 /* audioService */
        start local 4 // android.media.IAudioService audioService
        19: .line 1764
            aload 4 /* audioService */
            invokeinterface android.media.IAudioService.isCameraSoundForced:()Z
            ifeq 24
        20: .line 1765
            aload 1
            monitorexit
        21: return
        22: .line 1767
      StackMap locals: android.hardware.Camera java.lang.Object int android.os.IBinder android.media.IAudioService
      StackMap stack: android.os.RemoteException
            pop
        23: .line 1768
            ldc "Camera"
            ldc "Audio service is unavailable for queries"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        24: .line 1770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual android.hardware.Camera._enableShutterSound:(Z)Z
            pop
        end local 4 // android.media.IAudioService audioService
        end local 3 // android.os.IBinder b
        25: .line 1771
            goto 27
        26: .line 1772
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.hardware.Camera.mShutterSoundEnabledFromApp:Z
            invokevirtual android.hardware.Camera.enableShutterSound:(Z)Z
            pop
        end local 2 // boolean oldHasAppOpsPlayAudio
        27: .line 1745
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        28: goto 31
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: aload 1
            monitorexit
        30: athrow
        31: .line 1776
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   32     0                   this  Landroid/hardware/Camera;
            2   27     2  oldHasAppOpsPlayAudio  Z
            3   11     3                   mode  I
           18   25     3                      b  Landroid/os/IBinder;
           19   25     4           audioService  Landroid/media/IAudioService;
      Exception table:
        from    to  target  type
           2    11      12  Class android.os.RemoteException
          19    20      22  Class android.os.RemoteException
           1    21      29  any
          22    28      29  any
          29    30      29  any

  public final void setZoomChangeListener(android.hardware.Camera$OnZoomChangeListener);
    descriptor: (Landroid/hardware/Camera$OnZoomChangeListener;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.hardware.Camera this
        start local 1 // android.hardware.Camera$OnZoomChangeListener listener
         0: .line 1811
            aload 0 /* this */
            aload 1 /* listener */
            putfield android.hardware.Camera.mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
         1: .line 1812
            return
        end local 1 // android.hardware.Camera$OnZoomChangeListener listener
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/hardware/Camera;
            0    2     1  listener  Landroid/hardware/Camera$OnZoomChangeListener;
    MethodParameters:
          Name  Flags
      listener  

  public final void setFaceDetectionListener(android.hardware.Camera$FaceDetectionListener);
    descriptor: (Landroid/hardware/Camera$FaceDetectionListener;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.hardware.Camera this
        start local 1 // android.hardware.Camera$FaceDetectionListener listener
         0: .line 1841
            aload 0 /* this */
            aload 1 /* listener */
            putfield android.hardware.Camera.mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
         1: .line 1842
            return
        end local 1 // android.hardware.Camera$FaceDetectionListener listener
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/hardware/Camera;
            0    2     1  listener  Landroid/hardware/Camera$FaceDetectionListener;
    MethodParameters:
          Name  Flags
      listener  

  public final void startFaceDetection();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.hardware.Camera this
         0: .line 1877
            aload 0 /* this */
            getfield android.hardware.Camera.mFaceDetectionRunning:Z
            ifeq 2
         1: .line 1878
            new java.lang.RuntimeException
            dup
            ldc "Face detection is already running"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1880
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual android.hardware.Camera._startFaceDetection:(I)V
         3: .line 1881
            aload 0 /* this */
            iconst_1
            putfield android.hardware.Camera.mFaceDetectionRunning:Z
         4: .line 1882
            return
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/hardware/Camera;

  public final void stopFaceDetection();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.hardware.Camera this
         0: .line 1890
            aload 0 /* this */
            invokevirtual android.hardware.Camera._stopFaceDetection:()V
         1: .line 1891
            aload 0 /* this */
            iconst_0
            putfield android.hardware.Camera.mFaceDetectionRunning:Z
         2: .line 1892
            return
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/hardware/Camera;

  private final native void _startFaceDetection(int);
    descriptor: (I)V
    flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
    MethodParameters:
      Name  Flags
      type  

  private final native void _stopFaceDetection();
    descriptor: ()V
    flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE

  public final void setErrorCallback(android.hardware.Camera$ErrorCallback);
    descriptor: (Landroid/hardware/Camera$ErrorCallback;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.hardware.Camera this
        start local 1 // android.hardware.Camera$ErrorCallback cb
         0: .line 2059
            aload 0 /* this */
            aload 1 /* cb */
            putfield android.hardware.Camera.mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
         1: .line 2060
            return
        end local 1 // android.hardware.Camera$ErrorCallback cb
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/hardware/Camera;
            0    2     1    cb  Landroid/hardware/Camera$ErrorCallback;
    MethodParameters:
      Name  Flags
      cb    

  public final void setDetailedErrorCallback(android.hardware.Camera$ErrorCallback);
    descriptor: (Landroid/hardware/Camera$ErrorCallback;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.hardware.Camera this
        start local 1 // android.hardware.Camera$ErrorCallback cb
         0: .line 2077
            aload 0 /* this */
            aload 1 /* cb */
            putfield android.hardware.Camera.mDetailedErrorCallback:Landroid/hardware/Camera$ErrorCallback;
         1: .line 2078
            return
        end local 1 // android.hardware.Camera$ErrorCallback cb
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/hardware/Camera;
            0    2     1    cb  Landroid/hardware/Camera$ErrorCallback;
    MethodParameters:
      Name  Flags
      cb    

  private final native void native_setParameters(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
    MethodParameters:
        Name  Flags
      params  

  private final native java.lang.String native_getParameters();
    descriptor: ()Ljava/lang/String;
    flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE

  public void setParameters(android.hardware.Camera$Parameters);
    descriptor: (Landroid/hardware/Camera$Parameters;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.hardware.Camera this
        start local 1 // android.hardware.Camera$Parameters params
         0: .line 2092
            aload 0 /* this */
            getfield android.hardware.Camera.mUsingPreviewAllocation:Z
            ifeq 6
         1: .line 2093
            aload 1 /* params */
            invokevirtual android.hardware.Camera$Parameters.getPreviewSize:()Landroid/hardware/Camera$Size;
            astore 2 /* newPreviewSize */
        start local 2 // android.hardware.Camera$Size newPreviewSize
         2: .line 2094
            aload 0 /* this */
            invokevirtual android.hardware.Camera.getParameters:()Landroid/hardware/Camera$Parameters;
            invokevirtual android.hardware.Camera$Parameters.getPreviewSize:()Landroid/hardware/Camera$Size;
            astore 3 /* currentPreviewSize */
        start local 3 // android.hardware.Camera$Size currentPreviewSize
         3: .line 2095
            aload 2 /* newPreviewSize */
            getfield android.hardware.Camera$Size.width:I
            aload 3 /* currentPreviewSize */
            getfield android.hardware.Camera$Size.width:I
            if_icmpne 5
         4: .line 2096
            aload 2 /* newPreviewSize */
            getfield android.hardware.Camera$Size.height:I
            aload 3 /* currentPreviewSize */
            getfield android.hardware.Camera$Size.height:I
            if_icmpeq 6
         5: .line 2097
      StackMap locals: android.hardware.Camera$Size android.hardware.Camera$Size
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Cannot change preview size while a preview allocation is configured."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // android.hardware.Camera$Size currentPreviewSize
        end local 2 // android.hardware.Camera$Size newPreviewSize
         6: .line 2102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* params */
            invokevirtual android.hardware.Camera$Parameters.flatten:()Ljava/lang/String;
            invokevirtual android.hardware.Camera.native_setParameters:(Ljava/lang/String;)V
         7: .line 2103
            return
        end local 1 // android.hardware.Camera$Parameters params
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0                this  Landroid/hardware/Camera;
            0    8     1              params  Landroid/hardware/Camera$Parameters;
            2    6     2      newPreviewSize  Landroid/hardware/Camera$Size;
            3    6     3  currentPreviewSize  Landroid/hardware/Camera$Size;
    MethodParameters:
        Name  Flags
      params  

  public android.hardware.Camera$Parameters getParameters();
    descriptor: ()Landroid/hardware/Camera$Parameters;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // android.hardware.Camera this
         0: .line 2116
            new android.hardware.Camera$Parameters
            dup
            aload 0 /* this */
            invokespecial android.hardware.Camera$Parameters.<init>:(Landroid/hardware/Camera;)V
            astore 1 /* p */
        start local 1 // android.hardware.Camera$Parameters p
         1: .line 2117
            aload 0 /* this */
            invokevirtual android.hardware.Camera.native_getParameters:()Ljava/lang/String;
            astore 2 /* s */
        start local 2 // java.lang.String s
         2: .line 2118
            aload 1 /* p */
            aload 2 /* s */
            invokevirtual android.hardware.Camera$Parameters.unflatten:(Ljava/lang/String;)V
         3: .line 2119
            aload 1 /* p */
            areturn
        end local 2 // java.lang.String s
        end local 1 // android.hardware.Camera$Parameters p
        end local 0 // android.hardware.Camera this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/hardware/Camera;
            1    4     1     p  Landroid/hardware/Camera$Parameters;
            2    4     2     s  Ljava/lang/String;

  public static android.hardware.Camera$Parameters getEmptyParameters();
    descriptor: ()Landroid/hardware/Camera$Parameters;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 2130
            new android.hardware.Camera
            dup
            invokespecial android.hardware.Camera.<init>:()V
            astore 0 /* camera */
        start local 0 // android.hardware.Camera camera
         1: .line 2131
            new android.hardware.Camera$Parameters
            dup
            aload 0 /* camera */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokespecial android.hardware.Camera$Parameters.<init>:(Landroid/hardware/Camera;)V
            areturn
        end local 0 // android.hardware.Camera camera
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1    2     0  camera  Landroid/hardware/Camera;

  public static android.hardware.Camera$Parameters getParametersCopy(android.hardware.Camera$Parameters);
    descriptor: (Landroid/hardware/Camera$Parameters;)Landroid/hardware/Camera$Parameters;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // android.hardware.Camera$Parameters parameters
         0: .line 2144
            aload 0 /* parameters */
            ifnonnull 2
         1: .line 2145
            new java.lang.NullPointerException
            dup
            ldc "parameters must not be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2148
      StackMap locals:
      StackMap stack:
            aload 0 /* parameters */
            invokevirtual android.hardware.Camera$Parameters.getOuter:()Landroid/hardware/Camera;
            astore 1 /* camera */
        start local 1 // android.hardware.Camera camera
         3: .line 2149
            new android.hardware.Camera$Parameters
            dup
            aload 1 /* camera */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokespecial android.hardware.Camera$Parameters.<init>:(Landroid/hardware/Camera;)V
            astore 2 /* p */
        start local 2 // android.hardware.Camera$Parameters p
         4: .line 2150
            aload 2 /* p */
            aload 0 /* parameters */
            invokevirtual android.hardware.Camera$Parameters.copyFrom:(Landroid/hardware/Camera$Parameters;)V
         5: .line 2152
            aload 2 /* p */
            areturn
        end local 2 // android.hardware.Camera$Parameters p
        end local 1 // android.hardware.Camera camera
        end local 0 // android.hardware.Camera$Parameters parameters
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0  parameters  Landroid/hardware/Camera$Parameters;
            3    6     1      camera  Landroid/hardware/Camera;
            4    6     2           p  Landroid/hardware/Camera$Parameters;
    MethodParameters:
            Name  Flags
      parameters  
}
SourceFile: "Camera.java"
NestMembers:
  android.hardware.Camera$Area  android.hardware.Camera$AutoFocusCallback  android.hardware.Camera$AutoFocusMoveCallback  android.hardware.Camera$CameraInfo  android.hardware.Camera$ErrorCallback  android.hardware.Camera$EventHandler  android.hardware.Camera$Face  android.hardware.Camera$FaceDetectionListener  android.hardware.Camera$IAppOpsCallbackWrapper  android.hardware.Camera$OnZoomChangeListener  android.hardware.Camera$Parameters  android.hardware.Camera$PictureCallback  android.hardware.Camera$PreviewCallback  android.hardware.Camera$ShutterCallback  android.hardware.Camera$Size
InnerClasses:
  public Area = android.hardware.Camera$Area of android.hardware.Camera
  public abstract AutoFocusCallback = android.hardware.Camera$AutoFocusCallback of android.hardware.Camera
  public abstract AutoFocusMoveCallback = android.hardware.Camera$AutoFocusMoveCallback of android.hardware.Camera
  public CameraInfo = android.hardware.Camera$CameraInfo 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
  private IAppOpsCallbackWrapper = android.hardware.Camera$IAppOpsCallbackWrapper of android.hardware.Camera
  public abstract OnZoomChangeListener = android.hardware.Camera$OnZoomChangeListener of android.hardware.Camera
  public Parameters = android.hardware.Camera$Parameters 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
  public Size = android.hardware.Camera$Size of android.hardware.Camera
  public abstract Stub = android.media.IAudioService$Stub of android.media.IAudioService
  public final DataKind = android.renderscript.Element$DataKind of android.renderscript.Element
  public final DataType = android.renderscript.Element$DataType of android.renderscript.Element
  public Builder = android.renderscript.Type$Builder of android.renderscript.Type
  public abstract Stub = com.android.internal.app.IAppOpsService$Stub of com.android.internal.app.IAppOpsService
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()