class android.media.ImageWriter$WriterSurfaceImage extends android.media.Image
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.media.ImageWriter$WriterSurfaceImage
  super_class: android.media.Image
{
  private android.media.ImageWriter mOwner;
    descriptor: Landroid/media/ImageWriter;
    flags: (0x0002) ACC_PRIVATE

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

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

  private android.media.ImageWriter$WriterSurfaceImage$SurfacePlane[] mPlanes;
    descriptor: [Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private final long DEFAULT_TIMESTAMP;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: -9223372036854775808

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

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

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

  public void <init>(android.media.ImageWriter);
    descriptor: (Landroid/media/ImageWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.ImageWriter$WriterSurfaceImage this
        start local 1 // android.media.ImageWriter writer
         0: .line 684
            aload 0 /* this */
            invokespecial android.media.Image.<init>:()V
         1: .line 671
            aload 0 /* this */
            iconst_m1
            putfield android.media.ImageWriter$WriterSurfaceImage.mNativeFenceFd:I
         2: .line 673
            aload 0 /* this */
            iconst_m1
            putfield android.media.ImageWriter$WriterSurfaceImage.mHeight:I
         3: .line 674
            aload 0 /* this */
            iconst_m1
            putfield android.media.ImageWriter$WriterSurfaceImage.mWidth:I
         4: .line 675
            aload 0 /* this */
            iconst_m1
            putfield android.media.ImageWriter$WriterSurfaceImage.mFormat:I
         5: .line 678
            aload 0 /* this */
            ldc -9223372036854775808
            putfield android.media.ImageWriter$WriterSurfaceImage.DEFAULT_TIMESTAMP:J
         6: .line 679
            aload 0 /* this */
            ldc -9223372036854775808
            putfield android.media.ImageWriter$WriterSurfaceImage.mTimestamp:J
         7: .line 681
            aload 0 /* this */
            iconst_0
            putfield android.media.ImageWriter$WriterSurfaceImage.mTransform:I
         8: .line 682
            aload 0 /* this */
            iconst_0
            putfield android.media.ImageWriter$WriterSurfaceImage.mScalingMode:I
         9: .line 685
            aload 0 /* this */
            aload 1 /* writer */
            putfield android.media.ImageWriter$WriterSurfaceImage.mOwner:Landroid/media/ImageWriter;
        10: .line 686
            return
        end local 1 // android.media.ImageWriter writer
        end local 0 // android.media.ImageWriter$WriterSurfaceImage this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Landroid/media/ImageWriter$WriterSurfaceImage;
            0   11     1  writer  Landroid/media/ImageWriter;
    MethodParameters:
        Name  Flags
      writer  

  public int getFormat();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.ImageWriter$WriterSurfaceImage this
         0: .line 690
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.throwISEIfImageIsInvalid:()V
         1: .line 692
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mFormat:I
            iconst_m1
            if_icmpne 3
         2: .line 693
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.nativeGetFormat:()I
            putfield android.media.ImageWriter$WriterSurfaceImage.mFormat:I
         3: .line 695
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mFormat:I
            ireturn
        end local 0 // android.media.ImageWriter$WriterSurfaceImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/media/ImageWriter$WriterSurfaceImage;

  public int getWidth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.ImageWriter$WriterSurfaceImage this
         0: .line 700
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.throwISEIfImageIsInvalid:()V
         1: .line 702
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mWidth:I
            iconst_m1
            if_icmpne 3
         2: .line 703
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.nativeGetWidth:()I
            putfield android.media.ImageWriter$WriterSurfaceImage.mWidth:I
         3: .line 706
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mWidth:I
            ireturn
        end local 0 // android.media.ImageWriter$WriterSurfaceImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/media/ImageWriter$WriterSurfaceImage;

  public int getHeight();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.ImageWriter$WriterSurfaceImage this
         0: .line 711
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.throwISEIfImageIsInvalid:()V
         1: .line 713
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mHeight:I
            iconst_m1
            if_icmpne 3
         2: .line 714
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.nativeGetHeight:()I
            putfield android.media.ImageWriter$WriterSurfaceImage.mHeight:I
         3: .line 717
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mHeight:I
            ireturn
        end local 0 // android.media.ImageWriter$WriterSurfaceImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/media/ImageWriter$WriterSurfaceImage;

  public int getTransform();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.ImageWriter$WriterSurfaceImage this
         0: .line 722
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.throwISEIfImageIsInvalid:()V
         1: .line 724
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mTransform:I
            ireturn
        end local 0 // android.media.ImageWriter$WriterSurfaceImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/ImageWriter$WriterSurfaceImage;

  public int getScalingMode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.ImageWriter$WriterSurfaceImage this
         0: .line 729
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.throwISEIfImageIsInvalid:()V
         1: .line 731
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mScalingMode:I
            ireturn
        end local 0 // android.media.ImageWriter$WriterSurfaceImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/ImageWriter$WriterSurfaceImage;

  public long getTimestamp();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.ImageWriter$WriterSurfaceImage this
         0: .line 736
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.throwISEIfImageIsInvalid:()V
         1: .line 738
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mTimestamp:J
            lreturn
        end local 0 // android.media.ImageWriter$WriterSurfaceImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/ImageWriter$WriterSurfaceImage;

  public void setTimestamp(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.media.ImageWriter$WriterSurfaceImage this
        start local 1 // long timestamp
         0: .line 743
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.throwISEIfImageIsInvalid:()V
         1: .line 745
            aload 0 /* this */
            lload 1 /* timestamp */
            putfield android.media.ImageWriter$WriterSurfaceImage.mTimestamp:J
         2: .line 746
            return
        end local 1 // long timestamp
        end local 0 // android.media.ImageWriter$WriterSurfaceImage this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Landroid/media/ImageWriter$WriterSurfaceImage;
            0    3     1  timestamp  J
    MethodParameters:
           Name  Flags
      timestamp  

  public android.hardware.HardwareBuffer getHardwareBuffer();
    descriptor: ()Landroid/hardware/HardwareBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.ImageWriter$WriterSurfaceImage this
         0: .line 750
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.throwISEIfImageIsInvalid:()V
         1: .line 752
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.nativeGetHardwareBuffer:()Landroid/hardware/HardwareBuffer;
            areturn
        end local 0 // android.media.ImageWriter$WriterSurfaceImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/ImageWriter$WriterSurfaceImage;

  public android.media.Image$Plane[] getPlanes();
    descriptor: ()[Landroid/media/Image$Plane;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // android.media.ImageWriter$WriterSurfaceImage this
         0: .line 757
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.throwISEIfImageIsInvalid:()V
         1: .line 759
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mPlanes:[Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;
            ifnonnull 4
         2: .line 760
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.getFormat:()I
            invokestatic android.media.ImageUtils.getNumPlanesForFormat:(I)I
            istore 1 /* numPlanes */
        start local 1 // int numPlanes
         3: .line 761
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* numPlanes */
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.getOwner:()Landroid/media/ImageWriter;
            invokevirtual android.media.ImageWriter.getFormat:()I
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.nativeCreatePlanes:(II)[Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;
            putfield android.media.ImageWriter$WriterSurfaceImage.mPlanes:[Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;
        end local 1 // int numPlanes
         4: .line 764
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mPlanes:[Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;
            invokevirtual android.media.ImageWriter$WriterSurfaceImage$SurfacePlane[].clone:()Ljava/lang/Object;
            checkcast android.media.Image$Plane[]
            areturn
        end local 0 // android.media.ImageWriter$WriterSurfaceImage this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Landroid/media/ImageWriter$WriterSurfaceImage;
            3    4     1  numPlanes  I

  boolean isAttachable();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.ImageWriter$WriterSurfaceImage this
         0: .line 769
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.throwISEIfImageIsInvalid:()V
         1: .line 772
            iconst_0
            ireturn
        end local 0 // android.media.ImageWriter$WriterSurfaceImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/ImageWriter$WriterSurfaceImage;

  android.media.ImageWriter getOwner();
    descriptor: ()Landroid/media/ImageWriter;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.ImageWriter$WriterSurfaceImage this
         0: .line 777
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.throwISEIfImageIsInvalid:()V
         1: .line 779
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mOwner:Landroid/media/ImageWriter;
            areturn
        end local 0 // android.media.ImageWriter$WriterSurfaceImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/ImageWriter$WriterSurfaceImage;

  long getNativeContext();
    descriptor: ()J
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.ImageWriter$WriterSurfaceImage this
         0: .line 784
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.throwISEIfImageIsInvalid:()V
         1: .line 786
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mNativeBuffer:J
            lreturn
        end local 0 // android.media.ImageWriter$WriterSurfaceImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/ImageWriter$WriterSurfaceImage;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.ImageWriter$WriterSurfaceImage this
         0: .line 791
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mIsImageValid:Z
            ifeq 2
         1: .line 792
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.getOwner:()Landroid/media/ImageWriter;
            aload 0 /* this */
            invokevirtual android.media.ImageWriter.abortImage:(Landroid/media/Image;)V
         2: .line 794
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.media.ImageWriter$WriterSurfaceImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/media/ImageWriter$WriterSurfaceImage;

  protected final void finalize();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // android.media.ImageWriter$WriterSurfaceImage this
         0: .line 799
            aload 0 /* this */
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.close:()V
         1: .line 800
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 1
         3: .line 801
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         4: .line 802
            aload 1
            athrow
         5: .line 801
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         6: .line 803
            return
        end local 0 // android.media.ImageWriter$WriterSurfaceImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/media/ImageWriter$WriterSurfaceImage;
      Exception table:
        from    to  target  type
           0     2       2  any
    Exceptions:
      throws java.lang.Throwable

  private void clearSurfacePlanes();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.media.ImageWriter$WriterSurfaceImage this
         0: .line 806
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mIsImageValid:Z
            ifeq 8
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mPlanes:[Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;
            ifnull 8
         1: .line 807
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 7
         3: .line 808
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mPlanes:[Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;
            iload 1 /* i */
            aaload
            ifnull 6
         4: .line 809
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mPlanes:[Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;
            iload 1 /* i */
            aaload
            invokevirtual android.media.ImageWriter$WriterSurfaceImage$SurfacePlane.clearBuffer:()V
         5: .line 810
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mPlanes:[Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;
            iload 1 /* i */
            aconst_null
            aastore
         6: .line 807
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 1 /* i */
            aload 0 /* this */
            getfield android.media.ImageWriter$WriterSurfaceImage.mPlanes:[Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;
            arraylength
            if_icmplt 3
        end local 1 // int i
         8: .line 814
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.media.ImageWriter$WriterSurfaceImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/media/ImageWriter$WriterSurfaceImage;
            2    8     1     i  I

  private synchronized native android.media.ImageWriter$WriterSurfaceImage$SurfacePlane[] nativeCreatePlanes(int, int);
    descriptor: (II)[Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;
    flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE
    MethodParameters:
           Name  Flags
      numPlanes  
      writerFmt  

  private synchronized native int nativeGetWidth();
    descriptor: ()I
    flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE

  private synchronized native int nativeGetHeight();
    descriptor: ()I
    flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE

  private synchronized native int nativeGetFormat();
    descriptor: ()I
    flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE

  private synchronized native android.hardware.HardwareBuffer nativeGetHardwareBuffer();
    descriptor: ()Landroid/hardware/HardwareBuffer;
    flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE

  java.lang.Object getOwner();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual android.media.ImageWriter$WriterSurfaceImage.getOwner:()Landroid/media/ImageWriter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ImageWriter.java"
NestHost: android.media.ImageWriter
InnerClasses:
  public abstract Plane = android.media.Image$Plane of android.media.Image
  private WriterSurfaceImage = android.media.ImageWriter$WriterSurfaceImage of android.media.ImageWriter
  private SurfacePlane = android.media.ImageWriter$WriterSurfaceImage$SurfacePlane of android.media.ImageWriter$WriterSurfaceImage