class android.net.Uri$StringUri extends android.net.Uri$AbstractHierarchicalUri
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.net.Uri$StringUri
  super_class: android.net.Uri$AbstractHierarchicalUri
{
  static final int TYPE_ID;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

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

  private volatile int cachedSsi;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile int cachedFsi;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile java.lang.String scheme;
    descriptor: Ljava/lang/String;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

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

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

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

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

  private void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.net.Uri$StringUri this
        start local 1 // java.lang.String uriString
         0: .line 488
            aload 0 /* this */
            invokespecial android.net.Uri$AbstractHierarchicalUri.<init>:()V
         1: .line 510
            aload 0 /* this */
            bipush -2
            putfield android.net.Uri$StringUri.cachedSsi:I
         2: .line 520
            aload 0 /* this */
            bipush -2
            putfield android.net.Uri$StringUri.cachedFsi:I
         3: .line 551
            aload 0 /* this */
            getstatic android.net.Uri.NOT_CACHED:Ljava/lang/String;
            putfield android.net.Uri$StringUri.scheme:Ljava/lang/String;
         4: .line 489
            aload 1 /* uriString */
            ifnonnull 6
         5: .line 490
            new java.lang.NullPointerException
            dup
            ldc "uriString"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 493
      StackMap locals: android.net.Uri$StringUri java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* uriString */
            putfield android.net.Uri$StringUri.uriString:Ljava/lang/String;
         7: .line 494
            return
        end local 1 // java.lang.String uriString
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Landroid/net/Uri$StringUri;
            0    8     1  uriString  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      uriString  

  static android.net.Uri readFrom(android.os.Parcel);
    descriptor: (Landroid/os/Parcel;)Landroid/net/Uri;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.os.Parcel parcel
         0: .line 497
            new android.net.Uri$StringUri
            dup
            aload 0 /* parcel */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            invokespecial android.net.Uri$StringUri.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // android.os.Parcel parcel
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  parcel  Landroid/os/Parcel;
    MethodParameters:
        Name  Flags
      parcel  

  public int describeContents();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 501
            iconst_0
            ireturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri$StringUri;

  public void writeToParcel(android.os.Parcel, int);
    descriptor: (Landroid/os/Parcel;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.net.Uri$StringUri this
        start local 1 // android.os.Parcel parcel
        start local 2 // int flags
         0: .line 505
            aload 1 /* parcel */
            iconst_1
            invokevirtual android.os.Parcel.writeInt:(I)V
         1: .line 506
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.net.Uri$StringUri.uriString:Ljava/lang/String;
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         2: .line 507
            return
        end local 2 // int flags
        end local 1 // android.os.Parcel parcel
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/net/Uri$StringUri;
            0    3     1  parcel  Landroid/os/Parcel;
            0    3     2   flags  I
    MethodParameters:
        Name  Flags
      parcel  
      flags   

  private int findSchemeSeparator();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 514
            aload 0 /* this */
            getfield android.net.Uri$StringUri.cachedSsi:I
            bipush -2
            if_icmpne 2
         1: .line 515
            aload 0 /* this */
            aload 0 /* this */
            getfield android.net.Uri$StringUri.uriString:Ljava/lang/String;
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            dup_x1
            putfield android.net.Uri$StringUri.cachedSsi:I
            goto 3
         2: .line 516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.Uri$StringUri.cachedSsi:I
         3: .line 514
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/net/Uri$StringUri;

  private int findFragmentSeparator();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 524
            aload 0 /* this */
            getfield android.net.Uri$StringUri.cachedFsi:I
            bipush -2
            if_icmpne 2
         1: .line 525
            aload 0 /* this */
            aload 0 /* this */
            getfield android.net.Uri$StringUri.uriString:Ljava/lang/String;
            bipush 35
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.findSchemeSeparator:()I
            invokevirtual java.lang.String.indexOf:(II)I
            dup_x1
            putfield android.net.Uri$StringUri.cachedFsi:I
            goto 3
         2: .line 526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.Uri$StringUri.cachedFsi:I
         3: .line 524
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/net/Uri$StringUri;

  public boolean isHierarchical();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 530
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.findSchemeSeparator:()I
            istore 1 /* ssi */
        start local 1 // int ssi
         1: .line 532
            iload 1 /* ssi */
            iconst_m1
            if_icmpne 3
         2: .line 534
            iconst_1
            ireturn
         3: .line 537
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.net.Uri$StringUri.uriString:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iload 1 /* ssi */
            iconst_1
            iadd
            if_icmpne 5
         4: .line 539
            iconst_0
            ireturn
         5: .line 543
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.Uri$StringUri.uriString:Ljava/lang/String;
            iload 1 /* ssi */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 1 // int ssi
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/net/Uri$StringUri;
            1    7     1   ssi  I

  public boolean isRelative();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 548
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.findSchemeSeparator:()I
            iconst_m1
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/net/Uri$StringUri;

  public java.lang.String getScheme();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 555
            aload 0 /* this */
            getfield android.net.Uri$StringUri.scheme:Ljava/lang/String;
            getstatic android.net.Uri.NOT_CACHED:Ljava/lang/String;
            if_acmpeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 1 /* cached */
        start local 1 // boolean cached
         3: .line 556
            iload 1 /* cached */
            ifeq 4
            aload 0 /* this */
            getfield android.net.Uri$StringUri.scheme:Ljava/lang/String;
            goto 5
      StackMap locals: int
      StackMap stack:
         4: aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.parseScheme:()Ljava/lang/String;
            dup_x1
            putfield android.net.Uri$StringUri.scheme:Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         5: areturn
        end local 1 // boolean cached
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Landroid/net/Uri$StringUri;
            3    6     1  cached  Z

  private java.lang.String parseScheme();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 560
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.findSchemeSeparator:()I
            istore 1 /* ssi */
        start local 1 // int ssi
         1: .line 561
            iload 1 /* ssi */
            iconst_m1
            if_icmpne 2
            aconst_null
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* this */
            getfield android.net.Uri$StringUri.uriString:Ljava/lang/String;
            iconst_0
            iload 1 /* ssi */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // int ssi
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/net/Uri$StringUri;
            1    4     1   ssi  I

  private android.net.Uri$Part getSsp();
    descriptor: ()Landroid/net/Uri$Part;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 567
            aload 0 /* this */
            getfield android.net.Uri$StringUri.ssp:Landroid/net/Uri$Part;
            ifnonnull 1
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.parseSsp:()Ljava/lang/String;
            invokestatic android.net.Uri$Part.fromEncoded:(Ljava/lang/String;)Landroid/net/Uri$Part;
            dup_x1
            putfield android.net.Uri$StringUri.ssp:Landroid/net/Uri$Part;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield android.net.Uri$StringUri.ssp:Landroid/net/Uri$Part;
      StackMap locals:
      StackMap stack: android.net.Uri$Part
         2: areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/net/Uri$StringUri;

  public java.lang.String getEncodedSchemeSpecificPart();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 571
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getSsp:()Landroid/net/Uri$Part;
            invokevirtual android.net.Uri$Part.getEncoded:()Ljava/lang/String;
            areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri$StringUri;

  public java.lang.String getSchemeSpecificPart();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 575
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getSsp:()Landroid/net/Uri$Part;
            invokevirtual android.net.Uri$Part.getDecoded:()Ljava/lang/String;
            areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri$StringUri;

  private java.lang.String parseSsp();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 579
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.findSchemeSeparator:()I
            istore 1 /* ssi */
        start local 1 // int ssi
         1: .line 580
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.findFragmentSeparator:()I
            istore 2 /* fsi */
        start local 2 // int fsi
         2: .line 583
            iload 2 /* fsi */
            iconst_m1
            if_icmpne 4
         3: .line 584
            aload 0 /* this */
            getfield android.net.Uri$StringUri.uriString:Ljava/lang/String;
            iload 1 /* ssi */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            goto 5
         4: .line 585
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield android.net.Uri$StringUri.uriString:Ljava/lang/String;
            iload 1 /* ssi */
            iconst_1
            iadd
            iload 2 /* fsi */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
         5: .line 583
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 2 // int fsi
        end local 1 // int ssi
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/net/Uri$StringUri;
            1    6     1   ssi  I
            2    6     2   fsi  I

  private android.net.Uri$Part getAuthorityPart();
    descriptor: ()Landroid/net/Uri$Part;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 591
            aload 0 /* this */
            getfield android.net.Uri$StringUri.authority:Landroid/net/Uri$Part;
            ifnonnull 4
         1: .line 593
            aload 0 /* this */
            getfield android.net.Uri$StringUri.uriString:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.findSchemeSeparator:()I
            invokestatic android.net.Uri$StringUri.parseAuthority:(Ljava/lang/String;I)Ljava/lang/String;
         2: .line 592
            astore 1 /* encodedAuthority */
        start local 1 // java.lang.String encodedAuthority
         3: .line 594
            aload 0 /* this */
            aload 1 /* encodedAuthority */
            invokestatic android.net.Uri$Part.fromEncoded:(Ljava/lang/String;)Landroid/net/Uri$Part;
            dup_x1
            putfield android.net.Uri$StringUri.authority:Landroid/net/Uri$Part;
            areturn
        end local 1 // java.lang.String encodedAuthority
         4: .line 597
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.Uri$StringUri.authority:Landroid/net/Uri$Part;
            areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Landroid/net/Uri$StringUri;
            3    4     1  encodedAuthority  Ljava/lang/String;

  public java.lang.String getEncodedAuthority();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 601
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getAuthorityPart:()Landroid/net/Uri$Part;
            invokevirtual android.net.Uri$Part.getEncoded:()Ljava/lang/String;
            areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri$StringUri;

  public java.lang.String getAuthority();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 605
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getAuthorityPart:()Landroid/net/Uri$Part;
            invokevirtual android.net.Uri$Part.getDecoded:()Ljava/lang/String;
            areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri$StringUri;

  private android.net.Uri$PathPart getPathPart();
    descriptor: ()Landroid/net/Uri$PathPart;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 611
            aload 0 /* this */
            getfield android.net.Uri$StringUri.path:Landroid/net/Uri$PathPart;
            ifnonnull 2
         1: .line 612
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.parsePath:()Ljava/lang/String;
            invokestatic android.net.Uri$PathPart.fromEncoded:(Ljava/lang/String;)Landroid/net/Uri$PathPart;
            dup_x1
            putfield android.net.Uri$StringUri.path:Landroid/net/Uri$PathPart;
            goto 3
         2: .line 613
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.Uri$StringUri.path:Landroid/net/Uri$PathPart;
         3: .line 611
      StackMap locals:
      StackMap stack: android.net.Uri$PathPart
            areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/net/Uri$StringUri;

  public java.lang.String getPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 617
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getPathPart:()Landroid/net/Uri$PathPart;
            invokevirtual android.net.Uri$PathPart.getDecoded:()Ljava/lang/String;
            areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri$StringUri;

  public java.lang.String getEncodedPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 621
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getPathPart:()Landroid/net/Uri$PathPart;
            invokevirtual android.net.Uri$PathPart.getEncoded:()Ljava/lang/String;
            areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri$StringUri;

  public java.util.List<java.lang.String> getPathSegments();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 625
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getPathPart:()Landroid/net/Uri$PathPart;
            invokevirtual android.net.Uri$PathPart.getPathSegments:()Landroid/net/Uri$PathSegments;
            areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri$StringUri;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  private java.lang.String parsePath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 629
            aload 0 /* this */
            getfield android.net.Uri$StringUri.uriString:Ljava/lang/String;
            astore 1 /* uriString */
        start local 1 // java.lang.String uriString
         1: .line 630
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.findSchemeSeparator:()I
            istore 2 /* ssi */
        start local 2 // int ssi
         2: .line 633
            iload 2 /* ssi */
            iconst_m1
            if_icmple 10
         3: .line 635
            iload 2 /* ssi */
            iconst_1
            iadd
            aload 1 /* uriString */
            invokevirtual java.lang.String.length:()I
            if_icmpne 4
            iconst_1
            goto 5
      StackMap locals: java.lang.String int
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* schemeOnly */
        start local 3 // boolean schemeOnly
         6: .line 636
            iload 3 /* schemeOnly */
            ifeq 8
         7: .line 638
            aconst_null
            areturn
         8: .line 642
      StackMap locals: int
      StackMap stack:
            aload 1 /* uriString */
            iload 2 /* ssi */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 10
         9: .line 644
            aconst_null
            areturn
        end local 3 // boolean schemeOnly
        10: .line 650
      StackMap locals:
      StackMap stack:
            aload 1 /* uriString */
            iload 2 /* ssi */
            invokestatic android.net.Uri$StringUri.parsePath:(Ljava/lang/String;I)Ljava/lang/String;
            areturn
        end local 2 // int ssi
        end local 1 // java.lang.String uriString
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Landroid/net/Uri$StringUri;
            1   11     1   uriString  Ljava/lang/String;
            2   11     2         ssi  I
            6   10     3  schemeOnly  Z

  private android.net.Uri$Part getQueryPart();
    descriptor: ()Landroid/net/Uri$Part;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 656
            aload 0 /* this */
            getfield android.net.Uri$StringUri.query:Landroid/net/Uri$Part;
            ifnonnull 2
         1: .line 657
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.parseQuery:()Ljava/lang/String;
            invokestatic android.net.Uri$Part.fromEncoded:(Ljava/lang/String;)Landroid/net/Uri$Part;
            dup_x1
            putfield android.net.Uri$StringUri.query:Landroid/net/Uri$Part;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield android.net.Uri$StringUri.query:Landroid/net/Uri$Part;
         3: .line 656
      StackMap locals:
      StackMap stack: android.net.Uri$Part
            areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/net/Uri$StringUri;

  public java.lang.String getEncodedQuery();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 661
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getQueryPart:()Landroid/net/Uri$Part;
            invokevirtual android.net.Uri$Part.getEncoded:()Ljava/lang/String;
            areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri$StringUri;

  private java.lang.String parseQuery();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 667
            aload 0 /* this */
            getfield android.net.Uri$StringUri.uriString:Ljava/lang/String;
            bipush 63
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.findSchemeSeparator:()I
            invokevirtual java.lang.String.indexOf:(II)I
            istore 1 /* qsi */
        start local 1 // int qsi
         1: .line 668
            iload 1 /* qsi */
            iconst_m1
            if_icmpne 3
         2: .line 669
            aconst_null
            areturn
         3: .line 672
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.findFragmentSeparator:()I
            istore 2 /* fsi */
        start local 2 // int fsi
         4: .line 674
            iload 2 /* fsi */
            iconst_m1
            if_icmpne 6
         5: .line 675
            aload 0 /* this */
            getfield android.net.Uri$StringUri.uriString:Ljava/lang/String;
            iload 1 /* qsi */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
         6: .line 678
      StackMap locals: int
      StackMap stack:
            iload 2 /* fsi */
            iload 1 /* qsi */
            if_icmpge 8
         7: .line 680
            aconst_null
            areturn
         8: .line 683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.Uri$StringUri.uriString:Ljava/lang/String;
            iload 1 /* qsi */
            iconst_1
            iadd
            iload 2 /* fsi */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 2 // int fsi
        end local 1 // int qsi
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/net/Uri$StringUri;
            1    9     1   qsi  I
            4    9     2   fsi  I

  public java.lang.String getQuery();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 687
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getQueryPart:()Landroid/net/Uri$Part;
            invokevirtual android.net.Uri$Part.getDecoded:()Ljava/lang/String;
            areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri$StringUri;

  private android.net.Uri$Part getFragmentPart();
    descriptor: ()Landroid/net/Uri$Part;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 693
            aload 0 /* this */
            getfield android.net.Uri$StringUri.fragment:Landroid/net/Uri$Part;
            ifnonnull 2
         1: .line 694
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.parseFragment:()Ljava/lang/String;
            invokestatic android.net.Uri$Part.fromEncoded:(Ljava/lang/String;)Landroid/net/Uri$Part;
            dup_x1
            putfield android.net.Uri$StringUri.fragment:Landroid/net/Uri$Part;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield android.net.Uri$StringUri.fragment:Landroid/net/Uri$Part;
         3: .line 693
      StackMap locals:
      StackMap stack: android.net.Uri$Part
            areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/net/Uri$StringUri;

  public java.lang.String getEncodedFragment();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 698
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getFragmentPart:()Landroid/net/Uri$Part;
            invokevirtual android.net.Uri$Part.getEncoded:()Ljava/lang/String;
            areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri$StringUri;

  private java.lang.String parseFragment();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 702
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.findFragmentSeparator:()I
            istore 1 /* fsi */
        start local 1 // int fsi
         1: .line 703
            iload 1 /* fsi */
            iconst_m1
            if_icmpne 2
            aconst_null
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* this */
            getfield android.net.Uri$StringUri.uriString:Ljava/lang/String;
            iload 1 /* fsi */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // int fsi
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/net/Uri$StringUri;
            1    4     1   fsi  I

  public java.lang.String getFragment();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 707
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getFragmentPart:()Landroid/net/Uri$Part;
            invokevirtual android.net.Uri$Part.getDecoded:()Ljava/lang/String;
            areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri$StringUri;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 711
            aload 0 /* this */
            getfield android.net.Uri$StringUri.uriString:Ljava/lang/String;
            areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri$StringUri;

  static java.lang.String parseAuthority(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String uriString
        start local 1 // int ssi
         0: .line 723
            aload 0 /* uriString */
            invokevirtual java.lang.String.length:()I
            istore 2 /* length */
        start local 2 // int length
         1: .line 726
            iload 2 /* length */
            iload 1 /* ssi */
            iconst_2
            iadd
            if_icmple 11
         2: .line 727
            aload 0 /* uriString */
            iload 1 /* ssi */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 11
         3: .line 728
            aload 0 /* uriString */
            iload 1 /* ssi */
            iconst_2
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 11
         4: .line 733
            iload 1 /* ssi */
            iconst_3
            iadd
            istore 3 /* end */
        start local 3 // int end
         5: .line 734
            goto 9
         6: .line 735
      StackMap locals: int int
      StackMap stack:
            aload 0 /* uriString */
            iload 3 /* end */
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 4
                   35: 7
                   47: 7
                   63: 7
                   92: 7
              default: 8
          }
         7: .line 743
      StackMap locals:
      StackMap stack:
            goto 10
         8: .line 745
      StackMap locals:
      StackMap stack:
            iinc 3 /* end */ 1
         9: .line 734
      StackMap locals:
      StackMap stack:
            iload 3 /* end */
            iload 2 /* length */
            if_icmplt 6
        10: .line 748
      StackMap locals:
      StackMap stack:
            aload 0 /* uriString */
            iload 1 /* ssi */
            iconst_3
            iadd
            iload 3 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 3 // int end
        11: .line 750
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // int length
        end local 1 // int ssi
        end local 0 // java.lang.String uriString
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0  uriString  Ljava/lang/String;
            0   12     1        ssi  I
            1   12     2     length  I
            5   11     3        end  I
    MethodParameters:
           Name  Flags
      uriString  
      ssi        

  static java.lang.String parsePath(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.lang.String uriString
        start local 1 // int ssi
         0: .line 764
            aload 0 /* uriString */
            invokevirtual java.lang.String.length:()I
            istore 2 /* length */
        start local 2 // int length
         1: .line 768
            iload 2 /* length */
            iload 1 /* ssi */
            iconst_2
            iadd
            if_icmple 12
         2: .line 769
            aload 0 /* uriString */
            iload 1 /* ssi */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 12
         3: .line 770
            aload 0 /* uriString */
            iload 1 /* ssi */
            iconst_2
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 12
         4: .line 772
            iload 1 /* ssi */
            iconst_3
            iadd
            istore 3 /* pathStart */
        start local 3 // int pathStart
         5: .line 773
            goto 10
         6: .line 774
      StackMap locals: int int
      StackMap stack:
            aload 0 /* uriString */
            iload 3 /* pathStart */
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 4
                   35: 7
                   47: 8
                   63: 7
                   92: 8
              default: 9
          }
         7: .line 777
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
         8: .line 783
      StackMap locals:
      StackMap stack:
            goto 13
         9: .line 785
      StackMap locals:
      StackMap stack:
            iinc 3 /* pathStart */ 1
        10: .line 773
      StackMap locals:
      StackMap stack:
            iload 3 /* pathStart */
            iload 2 /* length */
            if_icmplt 6
        11: .line 787
            goto 13
        end local 3 // int pathStart
        12: .line 789
      StackMap locals:
      StackMap stack:
            iload 1 /* ssi */
            iconst_1
            iadd
            istore 3 /* pathStart */
        start local 3 // int pathStart
        13: .line 793
      StackMap locals: int
      StackMap stack:
            iload 3 /* pathStart */
            istore 4 /* pathEnd */
        start local 4 // int pathEnd
        14: .line 794
            goto 18
        15: .line 795
      StackMap locals: int
      StackMap stack:
            aload 0 /* uriString */
            iload 4 /* pathEnd */
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 2
                   35: 16
                   63: 16
              default: 17
          }
        16: .line 798
      StackMap locals:
      StackMap stack:
            goto 19
        17: .line 800
      StackMap locals:
      StackMap stack:
            iinc 4 /* pathEnd */ 1
        18: .line 794
      StackMap locals:
      StackMap stack:
            iload 4 /* pathEnd */
            iload 2 /* length */
            if_icmplt 15
        19: .line 803
      StackMap locals:
      StackMap stack:
            aload 0 /* uriString */
            iload 3 /* pathStart */
            iload 4 /* pathEnd */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 4 // int pathEnd
        end local 3 // int pathStart
        end local 2 // int length
        end local 1 // int ssi
        end local 0 // java.lang.String uriString
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0  uriString  Ljava/lang/String;
            0   20     1        ssi  I
            1   20     2     length  I
            5   12     3  pathStart  I
           13   20     3  pathStart  I
           14   20     4    pathEnd  I
    MethodParameters:
           Name  Flags
      uriString  
      ssi        

  public android.net.Uri$Builder buildUpon();
    descriptor: ()Landroid/net/Uri$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.net.Uri$StringUri this
         0: .line 807
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.isHierarchical:()Z
            ifeq 8
         1: .line 808
            new android.net.Uri$Builder
            dup
            invokespecial android.net.Uri$Builder.<init>:()V
         2: .line 809
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getScheme:()Ljava/lang/String;
            invokevirtual android.net.Uri$Builder.scheme:(Ljava/lang/String;)Landroid/net/Uri$Builder;
         3: .line 810
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getAuthorityPart:()Landroid/net/Uri$Part;
            invokevirtual android.net.Uri$Builder.authority:(Landroid/net/Uri$Part;)Landroid/net/Uri$Builder;
         4: .line 811
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getPathPart:()Landroid/net/Uri$PathPart;
            invokevirtual android.net.Uri$Builder.path:(Landroid/net/Uri$PathPart;)Landroid/net/Uri$Builder;
         5: .line 812
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getQueryPart:()Landroid/net/Uri$Part;
            invokevirtual android.net.Uri$Builder.query:(Landroid/net/Uri$Part;)Landroid/net/Uri$Builder;
         6: .line 813
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getFragmentPart:()Landroid/net/Uri$Part;
            invokevirtual android.net.Uri$Builder.fragment:(Landroid/net/Uri$Part;)Landroid/net/Uri$Builder;
         7: .line 808
            areturn
         8: .line 815
      StackMap locals:
      StackMap stack:
            new android.net.Uri$Builder
            dup
            invokespecial android.net.Uri$Builder.<init>:()V
         9: .line 816
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getScheme:()Ljava/lang/String;
            invokevirtual android.net.Uri$Builder.scheme:(Ljava/lang/String;)Landroid/net/Uri$Builder;
        10: .line 817
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getSsp:()Landroid/net/Uri$Part;
            invokevirtual android.net.Uri$Builder.opaquePart:(Landroid/net/Uri$Part;)Landroid/net/Uri$Builder;
        11: .line 818
            aload 0 /* this */
            invokevirtual android.net.Uri$StringUri.getFragmentPart:()Landroid/net/Uri$Part;
            invokevirtual android.net.Uri$Builder.fragment:(Landroid/net/Uri$Part;)Landroid/net/Uri$Builder;
        12: .line 815
            areturn
        end local 0 // android.net.Uri$StringUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Landroid/net/Uri$StringUri;
}
SourceFile: "Uri.java"
NestHost: android.net.Uri
InnerClasses:
  private abstract AbstractHierarchicalUri = android.net.Uri$AbstractHierarchicalUri of android.net.Uri
  public final Builder = android.net.Uri$Builder of android.net.Uri
  Part = android.net.Uri$Part of android.net.Uri
  PathPart = android.net.Uri$PathPart of android.net.Uri
  PathSegments = android.net.Uri$PathSegments of android.net.Uri
  private StringUri = android.net.Uri$StringUri of android.net.Uri