public abstract class android.net.Uri implements android.os.Parcelable, java.lang.Comparable<android.net.Uri>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: android.net.Uri
  super_class: java.lang.Object
{
  private static final java.lang.String LOG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String NOT_CACHED;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final android.net.Uri EMPTY;
    descriptor: Landroid/net/Uri;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

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

  private static final java.lang.String NOT_HIERARCHICAL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "This isn't a hierarchical URI."

  private static final java.lang.String DEFAULT_ENCODING;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "UTF-8"

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

  public static final android.os.Parcelable$Creator<android.net.Uri> CREATOR;
    descriptor: Landroid/os/Parcelable$Creator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Landroid/os/Parcelable$Creator<Landroid/net/Uri;>;

  private static final char[] HEX_DIGITS;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 115
            ldc Landroid/net/Uri;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            putstatic android.net.Uri.LOG:Ljava/lang/String;
         1: .line 127
            new java.lang.String
            dup
            ldc "NOT CACHED"
            invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
            putstatic android.net.Uri.NOT_CACHED:Ljava/lang/String;
         2: .line 132
            new android.net.Uri$HierarchicalUri
            dup
            aconst_null
            getstatic android.net.Uri$Part.NULL:Landroid/net/Uri$Part;
         3: .line 133
            getstatic android.net.Uri$PathPart.EMPTY:Landroid/net/Uri$PathPart;
            getstatic android.net.Uri$Part.NULL:Landroid/net/Uri$Part;
            getstatic android.net.Uri$Part.NULL:Landroid/net/Uri$Part;
         4: .line 132
            invokespecial android.net.Uri$HierarchicalUri.<init>:(Ljava/lang/String;Landroid/net/Uri$Part;Landroid/net/Uri$PathPart;Landroid/net/Uri$Part;Landroid/net/Uri$Part;)V
            putstatic android.net.Uri.EMPTY:Landroid/net/Uri;
         5: .line 1792
            new android.net.Uri$1
            dup
            invokespecial android.net.Uri$1.<init>:()V
         6: .line 1791
            putstatic android.net.Uri.CREATOR:Landroid/os/Parcelable$Creator;
         7: .line 1825
            ldc "0123456789ABCDEF"
            invokevirtual java.lang.String.toCharArray:()[C
            putstatic android.net.Uri.HEX_DIGITS:[C
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri this
         0: .line 138
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // android.net.Uri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri;

  public abstract boolean isHierarchical();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public boolean isOpaque();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri this
         0: .line 152
            aload 0 /* this */
            invokevirtual android.net.Uri.isHierarchical:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // android.net.Uri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/net/Uri;

  public abstract boolean isRelative();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public boolean isAbsolute();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri this
         0: .line 170
            aload 0 /* this */
            invokevirtual android.net.Uri.isRelative:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // android.net.Uri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/net/Uri;

  public abstract java.lang.String getScheme();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getSchemeSpecificPart();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getEncodedSchemeSpecificPart();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getAuthority();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getEncodedAuthority();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getUserInfo();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getEncodedUserInfo();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getHost();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int getPort();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getEncodedPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getQuery();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getEncodedQuery();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getFragment();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getEncodedFragment();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.util.List<java.lang.String> getPathSegments();
    descriptor: ()Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public abstract java.lang.String getLastPathSegment();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.net.Uri this
        start local 1 // java.lang.Object o
         0: .line 345
            aload 1 /* o */
            instanceof android.net.Uri
            ifne 2
         1: .line 346
            iconst_0
            ireturn
         2: .line 349
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast android.net.Uri
            astore 2 /* other */
        start local 2 // android.net.Uri other
         3: .line 351
            aload 0 /* this */
            invokevirtual android.net.Uri.toString:()Ljava/lang/String;
            aload 2 /* other */
            invokevirtual android.net.Uri.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // android.net.Uri other
        end local 1 // java.lang.Object o
        end local 0 // android.net.Uri this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/net/Uri;
            0    4     1      o  Ljava/lang/Object;
            3    4     2  other  Landroid/net/Uri;
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri this
         0: .line 359
            aload 0 /* this */
            invokevirtual android.net.Uri.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            ireturn
        end local 0 // android.net.Uri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri;

  public int compareTo(android.net.Uri);
    descriptor: (Landroid/net/Uri;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.net.Uri this
        start local 1 // android.net.Uri other
         0: .line 367
            aload 0 /* this */
            invokevirtual android.net.Uri.toString:()Ljava/lang/String;
            aload 1 /* other */
            invokevirtual android.net.Uri.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
        end local 1 // android.net.Uri other
        end local 0 // android.net.Uri this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/net/Uri;
            0    1     1  other  Landroid/net/Uri;
    MethodParameters:
       Name  Flags
      other  

  public abstract java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public java.lang.String toSafeString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // android.net.Uri this
         0: .line 382
            aload 0 /* this */
            invokevirtual android.net.Uri.getScheme:()Ljava/lang/String;
            astore 1 /* scheme */
        start local 1 // java.lang.String scheme
         1: .line 383
            aload 0 /* this */
            invokevirtual android.net.Uri.getSchemeSpecificPart:()Ljava/lang/String;
            astore 2 /* ssp */
        start local 2 // java.lang.String ssp
         2: .line 384
            aload 1 /* scheme */
            ifnull 30
         3: .line 385
            aload 1 /* scheme */
            ldc "tel"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 6
            aload 1 /* scheme */
            ldc "sip"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 6
         4: .line 386
            aload 1 /* scheme */
            ldc "sms"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 6
            aload 1 /* scheme */
            ldc "smsto"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 6
         5: .line 387
            aload 1 /* scheme */
            ldc "mailto"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 6
            aload 1 /* scheme */
            ldc "nfc"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 20
         6: .line 388
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 64
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* builder */
        start local 3 // java.lang.StringBuilder builder
         7: .line 389
            aload 3 /* builder */
            aload 1 /* scheme */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 390
            aload 3 /* builder */
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 391
            aload 2 /* ssp */
            ifnull 19
        10: .line 392
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        11: goto 18
        12: .line 393
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* ssp */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
        13: .line 394
            iload 5 /* c */
            bipush 45
            if_icmpeq 14
            iload 5 /* c */
            bipush 64
            if_icmpeq 14
            iload 5 /* c */
            bipush 46
            if_icmpne 16
        14: .line 395
      StackMap locals: int
      StackMap stack:
            aload 3 /* builder */
            iload 5 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        15: .line 396
            goto 17
        16: .line 397
      StackMap locals:
      StackMap stack:
            aload 3 /* builder */
            bipush 120
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // char c
        17: .line 392
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 4 /* i */
            aload 2 /* ssp */
            invokevirtual java.lang.String.length:()I
            if_icmplt 12
        end local 4 // int i
        19: .line 401
      StackMap locals:
      StackMap stack:
            aload 3 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder builder
        20: .line 402
      StackMap locals:
      StackMap stack:
            aload 1 /* scheme */
            ldc "http"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 22
            aload 1 /* scheme */
            ldc "https"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 22
        21: .line 403
            aload 1 /* scheme */
            ldc "ftp"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 30
        22: .line 404
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "//"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual android.net.Uri.getHost:()Ljava/lang/String;
            ifnull 23
            aload 0 /* this */
            invokevirtual android.net.Uri.getHost:()Ljava/lang/String;
            goto 24
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        23: ldc ""
      StackMap locals: android.net.Uri java.lang.String java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.String
        24: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 405
            aload 0 /* this */
            invokevirtual android.net.Uri.getPort:()I
            iconst_m1
            if_icmpeq 26
            new java.lang.StringBuilder
            dup
            ldc ":"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual android.net.Uri.getPort:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 27
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        26: ldc ""
      StackMap locals: android.net.Uri java.lang.String java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.String
        27: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        28: .line 406
            ldc "/..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        29: .line 404
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* ssp */
        30: .line 412
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 64
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* builder */
        start local 3 // java.lang.StringBuilder builder
        31: .line 413
            aload 1 /* scheme */
            ifnull 34
        32: .line 414
            aload 3 /* builder */
            aload 1 /* scheme */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        33: .line 415
            aload 3 /* builder */
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        34: .line 417
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 2 /* ssp */
            ifnull 36
        35: .line 418
            aload 3 /* builder */
            aload 2 /* ssp */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        36: .line 420
      StackMap locals:
      StackMap stack:
            aload 3 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder builder
        end local 2 // java.lang.String ssp
        end local 1 // java.lang.String scheme
        end local 0 // android.net.Uri this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   37     0     this  Landroid/net/Uri;
            1   37     1   scheme  Ljava/lang/String;
            2   37     2      ssp  Ljava/lang/String;
            7   20     3  builder  Ljava/lang/StringBuilder;
           11   19     4        i  I
           13   17     5        c  C
           31   37     3  builder  Ljava/lang/StringBuilder;

  public abstract android.net.Uri$Builder buildUpon();
    descriptor: ()Landroid/net/Uri$Builder;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public static android.net.Uri parse(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/net/Uri;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String uriString
         0: .line 452
            new android.net.Uri$StringUri
            dup
            aload 0 /* uriString */
            invokespecial android.net.Uri$StringUri.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String uriString
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  uriString  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      uriString  

  public static android.net.Uri fromFile(java.io.File);
    descriptor: (Ljava/io/File;)Landroid/net/Uri;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // java.io.File file
         0: .line 466
            aload 0 /* file */
            ifnonnull 2
         1: .line 467
            new java.lang.NullPointerException
            dup
            ldc "file"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 470
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokestatic android.net.Uri$PathPart.fromDecoded:(Ljava/lang/String;)Landroid/net/Uri$PathPart;
            astore 1 /* path */
        start local 1 // android.net.Uri$PathPart path
         3: .line 471
            new android.net.Uri$HierarchicalUri
            dup
         4: .line 472
            ldc "file"
            getstatic android.net.Uri$Part.EMPTY:Landroid/net/Uri$Part;
            aload 1 /* path */
            getstatic android.net.Uri$Part.NULL:Landroid/net/Uri$Part;
            getstatic android.net.Uri$Part.NULL:Landroid/net/Uri$Part;
         5: .line 471
            invokespecial android.net.Uri$HierarchicalUri.<init>:(Ljava/lang/String;Landroid/net/Uri$Part;Landroid/net/Uri$PathPart;Landroid/net/Uri$Part;Landroid/net/Uri$Part;)V
            areturn
        end local 1 // android.net.Uri$PathPart path
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  file  Ljava/io/File;
            3    6     1  path  Landroid/net/Uri$PathPart;
    MethodParameters:
      Name  Flags
      file  

  public static android.net.Uri fromParts(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.String scheme
        start local 1 // java.lang.String ssp
        start local 2 // java.lang.String fragment
         0: .line 841
            aload 0 /* scheme */
            ifnonnull 2
         1: .line 842
            new java.lang.NullPointerException
            dup
            ldc "scheme"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 844
      StackMap locals:
      StackMap stack:
            aload 1 /* ssp */
            ifnonnull 4
         3: .line 845
            new java.lang.NullPointerException
            dup
            ldc "ssp"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 848
      StackMap locals:
      StackMap stack:
            new android.net.Uri$OpaqueUri
            dup
            aload 0 /* scheme */
            aload 1 /* ssp */
            invokestatic android.net.Uri$Part.fromDecoded:(Ljava/lang/String;)Landroid/net/Uri$Part;
         5: .line 849
            aload 2 /* fragment */
            invokestatic android.net.Uri$Part.fromDecoded:(Ljava/lang/String;)Landroid/net/Uri$Part;
         6: .line 848
            invokespecial android.net.Uri$OpaqueUri.<init>:(Ljava/lang/String;Landroid/net/Uri$Part;Landroid/net/Uri$Part;)V
            areturn
        end local 2 // java.lang.String fragment
        end local 1 // java.lang.String ssp
        end local 0 // java.lang.String scheme
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0    scheme  Ljava/lang/String;
            0    7     1       ssp  Ljava/lang/String;
            0    7     2  fragment  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      scheme    
      ssp       
      fragment  

  public java.util.Set<java.lang.String> getQueryParameterNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // android.net.Uri this
         0: .line 1589
            aload 0 /* this */
            invokevirtual android.net.Uri.isOpaque:()Z
            ifeq 2
         1: .line 1590
            new java.lang.UnsupportedOperationException
            dup
            ldc "This isn't a hierarchical URI."
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.net.Uri.getEncodedQuery:()Ljava/lang/String;
            astore 1 /* query */
        start local 1 // java.lang.String query
         3: .line 1594
            aload 1 /* query */
            ifnonnull 5
         4: .line 1595
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         5: .line 1598
      StackMap locals: java.lang.String
      StackMap stack:
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 2 /* names */
        start local 2 // java.util.Set names
         6: .line 1599
            iconst_0
            istore 3 /* start */
        start local 3 // int start
         7: .line 1601
      StackMap locals: java.util.Set int
      StackMap stack:
            aload 1 /* query */
            bipush 38
            iload 3 /* start */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 4 /* next */
        start local 4 // int next
         8: .line 1602
            iload 4 /* next */
            iconst_m1
            if_icmpne 9
            aload 1 /* query */
            invokevirtual java.lang.String.length:()I
            goto 10
      StackMap locals: int
      StackMap stack:
         9: iload 4 /* next */
      StackMap locals:
      StackMap stack: int
        10: istore 5 /* end */
        start local 5 // int end
        11: .line 1604
            aload 1 /* query */
            bipush 61
            iload 3 /* start */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 6 /* separator */
        start local 6 // int separator
        12: .line 1605
            iload 6 /* separator */
            iload 5 /* end */
            if_icmpgt 13
            iload 6 /* separator */
            iconst_m1
            if_icmpne 14
        13: .line 1606
      StackMap locals: int int
      StackMap stack:
            iload 5 /* end */
            istore 6 /* separator */
        14: .line 1609
      StackMap locals:
      StackMap stack:
            aload 1 /* query */
            iload 3 /* start */
            iload 6 /* separator */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
        15: .line 1610
            aload 2 /* names */
            aload 7 /* name */
            invokestatic android.net.Uri.decode:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        16: .line 1613
            iload 5 /* end */
            iconst_1
            iadd
            istore 3 /* start */
        end local 7 // java.lang.String name
        end local 6 // int separator
        end local 5 // int end
        end local 4 // int next
        17: .line 1614
            iload 3 /* start */
            aload 1 /* query */
            invokevirtual java.lang.String.length:()I
        18: .line 1600
            if_icmplt 7
        19: .line 1616
            aload 2 /* names */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 3 // int start
        end local 2 // java.util.Set names
        end local 1 // java.lang.String query
        end local 0 // android.net.Uri this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Landroid/net/Uri;
            3   20     1      query  Ljava/lang/String;
            6   20     2      names  Ljava/util/Set<Ljava/lang/String;>;
            7   20     3      start  I
            8   17     4       next  I
           11   17     5        end  I
           12   17     6  separator  I
           15   17     7       name  Ljava/lang/String;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public java.util.List<java.lang.String> getQueryParameters(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // android.net.Uri this
        start local 1 // java.lang.String key
         0: .line 1629
            aload 0 /* this */
            invokevirtual android.net.Uri.isOpaque:()Z
            ifeq 2
         1: .line 1630
            new java.lang.UnsupportedOperationException
            dup
            ldc "This isn't a hierarchical URI."
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1632
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            ifnonnull 4
         3: .line 1633
            new java.lang.NullPointerException
            dup
            ldc "key"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.net.Uri.getEncodedQuery:()Ljava/lang/String;
            astore 2 /* query */
        start local 2 // java.lang.String query
         5: .line 1637
            aload 2 /* query */
            ifnonnull 7
         6: .line 1638
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         7: .line 1643
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* key */
            ldc "UTF-8"
            invokestatic java.net.URLEncoder.encode:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* encodedKey */
        start local 3 // java.lang.String encodedKey
         8: .line 1644
            goto 11
        end local 3 // java.lang.String encodedKey
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
         9: astore 4 /* e */
        start local 4 // java.io.UnsupportedEncodingException e
        10: .line 1645
            new java.lang.AssertionError
            dup
            aload 4 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 4 // java.io.UnsupportedEncodingException e
        start local 3 // java.lang.String encodedKey
        11: .line 1648
      StackMap locals: java.lang.String
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* values */
        start local 4 // java.util.ArrayList values
        12: .line 1650
            iconst_0
            istore 5 /* start */
        start local 5 // int start
        13: .line 1652
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            aload 2 /* query */
            bipush 38
            iload 5 /* start */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 6 /* nextAmpersand */
        start local 6 // int nextAmpersand
        14: .line 1653
            iload 6 /* nextAmpersand */
            iconst_m1
            if_icmpeq 15
            iload 6 /* nextAmpersand */
            goto 16
      StackMap locals: int
      StackMap stack:
        15: aload 2 /* query */
            invokevirtual java.lang.String.length:()I
      StackMap locals:
      StackMap stack: int
        16: istore 7 /* end */
        start local 7 // int end
        17: .line 1655
            aload 2 /* query */
            bipush 61
            iload 5 /* start */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 8 /* separator */
        start local 8 // int separator
        18: .line 1656
            iload 8 /* separator */
            iload 7 /* end */
            if_icmpgt 19
            iload 8 /* separator */
            iconst_m1
            if_icmpne 20
        19: .line 1657
      StackMap locals: int int
      StackMap stack:
            iload 7 /* end */
            istore 8 /* separator */
        20: .line 1660
      StackMap locals:
      StackMap stack:
            iload 8 /* separator */
            iload 5 /* start */
            isub
            aload 3 /* encodedKey */
            invokevirtual java.lang.String.length:()I
            if_icmpne 26
        21: .line 1661
            aload 2 /* query */
            iload 5 /* start */
            aload 3 /* encodedKey */
            iconst_0
            aload 3 /* encodedKey */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.regionMatches:(ILjava/lang/String;II)Z
            ifeq 26
        22: .line 1662
            iload 8 /* separator */
            iload 7 /* end */
            if_icmpne 25
        23: .line 1663
            aload 4 /* values */
            ldc ""
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        24: .line 1664
            goto 26
        25: .line 1665
      StackMap locals:
      StackMap stack:
            aload 4 /* values */
            aload 2 /* query */
            iload 8 /* separator */
            iconst_1
            iadd
            iload 7 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic android.net.Uri.decode:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        26: .line 1670
      StackMap locals:
      StackMap stack:
            iload 6 /* nextAmpersand */
            iconst_m1
            if_icmpeq 29
        27: .line 1671
            iload 6 /* nextAmpersand */
            iconst_1
            iadd
            istore 5 /* start */
        end local 8 // int separator
        end local 7 // int end
        end local 6 // int nextAmpersand
        28: .line 1675
            goto 13
        29: .line 1677
      StackMap locals:
      StackMap stack:
            aload 4 /* values */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 5 // int start
        end local 4 // java.util.ArrayList values
        end local 3 // java.lang.String encodedKey
        end local 2 // java.lang.String query
        end local 1 // java.lang.String key
        end local 0 // android.net.Uri this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   30     0           this  Landroid/net/Uri;
            0   30     1            key  Ljava/lang/String;
            5   30     2          query  Ljava/lang/String;
            8    9     3     encodedKey  Ljava/lang/String;
           11   30     3     encodedKey  Ljava/lang/String;
           10   11     4              e  Ljava/io/UnsupportedEncodingException;
           12   30     4         values  Ljava/util/ArrayList<Ljava/lang/String;>;
           13   30     5          start  I
           14   28     6  nextAmpersand  I
           17   28     7            end  I
           18   28     8      separator  I
      Exception table:
        from    to  target  type
           7     8       9  Class java.io.UnsupportedEncodingException
    Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      key   

  public java.lang.String getQueryParameter(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.net.Uri this
         0: .line 1723
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tUriCodec cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.net.Uri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri;
    MethodParameters:
      Name  Flags
      key   

  public boolean getBooleanQueryParameter(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // android.net.Uri this
        start local 1 // java.lang.String key
        start local 2 // boolean defaultValue
         0: .line 1747
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual android.net.Uri.getQueryParameter:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* flag */
        start local 3 // java.lang.String flag
         1: .line 1748
            aload 3 /* flag */
            ifnonnull 3
         2: .line 1749
            iload 2 /* defaultValue */
            ireturn
         3: .line 1751
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* flag */
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 3 /* flag */
         4: .line 1752
            ldc "false"
            aload 3 /* flag */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            ldc "0"
            aload 3 /* flag */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 3 // java.lang.String flag
        end local 2 // boolean defaultValue
        end local 1 // java.lang.String key
        end local 0 // android.net.Uri this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Landroid/net/Uri;
            0    6     1           key  Ljava/lang/String;
            0    6     2  defaultValue  Z
            1    6     3          flag  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      key           
      defaultValue  

  public android.net.Uri normalizeScheme();
    descriptor: ()Landroid/net/Uri;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // android.net.Uri this
         0: .line 1777
            aload 0 /* this */
            invokevirtual android.net.Uri.getScheme:()Ljava/lang/String;
            astore 1 /* scheme */
        start local 1 // java.lang.String scheme
         1: .line 1778
            aload 1 /* scheme */
            ifnonnull 2
            aload 0 /* this */
            areturn
         2: .line 1779
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* scheme */
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 2 /* lowerScheme */
        start local 2 // java.lang.String lowerScheme
         3: .line 1780
            aload 1 /* scheme */
            aload 2 /* lowerScheme */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0 /* this */
            areturn
         4: .line 1782
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.net.Uri.buildUpon:()Landroid/net/Uri$Builder;
            aload 2 /* lowerScheme */
            invokevirtual android.net.Uri$Builder.scheme:(Ljava/lang/String;)Landroid/net/Uri$Builder;
            invokevirtual android.net.Uri$Builder.build:()Landroid/net/Uri;
            areturn
        end local 2 // java.lang.String lowerScheme
        end local 1 // java.lang.String scheme
        end local 0 // android.net.Uri this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Landroid/net/Uri;
            1    5     1       scheme  Ljava/lang/String;
            3    5     2  lowerScheme  Ljava/lang/String;

  public static void writeToParcel(android.os.Parcel, android.net.Uri);
    descriptor: (Landroid/os/Parcel;Landroid/net/Uri;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.os.Parcel out
        start local 1 // android.net.Uri uri
         0: .line 1818
            aload 1 /* uri */
            ifnonnull 3
         1: .line 1819
            aload 0 /* out */
            iconst_0
            invokevirtual android.os.Parcel.writeInt:(I)V
         2: .line 1820
            goto 4
         3: .line 1821
      StackMap locals:
      StackMap stack:
            aload 1 /* uri */
            aload 0 /* out */
            iconst_0
            invokevirtual android.net.Uri.writeToParcel:(Landroid/os/Parcel;I)V
         4: .line 1823
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.net.Uri uri
        end local 0 // android.os.Parcel out
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   out  Landroid/os/Parcel;
            0    5     1   uri  Landroid/net/Uri;
    MethodParameters:
      Name  Flags
      out   
      uri   

  public static java.lang.String encode(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 1838
            aload 0 /* s */
            aconst_null
            invokestatic android.net.Uri.encode:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String encode(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // java.lang.String s
        start local 1 // java.lang.String allow
         0: .line 1855
            aload 0 /* s */
            ifnonnull 2
         1: .line 1856
            aconst_null
            areturn
         2: .line 1860
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* encoded */
        start local 2 // java.lang.StringBuilder encoded
         3: .line 1862
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 3 /* oldLength */
        start local 3 // int oldLength
         4: .line 1867
            iconst_0
            istore 4 /* current */
        start local 4 // int current
         5: .line 1868
            goto 40
         6: .line 1872
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            iload 4 /* current */
            istore 5 /* nextToEncode */
        start local 5 // int nextToEncode
         7: .line 1873
            goto 9
         8: .line 1875
      StackMap locals: int
      StackMap stack:
            iinc 5 /* nextToEncode */ 1
         9: .line 1873
      StackMap locals:
      StackMap stack:
            iload 5 /* nextToEncode */
            iload 3 /* oldLength */
            if_icmpge 11
        10: .line 1874
            aload 0 /* s */
            iload 5 /* nextToEncode */
            invokevirtual java.lang.String.charAt:(I)C
            aload 1 /* allow */
            invokestatic android.net.Uri.isAllowed:(CLjava/lang/String;)Z
            ifne 8
        11: .line 1879
      StackMap locals:
      StackMap stack:
            iload 5 /* nextToEncode */
            iload 3 /* oldLength */
            if_icmpne 16
        12: .line 1880
            iload 4 /* current */
            ifne 14
        13: .line 1882
            aload 0 /* s */
            areturn
        14: .line 1885
      StackMap locals:
      StackMap stack:
            aload 2 /* encoded */
            aload 0 /* s */
            iload 4 /* current */
            iload 3 /* oldLength */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
        15: .line 1886
            aload 2 /* encoded */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        16: .line 1890
      StackMap locals:
      StackMap stack:
            aload 2 /* encoded */
            ifnonnull 18
        17: .line 1891
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* encoded */
        18: .line 1894
      StackMap locals:
      StackMap stack:
            iload 5 /* nextToEncode */
            iload 4 /* current */
            if_icmple 20
        19: .line 1896
            aload 2 /* encoded */
            aload 0 /* s */
            iload 4 /* current */
            iload 5 /* nextToEncode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
        20: .line 1904
      StackMap locals:
      StackMap stack:
            iload 5 /* nextToEncode */
            istore 4 /* current */
        21: .line 1905
            iload 4 /* current */
            iconst_1
            iadd
            istore 6 /* nextAllowed */
        start local 6 // int nextAllowed
        22: .line 1906
            goto 24
        23: .line 1908
      StackMap locals: int
      StackMap stack:
            iinc 6 /* nextAllowed */ 1
        24: .line 1906
      StackMap locals:
      StackMap stack:
            iload 6 /* nextAllowed */
            iload 3 /* oldLength */
            if_icmpge 26
        25: .line 1907
            aload 0 /* s */
            iload 6 /* nextAllowed */
            invokevirtual java.lang.String.charAt:(I)C
            aload 1 /* allow */
            invokestatic android.net.Uri.isAllowed:(CLjava/lang/String;)Z
            ifeq 23
        26: .line 1913
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 4 /* current */
            iload 6 /* nextAllowed */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 7 /* toEncode */
        start local 7 // java.lang.String toEncode
        27: .line 1915
            aload 7 /* toEncode */
            ldc "UTF-8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 8 /* bytes */
        start local 8 // byte[] bytes
        28: .line 1916
            aload 8 /* bytes */
            arraylength
            istore 9 /* bytesLength */
        start local 9 // int bytesLength
        29: .line 1917
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        30: goto 35
        31: .line 1918
      StackMap locals: java.lang.String java.lang.String java.lang.StringBuilder int int int int java.lang.String byte[] int int
      StackMap stack:
            aload 2 /* encoded */
            bipush 37
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        32: .line 1919
            aload 2 /* encoded */
            getstatic android.net.Uri.HEX_DIGITS:[C
            aload 8 /* bytes */
            iload 10 /* i */
            baload
            sipush 240
            iand
            iconst_4
            ishr
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        33: .line 1920
            aload 2 /* encoded */
            getstatic android.net.Uri.HEX_DIGITS:[C
            aload 8 /* bytes */
            iload 10 /* i */
            baload
            bipush 15
            iand
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        34: .line 1917
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 10 /* i */
            iload 9 /* bytesLength */
            if_icmplt 31
        end local 10 // int i
        end local 9 // int bytesLength
        end local 8 // byte[] bytes
        36: .line 1922
            goto 39
      StackMap locals: java.lang.String java.lang.String java.lang.StringBuilder int int int int java.lang.String
      StackMap stack: java.io.UnsupportedEncodingException
        37: astore 8 /* e */
        start local 8 // java.io.UnsupportedEncodingException e
        38: .line 1923
            new java.lang.AssertionError
            dup
            aload 8 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 8 // java.io.UnsupportedEncodingException e
        39: .line 1926
      StackMap locals:
      StackMap stack:
            iload 6 /* nextAllowed */
            istore 4 /* current */
        end local 7 // java.lang.String toEncode
        end local 6 // int nextAllowed
        end local 5 // int nextToEncode
        40: .line 1868
      StackMap locals:
      StackMap stack:
            iload 4 /* current */
            iload 3 /* oldLength */
            if_icmplt 6
        41: .line 1930
            aload 2 /* encoded */
            ifnonnull 42
            aload 0 /* s */
            goto 43
      StackMap locals:
      StackMap stack:
        42: aload 2 /* encoded */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        43: areturn
        end local 4 // int current
        end local 3 // int oldLength
        end local 2 // java.lang.StringBuilder encoded
        end local 1 // java.lang.String allow
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   44     0             s  Ljava/lang/String;
            0   44     1         allow  Ljava/lang/String;
            3   44     2       encoded  Ljava/lang/StringBuilder;
            4   44     3     oldLength  I
            5   44     4       current  I
            7   40     5  nextToEncode  I
           22   40     6   nextAllowed  I
           27   40     7      toEncode  Ljava/lang/String;
           28   36     8         bytes  [B
           29   36     9   bytesLength  I
           30   36    10             i  I
           38   39     8             e  Ljava/io/UnsupportedEncodingException;
      Exception table:
        from    to  target  type
          27    36      37  Class java.io.UnsupportedEncodingException
    MethodParameters:
       Name  Flags
      s      
      allow  

  private static boolean isAllowed(char, java.lang.String);
    descriptor: (CLjava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // char c
        start local 1 // java.lang.String allow
         0: .line 1942
            iload 0 /* c */
            bipush 65
            if_icmplt 1
            iload 0 /* c */
            bipush 90
            if_icmple 6
         1: .line 1943
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            bipush 97
            if_icmplt 2
            iload 0 /* c */
            bipush 122
            if_icmple 6
         2: .line 1944
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            bipush 48
            if_icmplt 3
            iload 0 /* c */
            bipush 57
            if_icmple 6
         3: .line 1945
      StackMap locals:
      StackMap stack:
            ldc "_-!.~'()*"
            iload 0 /* c */
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 6
         4: .line 1946
            aload 1 /* allow */
            ifnull 5
            aload 1 /* allow */
            iload 0 /* c */
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 6
         5: .line 1942
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_1
            ireturn
        end local 1 // java.lang.String allow
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0      c  C
            0    7     1  allow  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      c      
      allow  

  public static java.lang.String decode(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 1962
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tUriCodec cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
      Name  Flags
      s     

  public static android.net.Uri withAppendedPath(android.net.Uri, java.lang.String);
    descriptor: (Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.net.Uri baseUri
        start local 1 // java.lang.String pathSegment
         0: .line 2322
            aload 0 /* baseUri */
            invokevirtual android.net.Uri.buildUpon:()Landroid/net/Uri$Builder;
            astore 2 /* builder */
        start local 2 // android.net.Uri$Builder builder
         1: .line 2323
            aload 2 /* builder */
            aload 1 /* pathSegment */
            invokevirtual android.net.Uri$Builder.appendEncodedPath:(Ljava/lang/String;)Landroid/net/Uri$Builder;
            astore 2 /* builder */
         2: .line 2324
            aload 2 /* builder */
            invokevirtual android.net.Uri$Builder.build:()Landroid/net/Uri;
            areturn
        end local 2 // android.net.Uri$Builder builder
        end local 1 // java.lang.String pathSegment
        end local 0 // android.net.Uri baseUri
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0      baseUri  Landroid/net/Uri;
            0    3     1  pathSegment  Ljava/lang/String;
            1    3     2      builder  Landroid/net/Uri$Builder;
    MethodParameters:
             Name  Flags
      baseUri      
      pathSegment  

  public android.net.Uri getCanonicalUri();
    descriptor: ()Landroid/net/Uri;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // android.net.Uri this
         0: .line 2336
            ldc "file"
            aload 0 /* this */
            invokevirtual android.net.Uri.getScheme:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
         1: .line 2339
            new java.io.File
            dup
            aload 0 /* this */
            invokevirtual android.net.Uri.getPath:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            astore 1 /* canonicalPath */
        start local 1 // java.lang.String canonicalPath
         2: .line 2340
            goto 5
        end local 1 // java.lang.String canonicalPath
      StackMap locals:
      StackMap stack: java.io.IOException
         3: pop
         4: .line 2341
            aload 0 /* this */
            areturn
        start local 1 // java.lang.String canonicalPath
         5: .line 2344
      StackMap locals: java.lang.String
      StackMap stack:
            invokestatic android.os.Environment.isExternalStorageEmulated:()Z
            ifeq 14
         6: .line 2345
            invokestatic android.os.Environment.getLegacyExternalStorageDirectory:()Ljava/io/File;
         7: .line 2346
            invokevirtual java.io.File.toString:()Ljava/lang/String;
         8: .line 2345
            astore 2 /* legacyPath */
        start local 2 // java.lang.String legacyPath
         9: .line 2349
            aload 1 /* canonicalPath */
            aload 2 /* legacyPath */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 14
        10: .line 2350
            new java.io.File
            dup
        11: .line 2351
            invokestatic android.os.Environment.getExternalStorageDirectory:()Ljava/io/File;
            invokevirtual java.io.File.toString:()Ljava/lang/String;
        12: .line 2352
            aload 1 /* canonicalPath */
            aload 2 /* legacyPath */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
        13: .line 2350
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokestatic android.net.Uri.fromFile:(Ljava/io/File;)Landroid/net/Uri;
            areturn
        end local 2 // java.lang.String legacyPath
        14: .line 2356
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 1 /* canonicalPath */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokestatic android.net.Uri.fromFile:(Ljava/io/File;)Landroid/net/Uri;
            areturn
        end local 1 // java.lang.String canonicalPath
        15: .line 2358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // android.net.Uri this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Landroid/net/Uri;
            2    3     1  canonicalPath  Ljava/lang/String;
            5   15     1  canonicalPath  Ljava/lang/String;
            9   14     2     legacyPath  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException

  public void checkFileUriExposed(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.net.Uri this
        start local 1 // java.lang.String location
         0: .line 2369
            ldc "file"
            aload 0 /* this */
            invokevirtual android.net.Uri.getScheme:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 2370
            aload 0 /* this */
            invokevirtual android.net.Uri.getPath:()Ljava/lang/String;
            ifnull 3
            aload 0 /* this */
            invokevirtual android.net.Uri.getPath:()Ljava/lang/String;
            ldc "/system/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 3
         2: .line 2371
            aload 0 /* this */
            aload 1 /* location */
            invokestatic android.os.StrictMode.onFileUriExposed:(Landroid/net/Uri;Ljava/lang/String;)V
         3: .line 2373
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String location
        end local 0 // android.net.Uri this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/net/Uri;
            0    4     1  location  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      location  

  public void checkContentUriWithoutPermission(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.net.Uri this
        start local 1 // java.lang.String location
        start local 2 // int flags
         0: .line 2382
            ldc "content"
            aload 0 /* this */
            invokevirtual android.net.Uri.getScheme:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
            iload 2 /* flags */
            invokestatic android.content.Intent.isAccessUriMode:(I)Z
            ifne 2
         1: .line 2383
            aload 0 /* this */
            aload 1 /* location */
            invokestatic android.os.StrictMode.onContentUriWithoutPermission:(Landroid/net/Uri;Ljava/lang/String;)V
         2: .line 2385
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int flags
        end local 1 // java.lang.String location
        end local 0 // android.net.Uri this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Landroid/net/Uri;
            0    3     1  location  Ljava/lang/String;
            0    3     2     flags  I
    MethodParameters:
          Name  Flags
      location  
      flags     

  public boolean isPathPrefixMatch(android.net.Uri);
    descriptor: (Landroid/net/Uri;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // android.net.Uri this
        start local 1 // android.net.Uri prefix
         0: .line 2394
            aload 0 /* this */
            invokevirtual android.net.Uri.getScheme:()Ljava/lang/String;
            aload 1 /* prefix */
            invokevirtual android.net.Uri.getScheme:()Ljava/lang/String;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 1
            iconst_0
            ireturn
         1: .line 2395
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.net.Uri.getAuthority:()Ljava/lang/String;
            aload 1 /* prefix */
            invokevirtual android.net.Uri.getAuthority:()Ljava/lang/String;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 2
            iconst_0
            ireturn
         2: .line 2397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.net.Uri.getPathSegments:()Ljava/util/List;
            astore 2 /* seg */
        start local 2 // java.util.List seg
         3: .line 2398
            aload 1 /* prefix */
            invokevirtual android.net.Uri.getPathSegments:()Ljava/util/List;
            astore 3 /* prefixSeg */
        start local 3 // java.util.List prefixSeg
         4: .line 2400
            aload 3 /* prefixSeg */
            invokeinterface java.util.List.size:()I
            istore 4 /* prefixSize */
        start local 4 // int prefixSize
         5: .line 2401
            aload 2 /* seg */
            invokeinterface java.util.List.size:()I
            iload 4 /* prefixSize */
            if_icmpge 6
            iconst_0
            ireturn
         6: .line 2403
      StackMap locals: java.util.List java.util.List int
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         7: goto 11
         8: .line 2404
      StackMap locals: int
      StackMap stack:
            aload 2 /* seg */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            aload 3 /* prefixSeg */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 10
         9: .line 2405
            iconst_0
            ireturn
        10: .line 2403
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            iload 4 /* prefixSize */
            if_icmplt 8
        end local 5 // int i
        12: .line 2409
            iconst_1
            ireturn
        end local 4 // int prefixSize
        end local 3 // java.util.List prefixSeg
        end local 2 // java.util.List seg
        end local 1 // android.net.Uri prefix
        end local 0 // android.net.Uri this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Landroid/net/Uri;
            0   13     1      prefix  Landroid/net/Uri;
            3   13     2         seg  Ljava/util/List<Ljava/lang/String;>;
            4   13     3   prefixSeg  Ljava/util/List<Ljava/lang/String;>;
            5   13     4  prefixSize  I
            7   12     5           i  I
    MethodParameters:
        Name  Flags
      prefix  

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast android.net.Uri
            invokevirtual android.net.Uri.compareTo:(Landroid/net/Uri;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Landroid/os/Parcelable;Ljava/lang/Comparable<Landroid/net/Uri;>;
SourceFile: "Uri.java"
NestMembers:
  android.net.Uri$1  android.net.Uri$AbstractHierarchicalUri  android.net.Uri$AbstractPart  android.net.Uri$AbstractPart$Representation  android.net.Uri$Builder  android.net.Uri$HierarchicalUri  android.net.Uri$OpaqueUri  android.net.Uri$Part  android.net.Uri$Part$EmptyPart  android.net.Uri$PathPart  android.net.Uri$PathSegments  android.net.Uri$PathSegmentsBuilder  android.net.Uri$StringUri
InnerClasses:
  android.net.Uri$1
  private abstract AbstractHierarchicalUri = android.net.Uri$AbstractHierarchicalUri of android.net.Uri
  abstract AbstractPart = android.net.Uri$AbstractPart of android.net.Uri
  public final Builder = android.net.Uri$Builder of android.net.Uri
  private HierarchicalUri = android.net.Uri$HierarchicalUri of android.net.Uri
  private OpaqueUri = android.net.Uri$OpaqueUri 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
  PathSegmentsBuilder = android.net.Uri$PathSegmentsBuilder of android.net.Uri
  private StringUri = android.net.Uri$StringUri of android.net.Uri
  public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable