public final class android.webkit.URLUtil
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.webkit.URLUtil
super_class: java.lang.Object
{
private static final java.lang.String LOGTAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "webkit"
private static final boolean TRACE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final java.lang.String ASSET_BASE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "file:///android_asset/"
static final java.lang.String RESOURCE_BASE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "file:///android_res/"
static final java.lang.String FILE_BASE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "file:"
static final java.lang.String PROXY_BASE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "file:///cookieless_proxy/"
static final java.lang.String CONTENT_BASE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "content:"
private static final java.util.regex.Pattern CONTENT_DISPOSITION_PATTERN;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "attachment;\\s*filename\\s*=\\s*(\"?)([^\"]*)\\1\\s*$"
1: iconst_2
2: invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
3: putstatic android.webkit.URLUtil.CONTENT_DISPOSITION_PATTERN:Ljava/util/regex/Pattern;
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/webkit/URLUtil;
public static java.lang.String guessUrl(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: aload 0
invokevirtual java.lang.String.length:()I
ifne 2
aload 0
areturn
2: StackMap locals: java.lang.String
StackMap stack:
aload 0
ldc "about:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
aload 0
areturn
3: StackMap locals:
StackMap stack:
aload 0
ldc "data:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 0
ldc "file:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 5
aload 0
areturn
5: StackMap locals:
StackMap stack:
aload 0
ldc "javascript:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 6
aload 0
areturn
6: StackMap locals:
StackMap stack:
aload 0
ldc "."
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 8
7: aload 0
iconst_0
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 0
8: StackMap locals:
StackMap stack:
new android.net.WebAddress
dup
aload 0
invokespecial android.net.WebAddress.<init>:(Ljava/lang/String;)V
astore 2
start local 2 9: goto 12
end local 2 StackMap locals:
StackMap stack: android.net.ParseException
10: pop
11: aload 1
areturn
start local 2 12: StackMap locals: android.net.WebAddress
StackMap stack:
aload 2
invokevirtual android.net.WebAddress.getHost:()Ljava/lang/String;
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 14
13: aload 2
new java.lang.StringBuilder
dup
ldc "www."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual android.net.WebAddress.getHost:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".com"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual android.net.WebAddress.setHost:(Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
aload 2
invokevirtual android.net.WebAddress.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 inUrl Ljava/lang/String;
1 15 1 retVal Ljava/lang/String;
9 10 2 webAddress Landroid/net/WebAddress;
12 15 2 webAddress Landroid/net/WebAddress;
Exception table:
from to target type
8 9 10 Class android.net.ParseException
MethodParameters:
Name Flags
inUrl
public static java.lang.String composeSearchUrl(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 3
start local 3 1: iload 3
ifge 3
2: aconst_null
areturn
3: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5
start local 5 4: aload 5
aload 1
iconst_0
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 0
ldc "utf-8"
invokestatic java.net.URLEncoder.encode:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 6: aload 5
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: goto 10
end local 4 StackMap locals: java.lang.String java.lang.String java.lang.String int top java.lang.StringBuilder
StackMap stack: java.io.UnsupportedEncodingException
8: pop
9: aconst_null
areturn
start local 4 10: StackMap locals: java.lang.String java.lang.String java.lang.String int java.lang.String java.lang.StringBuilder
StackMap stack:
aload 5
aload 1
11: iload 3
aload 2
invokevirtual java.lang.String.length:()I
iadd
12: invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
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 14 0 inQuery Ljava/lang/String;
0 14 1 template Ljava/lang/String;
0 14 2 queryPlaceHolder Ljava/lang/String;
1 14 3 placeHolderIndex I
6 8 4 query Ljava/lang/String;
10 14 4 query Ljava/lang/String;
4 14 5 buffer Ljava/lang/StringBuilder;
Exception table:
from to target type
5 7 8 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
inQuery
template
queryPlaceHolder
public static byte[] decode(byte[]);
descriptor: ([B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
arraylength
ifne 2
1: iconst_0
newarray 8
areturn
2: StackMap locals:
StackMap stack:
aload 0
arraylength
newarray 8
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 17
6: StackMap locals: byte[] int int
StackMap stack:
aload 0
iload 3
baload
istore 4
start local 4 7: iload 4
bipush 37
if_icmpne 15
8: aload 0
arraylength
iload 3
isub
iconst_2
if_icmple 14
9: aload 0
iload 3
iconst_1
iadd
baload
invokestatic android.webkit.URLUtil.parseHex:(B)I
bipush 16
imul
10: aload 0
iload 3
iconst_2
iadd
baload
invokestatic android.webkit.URLUtil.parseHex:(B)I
11: iadd
i2b
istore 4
12: iinc 3 2
13: goto 15
14: StackMap locals: int
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid format"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
iload 4
bastore
end local 4 16: iinc 3 1
StackMap locals:
StackMap stack:
17: iload 3
aload 0
arraylength
if_icmplt 6
end local 3 18: iload 2
newarray 8
astore 3
start local 3 19: aload 1
iconst_0
aload 3
iconst_0
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
20: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 url [B
3 21 1 tempData [B
4 21 2 tempCount I
5 18 3 i I
7 16 4 b B
19 21 3 retData [B
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
url
static boolean verifyURLEncoding(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 1: iload 1
ifne 3
2: iconst_0
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
bipush 37
invokevirtual java.lang.String.indexOf:(I)I
istore 2
start local 2 4: goto 13
5: StackMap locals: int
StackMap stack:
iload 2
iload 1
iconst_2
isub
if_icmpge 11
6: aload 0
iinc 2 1
iload 2
invokevirtual java.lang.String.charAt:(I)C
i2b
invokestatic android.webkit.URLUtil.parseHex:(B)I
pop
7: aload 0
iinc 2 1
iload 2
invokevirtual java.lang.String.charAt:(I)C
i2b
invokestatic android.webkit.URLUtil.parseHex:(B)I
pop
8: goto 12
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
9: pop
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
12: StackMap locals:
StackMap stack:
aload 0
bipush 37
iload 2
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 2
13: StackMap locals:
StackMap stack:
iload 2
iflt 14
iload 2
iload 1
if_icmplt 5
14: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 url Ljava/lang/String;
1 15 1 count I
4 15 2 index I
Exception table:
from to target type
6 8 9 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
url
private static int parseHex(byte);
descriptor: (B)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: iload 0
bipush 48
if_icmplt 1
iload 0
bipush 57
if_icmpgt 1
iload 0
bipush 48
isub
ireturn
1: StackMap locals:
StackMap stack:
iload 0
bipush 65
if_icmplt 2
iload 0
bipush 70
if_icmpgt 2
iload 0
bipush 65
isub
bipush 10
iadd
ireturn
2: StackMap locals:
StackMap stack:
iload 0
bipush 97
if_icmplt 3
iload 0
bipush 102
if_icmpgt 3
iload 0
bipush 97
isub
bipush 10
iadd
ireturn
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid hex char '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 b B
MethodParameters:
Name Flags
b
public static boolean isAssetUrl(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
ldc "file:///android_asset/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 url Ljava/lang/String;
MethodParameters:
Name Flags
url
public static boolean isResourceUrl(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
ldc "file:///android_res/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 url Ljava/lang/String;
MethodParameters:
Name Flags
url
public static boolean isCookielessProxyUrl(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
ldc "file:///cookieless_proxy/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 url Ljava/lang/String;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
url
public static boolean isFileUrl(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 4
aload 0
ldc "file:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
1: aload 0
ldc "file:///android_asset/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 4
2: aload 0
ldc "file:///cookieless_proxy/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 4
3: iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 url Ljava/lang/String;
MethodParameters:
Name Flags
url
public static boolean isAboutUrl(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
ldc "about:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 url Ljava/lang/String;
MethodParameters:
Name Flags
url
public static boolean isDataUrl(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
ldc "data:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 url Ljava/lang/String;
MethodParameters:
Name Flags
url
public static boolean isJavaScriptUrl(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
ldc "javascript:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 url Ljava/lang/String;
MethodParameters:
Name Flags
url
public static boolean isHttpUrl(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ifnull 4
1: aload 0
invokevirtual java.lang.String.length:()I
bipush 6
if_icmple 4
2: aload 0
iconst_0
bipush 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
ldc "http://"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 4
3: iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 url Ljava/lang/String;
MethodParameters:
Name Flags
url
public static boolean isHttpsUrl(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ifnull 4
1: aload 0
invokevirtual java.lang.String.length:()I
bipush 7
if_icmple 4
2: aload 0
iconst_0
bipush 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
ldc "https://"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 4
3: iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 url Ljava/lang/String;
MethodParameters:
Name Flags
url
public static boolean isNetworkUrl(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokevirtual java.lang.String.length:()I
ifne 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic android.webkit.URLUtil.isHttpUrl:(Ljava/lang/String;)Z
ifne 3
aload 0
invokestatic android.webkit.URLUtil.isHttpsUrl:(Ljava/lang/String;)Z
ifne 3
iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 url Ljava/lang/String;
MethodParameters:
Name Flags
url
public static boolean isContentUrl(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
ldc "content:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 url Ljava/lang/String;
MethodParameters:
Name Flags
url
public static boolean isValidUrl(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokevirtual java.lang.String.length:()I
ifne 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic android.webkit.URLUtil.isAssetUrl:(Ljava/lang/String;)Z
ifne 11
3: aload 0
invokestatic android.webkit.URLUtil.isResourceUrl:(Ljava/lang/String;)Z
ifne 11
4: aload 0
invokestatic android.webkit.URLUtil.isFileUrl:(Ljava/lang/String;)Z
ifne 11
5: aload 0
invokestatic android.webkit.URLUtil.isAboutUrl:(Ljava/lang/String;)Z
ifne 11
6: aload 0
invokestatic android.webkit.URLUtil.isHttpUrl:(Ljava/lang/String;)Z
ifne 11
7: aload 0
invokestatic android.webkit.URLUtil.isHttpsUrl:(Ljava/lang/String;)Z
ifne 11
8: aload 0
invokestatic android.webkit.URLUtil.isJavaScriptUrl:(Ljava/lang/String;)Z
ifne 11
9: aload 0
invokestatic android.webkit.URLUtil.isContentUrl:(Ljava/lang/String;)Z
ifne 11
10: iconst_0
ireturn
StackMap locals:
StackMap stack:
11: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 url Ljava/lang/String;
MethodParameters:
Name Flags
url
public static java.lang.String stripAnchor(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
bipush 35
invokevirtual java.lang.String.indexOf:(I)I
istore 1
start local 1 1: iload 1
iconst_m1
if_icmpeq 3
2: aload 0
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
3: StackMap locals: int
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 url Ljava/lang/String;
1 4 1 anchorIndex I
MethodParameters:
Name Flags
url
public static final java.lang.String guessFileName(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 3
ifnonnull 8
aload 1
ifnull 8
3: aload 1
invokestatic android.webkit.URLUtil.parseContentDisposition:(Ljava/lang/String;)Ljava/lang/String;
astore 3
4: aload 3
ifnull 8
5: aload 3
bipush 47
invokevirtual java.lang.String.lastIndexOf:(I)I
iconst_1
iadd
istore 5
start local 5 6: iload 5
ifle 8
7: aload 3
iload 5
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
end local 5 8: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 3
ifnonnull 18
9: aload 0
invokestatic android.net.Uri.decode:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 10: aload 5
ifnull 18
11: aload 5
bipush 63
invokevirtual java.lang.String.indexOf:(I)I
istore 6
start local 6 12: iload 6
ifle 14
13: aload 5
iconst_0
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 5
14: StackMap locals: java.lang.String int
StackMap stack:
aload 5
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 18
15: aload 5
bipush 47
invokevirtual java.lang.String.lastIndexOf:(I)I
iconst_1
iadd
istore 7
start local 7 16: iload 7
ifle 18
17: aload 5
iload 7
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
end local 7 end local 6 end local 5 18: StackMap locals:
StackMap stack:
aload 3
ifnonnull 20
19: ldc "downloadfile"
astore 3
20: StackMap locals:
StackMap stack:
aload 3
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
istore 5
start local 5 21: iload 5
ifge 35
22: aload 2
ifnull 26
23: invokestatic android.webkit.MimeTypeMap.getSingleton:()Landroid/webkit/MimeTypeMap;
aload 2
invokevirtual android.webkit.MimeTypeMap.getExtensionFromMimeType:(Ljava/lang/String;)Ljava/lang/String;
astore 4
24: aload 4
ifnull 26
25: new java.lang.StringBuilder
dup
ldc "."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
26: StackMap locals: int
StackMap stack:
aload 4
ifnonnull 47
27: aload 2
ifnull 33
aload 2
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
ldc "text/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 33
28: aload 2
ldc "text/html"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 31
29: ldc ".html"
astore 4
30: goto 47
31: StackMap locals:
StackMap stack:
ldc ".txt"
astore 4
32: goto 47
33: StackMap locals:
StackMap stack:
ldc ".bin"
astore 4
34: goto 47
35: StackMap locals:
StackMap stack:
aload 2
ifnull 44
36: aload 3
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 6
start local 6 37: invokestatic android.webkit.MimeTypeMap.getSingleton:()Landroid/webkit/MimeTypeMap;
38: aload 3
iload 6
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
39: invokevirtual android.webkit.MimeTypeMap.getMimeTypeFromExtension:(Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 40: aload 7
ifnull 44
aload 7
aload 2
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 44
41: invokestatic android.webkit.MimeTypeMap.getSingleton:()Landroid/webkit/MimeTypeMap;
aload 2
invokevirtual android.webkit.MimeTypeMap.getExtensionFromMimeType:(Ljava/lang/String;)Ljava/lang/String;
astore 4
42: aload 4
ifnull 44
43: new java.lang.StringBuilder
dup
ldc "."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
end local 7 end local 6 44: StackMap locals:
StackMap stack:
aload 4
ifnonnull 46
45: aload 3
iload 5
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 4
46: StackMap locals:
StackMap stack:
aload 3
iconst_0
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
47: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
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 48 0 url Ljava/lang/String;
0 48 1 contentDisposition Ljava/lang/String;
0 48 2 mimeType Ljava/lang/String;
1 48 3 filename Ljava/lang/String;
2 48 4 extension Ljava/lang/String;
6 8 5 index I
10 18 5 decodedUrl Ljava/lang/String;
12 18 6 queryIndex I
16 18 7 index I
21 48 5 dotIndex I
37 44 6 lastDotIndex I
40 44 7 typeFromExt Ljava/lang/String;
MethodParameters:
Name Flags
url
contentDisposition
mimeType
static java.lang.String parseContentDisposition(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic android.webkit.URLUtil.CONTENT_DISPOSITION_PATTERN:Ljava/util/regex/Pattern;
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 1
start local 1 1: aload 1
invokevirtual java.util.regex.Matcher.find:()Z
ifeq 5
2: aload 1
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
3: areturn
end local 1 4: StackMap locals:
StackMap stack: java.lang.IllegalStateException
pop
5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 contentDisposition Ljava/lang/String;
1 4 1 m Ljava/util/regex/Matcher;
Exception table:
from to target type
0 3 4 Class java.lang.IllegalStateException
MethodParameters:
Name Flags
contentDisposition
}
SourceFile: "URLUtil.java"