public class android.hardware.camera2.impl.CameraDeviceImpl extends android.hardware.camera2.CameraDevice implements android.os.IBinder$DeathRecipient
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.hardware.camera2.impl.CameraDeviceImpl
  super_class: android.hardware.camera2.CameraDevice
{
  private final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean DEBUG;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: 0

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

  private android.hardware.camera2.impl.ICameraDeviceUserWrapper mRemoteDevice;
    descriptor: Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
    flags: (0x0002) ACC_PRIVATE

  final java.lang.Object mInterfaceLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL

  private final android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks mCallbacks;
    descriptor: Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.hardware.camera2.CameraDevice$StateCallback mDeviceCallback;
    descriptor: Landroid/hardware/camera2/CameraDevice$StateCallback;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile android.hardware.camera2.impl.CameraDeviceImpl$StateCallbackKK mSessionStateCallback;
    descriptor: Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final java.util.concurrent.Executor mDeviceExecutor;
    descriptor: Ljava/util/concurrent/Executor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.atomic.AtomicBoolean mClosing;
    descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final android.util.SparseArray<android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder> mCaptureCallbackMap;
    descriptor: Landroid/util/SparseArray;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Landroid/util/SparseArray<Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;>;

  private int mRepeatingRequestId;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.util.AbstractMap$SimpleEntry<java.lang.Integer, android.hardware.camera2.params.InputConfiguration> mConfiguredInput;
    descriptor: Ljava/util/AbstractMap$SimpleEntry;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/AbstractMap$SimpleEntry<Ljava/lang/Integer;Landroid/hardware/camera2/params/InputConfiguration;>;

  private final android.util.SparseArray<android.hardware.camera2.params.OutputConfiguration> mConfiguredOutputs;
    descriptor: Landroid/util/SparseArray;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Landroid/util/SparseArray<Landroid/hardware/camera2/params/OutputConfiguration;>;

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

  private final android.hardware.camera2.CameraCharacteristics mCharacteristics;
    descriptor: Landroid/hardware/camera2/CameraCharacteristics;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mTotalPartialCount;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final long NANO_PER_SECOND;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1000000000

  private final java.util.List<android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder> mRequestLastFrameNumbersList;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Landroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;>;

  private final android.hardware.camera2.impl.CameraDeviceImpl$FrameNumberTracker mFrameNumberTracker;
    descriptor: Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private android.hardware.camera2.impl.CameraCaptureSessionCore mCurrentSession;
    descriptor: Landroid/hardware/camera2/impl/CameraCaptureSessionCore;
    flags: (0x0002) ACC_PRIVATE

  private int mNextSessionId;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final int mAppTargetSdkVersion;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

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

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

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

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

  public void <init>(java.lang.String, android.hardware.camera2.CameraDevice$StateCallback, java.util.concurrent.Executor, android.hardware.camera2.CameraCharacteristics, int);
    descriptor: (Ljava/lang/String;Landroid/hardware/camera2/CameraDevice$StateCallback;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraCharacteristics;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // java.lang.String cameraId
        start local 2 // android.hardware.camera2.CameraDevice$StateCallback callback
        start local 3 // java.util.concurrent.Executor executor
        start local 4 // android.hardware.camera2.CameraCharacteristics characteristics
        start local 5 // int appTargetSdkVersion
         0: .line 243
            aload 0 /* this */
            invokespecial android.hardware.camera2.CameraDevice.<init>:()V
         1: .line 74
            aload 0 /* this */
            iconst_0
            putfield android.hardware.camera2.impl.CameraDeviceImpl.DEBUG:Z
         2: .line 82
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mInterfaceLock:Ljava/lang/Object;
         3: .line 83
            aload 0 /* this */
            new android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks
            dup
            aload 0 /* this */
            invokespecial android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks.<init>:(Landroid/hardware/camera2/impl/CameraDeviceImpl;)V
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mCallbacks:Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;
         4: .line 89
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mClosing:Ljava/util/concurrent/atomic/AtomicBoolean;
         5: .line 90
            aload 0 /* this */
            iconst_0
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mInError:Z
         6: .line 91
            aload 0 /* this */
            iconst_1
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mIdle:Z
         7: .line 94
            aload 0 /* this */
         8: .line 95
            new android.util.SparseArray
            dup
            invokespecial android.util.SparseArray.<init>:()V
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mCaptureCallbackMap:Landroid/util/SparseArray;
         9: .line 97
            aload 0 /* this */
            iconst_m1
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mRepeatingRequestId:I
        10: .line 99
            aload 0 /* this */
        11: .line 100
            new java.util.AbstractMap$SimpleEntry
            dup
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aconst_null
            invokespecial java.util.AbstractMap$SimpleEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredInput:Ljava/util/AbstractMap$SimpleEntry;
        12: .line 101
            aload 0 /* this */
        13: .line 102
            new android.util.SparseArray
            dup
            invokespecial android.util.SparseArray.<init>:()V
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
        14: .line 114
            aload 0 /* this */
        15: .line 115
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mRequestLastFrameNumbersList:Ljava/util/List;
        16: .line 121
            aload 0 /* this */
            new android.hardware.camera2.impl.CameraDeviceImpl$FrameNumberTracker
            dup
            aload 0 /* this */
            invokespecial android.hardware.camera2.impl.CameraDeviceImpl$FrameNumberTracker.<init>:(Landroid/hardware/camera2/impl/CameraDeviceImpl;)V
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mFrameNumberTracker:Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;
        17: .line 124
            aload 0 /* this */
            iconst_0
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mNextSessionId:I
        18: .line 131
            aload 0 /* this */
            new android.hardware.camera2.impl.CameraDeviceImpl$1
            dup
            aload 0 /* this */
            invokespecial android.hardware.camera2.impl.CameraDeviceImpl$1.<init>:(Landroid/hardware/camera2/impl/CameraDeviceImpl;)V
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnOpened:Ljava/lang/Runnable;
        19: .line 147
            aload 0 /* this */
            new android.hardware.camera2.impl.CameraDeviceImpl$2
            dup
            aload 0 /* this */
            invokespecial android.hardware.camera2.impl.CameraDeviceImpl$2.<init>:(Landroid/hardware/camera2/impl/CameraDeviceImpl;)V
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnUnconfigured:Ljava/lang/Runnable;
        20: .line 162
            aload 0 /* this */
            new android.hardware.camera2.impl.CameraDeviceImpl$3
            dup
            aload 0 /* this */
            invokespecial android.hardware.camera2.impl.CameraDeviceImpl$3.<init>:(Landroid/hardware/camera2/impl/CameraDeviceImpl;)V
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnActive:Ljava/lang/Runnable;
        21: .line 177
            aload 0 /* this */
            new android.hardware.camera2.impl.CameraDeviceImpl$4
            dup
            aload 0 /* this */
            invokespecial android.hardware.camera2.impl.CameraDeviceImpl$4.<init>:(Landroid/hardware/camera2/impl/CameraDeviceImpl;)V
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnBusy:Ljava/lang/Runnable;
        22: .line 192
            aload 0 /* this */
            new android.hardware.camera2.impl.CameraDeviceImpl$5
            dup
            aload 0 /* this */
            invokespecial android.hardware.camera2.impl.CameraDeviceImpl$5.<init>:(Landroid/hardware/camera2/impl/CameraDeviceImpl;)V
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnClosed:Ljava/lang/Runnable;
        23: .line 212
            aload 0 /* this */
            new android.hardware.camera2.impl.CameraDeviceImpl$6
            dup
            aload 0 /* this */
            invokespecial android.hardware.camera2.impl.CameraDeviceImpl$6.<init>:(Landroid/hardware/camera2/impl/CameraDeviceImpl;)V
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnIdle:Ljava/lang/Runnable;
        24: .line 227
            aload 0 /* this */
            new android.hardware.camera2.impl.CameraDeviceImpl$7
            dup
            aload 0 /* this */
            invokespecial android.hardware.camera2.impl.CameraDeviceImpl$7.<init>:(Landroid/hardware/camera2/impl/CameraDeviceImpl;)V
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnDisconnected:Ljava/lang/Runnable;
        25: .line 245
            aload 1 /* cameraId */
            ifnull 26
            aload 2 /* callback */
            ifnull 26
            aload 3 /* executor */
            ifnull 26
            aload 4 /* characteristics */
            ifnonnull 27
        26: .line 246
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.lang.String android.hardware.camera2.CameraDevice$StateCallback java.util.concurrent.Executor android.hardware.camera2.CameraCharacteristics int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Null argument given"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cameraId */
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mCameraId:Ljava/lang/String;
        28: .line 249
            aload 0 /* this */
            aload 2 /* callback */
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mDeviceCallback:Landroid/hardware/camera2/CameraDevice$StateCallback;
        29: .line 250
            aload 0 /* this */
            aload 3 /* executor */
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mDeviceExecutor:Ljava/util/concurrent/Executor;
        30: .line 251
            aload 0 /* this */
            aload 4 /* characteristics */
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mCharacteristics:Landroid/hardware/camera2/CameraCharacteristics;
        31: .line 252
            aload 0 /* this */
            iload 5 /* appTargetSdkVersion */
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mAppTargetSdkVersion:I
        32: .line 255
            ldc "CameraDevice-JV-%s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCameraId:Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 6 /* tag */
        start local 6 // java.lang.String tag
        33: .line 256
            aload 6 /* tag */
            invokevirtual java.lang.String.length:()I
            bipush 23
            if_icmple 35
        34: .line 257
            aload 6 /* tag */
            iconst_0
            bipush 23
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* tag */
        35: .line 259
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 6 /* tag */
            putfield android.hardware.camera2.impl.CameraDeviceImpl.TAG:Ljava/lang/String;
        36: .line 262
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCharacteristics:Landroid/hardware/camera2/CameraCharacteristics;
            getstatic android.hardware.camera2.CameraCharacteristics.REQUEST_PARTIAL_RESULT_COUNT:Landroid/hardware/camera2/CameraCharacteristics$Key;
            invokevirtual android.hardware.camera2.CameraCharacteristics.get:(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
            checkcast java.lang.Integer
        37: .line 261
            astore 7 /* partialCount */
        start local 7 // java.lang.Integer partialCount
        38: .line 263
            aload 7 /* partialCount */
            ifnonnull 41
        39: .line 265
            aload 0 /* this */
            iconst_1
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mTotalPartialCount:I
        40: .line 266
            goto 42
        41: .line 267
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 0 /* this */
            aload 7 /* partialCount */
            invokevirtual java.lang.Integer.intValue:()I
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mTotalPartialCount:I
        42: .line 269
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.lang.Integer partialCount
        end local 6 // java.lang.String tag
        end local 5 // int appTargetSdkVersion
        end local 4 // android.hardware.camera2.CameraCharacteristics characteristics
        end local 3 // java.util.concurrent.Executor executor
        end local 2 // android.hardware.camera2.CameraDevice$StateCallback callback
        end local 1 // java.lang.String cameraId
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   43     0                 this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0   43     1             cameraId  Ljava/lang/String;
            0   43     2             callback  Landroid/hardware/camera2/CameraDevice$StateCallback;
            0   43     3             executor  Ljava/util/concurrent/Executor;
            0   43     4      characteristics  Landroid/hardware/camera2/CameraCharacteristics;
            0   43     5  appTargetSdkVersion  I
           33   43     6                  tag  Ljava/lang/String;
           38   43     7         partialCount  Ljava/lang/Integer;
    MethodParameters:
                     Name  Flags
      cameraId             
      callback             
      executor             
      characteristics      
      appTargetSdkVersion  

  public android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks getCallbacks();
    descriptor: ()Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 272
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCallbacks:Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;
            areturn
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/camera2/impl/CameraDeviceImpl;

  public void setRemoteDevice(ICameraDeviceUser);
    descriptor: (LICameraDeviceUser;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 282
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tICameraDeviceUser cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    MethodParameters:
              Name  Flags
      remoteDevice  

  public void setRemoteFailure(android.os.ServiceSpecificException);
    descriptor: (Landroid/os/ServiceSpecificException;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 320
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tICameraService cannot be resolved to a variable\n\tICameraService cannot be resolved to a variable\n\tICameraService cannot be resolved to a variable\n\tICameraService cannot be resolved to a variable\n\tICameraService cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
    MethodParameters:
         Name  Flags
      failure  final

  public java.lang.String getId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 359
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCameraId:Ljava/lang/String;
            areturn
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/camera2/impl/CameraDeviceImpl;

  public void configureOutputs(java.util.List<android.view.Surface>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 369
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tICameraDeviceUser cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    Signature: (Ljava/util/List<Landroid/view/Surface;>;)V
    MethodParameters:
         Name  Flags
      outputs  

  public boolean configureStreamsChecked(android.hardware.camera2.params.InputConfiguration, java.util.List<android.hardware.camera2.params.OutputConfiguration>, int, android.hardware.camera2.CaptureRequest);
    descriptor: (Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;ILandroid/hardware/camera2/CaptureRequest;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=5
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // android.hardware.camera2.params.InputConfiguration inputConfig
        start local 2 // java.util.List outputs
        start local 3 // int operatingMode
        start local 4 // android.hardware.camera2.CaptureRequest sessionParams
         0: .line 398
            aload 2 /* outputs */
            ifnonnull 2
         1: .line 399
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* outputs */
         2: .line 401
      StackMap locals:
      StackMap stack:
            aload 2 /* outputs */
            invokeinterface java.util.List.size:()I
            ifne 4
            aload 1 /* inputConfig */
            ifnull 4
         3: .line 402
            new java.lang.IllegalArgumentException
            dup
            ldc "cannot configure an input stream without any output streams"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* inputConfig */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.checkInputConfiguration:(Landroid/hardware/camera2/params/InputConfiguration;)V
         5: .line 408
            iconst_0
            istore 5 /* success */
        start local 5 // boolean success
         6: .line 410
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInterfaceLock:Ljava/lang/Object;
            dup
            astore 6
            monitorenter
         7: .line 411
            aload 0 /* this */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.checkIfCameraClosedOrInError:()V
         8: .line 413
            new java.util.HashSet
            dup
            aload 2 /* outputs */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 7 /* addSet */
        start local 7 // java.util.HashSet addSet
         9: .line 415
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* deleteList */
        start local 8 // java.util.List deleteList
        10: .line 418
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        11: goto 19
        12: .line 419
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.hardware.camera2.params.InputConfiguration java.util.List int android.hardware.camera2.CaptureRequest int java.lang.Object java.util.HashSet java.util.List int
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            iload 9 /* i */
            invokevirtual android.util.SparseArray.keyAt:(I)I
            istore 10 /* streamId */
        start local 10 // int streamId
        13: .line 420
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            iload 9 /* i */
            invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
            checkcast android.hardware.camera2.params.OutputConfiguration
            astore 11 /* outConfig */
        start local 11 // android.hardware.camera2.params.OutputConfiguration outConfig
        14: .line 422
            aload 2 /* outputs */
            aload 11 /* outConfig */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 15
            aload 11 /* outConfig */
            invokevirtual android.hardware.camera2.params.OutputConfiguration.isDeferredConfiguration:()Z
            ifeq 17
        15: .line 426
      StackMap locals: int android.hardware.camera2.params.OutputConfiguration
      StackMap stack:
            aload 8 /* deleteList */
            iload 10 /* streamId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 427
            goto 18
        17: .line 428
      StackMap locals:
      StackMap stack:
            aload 7 /* addSet */
            aload 11 /* outConfig */
            invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
            pop
        end local 11 // android.hardware.camera2.params.OutputConfiguration outConfig
        end local 10 // int streamId
        18: .line 418
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 9 /* i */
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            invokevirtual android.util.SparseArray.size:()I
            if_icmplt 12
        end local 9 // int i
        20: .line 432
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mDeviceExecutor:Ljava/util/concurrent/Executor;
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnBusy:Ljava/lang/Runnable;
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        21: .line 433
            aload 0 /* this */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.stopRepeating:()V
        22: .line 436
            aload 0 /* this */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.waitUntilIdle:()V
        23: .line 438
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.beginConfigure:()V
        24: .line 441
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredInput:Ljava/util/AbstractMap$SimpleEntry;
            invokevirtual java.util.AbstractMap$SimpleEntry.getValue:()Ljava/lang/Object;
            checkcast android.hardware.camera2.params.InputConfiguration
            astore 9 /* currentInputConfig */
        start local 9 // android.hardware.camera2.params.InputConfiguration currentInputConfig
        25: .line 442
            aload 1 /* inputConfig */
            aload 9 /* currentInputConfig */
            if_acmpeq 39
        26: .line 443
            aload 1 /* inputConfig */
            ifnull 27
            aload 1 /* inputConfig */
            aload 9 /* currentInputConfig */
            invokevirtual android.hardware.camera2.params.InputConfiguration.equals:(Ljava/lang/Object;)Z
            ifne 39
        27: .line 444
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.hardware.camera2.params.InputConfiguration java.util.List int android.hardware.camera2.CaptureRequest int java.lang.Object java.util.HashSet java.util.List android.hardware.camera2.params.InputConfiguration
      StackMap stack:
            aload 9 /* currentInputConfig */
            ifnull 32
        28: .line 445
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredInput:Ljava/util/AbstractMap$SimpleEntry;
            invokevirtual java.util.AbstractMap$SimpleEntry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.deleteStream:(I)V
        29: .line 446
            aload 0 /* this */
            new java.util.AbstractMap$SimpleEntry
            dup
        30: .line 447
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aconst_null
            invokespecial java.util.AbstractMap$SimpleEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
        31: .line 446
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredInput:Ljava/util/AbstractMap$SimpleEntry;
        32: .line 449
      StackMap locals:
      StackMap stack:
            aload 1 /* inputConfig */
            ifnull 39
        33: .line 450
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            aload 1 /* inputConfig */
            invokevirtual android.hardware.camera2.params.InputConfiguration.getWidth:()I
        34: .line 451
            aload 1 /* inputConfig */
            invokevirtual android.hardware.camera2.params.InputConfiguration.getHeight:()I
            aload 1 /* inputConfig */
            invokevirtual android.hardware.camera2.params.InputConfiguration.getFormat:()I
        35: .line 450
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.createInputStream:(III)I
            istore 10 /* streamId */
        start local 10 // int streamId
        36: .line 452
            aload 0 /* this */
            new java.util.AbstractMap$SimpleEntry
            dup
        37: .line 453
            iload 10 /* streamId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* inputConfig */
            invokespecial java.util.AbstractMap$SimpleEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
        38: .line 452
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredInput:Ljava/util/AbstractMap$SimpleEntry;
        end local 10 // int streamId
        39: .line 458
      StackMap locals:
      StackMap stack:
            aload 8 /* deleteList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 43
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.hardware.camera2.params.InputConfiguration java.util.List int android.hardware.camera2.CaptureRequest int java.lang.Object java.util.HashSet java.util.List android.hardware.camera2.params.InputConfiguration top java.util.Iterator
      StackMap stack:
        40: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 10 /* streamId */
        start local 10 // java.lang.Integer streamId
        41: .line 459
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            aload 10 /* streamId */
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.deleteStream:(I)V
        42: .line 460
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            aload 10 /* streamId */
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual android.util.SparseArray.delete:(I)V
        end local 10 // java.lang.Integer streamId
        43: .line 458
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 40
        44: .line 464
            aload 2 /* outputs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 49
      StackMap locals:
      StackMap stack:
        45: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.hardware.camera2.params.OutputConfiguration
            astore 10 /* outConfig */
        start local 10 // android.hardware.camera2.params.OutputConfiguration outConfig
        46: .line 465
            aload 7 /* addSet */
            aload 10 /* outConfig */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 49
        47: .line 466
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            aload 10 /* outConfig */
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.createStream:(Landroid/hardware/camera2/params/OutputConfiguration;)I
            istore 12 /* streamId */
        start local 12 // int streamId
        48: .line 467
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            iload 12 /* streamId */
            aload 10 /* outConfig */
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        end local 12 // int streamId
        end local 10 // android.hardware.camera2.params.OutputConfiguration outConfig
        49: .line 464
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 45
        50: .line 471
            aload 4 /* sessionParams */
            ifnull 53
        51: .line 472
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            iload 3 /* operatingMode */
            aload 4 /* sessionParams */
            invokevirtual android.hardware.camera2.CaptureRequest.getNativeCopy:()Landroid/hardware/camera2/impl/CameraMetadataNative;
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.endConfigure:(ILandroid/hardware/camera2/impl/CameraMetadataNative;)V
        52: .line 473
            goto 54
        53: .line 474
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.hardware.camera2.params.InputConfiguration java.util.List int android.hardware.camera2.CaptureRequest int java.lang.Object java.util.HashSet java.util.List android.hardware.camera2.params.InputConfiguration
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            iload 3 /* operatingMode */
            aconst_null
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.endConfigure:(ILandroid/hardware/camera2/impl/CameraMetadataNative;)V
        54: .line 477
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* success */
        end local 9 // android.hardware.camera2.params.InputConfiguration currentInputConfig
        55: .line 478
            goto 76
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.hardware.camera2.params.InputConfiguration java.util.List int android.hardware.camera2.CaptureRequest int java.lang.Object java.util.HashSet java.util.List
      StackMap stack: java.lang.IllegalArgumentException
        56: astore 9 /* e */
        start local 9 // java.lang.IllegalArgumentException e
        57: .line 481
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Stream configuration failed due to: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* e */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        58: .line 490
            iload 5 /* success */
            ifeq 61
            aload 2 /* outputs */
            invokeinterface java.util.List.size:()I
            ifle 61
        59: .line 491
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mDeviceExecutor:Ljava/util/concurrent/Executor;
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnIdle:Ljava/lang/Runnable;
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        60: .line 492
            goto 62
        61: .line 494
      StackMap locals: java.lang.IllegalArgumentException
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mDeviceExecutor:Ljava/util/concurrent/Executor;
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnUnconfigured:Ljava/lang/Runnable;
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
      StackMap locals:
      StackMap stack:
        62: aload 6
            monitorexit
        63: .line 482
            iconst_0
            ireturn
        end local 9 // java.lang.IllegalArgumentException e
        64: .line 483
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.hardware.camera2.params.InputConfiguration java.util.List int android.hardware.camera2.CaptureRequest int java.lang.Object java.util.HashSet java.util.List
      StackMap stack: android.hardware.camera2.CameraAccessException
            astore 9 /* e */
        start local 9 // android.hardware.camera2.CameraAccessException e
        65: .line 484
            aload 9 /* e */
            invokevirtual android.hardware.camera2.CameraAccessException.getReason:()I
            iconst_4
            if_icmpne 69
        66: .line 485
            new java.lang.IllegalStateException
            dup
            ldc "The camera is currently busy. You must wait until the previous operation completes."
        67: .line 486
            aload 9 /* e */
        68: .line 485
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        69: .line 488
      StackMap locals: android.hardware.camera2.CameraAccessException
      StackMap stack:
            aload 9 /* e */
            athrow
        end local 9 // android.hardware.camera2.CameraAccessException e
        70: .line 489
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.hardware.camera2.params.InputConfiguration java.util.List int android.hardware.camera2.CaptureRequest int java.lang.Object java.util.HashSet java.util.List
      StackMap stack: java.lang.Throwable
            astore 13
        71: .line 490
            iload 5 /* success */
            ifeq 74
            aload 2 /* outputs */
            invokeinterface java.util.List.size:()I
            ifle 74
        72: .line 491
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mDeviceExecutor:Ljava/util/concurrent/Executor;
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnIdle:Ljava/lang/Runnable;
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        73: .line 492
            goto 75
        74: .line 494
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.hardware.camera2.params.InputConfiguration java.util.List int android.hardware.camera2.CaptureRequest int java.lang.Object java.util.HashSet java.util.List top top top top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mDeviceExecutor:Ljava/util/concurrent/Executor;
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnUnconfigured:Ljava/lang/Runnable;
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        75: .line 496
      StackMap locals:
      StackMap stack:
            aload 13
            athrow
        76: .line 490
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.hardware.camera2.params.InputConfiguration java.util.List int android.hardware.camera2.CaptureRequest int java.lang.Object java.util.HashSet java.util.List
      StackMap stack:
            iload 5 /* success */
            ifeq 79
            aload 2 /* outputs */
            invokeinterface java.util.List.size:()I
            ifle 79
        77: .line 491
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mDeviceExecutor:Ljava/util/concurrent/Executor;
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnIdle:Ljava/lang/Runnable;
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        78: .line 492
            goto 80
        79: .line 494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mDeviceExecutor:Ljava/util/concurrent/Executor;
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnUnconfigured:Ljava/lang/Runnable;
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        end local 8 // java.util.List deleteList
        end local 7 // java.util.HashSet addSet
        80: .line 410
      StackMap locals:
      StackMap stack:
            aload 6
            monitorexit
        81: goto 84
      StackMap locals:
      StackMap stack: java.lang.Throwable
        82: aload 6
            monitorexit
        83: athrow
        84: .line 499
      StackMap locals:
      StackMap stack:
            iload 5 /* success */
            ireturn
        end local 5 // boolean success
        end local 4 // android.hardware.camera2.CaptureRequest sessionParams
        end local 3 // int operatingMode
        end local 2 // java.util.List outputs
        end local 1 // android.hardware.camera2.params.InputConfiguration inputConfig
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   85     0                this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0   85     1         inputConfig  Landroid/hardware/camera2/params/InputConfiguration;
            0   85     2             outputs  Ljava/util/List<Landroid/hardware/camera2/params/OutputConfiguration;>;
            0   85     3       operatingMode  I
            0   85     4       sessionParams  Landroid/hardware/camera2/CaptureRequest;
            6   85     5             success  Z
            9   80     7              addSet  Ljava/util/HashSet<Landroid/hardware/camera2/params/OutputConfiguration;>;
           10   80     8          deleteList  Ljava/util/List<Ljava/lang/Integer;>;
           11   20     9                   i  I
           13   18    10            streamId  I
           14   18    11           outConfig  Landroid/hardware/camera2/params/OutputConfiguration;
           25   55     9  currentInputConfig  Landroid/hardware/camera2/params/InputConfiguration;
           36   39    10            streamId  I
           41   43    10            streamId  Ljava/lang/Integer;
           46   49    10           outConfig  Landroid/hardware/camera2/params/OutputConfiguration;
           48   49    12            streamId  I
           57   64     9                   e  Ljava/lang/IllegalArgumentException;
           65   70     9                   e  Landroid/hardware/camera2/CameraAccessException;
      Exception table:
        from    to  target  type
          22    55      56  Class java.lang.IllegalArgumentException
          22    55      64  Class android.hardware.camera2.CameraAccessException
          22    58      70  any
          64    70      70  any
           7    63      82  any
          64    81      82  any
          82    83      82  any
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    Signature: (Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List<Landroid/hardware/camera2/params/OutputConfiguration;>;ILandroid/hardware/camera2/CaptureRequest;)Z
    MethodParameters:
               Name  Flags
      inputConfig    
      outputs        
      operatingMode  
      sessionParams  

  public void createCaptureSession(java.util.List<android.view.Surface>, android.hardware.camera2.CameraCaptureSession$StateCallback, android.os.Handler);
    descriptor: (Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 511
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tICameraDeviceUser cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    Signature: (Ljava/util/List<Landroid/view/Surface;>;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
    MethodParameters:
          Name  Flags
      outputs   
      callback  
      handler   

  public void createCaptureSessionByOutputConfigurations(java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession$StateCallback, android.os.Handler);
    descriptor: (Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 528
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tICameraDeviceUser cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    Signature: (Ljava/util/List<Landroid/hardware/camera2/params/OutputConfiguration;>;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
    MethodParameters:
                      Name  Flags
      outputConfigurations  
      callback              
      handler               

  public void createReprocessableCaptureSession(android.hardware.camera2.params.InputConfiguration, java.util.List<android.view.Surface>, android.hardware.camera2.CameraCaptureSession$StateCallback, android.os.Handler);
    descriptor: (Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 548
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tICameraDeviceUser cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    Signature: (Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List<Landroid/view/Surface;>;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
    MethodParameters:
             Name  Flags
      inputConfig  
      outputs      
      callback     
      handler      

  public void createReprocessableCaptureSessionByConfigurations(android.hardware.camera2.params.InputConfiguration, java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession$StateCallback, android.os.Handler);
    descriptor: (Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 578
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tICameraDeviceUser cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    Signature: (Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List<Landroid/hardware/camera2/params/OutputConfiguration;>;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
    MethodParameters:
             Name  Flags
      inputConfig  
      outputs      
      callback     
      handler      

  public void createConstrainedHighSpeedCaptureSession(java.util.List<android.view.Surface>, android.hardware.camera2.CameraCaptureSession$StateCallback, android.os.Handler);
    descriptor: (Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 595
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tICameraDeviceUser cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    Signature: (Ljava/util/List<Landroid/view/Surface;>;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
    MethodParameters:
          Name  Flags
      outputs   
      callback  
      handler   

  public void createCustomCaptureSession(android.hardware.camera2.params.InputConfiguration, java.util.List<android.hardware.camera2.params.OutputConfiguration>, int, android.hardware.camera2.CameraCaptureSession$StateCallback, android.os.Handler);
    descriptor: (Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;ILandroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=6
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // android.hardware.camera2.params.InputConfiguration inputConfig
        start local 2 // java.util.List outputs
        start local 3 // int operatingMode
        start local 4 // android.hardware.camera2.CameraCaptureSession$StateCallback callback
        start local 5 // android.os.Handler handler
         0: .line 605
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* currentOutputs */
        start local 6 // java.util.List currentOutputs
         1: .line 606
            aload 2 /* outputs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 4
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.hardware.camera2.params.InputConfiguration java.util.List int android.hardware.camera2.CameraCaptureSession$StateCallback android.os.Handler java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.hardware.camera2.params.OutputConfiguration
            astore 7 /* output */
        start local 7 // android.hardware.camera2.params.OutputConfiguration output
         3: .line 607
            aload 6 /* currentOutputs */
            new android.hardware.camera2.params.OutputConfiguration
            dup
            aload 7 /* output */
            invokespecial android.hardware.camera2.params.OutputConfiguration.<init>:(Landroid/hardware/camera2/params/OutputConfiguration;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // android.hardware.camera2.params.OutputConfiguration output
         4: .line 606
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 609
            aload 0 /* this */
            aload 1 /* inputConfig */
            aload 6 /* currentOutputs */
            aload 4 /* callback */
         6: .line 610
            aload 5 /* handler */
            invokestatic android.hardware.camera2.impl.CameraDeviceImpl.checkAndWrapHandler:(Landroid/os/Handler;)Ljava/util/concurrent/Executor;
            iload 3 /* operatingMode */
            aconst_null
         7: .line 609
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.createCaptureSessionInternal:(Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Ljava/util/concurrent/Executor;ILandroid/hardware/camera2/CaptureRequest;)V
         8: .line 611
            return
        end local 6 // java.util.List currentOutputs
        end local 5 // android.os.Handler handler
        end local 4 // android.hardware.camera2.CameraCaptureSession$StateCallback callback
        end local 3 // int operatingMode
        end local 2 // java.util.List outputs
        end local 1 // android.hardware.camera2.params.InputConfiguration inputConfig
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0    9     1     inputConfig  Landroid/hardware/camera2/params/InputConfiguration;
            0    9     2         outputs  Ljava/util/List<Landroid/hardware/camera2/params/OutputConfiguration;>;
            0    9     3   operatingMode  I
            0    9     4        callback  Landroid/hardware/camera2/CameraCaptureSession$StateCallback;
            0    9     5         handler  Landroid/os/Handler;
            1    9     6  currentOutputs  Ljava/util/List<Landroid/hardware/camera2/params/OutputConfiguration;>;
            3    4     7          output  Landroid/hardware/camera2/params/OutputConfiguration;
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    Signature: (Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List<Landroid/hardware/camera2/params/OutputConfiguration;>;ILandroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
    MethodParameters:
               Name  Flags
      inputConfig    
      outputs        
      operatingMode  
      callback       
      handler        

  public void createCaptureSession(android.hardware.camera2.params.SessionConfiguration);
    descriptor: (Landroid/hardware/camera2/params/SessionConfiguration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // android.hardware.camera2.params.SessionConfiguration config
         0: .line 616
            aload 1 /* config */
            ifnonnull 2
         1: .line 617
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid session configuration"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 620
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            invokevirtual android.hardware.camera2.params.SessionConfiguration.getOutputConfigurations:()Ljava/util/List;
            astore 2 /* outputConfigs */
        start local 2 // java.util.List outputConfigs
         3: .line 621
            aload 2 /* outputConfigs */
            ifnonnull 5
         4: .line 622
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid output configurations"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 624
      StackMap locals: java.util.List
      StackMap stack:
            aload 1 /* config */
            invokevirtual android.hardware.camera2.params.SessionConfiguration.getExecutor:()Ljava/util/concurrent/Executor;
            ifnonnull 7
         6: .line 625
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid executor"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 627
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual android.hardware.camera2.params.SessionConfiguration.getInputConfiguration:()Landroid/hardware/camera2/params/InputConfiguration;
            aload 2 /* outputConfigs */
         8: .line 628
            aload 1 /* config */
            invokevirtual android.hardware.camera2.params.SessionConfiguration.getStateCallback:()Landroid/hardware/camera2/CameraCaptureSession$StateCallback;
            aload 1 /* config */
            invokevirtual android.hardware.camera2.params.SessionConfiguration.getExecutor:()Ljava/util/concurrent/Executor;
            aload 1 /* config */
            invokevirtual android.hardware.camera2.params.SessionConfiguration.getSessionType:()I
         9: .line 629
            aload 1 /* config */
            invokevirtual android.hardware.camera2.params.SessionConfiguration.getSessionParameters:()Landroid/hardware/camera2/CaptureRequest;
        10: .line 627
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.createCaptureSessionInternal:(Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Ljava/util/concurrent/Executor;ILandroid/hardware/camera2/CaptureRequest;)V
        11: .line 630
            return
        end local 2 // java.util.List outputConfigs
        end local 1 // android.hardware.camera2.params.SessionConfiguration config
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0   12     1         config  Landroid/hardware/camera2/params/SessionConfiguration;
            3   12     2  outputConfigs  Ljava/util/List<Landroid/hardware/camera2/params/OutputConfiguration;>;
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    MethodParameters:
        Name  Flags
      config  

  private void createCaptureSessionInternal(android.hardware.camera2.params.InputConfiguration, java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession$StateCallback, java.util.concurrent.Executor, int, android.hardware.camera2.CaptureRequest);
    descriptor: (Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Ljava/util/concurrent/Executor;ILandroid/hardware/camera2/CaptureRequest;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=7
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 644
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tICameraDeviceUser cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    Signature: (Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List<Landroid/hardware/camera2/params/OutputConfiguration;>;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Ljava/util/concurrent/Executor;ILandroid/hardware/camera2/CaptureRequest;)V
    MethodParameters:
                      Name  Flags
      inputConfig           
      outputConfigurations  
      callback              
      executor              
      operatingMode         
      sessionParams         

  public void setSessionListener(android.hardware.camera2.impl.CameraDeviceImpl$StateCallbackKK);
    descriptor: (Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // android.hardware.camera2.impl.CameraDeviceImpl$StateCallbackKK sessionCallback
         0: .line 710
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInterfaceLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 711
            aload 0 /* this */
            aload 1 /* sessionCallback */
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mSessionStateCallback:Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;
         2: .line 710
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.hardware.camera2.impl.CameraDeviceImpl$StateCallbackKK java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 713
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.hardware.camera2.impl.CameraDeviceImpl$StateCallbackKK sessionCallback
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0    7     1  sessionCallback  Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
                 Name  Flags
      sessionCallback  

  private void overrideEnableZsl(android.hardware.camera2.impl.CameraMetadataNative, boolean);
    descriptor: (Landroid/hardware/camera2/impl/CameraMetadataNative;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // android.hardware.camera2.impl.CameraMetadataNative request
        start local 2 // boolean newValue
         0: .line 716
            aload 1 /* request */
            getstatic android.hardware.camera2.CaptureRequest.CONTROL_ENABLE_ZSL:Landroid/hardware/camera2/CaptureRequest$Key;
            invokevirtual android.hardware.camera2.impl.CameraMetadataNative.get:(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 3 /* enableZsl */
        start local 3 // java.lang.Boolean enableZsl
         1: .line 717
            aload 3 /* enableZsl */
            ifnonnull 3
         2: .line 719
            return
         3: .line 722
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 1 /* request */
            getstatic android.hardware.camera2.CaptureRequest.CONTROL_ENABLE_ZSL:Landroid/hardware/camera2/CaptureRequest$Key;
            iload 2 /* newValue */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual android.hardware.camera2.impl.CameraMetadataNative.set:(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
         4: .line 723
            return
        end local 3 // java.lang.Boolean enableZsl
        end local 2 // boolean newValue
        end local 1 // android.hardware.camera2.impl.CameraMetadataNative request
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0    5     1    request  Landroid/hardware/camera2/impl/CameraMetadataNative;
            0    5     2   newValue  Z
            1    5     3  enableZsl  Ljava/lang/Boolean;
    MethodParameters:
          Name  Flags
      request   
      newValue  

  public android.hardware.camera2.CaptureRequest$Builder createCaptureRequest(int, java.util.Set<java.lang.String>);
    descriptor: (ILjava/util/Set;)Landroid/hardware/camera2/CaptureRequest$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // int templateType
        start local 2 // java.util.Set physicalCameraIdSet
         0: .line 729
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInterfaceLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 730
            aload 0 /* this */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.checkIfCameraClosedOrInError:()V
         2: .line 732
            aload 2 /* physicalCameraIdSet */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl int java.util.Set java.lang.Object top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* physicalId */
        start local 4 // java.lang.String physicalId
         4: .line 733
            aload 4 /* physicalId */
            aload 0 /* this */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.getId:()Ljava/lang/String;
            if_acmpne 6
         5: .line 734
            new java.lang.IllegalStateException
            dup
            ldc "Physical id matches the logical id!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String physicalId
         6: .line 732
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 738
            aconst_null
            astore 4 /* templatedRequest */
        start local 4 // android.hardware.camera2.impl.CameraMetadataNative templatedRequest
         8: .line 740
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            iload 1 /* templateType */
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.createDefaultRequest:(I)Landroid/hardware/camera2/impl/CameraMetadataNative;
            astore 4 /* templatedRequest */
         9: .line 744
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mAppTargetSdkVersion:I
            bipush 26
            if_icmplt 11
        10: .line 745
            iload 1 /* templateType */
            iconst_2
            if_icmpeq 12
        11: .line 746
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl int java.util.Set java.lang.Object android.hardware.camera2.impl.CameraMetadataNative
      StackMap stack:
            aload 0 /* this */
            aload 4 /* templatedRequest */
            iconst_0
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.overrideEnableZsl:(Landroid/hardware/camera2/impl/CameraMetadataNative;Z)V
        12: .line 749
      StackMap locals:
      StackMap stack:
            new android.hardware.camera2.CaptureRequest$Builder
            dup
        13: .line 750
            aload 4 /* templatedRequest */
            iconst_0
            iconst_m1
        14: .line 751
            aload 0 /* this */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.getId:()Ljava/lang/String;
            aload 2 /* physicalCameraIdSet */
        15: .line 749
            invokespecial android.hardware.camera2.CaptureRequest$Builder.<init>:(Landroid/hardware/camera2/impl/CameraMetadataNative;ZILjava/lang/String;Ljava/util/Set;)V
            astore 5 /* builder */
        start local 5 // android.hardware.camera2.CaptureRequest$Builder builder
        16: .line 753
            aload 5 /* builder */
            aload 3
            monitorexit
        17: areturn
        end local 5 // android.hardware.camera2.CaptureRequest$Builder builder
        end local 4 // android.hardware.camera2.impl.CameraMetadataNative templatedRequest
        18: .line 729
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl int java.util.Set java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        19: athrow
        end local 2 // java.util.Set physicalCameraIdSet
        end local 1 // int templateType
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   20     0                 this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0   20     1         templateType  I
            0   20     2  physicalCameraIdSet  Ljava/util/Set<Ljava/lang/String;>;
            4    6     4           physicalId  Ljava/lang/String;
            8   18     4     templatedRequest  Landroid/hardware/camera2/impl/CameraMetadataNative;
           16   18     5              builder  Landroid/hardware/camera2/CaptureRequest$Builder;
      Exception table:
        from    to  target  type
           1    17      18  any
          18    19      18  any
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    Signature: (ILjava/util/Set<Ljava/lang/String;>;)Landroid/hardware/camera2/CaptureRequest$Builder;
    MethodParameters:
                     Name  Flags
      templateType         
      physicalCameraIdSet  

  public android.hardware.camera2.CaptureRequest$Builder createCaptureRequest(int);
    descriptor: (I)Landroid/hardware/camera2/CaptureRequest$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // int templateType
         0: .line 760
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInterfaceLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 761
            aload 0 /* this */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.checkIfCameraClosedOrInError:()V
         2: .line 763
            aconst_null
            astore 3 /* templatedRequest */
        start local 3 // android.hardware.camera2.impl.CameraMetadataNative templatedRequest
         3: .line 765
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            iload 1 /* templateType */
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.createDefaultRequest:(I)Landroid/hardware/camera2/impl/CameraMetadataNative;
            astore 3 /* templatedRequest */
         4: .line 769
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mAppTargetSdkVersion:I
            bipush 26
            if_icmplt 6
         5: .line 770
            iload 1 /* templateType */
            iconst_2
            if_icmpeq 7
         6: .line 771
      StackMap locals: java.lang.Object android.hardware.camera2.impl.CameraMetadataNative
      StackMap stack:
            aload 0 /* this */
            aload 3 /* templatedRequest */
            iconst_0
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.overrideEnableZsl:(Landroid/hardware/camera2/impl/CameraMetadataNative;Z)V
         7: .line 774
      StackMap locals:
      StackMap stack:
            new android.hardware.camera2.CaptureRequest$Builder
            dup
         8: .line 775
            aload 3 /* templatedRequest */
            iconst_0
            iconst_m1
         9: .line 776
            aload 0 /* this */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.getId:()Ljava/lang/String;
            aconst_null
        10: .line 774
            invokespecial android.hardware.camera2.CaptureRequest$Builder.<init>:(Landroid/hardware/camera2/impl/CameraMetadataNative;ZILjava/lang/String;Ljava/util/Set;)V
            astore 4 /* builder */
        start local 4 // android.hardware.camera2.CaptureRequest$Builder builder
        11: .line 778
            aload 4 /* builder */
            aload 2
            monitorexit
        12: areturn
        end local 4 // android.hardware.camera2.CaptureRequest$Builder builder
        end local 3 // android.hardware.camera2.impl.CameraMetadataNative templatedRequest
        13: .line 760
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl int java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        14: athrow
        end local 1 // int templateType
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0   15     1      templateType  I
            3   13     3  templatedRequest  Landroid/hardware/camera2/impl/CameraMetadataNative;
           11   13     4           builder  Landroid/hardware/camera2/CaptureRequest$Builder;
      Exception table:
        from    to  target  type
           1    12      13  any
          13    14      13  any
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    MethodParameters:
              Name  Flags
      templateType  

  public android.hardware.camera2.CaptureRequest$Builder createReprocessCaptureRequest(android.hardware.camera2.TotalCaptureResult);
    descriptor: (Landroid/hardware/camera2/TotalCaptureResult;)Landroid/hardware/camera2/CaptureRequest$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // android.hardware.camera2.TotalCaptureResult inputResult
         0: .line 785
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInterfaceLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 786
            aload 0 /* this */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.checkIfCameraClosedOrInError:()V
         2: .line 789
            new android.hardware.camera2.impl.CameraMetadataNative
            dup
            aload 1 /* inputResult */
            invokevirtual android.hardware.camera2.TotalCaptureResult.getNativeCopy:()Landroid/hardware/camera2/impl/CameraMetadataNative;
         3: .line 788
            invokespecial android.hardware.camera2.impl.CameraMetadataNative.<init>:(Landroid/hardware/camera2/impl/CameraMetadataNative;)V
            astore 3 /* resultMetadata */
        start local 3 // android.hardware.camera2.impl.CameraMetadataNative resultMetadata
         4: .line 791
            new android.hardware.camera2.CaptureRequest$Builder
            dup
            aload 3 /* resultMetadata */
            iconst_1
         5: .line 792
            aload 1 /* inputResult */
            invokevirtual android.hardware.camera2.TotalCaptureResult.getSessionId:()I
            aload 0 /* this */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.getId:()Ljava/lang/String;
            aconst_null
         6: .line 791
            invokespecial android.hardware.camera2.CaptureRequest$Builder.<init>:(Landroid/hardware/camera2/impl/CameraMetadataNative;ZILjava/lang/String;Ljava/util/Set;)V
            aload 2
            monitorexit
         7: areturn
        end local 3 // android.hardware.camera2.impl.CameraMetadataNative resultMetadata
         8: .line 785
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.hardware.camera2.TotalCaptureResult java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         9: athrow
        end local 1 // android.hardware.camera2.TotalCaptureResult inputResult
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0   10     1     inputResult  Landroid/hardware/camera2/TotalCaptureResult;
            4    8     3  resultMetadata  Landroid/hardware/camera2/impl/CameraMetadataNative;
      Exception table:
        from    to  target  type
           1     7       8  any
           8     9       8  any
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    MethodParameters:
             Name  Flags
      inputResult  

  public void prepare(android.view.Surface);
    descriptor: (Landroid/view/Surface;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // android.view.Surface surface
         0: .line 797
            aload 1 /* surface */
            ifnonnull 1
            new java.lang.IllegalArgumentException
            dup
            ldc "Surface is null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         1: .line 799
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInterfaceLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         2: .line 800
            iconst_m1
            istore 3 /* streamId */
        start local 3 // int streamId
         3: .line 801
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 10
         5: .line 802
      StackMap locals: java.lang.Object int int
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            iload 4 /* i */
            invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
            checkcast android.hardware.camera2.params.OutputConfiguration
            invokevirtual android.hardware.camera2.params.OutputConfiguration.getSurfaces:()Ljava/util/List;
            astore 5 /* surfaces */
        start local 5 // java.util.List surfaces
         6: .line 803
            aload 5 /* surfaces */
            aload 1 /* surface */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 804
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            iload 4 /* i */
            invokevirtual android.util.SparseArray.keyAt:(I)I
            istore 3 /* streamId */
         8: .line 805
            goto 11
        end local 5 // java.util.List surfaces
         9: .line 801
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            invokevirtual android.util.SparseArray.size:()I
            if_icmplt 5
        end local 4 // int i
        11: .line 808
      StackMap locals:
      StackMap stack:
            iload 3 /* streamId */
            iconst_m1
            if_icmpne 13
        12: .line 809
            new java.lang.IllegalArgumentException
            dup
            ldc "Surface is not part of this session"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 812
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            iload 3 /* streamId */
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.prepare:(I)V
        end local 3 // int streamId
        14: .line 799
            aload 2
            monitorexit
        15: goto 18
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.view.Surface java.lang.Object
      StackMap stack: java.lang.Throwable
        16: aload 2
            monitorexit
        17: athrow
        18: .line 814
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.Surface surface
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0   19     1   surface  Landroid/view/Surface;
            3   14     3  streamId  I
            4   11     4         i  I
            6    9     5  surfaces  Ljava/util/List<Landroid/view/Surface;>;
      Exception table:
        from    to  target  type
           2    15      16  any
          16    17      16  any
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    MethodParameters:
         Name  Flags
      surface  

  public void prepare(int, android.view.Surface);
    descriptor: (ILandroid/view/Surface;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // int maxCount
        start local 2 // android.view.Surface surface
         0: .line 817
            aload 2 /* surface */
            ifnonnull 1
            new java.lang.IllegalArgumentException
            dup
            ldc "Surface is null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         1: .line 818
      StackMap locals:
      StackMap stack:
            iload 1 /* maxCount */
            ifgt 3
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid maxCount given: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 819
            iload 1 /* maxCount */
            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
         3: .line 821
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInterfaceLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         4: .line 822
            iconst_m1
            istore 4 /* streamId */
        start local 4 // int streamId
         5: .line 823
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 11
         7: .line 824
      StackMap locals: java.lang.Object int int
      StackMap stack:
            aload 2 /* surface */
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            iload 5 /* i */
            invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
            checkcast android.hardware.camera2.params.OutputConfiguration
            invokevirtual android.hardware.camera2.params.OutputConfiguration.getSurface:()Landroid/view/Surface;
            if_acmpne 10
         8: .line 825
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            iload 5 /* i */
            invokevirtual android.util.SparseArray.keyAt:(I)I
            istore 4 /* streamId */
         9: .line 826
            goto 12
        10: .line 823
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            invokevirtual android.util.SparseArray.size:()I
            if_icmplt 7
        end local 5 // int i
        12: .line 829
      StackMap locals:
      StackMap stack:
            iload 4 /* streamId */
            iconst_m1
            if_icmpne 14
        13: .line 830
            new java.lang.IllegalArgumentException
            dup
            ldc "Surface is not part of this session"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 833
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            iload 1 /* maxCount */
            iload 4 /* streamId */
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.prepare2:(II)V
        end local 4 // int streamId
        15: .line 821
            aload 3
            monitorexit
        16: goto 19
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl int android.view.Surface java.lang.Object
      StackMap stack: java.lang.Throwable
        17: aload 3
            monitorexit
        18: athrow
        19: .line 835
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.view.Surface surface
        end local 1 // int maxCount
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0   20     1  maxCount  I
            0   20     2   surface  Landroid/view/Surface;
            5   15     4  streamId  I
            6   12     5         i  I
      Exception table:
        from    to  target  type
           4    16      17  any
          17    18      17  any
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    MethodParameters:
          Name  Flags
      maxCount  
      surface   

  public void updateOutputConfiguration(android.hardware.camera2.params.OutputConfiguration);
    descriptor: (Landroid/hardware/camera2/params/OutputConfiguration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // android.hardware.camera2.params.OutputConfiguration config
         0: .line 839
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInterfaceLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 840
            iconst_m1
            istore 3 /* streamId */
        start local 3 // int streamId
         2: .line 841
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 842
      StackMap locals: java.lang.Object int int
      StackMap stack:
            aload 1 /* config */
            invokevirtual android.hardware.camera2.params.OutputConfiguration.getSurface:()Landroid/view/Surface;
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            iload 4 /* i */
            invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
            checkcast android.hardware.camera2.params.OutputConfiguration
            invokevirtual android.hardware.camera2.params.OutputConfiguration.getSurface:()Landroid/view/Surface;
            if_acmpne 7
         5: .line 843
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            iload 4 /* i */
            invokevirtual android.util.SparseArray.keyAt:(I)I
            istore 3 /* streamId */
         6: .line 844
            goto 9
         7: .line 841
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            invokevirtual android.util.SparseArray.size:()I
            if_icmplt 4
        end local 4 // int i
         9: .line 847
      StackMap locals:
      StackMap stack:
            iload 3 /* streamId */
            iconst_m1
            if_icmpne 11
        10: .line 848
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid output configuration"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 851
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            iload 3 /* streamId */
            aload 1 /* config */
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.updateOutputConfiguration:(ILandroid/hardware/camera2/params/OutputConfiguration;)V
        12: .line 852
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            iload 3 /* streamId */
            aload 1 /* config */
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        end local 3 // int streamId
        13: .line 839
            aload 2
            monitorexit
        14: goto 17
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.hardware.camera2.params.OutputConfiguration java.lang.Object
      StackMap stack: java.lang.Throwable
        15: aload 2
            monitorexit
        16: athrow
        17: .line 854
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.hardware.camera2.params.OutputConfiguration config
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0   18     1    config  Landroid/hardware/camera2/params/OutputConfiguration;
            2   13     3  streamId  I
            3    9     4         i  I
      Exception table:
        from    to  target  type
           1    14      15  any
          15    16      15  any
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    MethodParameters:
        Name  Flags
      config  

  public void tearDown(android.view.Surface);
    descriptor: (Landroid/view/Surface;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // android.view.Surface surface
         0: .line 857
            aload 1 /* surface */
            ifnonnull 1
            new java.lang.IllegalArgumentException
            dup
            ldc "Surface is null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         1: .line 859
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInterfaceLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         2: .line 860
            iconst_m1
            istore 3 /* streamId */
        start local 3 // int streamId
         3: .line 861
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 9
         5: .line 862
      StackMap locals: java.lang.Object int int
      StackMap stack:
            aload 1 /* surface */
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            iload 4 /* i */
            invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
            checkcast android.hardware.camera2.params.OutputConfiguration
            invokevirtual android.hardware.camera2.params.OutputConfiguration.getSurface:()Landroid/view/Surface;
            if_acmpne 8
         6: .line 863
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            iload 4 /* i */
            invokevirtual android.util.SparseArray.keyAt:(I)I
            istore 3 /* streamId */
         7: .line 864
            goto 10
         8: .line 861
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            invokevirtual android.util.SparseArray.size:()I
            if_icmplt 5
        end local 4 // int i
        10: .line 867
      StackMap locals:
      StackMap stack:
            iload 3 /* streamId */
            iconst_m1
            if_icmpne 12
        11: .line 868
            new java.lang.IllegalArgumentException
            dup
            ldc "Surface is not part of this session"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 871
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            iload 3 /* streamId */
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.tearDown:(I)V
        end local 3 // int streamId
        13: .line 859
            aload 2
            monitorexit
        14: goto 17
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.view.Surface java.lang.Object
      StackMap stack: java.lang.Throwable
        15: aload 2
            monitorexit
        16: athrow
        17: .line 873
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.Surface surface
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0   18     1   surface  Landroid/view/Surface;
            3   13     3  streamId  I
            4   10     4         i  I
      Exception table:
        from    to  target  type
           2    14      15  any
          15    16      15  any
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    MethodParameters:
         Name  Flags
      surface  

  public void finalizeOutputConfigs(java.util.List<android.hardware.camera2.params.OutputConfiguration>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // java.util.List outputConfigs
         0: .line 877
            aload 1 /* outputConfigs */
            ifnull 1
            aload 1 /* outputConfigs */
            invokeinterface java.util.List.size:()I
            ifne 2
         1: .line 878
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "deferred config is null or empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 881
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInterfaceLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         3: .line 882
            aload 1 /* outputConfigs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 21
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.util.List java.lang.Object top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.hardware.camera2.params.OutputConfiguration
            astore 3 /* config */
        start local 3 // android.hardware.camera2.params.OutputConfiguration config
         5: .line 883
            iconst_m1
            istore 5 /* streamId */
        start local 5 // int streamId
         6: .line 884
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 12
         8: .line 887
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.util.List java.lang.Object android.hardware.camera2.params.OutputConfiguration java.util.Iterator int int
      StackMap stack:
            aload 3 /* config */
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            iload 6 /* i */
            invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
            invokevirtual android.hardware.camera2.params.OutputConfiguration.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 888
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            iload 6 /* i */
            invokevirtual android.util.SparseArray.keyAt:(I)I
            istore 5 /* streamId */
        10: .line 889
            goto 13
        11: .line 884
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            invokevirtual android.util.SparseArray.size:()I
            if_icmplt 8
        end local 6 // int i
        13: .line 892
      StackMap locals:
      StackMap stack:
            iload 5 /* streamId */
            iconst_m1
            if_icmpne 15
        14: .line 893
            new java.lang.IllegalArgumentException
            dup
            ldc "Deferred config is not part of this session"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 897
      StackMap locals:
      StackMap stack:
            aload 3 /* config */
            invokevirtual android.hardware.camera2.params.OutputConfiguration.getSurfaces:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifne 19
        16: .line 898
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The final config for stream "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* streamId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        17: .line 899
            ldc " must have at least 1 surface"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 898
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 901
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            iload 5 /* streamId */
            aload 3 /* config */
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.finalizeOutputConfigurations:(ILandroid/hardware/camera2/params/OutputConfiguration;)V
        20: .line 902
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            iload 5 /* streamId */
            aload 3 /* config */
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        end local 5 // int streamId
        end local 3 // android.hardware.camera2.params.OutputConfiguration config
        21: .line 882
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.util.List java.lang.Object top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        22: .line 881
            aload 2
            monitorexit
        23: goto 26
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.util.List java.lang.Object
      StackMap stack: java.lang.Throwable
        24: aload 2
            monitorexit
        25: athrow
        26: .line 905
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.List outputConfigs
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   27     0           this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0   27     1  outputConfigs  Ljava/util/List<Landroid/hardware/camera2/params/OutputConfiguration;>;
            5   21     3         config  Landroid/hardware/camera2/params/OutputConfiguration;
            6   21     5       streamId  I
            7   13     6              i  I
      Exception table:
        from    to  target  type
           3    23      24  any
          24    25      24  any
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    Signature: (Ljava/util/List<Landroid/hardware/camera2/params/OutputConfiguration;>;)V
    MethodParameters:
               Name  Flags
      outputConfigs  

  public int capture(android.hardware.camera2.CaptureRequest, android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback, java.util.concurrent.Executor);
    descriptor: (Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // android.hardware.camera2.CaptureRequest request
        start local 2 // android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback callback
        start local 3 // java.util.concurrent.Executor executor
         0: .line 912
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* requestList */
        start local 4 // java.util.List requestList
         1: .line 913
            aload 4 /* requestList */
            aload 1 /* request */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 914
            aload 0 /* this */
            aload 4 /* requestList */
            aload 2 /* callback */
            aload 3 /* executor */
            iconst_0
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.submitCaptureRequest:(Ljava/util/List;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;Z)I
            ireturn
        end local 4 // java.util.List requestList
        end local 3 // java.util.concurrent.Executor executor
        end local 2 // android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback callback
        end local 1 // android.hardware.camera2.CaptureRequest request
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0    3     1      request  Landroid/hardware/camera2/CaptureRequest;
            0    3     2     callback  Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;
            0    3     3     executor  Ljava/util/concurrent/Executor;
            1    3     4  requestList  Ljava/util/List<Landroid/hardware/camera2/CaptureRequest;>;
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    MethodParameters:
          Name  Flags
      request   
      callback  
      executor  

  public int captureBurst(java.util.List<android.hardware.camera2.CaptureRequest>, android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback, java.util.concurrent.Executor);
    descriptor: (Ljava/util/List;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // java.util.List requests
        start local 2 // android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback callback
        start local 3 // java.util.concurrent.Executor executor
         0: .line 919
            aload 1 /* requests */
            ifnull 1
            aload 1 /* requests */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 920
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "At least one request must be given"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 922
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* requests */
            aload 2 /* callback */
            aload 3 /* executor */
            iconst_0
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.submitCaptureRequest:(Ljava/util/List;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;Z)I
            ireturn
        end local 3 // java.util.concurrent.Executor executor
        end local 2 // android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback callback
        end local 1 // java.util.List requests
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0    3     1  requests  Ljava/util/List<Landroid/hardware/camera2/CaptureRequest;>;
            0    3     2  callback  Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;
            0    3     3  executor  Ljava/util/concurrent/Executor;
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    Signature: (Ljava/util/List<Landroid/hardware/camera2/CaptureRequest;>;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;)I
    MethodParameters:
          Name  Flags
      requests  
      callback  
      executor  

  private void checkEarlyTriggerSequenceComplete(int, long);
    descriptor: (IJ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // int requestId
        start local 2 // long lastFrameNumber
         0: .line 942
            lload 2 /* lastFrameNumber */
            ldc -1
            lcmp
            ifne 22
         1: .line 944
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCaptureCallbackMap:Landroid/util/SparseArray;
            iload 1 /* requestId */
            invokevirtual android.util.SparseArray.indexOfKey:(I)I
            istore 5 /* index */
        start local 5 // int index
         2: .line 945
            iload 5 /* index */
            iflt 3
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCaptureCallbackMap:Landroid/util/SparseArray;
            iload 5 /* index */
            invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
            checkcast android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder
            goto 4
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl int long top int
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder
         4: astore 4 /* holder */
        start local 4 // android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder holder
         5: .line 946
            aload 4 /* holder */
            ifnull 7
         6: .line 947
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCaptureCallbackMap:Landroid/util/SparseArray;
            iload 5 /* index */
            invokevirtual android.util.SparseArray.removeAt:(I)V
         7: .line 956
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl int long android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder int
      StackMap stack:
            aload 4 /* holder */
            ifnull 17
         8: .line 962
            new android.hardware.camera2.impl.CameraDeviceImpl$8
            dup
            aload 0 /* this */
            iload 1 /* requestId */
            aload 4 /* holder */
            invokespecial android.hardware.camera2.impl.CameraDeviceImpl$8.<init>:(Landroid/hardware/camera2/impl/CameraDeviceImpl;ILandroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;)V
            astore 6 /* resultDispatch */
        start local 6 // java.lang.Runnable resultDispatch
         9: .line 977
            invokestatic android.os.Binder.clearCallingIdentity:()J
            lstore 7 /* ident */
        start local 7 // long ident
        10: .line 979
            aload 4 /* holder */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder.getExecutor:()Ljava/util/concurrent/Executor;
            aload 6 /* resultDispatch */
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        11: .line 980
            goto 15
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl int long android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder int java.lang.Runnable long
      StackMap stack: java.lang.Throwable
        12: astore 9
        13: .line 981
            lload 7 /* ident */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
        14: .line 982
            aload 9
            athrow
        15: .line 981
      StackMap locals:
      StackMap stack:
            lload 7 /* ident */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
        end local 7 // long ident
        end local 6 // java.lang.Runnable resultDispatch
        16: .line 983
            goto 26
        17: .line 984
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.TAG:Ljava/lang/String;
        18: .line 985
            ldc "did not register callback to request %d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        19: .line 986
            iload 1 /* requestId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        20: .line 984
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 5 // int index
        end local 4 // android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder holder
        21: .line 988
            goto 26
        22: .line 991
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRequestLastFrameNumbersList:Ljava/util/List;
            new android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder
            dup
            iload 1 /* requestId */
        23: .line 992
            lload 2 /* lastFrameNumber */
            invokespecial android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder.<init>:(IJ)V
        24: .line 991
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        25: .line 996
            aload 0 /* this */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.checkAndFireSequenceComplete:()V
        26: .line 998
      StackMap locals:
      StackMap stack:
            return
        end local 2 // long lastFrameNumber
        end local 1 // int requestId
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   27     0             this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0   27     1        requestId  I
            0   27     2  lastFrameNumber  J
            5   21     4           holder  Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;
            2   21     5            index  I
            9   16     6   resultDispatch  Ljava/lang/Runnable;
           10   16     7            ident  J
      Exception table:
        from    to  target  type
          10    12      12  any
    MethodParameters:
                 Name  Flags
      requestId        final
      lastFrameNumber  final

  private int submitCaptureRequest(java.util.List<android.hardware.camera2.CaptureRequest>, android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback, java.util.concurrent.Executor, );
    descriptor: (Ljava/util/List;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;Z)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=12, args_size=5
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // java.util.List requestList
        start local 2 // android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback callback
        start local 3 // java.util.concurrent.Executor executor
        start local 4 // boolean repeating
         0: .line 1005
            aload 3 /* executor */
            aload 2 /* callback */
            invokestatic android.hardware.camera2.impl.CameraDeviceImpl.checkExecutor:(Ljava/util/concurrent/Executor;Ljava/lang/Object;)Ljava/util/concurrent/Executor;
            astore 3 /* executor */
         1: .line 1009
            aload 1 /* requestList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 23
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.util.List android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback java.util.concurrent.Executor int top java.util.Iterator
      StackMap stack:
         2: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.hardware.camera2.CaptureRequest
            astore 5 /* request */
        start local 5 // android.hardware.camera2.CaptureRequest request
         3: .line 1010
            aload 5 /* request */
            invokevirtual android.hardware.camera2.CaptureRequest.getTargets:()Ljava/util/Collection;
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 7
         4: .line 1011
            new java.lang.IllegalArgumentException
            dup
         5: .line 1012
            ldc "Each request must have at least one Surface target"
         6: .line 1011
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 1015
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.util.List android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback java.util.concurrent.Executor int android.hardware.camera2.CaptureRequest java.util.Iterator
      StackMap stack:
            aload 5 /* request */
            invokevirtual android.hardware.camera2.CaptureRequest.getTargets:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 22
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.util.List android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback java.util.concurrent.Executor int android.hardware.camera2.CaptureRequest java.util.Iterator top java.util.Iterator
      StackMap stack:
         8: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.view.Surface
            astore 7 /* surface */
        start local 7 // android.view.Surface surface
         9: .line 1016
            aload 7 /* surface */
            ifnonnull 11
        10: .line 1017
            new java.lang.IllegalArgumentException
            dup
            ldc "Null Surface targets are not allowed"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1020
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.util.List android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback java.util.concurrent.Executor int android.hardware.camera2.CaptureRequest java.util.Iterator android.view.Surface java.util.Iterator
      StackMap stack:
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        12: goto 21
        13: .line 1021
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            iload 9 /* i */
            invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
            checkcast android.hardware.camera2.params.OutputConfiguration
            astore 10 /* configuration */
        start local 10 // android.hardware.camera2.params.OutputConfiguration configuration
        14: .line 1022
            aload 10 /* configuration */
            invokevirtual android.hardware.camera2.params.OutputConfiguration.isForPhysicalCamera:()Z
            ifeq 20
        15: .line 1023
            aload 10 /* configuration */
            invokevirtual android.hardware.camera2.params.OutputConfiguration.getSurfaces:()Ljava/util/List;
            aload 7 /* surface */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 20
        16: .line 1024
            aload 5 /* request */
            invokevirtual android.hardware.camera2.CaptureRequest.isReprocess:()Z
            ifeq 20
        17: .line 1025
            new java.lang.IllegalArgumentException
            dup
        18: .line 1026
            ldc "Reprocess request on physical stream is not allowed"
        19: .line 1025
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // android.hardware.camera2.params.OutputConfiguration configuration
        20: .line 1020
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 9 /* i */
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            invokevirtual android.util.SparseArray.size:()I
            if_icmplt 13
        end local 9 // int i
        end local 7 // android.view.Surface surface
        22: .line 1015
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.util.List android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback java.util.concurrent.Executor int android.hardware.camera2.CaptureRequest java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 5 // android.hardware.camera2.CaptureRequest request
        23: .line 1009
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.util.List android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback java.util.concurrent.Executor int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        24: .line 1033
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInterfaceLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
        25: .line 1034
            aload 0 /* this */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.checkIfCameraClosedOrInError:()V
        26: .line 1035
            iload 4 /* repeating */
            ifeq 28
        27: .line 1036
            aload 0 /* this */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.stopRepeating:()V
        28: .line 1041
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.util.List android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback java.util.concurrent.Executor int java.lang.Object
      StackMap stack:
            aload 1 /* requestList */
            aload 1 /* requestList */
            invokeinterface java.util.List.size:()I
            anewarray android.hardware.camera2.CaptureRequest
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast android.hardware.camera2.CaptureRequest[]
            astore 7 /* requestArray */
        start local 7 // android.hardware.camera2.CaptureRequest[] requestArray
        29: .line 1043
            aload 7 /* requestArray */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 33
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.util.List android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback java.util.concurrent.Executor int java.lang.Object top android.hardware.camera2.CaptureRequest[] top int int android.hardware.camera2.CaptureRequest[]
      StackMap stack:
        30: aload 11
            iload 9
            aaload
            astore 8 /* request */
        start local 8 // android.hardware.camera2.CaptureRequest request
        31: .line 1044
            aload 8 /* request */
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mConfiguredOutputs:Landroid/util/SparseArray;
            invokevirtual android.hardware.camera2.CaptureRequest.convertSurfaceToStreamId:(Landroid/util/SparseArray;)V
        end local 8 // android.hardware.camera2.CaptureRequest request
        32: .line 1043
            iinc 9 1
      StackMap locals:
      StackMap stack:
        33: iload 9
            iload 10
            if_icmplt 30
        34: .line 1047
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            aload 7 /* requestArray */
            iload 4 /* repeating */
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.submitRequestList:([Landroid/hardware/camera2/CaptureRequest;Z)Landroid/hardware/camera2/utils/SubmitInfo;
            astore 6 /* requestInfo */
        start local 6 // android.hardware.camera2.utils.SubmitInfo requestInfo
        35: .line 1052
            aload 7 /* requestArray */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 39
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.util.List android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback java.util.concurrent.Executor int java.lang.Object android.hardware.camera2.utils.SubmitInfo android.hardware.camera2.CaptureRequest[] top int int android.hardware.camera2.CaptureRequest[]
      StackMap stack:
        36: aload 11
            iload 9
            aaload
            astore 8 /* request */
        start local 8 // android.hardware.camera2.CaptureRequest request
        37: .line 1053
            aload 8 /* request */
            invokevirtual android.hardware.camera2.CaptureRequest.recoverStreamIdToSurface:()V
        end local 8 // android.hardware.camera2.CaptureRequest request
        38: .line 1052
            iinc 9 1
      StackMap locals:
      StackMap stack:
        39: iload 9
            iload 10
            if_icmplt 36
        40: .line 1056
            aload 2 /* callback */
            ifnull 46
        41: .line 1057
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCaptureCallbackMap:Landroid/util/SparseArray;
            aload 6 /* requestInfo */
            invokevirtual android.hardware.camera2.utils.SubmitInfo.getRequestId:()I
        42: .line 1058
            new android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder
            dup
        43: .line 1059
            aload 2 /* callback */
            aload 1 /* requestList */
            aload 3 /* executor */
            iload 4 /* repeating */
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mNextSessionId:I
            iconst_1
            isub
        44: .line 1058
            invokespecial android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder.<init>:(Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/List;Ljava/util/concurrent/Executor;ZI)V
        45: .line 1057
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        46: .line 1066
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.util.List android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback java.util.concurrent.Executor int java.lang.Object android.hardware.camera2.utils.SubmitInfo android.hardware.camera2.CaptureRequest[]
      StackMap stack:
            iload 4 /* repeating */
            ifeq 53
        47: .line 1067
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRepeatingRequestId:I
            iconst_m1
            if_icmpeq 51
        48: .line 1068
            aload 0 /* this */
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRepeatingRequestId:I
        49: .line 1069
            aload 6 /* requestInfo */
            invokevirtual android.hardware.camera2.utils.SubmitInfo.getLastFrameNumber:()J
        50: .line 1068
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.checkEarlyTriggerSequenceComplete:(IJ)V
        51: .line 1071
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* requestInfo */
            invokevirtual android.hardware.camera2.utils.SubmitInfo.getRequestId:()I
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mRepeatingRequestId:I
        52: .line 1072
            goto 56
        53: .line 1073
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRequestLastFrameNumbersList:Ljava/util/List;
        54: .line 1074
            new android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder
            dup
            aload 1 /* requestList */
            aload 6 /* requestInfo */
            invokespecial android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder.<init>:(Ljava/util/List;Landroid/hardware/camera2/utils/SubmitInfo;)V
        55: .line 1073
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        56: .line 1077
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mIdle:Z
            ifeq 58
        57: .line 1078
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mDeviceExecutor:Ljava/util/concurrent/Executor;
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnActive:Ljava/lang/Runnable;
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        58: .line 1080
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mIdle:Z
        59: .line 1082
            aload 6 /* requestInfo */
            invokevirtual android.hardware.camera2.utils.SubmitInfo.getRequestId:()I
            aload 5
            monitorexit
        60: ireturn
        end local 7 // android.hardware.camera2.CaptureRequest[] requestArray
        end local 6 // android.hardware.camera2.utils.SubmitInfo requestInfo
        61: .line 1033
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.util.List android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback java.util.concurrent.Executor int java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 5
            monitorexit
        62: athrow
        end local 4 // boolean repeating
        end local 3 // java.util.concurrent.Executor executor
        end local 2 // android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback callback
        end local 1 // java.util.List requestList
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   63     0           this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0   63     1    requestList  Ljava/util/List<Landroid/hardware/camera2/CaptureRequest;>;
            0   63     2       callback  Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;
            0   63     3       executor  Ljava/util/concurrent/Executor;
            0   63     4      repeating  Z
            3   23     5        request  Landroid/hardware/camera2/CaptureRequest;
            9   22     7        surface  Landroid/view/Surface;
           12   22     9              i  I
           14   20    10  configuration  Landroid/hardware/camera2/params/OutputConfiguration;
           35   61     6    requestInfo  Landroid/hardware/camera2/utils/SubmitInfo;
           29   61     7   requestArray  [Landroid/hardware/camera2/CaptureRequest;
           31   32     8        request  Landroid/hardware/camera2/CaptureRequest;
           37   38     8        request  Landroid/hardware/camera2/CaptureRequest;
      Exception table:
        from    to  target  type
          25    60      61  any
          61    62      61  any
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    Signature: (Ljava/util/List<Landroid/hardware/camera2/CaptureRequest;>;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;Z)I
    MethodParameters:
             Name  Flags
      requestList  
      callback     
      executor     
      repeating    

  public int setRepeatingRequest(android.hardware.camera2.CaptureRequest, android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback, java.util.concurrent.Executor);
    descriptor: (Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // android.hardware.camera2.CaptureRequest request
        start local 2 // android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback callback
        start local 3 // java.util.concurrent.Executor executor
         0: .line 1088
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* requestList */
        start local 4 // java.util.List requestList
         1: .line 1089
            aload 4 /* requestList */
            aload 1 /* request */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 1090
            aload 0 /* this */
            aload 4 /* requestList */
            aload 2 /* callback */
            aload 3 /* executor */
            iconst_1
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.submitCaptureRequest:(Ljava/util/List;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;Z)I
            ireturn
        end local 4 // java.util.List requestList
        end local 3 // java.util.concurrent.Executor executor
        end local 2 // android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback callback
        end local 1 // android.hardware.camera2.CaptureRequest request
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0    3     1      request  Landroid/hardware/camera2/CaptureRequest;
            0    3     2     callback  Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;
            0    3     3     executor  Ljava/util/concurrent/Executor;
            1    3     4  requestList  Ljava/util/List<Landroid/hardware/camera2/CaptureRequest;>;
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    MethodParameters:
          Name  Flags
      request   
      callback  
      executor  

  public int setRepeatingBurst(java.util.List<android.hardware.camera2.CaptureRequest>, android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback, java.util.concurrent.Executor);
    descriptor: (Ljava/util/List;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // java.util.List requests
        start local 2 // android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback callback
        start local 3 // java.util.concurrent.Executor executor
         0: .line 1095
            aload 1 /* requests */
            ifnull 1
            aload 1 /* requests */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 1096
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "At least one request must be given"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1098
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* requests */
            aload 2 /* callback */
            aload 3 /* executor */
            iconst_1
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.submitCaptureRequest:(Ljava/util/List;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;Z)I
            ireturn
        end local 3 // java.util.concurrent.Executor executor
        end local 2 // android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback callback
        end local 1 // java.util.List requests
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0    3     1  requests  Ljava/util/List<Landroid/hardware/camera2/CaptureRequest;>;
            0    3     2  callback  Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;
            0    3     3  executor  Ljava/util/concurrent/Executor;
    Exceptions:
      throws android.hardware.camera2.CameraAccessException
    Signature: (Ljava/util/List<Landroid/hardware/camera2/CaptureRequest;>;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;)I
    MethodParameters:
          Name  Flags
      requests  
      callback  
      executor  

  public void stopRepeating();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 1103
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInterfaceLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 1104
            aload 0 /* this */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.checkIfCameraClosedOrInError:()V
         2: .line 1105
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRepeatingRequestId:I
            iconst_m1
            if_icmpeq 11
         3: .line 1107
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRepeatingRequestId:I
            istore 2 /* requestId */
        start local 2 // int requestId
         4: .line 1108
            aload 0 /* this */
            iconst_m1
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mRepeatingRequestId:I
         5: .line 1112
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            iload 2 /* requestId */
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.cancelRequest:(I)J
            lstore 3 /* lastFrameNumber */
        start local 3 // long lastFrameNumber
         6: .line 1113
            goto 10
        end local 3 // long lastFrameNumber
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.lang.Object int
      StackMap stack: java.lang.IllegalArgumentException
         7: pop
         8: .line 1118
            aload 1
            monitorexit
         9: return
        start local 3 // long lastFrameNumber
        10: .line 1121
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            iload 2 /* requestId */
            lload 3 /* lastFrameNumber */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.checkEarlyTriggerSequenceComplete:(IJ)V
        end local 3 // long lastFrameNumber
        end local 2 // int requestId
        11: .line 1103
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 1
            monitorexit
        14: athrow
        15: .line 1124
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0             this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            4   11     2        requestId  I
            6    7     3  lastFrameNumber  J
           10   11     3  lastFrameNumber  J
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.IllegalArgumentException
           1     9      13  any
          10    12      13  any
          13    14      13  any
    Exceptions:
      throws android.hardware.camera2.CameraAccessException

  private void waitUntilIdle();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 1128
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInterfaceLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 1129
            aload 0 /* this */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.checkIfCameraClosedOrInError:()V
         2: .line 1131
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRepeatingRequestId:I
            iconst_m1
            if_icmpeq 4
         3: .line 1132
            new java.lang.IllegalStateException
            dup
            ldc "Active repeating request ongoing"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1135
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.waitUntilIdle:()V
         5: .line 1128
            aload 1
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 1
            monitorexit
         8: athrow
         9: .line 1137
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    Exceptions:
      throws android.hardware.camera2.CameraAccessException

  public void flush();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 1140
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInterfaceLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 1141
            aload 0 /* this */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.checkIfCameraClosedOrInError:()V
         2: .line 1143
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mDeviceExecutor:Ljava/util/concurrent/Executor;
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnBusy:Ljava/lang/Runnable;
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
         3: .line 1147
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mIdle:Z
            ifeq 7
         4: .line 1148
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mDeviceExecutor:Ljava/util/concurrent/Executor;
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnIdle:Ljava/lang/Runnable;
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
         5: .line 1149
            aload 1
            monitorexit
         6: return
         7: .line 1152
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.flush:()J
            lstore 2 /* lastFrameNumber */
        start local 2 // long lastFrameNumber
         8: .line 1153
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRepeatingRequestId:I
            iconst_m1
            if_icmpeq 11
         9: .line 1154
            aload 0 /* this */
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRepeatingRequestId:I
            lload 2 /* lastFrameNumber */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.checkEarlyTriggerSequenceComplete:(IJ)V
        10: .line 1155
            aload 0 /* this */
            iconst_m1
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mRepeatingRequestId:I
        end local 2 // long lastFrameNumber
        11: .line 1140
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 1
            monitorexit
        14: athrow
        15: .line 1158
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0             this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            8   11     2  lastFrameNumber  J
      Exception table:
        from    to  target  type
           1     6      13  any
           7    12      13  any
          13    14      13  any
    Exceptions:
      throws android.hardware.camera2.CameraAccessException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 1162
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInterfaceLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 1163
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mClosing:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.getAndSet:(Z)Z
            ifeq 4
         2: .line 1164
            aload 1
            monitorexit
         3: return
         4: .line 1167
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            ifnull 7
         5: .line 1168
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.disconnect:()V
         6: .line 1169
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            aload 0 /* this */
            iconst_0
            invokevirtual android.hardware.camera2.impl.ICameraDeviceUserWrapper.unlinkToDeath:(Landroid/os/IBinder$DeathRecipient;I)V
         7: .line 1175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            ifnonnull 8
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInError:Z
            ifeq 9
         8: .line 1176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mDeviceExecutor:Ljava/util/concurrent/Executor;
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCallOnClosed:Ljava/lang/Runnable;
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
         9: .line 1179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
        10: .line 1162
            aload 1
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 1
            monitorexit
        13: athrow
        14: .line 1181
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
      Exception table:
        from    to  target  type
           1     3      12  any
           4    11      12  any
          12    13      12  any

  protected void finalize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 1186
            aload 0 /* this */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl.close:()V
         1: .line 1187
            goto 5
         2: .line 1188
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1
         3: .line 1189
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         4: .line 1190
            aload 1
            athrow
         5: .line 1189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         6: .line 1191
            return
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
      Exception table:
        from    to  target  type
           0     2       2  any
    Exceptions:
      throws java.lang.Throwable

  private void checkInputConfiguration(android.hardware.camera2.params.InputConfiguration);
    descriptor: (Landroid/hardware/camera2/params/InputConfiguration;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
        start local 1 // android.hardware.camera2.params.InputConfiguration inputConfig
         0: .line 1194
            aload 1 /* inputConfig */
            ifnull 29
         1: .line 1195
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCharacteristics:Landroid/hardware/camera2/CameraCharacteristics;
         2: .line 1196
            getstatic android.hardware.camera2.CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP:Landroid/hardware/camera2/CameraCharacteristics$Key;
         3: .line 1195
            invokevirtual android.hardware.camera2.CameraCharacteristics.get:(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
            checkcast android.hardware.camera2.params.StreamConfigurationMap
            astore 2 /* configMap */
        start local 2 // android.hardware.camera2.params.StreamConfigurationMap configMap
         4: .line 1198
            aload 2 /* configMap */
            invokevirtual android.hardware.camera2.params.StreamConfigurationMap.getInputFormats:()[I
            astore 3 /* inputFormats */
        start local 3 // int[] inputFormats
         5: .line 1199
            iconst_0
            istore 4 /* validFormat */
        start local 4 // boolean validFormat
         6: .line 1200
            aload 3 /* inputFormats */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 11
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.hardware.camera2.params.InputConfiguration android.hardware.camera2.params.StreamConfigurationMap int[] int top int int int[]
      StackMap stack:
         7: aload 8
            iload 6
            iaload
            istore 5 /* format */
        start local 5 // int format
         8: .line 1201
            iload 5 /* format */
            aload 1 /* inputConfig */
            invokevirtual android.hardware.camera2.params.InputConfiguration.getFormat:()I
            if_icmpne 10
         9: .line 1202
            iconst_1
            istore 4 /* validFormat */
        end local 5 // int format
        10: .line 1200
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        11: iload 6
            iload 7
            if_icmplt 7
        12: .line 1206
            iload 4 /* validFormat */
            ifne 16
        13: .line 1207
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "input format "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* inputConfig */
            invokevirtual android.hardware.camera2.params.InputConfiguration.getFormat:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        14: .line 1208
            ldc " is not valid"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 1207
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 1211
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.hardware.camera2.params.InputConfiguration android.hardware.camera2.params.StreamConfigurationMap int[] int
      StackMap stack:
            iconst_0
            istore 5 /* validSize */
        start local 5 // boolean validSize
        17: .line 1212
            aload 2 /* configMap */
            aload 1 /* inputConfig */
            invokevirtual android.hardware.camera2.params.InputConfiguration.getFormat:()I
            invokevirtual android.hardware.camera2.params.StreamConfigurationMap.getInputSizes:(I)[Landroid/util/Size;
            astore 6 /* inputSizes */
        start local 6 // android.util.Size[] inputSizes
        18: .line 1213
            aload 6 /* inputSizes */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 24
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.hardware.camera2.params.InputConfiguration android.hardware.camera2.params.StreamConfigurationMap int[] int int android.util.Size[] top int int android.util.Size[]
      StackMap stack:
        19: aload 10
            iload 8
            aaload
            astore 7 /* s */
        start local 7 // android.util.Size s
        20: .line 1214
            aload 1 /* inputConfig */
            invokevirtual android.hardware.camera2.params.InputConfiguration.getWidth:()I
            aload 7 /* s */
            invokevirtual android.util.Size.getWidth:()I
            if_icmpne 23
        21: .line 1215
            aload 1 /* inputConfig */
            invokevirtual android.hardware.camera2.params.InputConfiguration.getHeight:()I
            aload 7 /* s */
            invokevirtual android.util.Size.getHeight:()I
            if_icmpne 23
        22: .line 1216
            iconst_1
            istore 5 /* validSize */
        end local 7 // android.util.Size s
        23: .line 1213
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        24: iload 8
            iload 9
            if_icmplt 19
        25: .line 1220
            iload 5 /* validSize */
            ifne 29
        26: .line 1221
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "input size "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* inputConfig */
            invokevirtual android.hardware.camera2.params.InputConfiguration.getWidth:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 1222
            aload 1 /* inputConfig */
            invokevirtual android.hardware.camera2.params.InputConfiguration.getHeight:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is not valid"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 1221
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // android.util.Size[] inputSizes
        end local 5 // boolean validSize
        end local 4 // boolean validFormat
        end local 3 // int[] inputFormats
        end local 2 // android.hardware.camera2.params.StreamConfigurationMap configMap
        29: .line 1225
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl android.hardware.camera2.params.InputConfiguration
      StackMap stack:
            return
        end local 1 // android.hardware.camera2.params.InputConfiguration inputConfig
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   30     0          this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            0   30     1   inputConfig  Landroid/hardware/camera2/params/InputConfiguration;
            4   29     2     configMap  Landroid/hardware/camera2/params/StreamConfigurationMap;
            5   29     3  inputFormats  [I
            6   29     4   validFormat  Z
            8   10     5        format  I
           17   29     5     validSize  Z
           18   29     6    inputSizes  [Landroid/util/Size;
           20   23     7             s  Landroid/util/Size;
    MethodParameters:
             Name  Flags
      inputConfig  

  private void checkAndFireSequenceComplete();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=16, args_size=1
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 1764
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mFrameNumberTracker:Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl$FrameNumberTracker.getCompletedFrameNumber:()J
            lstore 1 /* completedFrameNumber */
        start local 1 // long completedFrameNumber
         1: .line 1765
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mFrameNumberTracker:Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl$FrameNumberTracker.getCompletedReprocessFrameNumber:()J
            lstore 3 /* completedReprocessFrameNumber */
        start local 3 // long completedReprocessFrameNumber
         2: .line 1767
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRequestLastFrameNumbersList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5 /* iter */
        start local 5 // java.util.Iterator iter
         3: .line 1768
            goto 41
         4: .line 1769
      StackMap locals: long long java.util.Iterator
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder
            astore 6 /* requestLastFrameNumbers */
        start local 6 // android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder requestLastFrameNumbers
         5: .line 1770
            iconst_0
            istore 7 /* sequenceCompleted */
        start local 7 // boolean sequenceCompleted
         6: .line 1771
            aload 6 /* requestLastFrameNumbers */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder.getRequestId:()I
            istore 8 /* requestId */
        start local 8 // int requestId
         7: .line 1773
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInterfaceLock:Ljava/lang/Object;
            dup
            astore 10
            monitorenter
         8: .line 1774
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            ifnonnull 12
         9: .line 1775
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.TAG:Ljava/lang/String;
            ldc "Camera closed while checking sequences"
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        10: .line 1776
            aload 10
            monitorexit
        11: return
        12: .line 1779
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl long long java.util.Iterator android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder int int top java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCaptureCallbackMap:Landroid/util/SparseArray;
            iload 8 /* requestId */
            invokevirtual android.util.SparseArray.indexOfKey:(I)I
            istore 11 /* index */
        start local 11 // int index
        13: .line 1780
            iload 11 /* index */
            iflt 15
        14: .line 1781
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCaptureCallbackMap:Landroid/util/SparseArray;
            iload 11 /* index */
            invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
            checkcast android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder
            goto 16
      StackMap locals: int
      StackMap stack:
        15: aconst_null
        16: .line 1780
      StackMap locals:
      StackMap stack: android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder
            astore 9 /* holder */
        start local 9 // android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder holder
        17: .line 1782
            aload 9 /* holder */
            ifnull 26
        18: .line 1784
            aload 6 /* requestLastFrameNumbers */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder.getLastRegularFrameNumber:()J
        19: .line 1783
            lstore 12 /* lastRegularFrameNumber */
        start local 12 // long lastRegularFrameNumber
        20: .line 1786
            aload 6 /* requestLastFrameNumbers */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder.getLastReprocessFrameNumber:()J
        21: .line 1785
            lstore 14 /* lastReprocessFrameNumber */
        start local 14 // long lastReprocessFrameNumber
        22: .line 1789
            lload 12 /* lastRegularFrameNumber */
            lload 1 /* completedFrameNumber */
            lcmp
            ifgt 26
        23: .line 1790
            lload 14 /* lastReprocessFrameNumber */
            lload 3 /* completedReprocessFrameNumber */
            lcmp
            ifgt 26
        24: .line 1791
            iconst_1
            istore 7 /* sequenceCompleted */
        25: .line 1792
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCaptureCallbackMap:Landroid/util/SparseArray;
            iload 11 /* index */
            invokevirtual android.util.SparseArray.removeAt:(I)V
        end local 14 // long lastReprocessFrameNumber
        end local 12 // long lastRegularFrameNumber
        end local 11 // int index
        26: .line 1773
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl long long java.util.Iterator android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder int int android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder java.lang.Object
      StackMap stack:
            aload 10
            monitorexit
        27: goto 30
        end local 9 // android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder holder
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl long long java.util.Iterator android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder int int top java.lang.Object
      StackMap stack: java.lang.Throwable
        28: aload 10
            monitorexit
        29: athrow
        start local 9 // android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder holder
        30: .line 1806
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl long long java.util.Iterator android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder int int android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder
      StackMap stack:
            aload 9 /* holder */
            ifnull 31
            iload 7 /* sequenceCompleted */
            ifeq 32
        31: .line 1807
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.remove:()V
        32: .line 1811
      StackMap locals:
      StackMap stack:
            iload 7 /* sequenceCompleted */
            ifeq 41
        33: .line 1812
            new android.hardware.camera2.impl.CameraDeviceImpl$9
            dup
            aload 0 /* this */
            iload 8 /* requestId */
            aload 9 /* holder */
            aload 6 /* requestLastFrameNumbers */
            invokespecial android.hardware.camera2.impl.CameraDeviceImpl$9.<init>:(Landroid/hardware/camera2/impl/CameraDeviceImpl;ILandroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;Landroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;)V
            astore 10 /* resultDispatch */
        start local 10 // java.lang.Runnable resultDispatch
        34: .line 1829
            invokestatic android.os.Binder.clearCallingIdentity:()J
            lstore 11 /* ident */
        start local 11 // long ident
        35: .line 1831
            aload 9 /* holder */
            invokevirtual android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder.getExecutor:()Ljava/util/concurrent/Executor;
            aload 10 /* resultDispatch */
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        36: .line 1832
            goto 40
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl long long java.util.Iterator android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder int int android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder java.lang.Runnable long
      StackMap stack: java.lang.Throwable
        37: astore 13
        38: .line 1833
            lload 11 /* ident */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
        39: .line 1834
            aload 13
            athrow
        40: .line 1833
      StackMap locals:
      StackMap stack:
            lload 11 /* ident */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
        end local 11 // long ident
        end local 10 // java.lang.Runnable resultDispatch
        end local 9 // android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder holder
        end local 8 // int requestId
        end local 7 // boolean sequenceCompleted
        end local 6 // android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder requestLastFrameNumbers
        41: .line 1768
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl long long java.util.Iterator
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        42: .line 1837
            return
        end local 5 // java.util.Iterator iter
        end local 3 // long completedReprocessFrameNumber
        end local 1 // long completedFrameNumber
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   43     0                           this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            1   43     1           completedFrameNumber  J
            2   43     3  completedReprocessFrameNumber  J
            3   43     5                           iter  Ljava/util/Iterator<Landroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;>;
            5   41     6        requestLastFrameNumbers  Landroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;
            6   41     7              sequenceCompleted  Z
            7   41     8                      requestId  I
           17   28     9                         holder  Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;
           30   41     9                         holder  Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;
           13   26    11                          index  I
           20   26    12         lastRegularFrameNumber  J
           22   26    14       lastReprocessFrameNumber  J
           34   41    10                 resultDispatch  Ljava/lang/Runnable;
           35   41    11                          ident  J
      Exception table:
        from    to  target  type
           8    11      28  any
          12    27      28  any
          28    29      28  any
          35    37      37  any

  static java.util.concurrent.Executor checkExecutor(java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.Executor executor
         0: .line 2344
            aload 0 /* executor */
            ifnonnull 1
            aconst_null
            invokestatic android.hardware.camera2.impl.CameraDeviceImpl.checkAndWrapHandler:(Landroid/os/Handler;)Ljava/util/concurrent/Executor;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* executor */
      StackMap locals:
      StackMap stack: java.util.concurrent.Executor
         2: areturn
        end local 0 // java.util.concurrent.Executor executor
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  executor  Ljava/util/concurrent/Executor;
    MethodParameters:
          Name  Flags
      executor  

  public static <T> java.util.concurrent.Executor checkExecutor(java.util.concurrent.Executor, T);
    descriptor: (Ljava/util/concurrent/Executor;Ljava/lang/Object;)Ljava/util/concurrent/Executor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.util.concurrent.Executor executor
        start local 1 // java.lang.Object callback
         0: .line 2353
            aload 1 /* callback */
            ifnull 1
            aload 0 /* executor */
            invokestatic android.hardware.camera2.impl.CameraDeviceImpl.checkExecutor:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* executor */
      StackMap locals:
      StackMap stack: java.util.concurrent.Executor
         2: areturn
        end local 1 // java.lang.Object callback
        end local 0 // java.util.concurrent.Executor executor
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  executor  Ljava/util/concurrent/Executor;
            0    3     1  callback  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/concurrent/Executor;TT;)Ljava/util/concurrent/Executor;
    MethodParameters:
          Name  Flags
      executor  
      callback  

  public static java.util.concurrent.Executor checkAndWrapHandler(android.os.Handler);
    descriptor: (Landroid/os/Handler;)Ljava/util/concurrent/Executor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.os.Handler handler
         0: .line 2366
            new android.hardware.camera2.impl.CameraDeviceImpl$CameraHandlerExecutor
            dup
            aload 0 /* handler */
            invokestatic android.hardware.camera2.impl.CameraDeviceImpl.checkHandler:(Landroid/os/Handler;)Landroid/os/Handler;
            invokespecial android.hardware.camera2.impl.CameraDeviceImpl$CameraHandlerExecutor.<init>:(Landroid/os/Handler;)V
            areturn
        end local 0 // android.os.Handler handler
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  handler  Landroid/os/Handler;
    MethodParameters:
         Name  Flags
      handler  

  static android.os.Handler checkHandler(android.os.Handler);
    descriptor: (Landroid/os/Handler;)Landroid/os/Handler;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.os.Handler handler
         0: .line 2378
            aload 0 /* handler */
            ifnonnull 7
         1: .line 2379
            invokestatic android.os.Looper.myLooper:()Landroid/os/Looper;
            astore 1 /* looper */
        start local 1 // android.os.Looper looper
         2: .line 2380
            aload 1 /* looper */
            ifnonnull 6
         3: .line 2381
            new java.lang.IllegalArgumentException
            dup
         4: .line 2382
            ldc "No handler given, and current thread has no looper!"
         5: .line 2381
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 2384
      StackMap locals: android.os.Looper
      StackMap stack:
            new android.os.Handler
            dup
            aload 1 /* looper */
            invokespecial android.os.Handler.<init>:(Landroid/os/Looper;)V
            astore 0 /* handler */
        end local 1 // android.os.Looper looper
         7: .line 2386
      StackMap locals:
      StackMap stack:
            aload 0 /* handler */
            areturn
        end local 0 // android.os.Handler handler
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0  handler  Landroid/os/Handler;
            2    7     1   looper  Landroid/os/Looper;
    MethodParameters:
         Name  Flags
      handler  

  static <T> android.os.Handler checkHandler(android.os.Handler, T);
    descriptor: (Landroid/os/Handler;Ljava/lang/Object;)Landroid/os/Handler;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.os.Handler handler
        start local 1 // java.lang.Object callback
         0: .line 2395
            aload 1 /* callback */
            ifnull 2
         1: .line 2396
            aload 0 /* handler */
            invokestatic android.hardware.camera2.impl.CameraDeviceImpl.checkHandler:(Landroid/os/Handler;)Landroid/os/Handler;
            areturn
         2: .line 2398
      StackMap locals:
      StackMap stack:
            aload 0 /* handler */
            areturn
        end local 1 // java.lang.Object callback
        end local 0 // android.os.Handler handler
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   handler  Landroid/os/Handler;
            0    3     1  callback  TT;
    Signature: <T:Ljava/lang/Object;>(Landroid/os/Handler;TT;)Landroid/os/Handler;
    MethodParameters:
          Name  Flags
      handler   
      callback  

  private void checkIfCameraClosedOrInError();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 2402
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            ifnonnull 2
         1: .line 2403
            new java.lang.IllegalStateException
            dup
            ldc "CameraDevice was already closed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mInError:Z
            ifeq 6
         3: .line 2406
            new android.hardware.camera2.CameraAccessException
            dup
            iconst_3
         4: .line 2407
            ldc "The camera device has encountered a serious error"
         5: .line 2406
            invokespecial android.hardware.camera2.CameraAccessException.<init>:(ILjava/lang/String;)V
            athrow
         6: .line 2409
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
    Exceptions:
      throws android.hardware.camera2.CameraAccessException

  private boolean isClosed();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 2413
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mClosing:Ljava/util/concurrent/atomic/AtomicBoolean;
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ireturn
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/camera2/impl/CameraDeviceImpl;

  private android.hardware.camera2.CameraCharacteristics getCharacteristics();
    descriptor: ()Landroid/hardware/camera2/CameraCharacteristics;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 2417
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCharacteristics:Landroid/hardware/camera2/CameraCharacteristics;
            areturn
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/camera2/impl/CameraDeviceImpl;

  public void binderDied();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
         0: .line 2427
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "CameraDevice "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mCameraId:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " died unexpectedly"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         1: .line 2429
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
            ifnonnull 3
         2: .line 2430
            return
         3: .line 2433
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.hardware.camera2.impl.CameraDeviceImpl.mInError:Z
         4: .line 2434
            new android.hardware.camera2.impl.CameraDeviceImpl$10
            dup
            aload 0 /* this */
            invokespecial android.hardware.camera2.impl.CameraDeviceImpl$10.<init>:(Landroid/hardware/camera2/impl/CameraDeviceImpl;)V
            astore 1 /* r */
        start local 1 // java.lang.Runnable r
         5: .line 2443
            invokestatic android.os.Binder.clearCallingIdentity:()J
            lstore 2 /* ident */
        start local 2 // long ident
         6: .line 2445
            aload 0 /* this */
            getfield android.hardware.camera2.impl.CameraDeviceImpl.mDeviceExecutor:Ljava/util/concurrent/Executor;
            aload 1 /* r */
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
         7: .line 2446
            goto 11
      StackMap locals: android.hardware.camera2.impl.CameraDeviceImpl java.lang.Runnable long
      StackMap stack: java.lang.Throwable
         8: astore 4
         9: .line 2447
            lload 2 /* ident */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
        10: .line 2448
            aload 4
            athrow
        11: .line 2447
      StackMap locals:
      StackMap stack:
            lload 2 /* ident */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
        12: .line 2449
            return
        end local 2 // long ident
        end local 1 // java.lang.Runnable r
        end local 0 // android.hardware.camera2.impl.CameraDeviceImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Landroid/hardware/camera2/impl/CameraDeviceImpl;
            5   13     1      r  Ljava/lang/Runnable;
            6   13     2  ident  J
      Exception table:
        from    to  target  type
           6     8       8  any
}
SourceFile: "CameraDeviceImpl.java"
NestMembers:
  android.hardware.camera2.impl.CameraDeviceImpl$1  android.hardware.camera2.impl.CameraDeviceImpl$10  android.hardware.camera2.impl.CameraDeviceImpl$11  android.hardware.camera2.impl.CameraDeviceImpl$2  android.hardware.camera2.impl.CameraDeviceImpl$3  android.hardware.camera2.impl.CameraDeviceImpl$4  android.hardware.camera2.impl.CameraDeviceImpl$5  android.hardware.camera2.impl.CameraDeviceImpl$6  android.hardware.camera2.impl.CameraDeviceImpl$7  android.hardware.camera2.impl.CameraDeviceImpl$8  android.hardware.camera2.impl.CameraDeviceImpl$9  android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks  android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks$1  android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks$2  android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks$3  android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks$4  android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks$5  android.hardware.camera2.impl.CameraDeviceImpl$CameraHandlerExecutor  android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback  android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder  android.hardware.camera2.impl.CameraDeviceImpl$FrameNumberTracker  android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder  android.hardware.camera2.impl.CameraDeviceImpl$StateCallbackKK
InnerClasses:
  public abstract StateCallback = android.hardware.camera2.CameraCaptureSession$StateCallback of android.hardware.camera2.CameraCaptureSession
  public final Key = android.hardware.camera2.CameraCharacteristics$Key of android.hardware.camera2.CameraCharacteristics
  public abstract StateCallback = android.hardware.camera2.CameraDevice$StateCallback of android.hardware.camera2.CameraDevice
  public final Builder = android.hardware.camera2.CaptureRequest$Builder of android.hardware.camera2.CaptureRequest
  public final Key = android.hardware.camera2.CaptureRequest$Key of android.hardware.camera2.CaptureRequest
  android.hardware.camera2.impl.CameraDeviceImpl$1
  android.hardware.camera2.impl.CameraDeviceImpl$10
  android.hardware.camera2.impl.CameraDeviceImpl$2
  android.hardware.camera2.impl.CameraDeviceImpl$3
  android.hardware.camera2.impl.CameraDeviceImpl$4
  android.hardware.camera2.impl.CameraDeviceImpl$5
  android.hardware.camera2.impl.CameraDeviceImpl$6
  android.hardware.camera2.impl.CameraDeviceImpl$7
  android.hardware.camera2.impl.CameraDeviceImpl$8
  android.hardware.camera2.impl.CameraDeviceImpl$9
  public CameraDeviceCallbacks = android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks of android.hardware.camera2.impl.CameraDeviceImpl
  private CameraHandlerExecutor = android.hardware.camera2.impl.CameraDeviceImpl$CameraHandlerExecutor of android.hardware.camera2.impl.CameraDeviceImpl
  public abstract CaptureCallback = android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallback of android.hardware.camera2.impl.CameraDeviceImpl
  CaptureCallbackHolder = android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder of android.hardware.camera2.impl.CameraDeviceImpl
  public FrameNumberTracker = android.hardware.camera2.impl.CameraDeviceImpl$FrameNumberTracker of android.hardware.camera2.impl.CameraDeviceImpl
  RequestLastFrameNumbersHolder = android.hardware.camera2.impl.CameraDeviceImpl$RequestLastFrameNumbersHolder of android.hardware.camera2.impl.CameraDeviceImpl
  public abstract StateCallbackKK = android.hardware.camera2.impl.CameraDeviceImpl$StateCallbackKK of android.hardware.camera2.impl.CameraDeviceImpl
  public abstract DeathRecipient = android.os.IBinder$DeathRecipient of android.os.IBinder
  public SimpleEntry = java.util.AbstractMap$SimpleEntry of java.util.AbstractMap