class android.net.Uri$PathPart extends android.net.Uri$AbstractPart
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.net.Uri$PathPart
super_class: android.net.Uri$AbstractPart
{
static final android.net.Uri$PathPart NULL;
descriptor: Landroid/net/Uri$PathPart;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final android.net.Uri$PathPart EMPTY;
descriptor: Landroid/net/Uri$PathPart;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private android.net.Uri$PathSegments pathSegments;
descriptor: Landroid/net/Uri$PathSegments;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new android.net.Uri$PathPart
dup
aconst_null
aconst_null
invokespecial android.net.Uri$PathPart.<init>:(Ljava/lang/String;Ljava/lang/String;)V
putstatic android.net.Uri$PathPart.NULL:Landroid/net/Uri$PathPart;
1: new android.net.Uri$PathPart
dup
ldc ""
ldc ""
invokespecial android.net.Uri$PathPart.<init>:(Ljava/lang/String;Ljava/lang/String;)V
putstatic android.net.Uri$PathPart.EMPTY:Landroid/net/Uri$PathPart;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial android.net.Uri$AbstractPart.<init>:(Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/net/Uri$PathPart;
0 2 1 encoded Ljava/lang/String;
0 2 2 decoded Ljava/lang/String;
MethodParameters:
Name Flags
encoded
decoded
java.lang.String getEncoded();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.net.Uri$PathPart.encoded: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
start local 1 3: iload 1
ifeq 4
aload 0
getfield android.net.Uri$PathPart.encoded:Ljava/lang/String;
goto 5
StackMap locals: int
StackMap stack:
4: aload 0
aload 0
getfield android.net.Uri$PathPart.decoded:Ljava/lang/String;
ldc "/"
invokestatic android.net.Uri.encode:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
dup_x1
putfield android.net.Uri$PathPart.encoded:Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
5: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/net/Uri$PathPart;
3 6 1 hasEncoded Z
android.net.Uri$PathSegments getPathSegments();
descriptor: ()Landroid/net/Uri$PathSegments;
flags: (0x0000)
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
getfield android.net.Uri$PathPart.pathSegments:Landroid/net/Uri$PathSegments;
ifnull 2
1: aload 0
getfield android.net.Uri$PathPart.pathSegments:Landroid/net/Uri$PathSegments;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.net.Uri$PathPart.getEncoded:()Ljava/lang/String;
astore 1
start local 1 3: aload 1
ifnonnull 5
4: aload 0
getstatic android.net.Uri$PathSegments.EMPTY:Landroid/net/Uri$PathSegments;
dup_x1
putfield android.net.Uri$PathPart.pathSegments:Landroid/net/Uri$PathSegments;
areturn
5: StackMap locals: java.lang.String
StackMap stack:
new android.net.Uri$PathSegmentsBuilder
dup
invokespecial android.net.Uri$PathSegmentsBuilder.<init>:()V
astore 2
start local 2 6: iconst_0
istore 3
start local 3 7: goto 13
start local 4 8: StackMap locals: android.net.Uri$PathSegmentsBuilder int int
StackMap stack:
iload 3
iload 4
if_icmpge 12
9: aload 1
iload 3
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic android.net.Uri.decode:(Ljava/lang/String;)Ljava/lang/String;
10: astore 5
start local 5 11: aload 2
aload 5
invokevirtual android.net.Uri$PathSegmentsBuilder.add:(Ljava/lang/String;)V
end local 5 12: StackMap locals:
StackMap stack:
iload 4
iconst_1
iadd
istore 3
end local 4 13: StackMap locals:
StackMap stack:
aload 1
bipush 47
iload 3
invokevirtual java.lang.String.indexOf:(II)I
dup
istore 4
start local 4 14: iconst_m1
if_icmpgt 8
15: iload 3
aload 1
invokevirtual java.lang.String.length:()I
if_icmpge 17
16: aload 2
aload 1
iload 3
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic android.net.Uri.decode:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual android.net.Uri$PathSegmentsBuilder.add:(Ljava/lang/String;)V
17: StackMap locals: int
StackMap stack:
aload 0
aload 2
invokevirtual android.net.Uri$PathSegmentsBuilder.build:()Landroid/net/Uri$PathSegments;
dup_x1
putfield android.net.Uri$PathPart.pathSegments:Landroid/net/Uri$PathSegments;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Landroid/net/Uri$PathPart;
3 18 1 path Ljava/lang/String;
6 18 2 segmentBuilder Landroid/net/Uri$PathSegmentsBuilder;
7 18 3 previous I
8 13 4 current I
14 18 4 current I
11 12 5 decodedSegment Ljava/lang/String;
static android.net.Uri$PathPart appendEncodedSegment(android.net.Uri$PathPart, java.lang.String);
descriptor: (Landroid/net/Uri$PathPart;Ljava/lang/String;)Landroid/net/Uri$PathPart;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: new java.lang.StringBuilder
dup
ldc "/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.net.Uri$PathPart.fromEncoded:(Ljava/lang/String;)Landroid/net/Uri$PathPart;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.net.Uri$PathPart.getEncoded:()Ljava/lang/String;
astore 2
start local 2 3: aload 2
ifnonnull 5
4: ldc ""
astore 2
5: StackMap locals: java.lang.String
StackMap stack:
aload 2
invokevirtual java.lang.String.length:()I
istore 3
start local 3 6: iload 3
ifne 9
7: new java.lang.StringBuilder
dup
ldc "/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 8: goto 13
end local 4 StackMap locals: int
StackMap stack:
9: aload 2
iload 3
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpne 12
10: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 11: goto 13
end local 4 12: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 13: StackMap locals: java.lang.String
StackMap stack:
aload 4
invokestatic android.net.Uri$PathPart.fromEncoded:(Ljava/lang/String;)Landroid/net/Uri$PathPart;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 oldPart Landroid/net/Uri$PathPart;
0 14 1 newSegment Ljava/lang/String;
3 14 2 oldPath Ljava/lang/String;
6 14 3 oldPathLength I
8 9 4 newPath Ljava/lang/String;
11 12 4 newPath Ljava/lang/String;
13 14 4 newPath Ljava/lang/String;
MethodParameters:
Name Flags
oldPart
newSegment
static android.net.Uri$PathPart appendDecodedSegment(android.net.Uri$PathPart, java.lang.String);
descriptor: (Landroid/net/Uri$PathPart;Ljava/lang/String;)Landroid/net/Uri$PathPart;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic android.net.Uri.encode:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 0
aload 2
invokestatic android.net.Uri$PathPart.appendEncodedSegment:(Landroid/net/Uri$PathPart;Ljava/lang/String;)Landroid/net/Uri$PathPart;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 oldPart Landroid/net/Uri$PathPart;
0 2 1 decoded Ljava/lang/String;
1 2 2 encoded Ljava/lang/String;
MethodParameters:
Name Flags
oldPart
decoded
static android.net.Uri$PathPart readFrom(android.os.Parcel);
descriptor: (Landroid/os/Parcel;)Landroid/net/Uri$PathPart;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual android.os.Parcel.readInt:()I
istore 1
start local 1 1: iload 1
tableswitch { // 0 - 2
0: 2
1: 3
2: 4
default: 5
}
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
aload 0
invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
invokestatic android.net.Uri$PathPart.from:(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$PathPart;
areturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
invokestatic android.net.Uri$PathPart.fromEncoded:(Ljava/lang/String;)Landroid/net/Uri$PathPart;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
invokestatic android.net.Uri$PathPart.fromDecoded:(Ljava/lang/String;)Landroid/net/Uri$PathPart;
areturn
5: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Bad representation: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 parcel Landroid/os/Parcel;
1 6 1 representation I
MethodParameters:
Name Flags
parcel
static android.net.Uri$PathPart fromEncoded(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/net/Uri$PathPart;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic android.net.Uri.NOT_CACHED:Ljava/lang/String;
invokestatic android.net.Uri$PathPart.from:(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$PathPart;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 encoded Ljava/lang/String;
MethodParameters:
Name Flags
encoded
static android.net.Uri$PathPart fromDecoded(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/net/Uri$PathPart;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic android.net.Uri.NOT_CACHED:Ljava/lang/String;
aload 0
invokestatic android.net.Uri$PathPart.from:(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$PathPart;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 decoded Ljava/lang/String;
MethodParameters:
Name Flags
decoded
static android.net.Uri$PathPart from(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$PathPart;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: getstatic android.net.Uri$PathPart.NULL:Landroid/net/Uri$PathPart;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.length:()I
ifne 4
3: getstatic android.net.Uri$PathPart.EMPTY:Landroid/net/Uri$PathPart;
areturn
4: StackMap locals:
StackMap stack:
new android.net.Uri$PathPart
dup
aload 0
aload 1
invokespecial android.net.Uri$PathPart.<init>:(Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 encoded Ljava/lang/String;
0 5 1 decoded Ljava/lang/String;
MethodParameters:
Name Flags
encoded
decoded
static android.net.Uri$PathPart makeAbsolute(android.net.Uri$PathPart);
descriptor: (Landroid/net/Uri$PathPart;)Landroid/net/Uri$PathPart;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield android.net.Uri$PathPart.encoded: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
start local 1 3: iload 1
ifeq 4
aload 0
getfield android.net.Uri$PathPart.encoded:Ljava/lang/String;
goto 5
StackMap locals: int
StackMap stack:
4: aload 0
getfield android.net.Uri$PathPart.decoded:Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
5: astore 2
start local 2 6: aload 2
ifnull 8
aload 2
invokevirtual java.lang.String.length:()I
ifeq 8
7: aload 2
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 9
8: StackMap locals: java.lang.String
StackMap stack:
aload 0
areturn
9: StackMap locals:
StackMap stack:
iload 1
ifeq 11
10: new java.lang.StringBuilder
dup
ldc "/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.net.Uri$PathPart.encoded:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 12
StackMap locals:
StackMap stack:
11: getstatic android.net.Uri.NOT_CACHED:Ljava/lang/String;
12: StackMap locals:
StackMap stack: java.lang.String
astore 3
start local 3 13: aload 0
getfield android.net.Uri$PathPart.decoded:Ljava/lang/String;
getstatic android.net.Uri.NOT_CACHED:Ljava/lang/String;
if_acmpeq 14
iconst_1
goto 15
StackMap locals: java.lang.String
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 4
start local 4 16: iload 4
ifeq 18
17: new java.lang.StringBuilder
dup
ldc "/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.net.Uri$PathPart.decoded:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 19
18: StackMap locals: int
StackMap stack:
getstatic android.net.Uri.NOT_CACHED:Ljava/lang/String;
19: StackMap locals:
StackMap stack: java.lang.String
astore 5
start local 5 20: new android.net.Uri$PathPart
dup
aload 3
aload 5
invokespecial android.net.Uri$PathPart.<init>:(Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 oldPart Landroid/net/Uri$PathPart;
3 21 1 encodedCached Z
6 21 2 oldPath Ljava/lang/String;
13 21 3 newEncoded Ljava/lang/String;
16 21 4 decodedCached Z
20 21 5 newDecoded Ljava/lang/String;
MethodParameters:
Name Flags
oldPart
}
SourceFile: "Uri.java"
NestHost: android.net.Uri
InnerClasses:
abstract AbstractPart = android.net.Uri$AbstractPart 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