public class android.media.DataSourceDesc$Builder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.media.DataSourceDesc$Builder
  super_class: java.lang.Object
{
  private int mType;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private android.media.Media2DataSource mMedia2DataSource;
    descriptor: Landroid/media/Media2DataSource;
    flags: (0x0002) ACC_PRIVATE

  private java.io.FileDescriptor mFD;
    descriptor: Ljava/io/FileDescriptor;
    flags: (0x0002) ACC_PRIVATE

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

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

  private android.net.Uri mUri;
    descriptor: Landroid/net/Uri;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.String, java.lang.String> mUriHeader;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private java.util.List<java.net.HttpCookie> mUriCookies;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/net/HttpCookie;>;

  private android.content.Context mUriContext;
    descriptor: Landroid/content/Context;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String mMediaId;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.media.DataSourceDesc$Builder this
         0: .line 233
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 213
            aload 0 /* this */
            iconst_0
            putfield android.media.DataSourceDesc$Builder.mType:I
         2: .line 218
            aload 0 /* this */
            lconst_0
            putfield android.media.DataSourceDesc$Builder.mFDOffset:J
         3: .line 219
            aload 0 /* this */
            ldc 576460752303423487
            putfield android.media.DataSourceDesc$Builder.mFDLength:J
         4: .line 227
            aload 0 /* this */
            lconst_0
            putfield android.media.DataSourceDesc$Builder.mStartPositionMs:J
         5: .line 228
            aload 0 /* this */
            ldc 576460752303423487
            putfield android.media.DataSourceDesc$Builder.mEndPositionMs:J
         6: .line 234
            return
        end local 0 // android.media.DataSourceDesc$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/media/DataSourceDesc$Builder;

  public void <init>(android.media.DataSourceDesc);
    descriptor: (Landroid/media/DataSourceDesc;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.DataSourceDesc$Builder this
        start local 1 // android.media.DataSourceDesc dsd
         0: .line 241
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 213
            aload 0 /* this */
            iconst_0
            putfield android.media.DataSourceDesc$Builder.mType:I
         2: .line 218
            aload 0 /* this */
            lconst_0
            putfield android.media.DataSourceDesc$Builder.mFDOffset:J
         3: .line 219
            aload 0 /* this */
            ldc 576460752303423487
            putfield android.media.DataSourceDesc$Builder.mFDLength:J
         4: .line 227
            aload 0 /* this */
            lconst_0
            putfield android.media.DataSourceDesc$Builder.mStartPositionMs:J
         5: .line 228
            aload 0 /* this */
            ldc 576460752303423487
            putfield android.media.DataSourceDesc$Builder.mEndPositionMs:J
         6: .line 242
            aload 0 /* this */
            aload 1 /* dsd */
            getfield android.media.DataSourceDesc.mType:I
            putfield android.media.DataSourceDesc$Builder.mType:I
         7: .line 243
            aload 0 /* this */
            aload 1 /* dsd */
            getfield android.media.DataSourceDesc.mMedia2DataSource:Landroid/media/Media2DataSource;
            putfield android.media.DataSourceDesc$Builder.mMedia2DataSource:Landroid/media/Media2DataSource;
         8: .line 244
            aload 0 /* this */
            aload 1 /* dsd */
            getfield android.media.DataSourceDesc.mFD:Ljava/io/FileDescriptor;
            putfield android.media.DataSourceDesc$Builder.mFD:Ljava/io/FileDescriptor;
         9: .line 245
            aload 0 /* this */
            aload 1 /* dsd */
            getfield android.media.DataSourceDesc.mFDOffset:J
            putfield android.media.DataSourceDesc$Builder.mFDOffset:J
        10: .line 246
            aload 0 /* this */
            aload 1 /* dsd */
            getfield android.media.DataSourceDesc.mFDLength:J
            putfield android.media.DataSourceDesc$Builder.mFDLength:J
        11: .line 247
            aload 0 /* this */
            aload 1 /* dsd */
            getfield android.media.DataSourceDesc.mUri:Landroid/net/Uri;
            putfield android.media.DataSourceDesc$Builder.mUri:Landroid/net/Uri;
        12: .line 248
            aload 0 /* this */
            aload 1 /* dsd */
            getfield android.media.DataSourceDesc.mUriHeader:Ljava/util/Map;
            putfield android.media.DataSourceDesc$Builder.mUriHeader:Ljava/util/Map;
        13: .line 249
            aload 0 /* this */
            aload 1 /* dsd */
            getfield android.media.DataSourceDesc.mUriCookies:Ljava/util/List;
            putfield android.media.DataSourceDesc$Builder.mUriCookies:Ljava/util/List;
        14: .line 250
            aload 0 /* this */
            aload 1 /* dsd */
            getfield android.media.DataSourceDesc.mUriContext:Landroid/content/Context;
            putfield android.media.DataSourceDesc$Builder.mUriContext:Landroid/content/Context;
        15: .line 252
            aload 0 /* this */
            aload 1 /* dsd */
            getfield android.media.DataSourceDesc.mMediaId:Ljava/lang/String;
            putfield android.media.DataSourceDesc$Builder.mMediaId:Ljava/lang/String;
        16: .line 253
            aload 0 /* this */
            aload 1 /* dsd */
            getfield android.media.DataSourceDesc.mStartPositionMs:J
            putfield android.media.DataSourceDesc$Builder.mStartPositionMs:J
        17: .line 254
            aload 0 /* this */
            aload 1 /* dsd */
            getfield android.media.DataSourceDesc.mEndPositionMs:J
            putfield android.media.DataSourceDesc$Builder.mEndPositionMs:J
        18: .line 255
            return
        end local 1 // android.media.DataSourceDesc dsd
        end local 0 // android.media.DataSourceDesc$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Landroid/media/DataSourceDesc$Builder;
            0   19     1   dsd  Landroid/media/DataSourceDesc;
    MethodParameters:
      Name  Flags
      dsd   

  public android.media.DataSourceDesc build();
    descriptor: ()Landroid/media/DataSourceDesc;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // android.media.DataSourceDesc$Builder this
         0: .line 265
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mType:I
            iconst_1
            if_icmpeq 4
         1: .line 266
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mType:I
            iconst_2
            if_icmpeq 4
         2: .line 267
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mType:I
            iconst_3
            if_icmpeq 4
         3: .line 268
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mType:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mStartPositionMs:J
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mEndPositionMs:J
            lcmp
            ifle 8
         5: .line 271
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal start/end position: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 272
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mStartPositionMs:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mEndPositionMs:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 271
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 275
      StackMap locals:
      StackMap stack:
            new android.media.DataSourceDesc
            dup
            invokespecial android.media.DataSourceDesc.<init>:()V
            astore 1 /* dsd */
        start local 1 // android.media.DataSourceDesc dsd
         9: .line 276
            aload 1 /* dsd */
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mType:I
            putfield android.media.DataSourceDesc.mType:I
        10: .line 277
            aload 1 /* dsd */
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mMedia2DataSource:Landroid/media/Media2DataSource;
            putfield android.media.DataSourceDesc.mMedia2DataSource:Landroid/media/Media2DataSource;
        11: .line 278
            aload 1 /* dsd */
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mFD:Ljava/io/FileDescriptor;
            putfield android.media.DataSourceDesc.mFD:Ljava/io/FileDescriptor;
        12: .line 279
            aload 1 /* dsd */
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mFDOffset:J
            putfield android.media.DataSourceDesc.mFDOffset:J
        13: .line 280
            aload 1 /* dsd */
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mFDLength:J
            putfield android.media.DataSourceDesc.mFDLength:J
        14: .line 281
            aload 1 /* dsd */
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mUri:Landroid/net/Uri;
            putfield android.media.DataSourceDesc.mUri:Landroid/net/Uri;
        15: .line 282
            aload 1 /* dsd */
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mUriHeader:Ljava/util/Map;
            putfield android.media.DataSourceDesc.mUriHeader:Ljava/util/Map;
        16: .line 283
            aload 1 /* dsd */
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mUriCookies:Ljava/util/List;
            putfield android.media.DataSourceDesc.mUriCookies:Ljava/util/List;
        17: .line 284
            aload 1 /* dsd */
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mUriContext:Landroid/content/Context;
            putfield android.media.DataSourceDesc.mUriContext:Landroid/content/Context;
        18: .line 286
            aload 1 /* dsd */
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mMediaId:Ljava/lang/String;
            putfield android.media.DataSourceDesc.mMediaId:Ljava/lang/String;
        19: .line 287
            aload 1 /* dsd */
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mStartPositionMs:J
            putfield android.media.DataSourceDesc.mStartPositionMs:J
        20: .line 288
            aload 1 /* dsd */
            aload 0 /* this */
            getfield android.media.DataSourceDesc$Builder.mEndPositionMs:J
            putfield android.media.DataSourceDesc.mEndPositionMs:J
        21: .line 290
            aload 1 /* dsd */
            areturn
        end local 1 // android.media.DataSourceDesc dsd
        end local 0 // android.media.DataSourceDesc$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Landroid/media/DataSourceDesc$Builder;
            9   22     1   dsd  Landroid/media/DataSourceDesc;

  public android.media.DataSourceDesc$Builder setMediaId(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/media/DataSourceDesc$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.DataSourceDesc$Builder this
        start local 1 // java.lang.String mediaId
         0: .line 300
            aload 0 /* this */
            aload 1 /* mediaId */
            putfield android.media.DataSourceDesc$Builder.mMediaId:Ljava/lang/String;
         1: .line 301
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String mediaId
        end local 0 // android.media.DataSourceDesc$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/media/DataSourceDesc$Builder;
            0    2     1  mediaId  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      mediaId  

  public android.media.DataSourceDesc$Builder setStartPosition(long);
    descriptor: (J)Landroid/media/DataSourceDesc$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // android.media.DataSourceDesc$Builder this
        start local 1 // long position
         0: .line 313
            lload 1 /* position */
            lconst_0
            lcmp
            ifge 2
         1: .line 314
            lconst_0
            lstore 1 /* position */
         2: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* position */
            putfield android.media.DataSourceDesc$Builder.mStartPositionMs:J
         3: .line 317
            aload 0 /* this */
            areturn
        end local 1 // long position
        end local 0 // android.media.DataSourceDesc$Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/media/DataSourceDesc$Builder;
            0    4     1  position  J
    MethodParameters:
          Name  Flags
      position  

  public android.media.DataSourceDesc$Builder setEndPosition(long);
    descriptor: (J)Landroid/media/DataSourceDesc$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // android.media.DataSourceDesc$Builder this
        start local 1 // long position
         0: .line 328
            lload 1 /* position */
            lconst_0
            lcmp
            ifge 2
         1: .line 329
            ldc 576460752303423487
            lstore 1 /* position */
         2: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* position */
            putfield android.media.DataSourceDesc$Builder.mEndPositionMs:J
         3: .line 332
            aload 0 /* this */
            areturn
        end local 1 // long position
        end local 0 // android.media.DataSourceDesc$Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/media/DataSourceDesc$Builder;
            0    4     1  position  J
    MethodParameters:
          Name  Flags
      position  

  public android.media.DataSourceDesc$Builder setDataSource(android.media.Media2DataSource);
    descriptor: (Landroid/media/Media2DataSource;)Landroid/media/DataSourceDesc$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.DataSourceDesc$Builder this
        start local 1 // android.media.Media2DataSource m2ds
         0: .line 343
            aload 1 /* m2ds */
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 344
            aload 0 /* this */
            invokevirtual android.media.DataSourceDesc$Builder.resetDataSource:()V
         2: .line 345
            aload 0 /* this */
            iconst_1
            putfield android.media.DataSourceDesc$Builder.mType:I
         3: .line 346
            aload 0 /* this */
            aload 1 /* m2ds */
            putfield android.media.DataSourceDesc$Builder.mMedia2DataSource:Landroid/media/Media2DataSource;
         4: .line 347
            aload 0 /* this */
            areturn
        end local 1 // android.media.Media2DataSource m2ds
        end local 0 // android.media.DataSourceDesc$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/media/DataSourceDesc$Builder;
            0    5     1  m2ds  Landroid/media/Media2DataSource;
    MethodParameters:
      Name  Flags
      m2ds  

  public android.media.DataSourceDesc$Builder setDataSource(java.io.FileDescriptor);
    descriptor: (Ljava/io/FileDescriptor;)Landroid/media/DataSourceDesc$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.DataSourceDesc$Builder this
        start local 1 // java.io.FileDescriptor fd
         0: .line 360
            aload 1 /* fd */
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 361
            aload 0 /* this */
            invokevirtual android.media.DataSourceDesc$Builder.resetDataSource:()V
         2: .line 362
            aload 0 /* this */
            iconst_2
            putfield android.media.DataSourceDesc$Builder.mType:I
         3: .line 363
            aload 0 /* this */
            aload 1 /* fd */
            putfield android.media.DataSourceDesc$Builder.mFD:Ljava/io/FileDescriptor;
         4: .line 364
            aload 0 /* this */
            areturn
        end local 1 // java.io.FileDescriptor fd
        end local 0 // android.media.DataSourceDesc$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/media/DataSourceDesc$Builder;
            0    5     1    fd  Ljava/io/FileDescriptor;
    MethodParameters:
      Name  Flags
      fd    

  public android.media.DataSourceDesc$Builder setDataSource(java.io.FileDescriptor, long, long);
    descriptor: (Ljava/io/FileDescriptor;JJ)Landroid/media/DataSourceDesc$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // android.media.DataSourceDesc$Builder this
        start local 1 // java.io.FileDescriptor fd
        start local 2 // long offset
        start local 4 // long length
         0: .line 382
            aload 1 /* fd */
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 383
            lload 2 /* offset */
            lconst_0
            lcmp
            ifge 3
         2: .line 384
            lconst_0
            lstore 2 /* offset */
         3: .line 386
      StackMap locals:
      StackMap stack:
            lload 4 /* length */
            lconst_0
            lcmp
            ifge 5
         4: .line 387
            ldc 576460752303423487
            lstore 4 /* length */
         5: .line 389
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.media.DataSourceDesc$Builder.resetDataSource:()V
         6: .line 390
            aload 0 /* this */
            iconst_2
            putfield android.media.DataSourceDesc$Builder.mType:I
         7: .line 391
            aload 0 /* this */
            aload 1 /* fd */
            putfield android.media.DataSourceDesc$Builder.mFD:Ljava/io/FileDescriptor;
         8: .line 392
            aload 0 /* this */
            lload 2 /* offset */
            putfield android.media.DataSourceDesc$Builder.mFDOffset:J
         9: .line 393
            aload 0 /* this */
            lload 4 /* length */
            putfield android.media.DataSourceDesc$Builder.mFDLength:J
        10: .line 394
            aload 0 /* this */
            areturn
        end local 4 // long length
        end local 2 // long offset
        end local 1 // java.io.FileDescriptor fd
        end local 0 // android.media.DataSourceDesc$Builder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Landroid/media/DataSourceDesc$Builder;
            0   11     1      fd  Ljava/io/FileDescriptor;
            0   11     2  offset  J
            0   11     4  length  J
    MethodParameters:
        Name  Flags
      fd      
      offset  
      length  

  public android.media.DataSourceDesc$Builder setDataSource(android.content.Context, android.net.Uri);
    descriptor: (Landroid/content/Context;Landroid/net/Uri;)Landroid/media/DataSourceDesc$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.media.DataSourceDesc$Builder this
        start local 1 // android.content.Context context
        start local 2 // android.net.Uri uri
         0: .line 406
            aload 1 /* context */
            ldc "context cannot be null"
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 407
            aload 2 /* uri */
            ldc "uri cannot be null"
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 408
            aload 0 /* this */
            invokevirtual android.media.DataSourceDesc$Builder.resetDataSource:()V
         3: .line 409
            aload 0 /* this */
            iconst_3
            putfield android.media.DataSourceDesc$Builder.mType:I
         4: .line 410
            aload 0 /* this */
            aload 2 /* uri */
            putfield android.media.DataSourceDesc$Builder.mUri:Landroid/net/Uri;
         5: .line 411
            aload 0 /* this */
            aload 1 /* context */
            putfield android.media.DataSourceDesc$Builder.mUriContext:Landroid/content/Context;
         6: .line 412
            aload 0 /* this */
            areturn
        end local 2 // android.net.Uri uri
        end local 1 // android.content.Context context
        end local 0 // android.media.DataSourceDesc$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Landroid/media/DataSourceDesc$Builder;
            0    7     1  context  Landroid/content/Context;
            0    7     2      uri  Landroid/net/Uri;
    MethodParameters:
         Name  Flags
      context  
      uri      

  public android.media.DataSourceDesc$Builder setDataSource(android.content.Context, android.net.Uri, java.util.Map<java.lang.String, java.lang.String>, java.util.List<java.net.HttpCookie>);
    descriptor: (Landroid/content/Context;Landroid/net/Uri;Ljava/util/Map;Ljava/util/List;)Landroid/media/DataSourceDesc$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // android.media.DataSourceDesc$Builder this
        start local 1 // android.content.Context context
        start local 2 // android.net.Uri uri
        start local 3 // java.util.Map headers
        start local 4 // java.util.List cookies
         0: .line 444
            aload 1 /* context */
            ldc "context cannot be null"
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 445
            aload 2 /* uri */
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 446
            aload 4 /* cookies */
            ifnull 8
         3: .line 447
            invokestatic java.net.CookieHandler.getDefault:()Ljava/net/CookieHandler;
            astore 5 /* cookieHandler */
        start local 5 // java.net.CookieHandler cookieHandler
         4: .line 448
            aload 5 /* cookieHandler */
            ifnull 8
            aload 5 /* cookieHandler */
            instanceof java.net.CookieManager
            ifne 8
         5: .line 449
            new java.lang.IllegalArgumentException
            dup
         6: .line 450
            ldc "The cookie handler has to be of CookieManager type when cookies are provided."
         7: .line 449
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.net.CookieHandler cookieHandler
         8: .line 455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.media.DataSourceDesc$Builder.resetDataSource:()V
         9: .line 456
            aload 0 /* this */
            iconst_3
            putfield android.media.DataSourceDesc$Builder.mType:I
        10: .line 457
            aload 0 /* this */
            aload 2 /* uri */
            putfield android.media.DataSourceDesc$Builder.mUri:Landroid/net/Uri;
        11: .line 458
            aload 3 /* headers */
            ifnull 13
        12: .line 459
            aload 0 /* this */
            new java.util.HashMap
            dup
            aload 3 /* headers */
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            putfield android.media.DataSourceDesc$Builder.mUriHeader:Ljava/util/Map;
        13: .line 461
      StackMap locals:
      StackMap stack:
            aload 4 /* cookies */
            ifnull 15
        14: .line 462
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 4 /* cookies */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            putfield android.media.DataSourceDesc$Builder.mUriCookies:Ljava/util/List;
        15: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            putfield android.media.DataSourceDesc$Builder.mUriContext:Landroid/content/Context;
        16: .line 465
            aload 0 /* this */
            areturn
        end local 4 // java.util.List cookies
        end local 3 // java.util.Map headers
        end local 2 // android.net.Uri uri
        end local 1 // android.content.Context context
        end local 0 // android.media.DataSourceDesc$Builder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Landroid/media/DataSourceDesc$Builder;
            0   17     1        context  Landroid/content/Context;
            0   17     2            uri  Landroid/net/Uri;
            0   17     3        headers  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0   17     4        cookies  Ljava/util/List<Ljava/net/HttpCookie;>;
            4    8     5  cookieHandler  Ljava/net/CookieHandler;
    Signature: (Landroid/content/Context;Landroid/net/Uri;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/List<Ljava/net/HttpCookie;>;)Landroid/media/DataSourceDesc$Builder;
    MethodParameters:
         Name  Flags
      context  
      uri      
      headers  
      cookies  

  private void resetDataSource();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.media.DataSourceDesc$Builder this
         0: .line 469
            aload 0 /* this */
            iconst_0
            putfield android.media.DataSourceDesc$Builder.mType:I
         1: .line 470
            aload 0 /* this */
            aconst_null
            putfield android.media.DataSourceDesc$Builder.mMedia2DataSource:Landroid/media/Media2DataSource;
         2: .line 471
            aload 0 /* this */
            aconst_null
            putfield android.media.DataSourceDesc$Builder.mFD:Ljava/io/FileDescriptor;
         3: .line 472
            aload 0 /* this */
            lconst_0
            putfield android.media.DataSourceDesc$Builder.mFDOffset:J
         4: .line 473
            aload 0 /* this */
            ldc 576460752303423487
            putfield android.media.DataSourceDesc$Builder.mFDLength:J
         5: .line 474
            aload 0 /* this */
            aconst_null
            putfield android.media.DataSourceDesc$Builder.mUri:Landroid/net/Uri;
         6: .line 475
            aload 0 /* this */
            aconst_null
            putfield android.media.DataSourceDesc$Builder.mUriHeader:Ljava/util/Map;
         7: .line 476
            aload 0 /* this */
            aconst_null
            putfield android.media.DataSourceDesc$Builder.mUriCookies:Ljava/util/List;
         8: .line 477
            aload 0 /* this */
            aconst_null
            putfield android.media.DataSourceDesc$Builder.mUriContext:Landroid/content/Context;
         9: .line 478
            return
        end local 0 // android.media.DataSourceDesc$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Landroid/media/DataSourceDesc$Builder;
}
SourceFile: "DataSourceDesc.java"
NestHost: android.media.DataSourceDesc
InnerClasses:
  public Builder = android.media.DataSourceDesc$Builder of android.media.DataSourceDesc