public class android.media.Media2HTTPConnection
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.media.Media2HTTPConnection
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Media2HTTPConnection"
private static final boolean VERBOSE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int CONNECT_TIMEOUT_MS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 30000
private long mCurrentOffset;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.net.URL mURL;
descriptor: Ljava/net/URL;
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.String, java.lang.String> mHeaders;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
private java.net.HttpURLConnection mConnection;
descriptor: Ljava/net/HttpURLConnection;
flags: (0x0002) ACC_PRIVATE
private long mTotalSize;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.io.InputStream mInputStream;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
private boolean mAllowCrossDomainRedirect;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mAllowCrossProtocolRedirect;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final int HTTP_TEMP_REDIRECT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 307
private static final int MAX_REDIRECTS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc -1
putfield android.media.Media2HTTPConnection.mCurrentOffset:J
2: aload 0
aconst_null
putfield android.media.Media2HTTPConnection.mURL:Ljava/net/URL;
3: aload 0
aconst_null
putfield android.media.Media2HTTPConnection.mHeaders:Ljava/util/Map;
4: aload 0
aconst_null
putfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
5: aload 0
ldc -1
putfield android.media.Media2HTTPConnection.mTotalSize:J
6: aload 0
aconst_null
putfield android.media.Media2HTTPConnection.mInputStream:Ljava/io/InputStream;
7: aload 0
iconst_1
putfield android.media.Media2HTTPConnection.mAllowCrossDomainRedirect:Z
8: aload 0
iconst_1
putfield android.media.Media2HTTPConnection.mAllowCrossProtocolRedirect:Z
9: invokestatic java.net.CookieHandler.getDefault:()Ljava/net/CookieHandler;
astore 1
start local 1 10: aload 1
ifnonnull 12
11: ldc "Media2HTTPConnection"
ldc "Media2HTTPConnection: Unexpected. No CookieHandler found."
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
12: StackMap locals: android.media.Media2HTTPConnection java.net.CookieHandler
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Landroid/media/Media2HTTPConnection;
10 13 1 cookieHandler Ljava/net/CookieHandler;
public boolean connect(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual android.media.Media2HTTPConnection.disconnect:()V
1: aload 0
iconst_1
putfield android.media.Media2HTTPConnection.mAllowCrossDomainRedirect:Z
2: aload 0
new java.net.URL
dup
aload 1
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
putfield android.media.Media2HTTPConnection.mURL:Ljava/net/URL;
3: aload 0
aload 0
aload 2
invokevirtual android.media.Media2HTTPConnection.convertHeaderStringToMap:(Ljava/lang/String;)Ljava/util/Map;
putfield android.media.Media2HTTPConnection.mHeaders:Ljava/util/Map;
4: goto 7
StackMap locals:
StackMap stack: java.net.MalformedURLException
5: pop
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/media/Media2HTTPConnection;
0 8 1 uri Ljava/lang/String;
0 8 2 headers Ljava/lang/String;
Exception table:
from to target type
0 4 5 Class java.net.MalformedURLException
MethodParameters:
Name Flags
uri
headers
private boolean parseBoolean(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lconst_0
lcmp
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
2: ireturn
3: StackMap locals:
StackMap stack: java.lang.NumberFormatException
pop
4: ldc "true"
aload 1
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 7
5: ldc "yes"
aload 1
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 7
6: iconst_0
ireturn
StackMap locals:
StackMap stack:
7: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/media/Media2HTTPConnection;
0 8 1 val Ljava/lang/String;
Exception table:
from to target type
0 2 3 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
val
private boolean filterOutInternalHeaders(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: ldc "android-allow-cross-domain-redirect"
aload 1
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 4
1: aload 0
aload 0
aload 2
invokevirtual android.media.Media2HTTPConnection.parseBoolean:(Ljava/lang/String;)Z
putfield android.media.Media2HTTPConnection.mAllowCrossDomainRedirect:Z
2: aload 0
aload 0
getfield android.media.Media2HTTPConnection.mAllowCrossDomainRedirect:Z
putfield android.media.Media2HTTPConnection.mAllowCrossProtocolRedirect:Z
3: goto 5
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/media/Media2HTTPConnection;
0 6 1 key Ljava/lang/String;
0 6 2 val Ljava/lang/String;
MethodParameters:
Name Flags
key
val
private java.util.Map<java.lang.String, java.lang.String> convertHeaderStringToMap(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=11, args_size=2
start local 0 start local 1 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 1: aload 1
ldc "\r\n"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 2: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 11
StackMap locals: android.media.Media2HTTPConnection java.lang.String java.util.HashMap java.lang.String[] top int int java.lang.String[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 4
ldc ":"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 8
start local 8 5: iload 8
iflt 10
6: aload 4
iconst_0
iload 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 9
start local 9 7: aload 4
iload 8
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 10
start local 10 8: aload 0
aload 9
aload 10
invokevirtual android.media.Media2HTTPConnection.filterOutInternalHeaders:(Ljava/lang/String;Ljava/lang/String;)Z
ifne 10
9: aload 2
aload 9
aload 10
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 10 end local 9 end local 8 end local 4 10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
iload 6
if_icmplt 3
12: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Landroid/media/Media2HTTPConnection;
0 13 1 headers Ljava/lang/String;
1 13 2 map Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
2 13 3 pairs [Ljava/lang/String;
4 10 4 pair Ljava/lang/String;
5 10 8 colonPos I
7 10 9 key Ljava/lang/String;
8 10 10 val Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
MethodParameters:
Name Flags
headers
public void disconnect();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.Media2HTTPConnection.teardownConnection:()V
1: aload 0
aconst_null
putfield android.media.Media2HTTPConnection.mHeaders:Ljava/util/Map;
2: aload 0
aconst_null
putfield android.media.Media2HTTPConnection.mURL:Ljava/net/URL;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/Media2HTTPConnection;
private void teardownConnection();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
ifnull 9
1: aload 0
getfield android.media.Media2HTTPConnection.mInputStream:Ljava/io/InputStream;
ifnull 6
2: aload 0
getfield android.media.Media2HTTPConnection.mInputStream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
3: goto 5
StackMap locals:
StackMap stack: java.io.IOException
4: pop
5: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield android.media.Media2HTTPConnection.mInputStream:Ljava/io/InputStream;
6: StackMap locals:
StackMap stack:
aload 0
getfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
invokevirtual java.net.HttpURLConnection.disconnect:()V
7: aload 0
aconst_null
putfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
8: aload 0
ldc -1
putfield android.media.Media2HTTPConnection.mCurrentOffset:J
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/media/Media2HTTPConnection;
Exception table:
from to target type
2 3 4 Class java.io.IOException
private static final boolean isLocalHost(java.net.URL);
descriptor: (Ljava/net/URL;)Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
astore 1
start local 1 3: aload 1
ifnonnull 5
4: iconst_0
ireturn
5: StackMap locals: java.lang.String
StackMap stack:
aload 1
ldc "localhost"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 7
6: iconst_1
ireturn
7: StackMap locals:
StackMap stack:
aload 1
invokestatic android.net.NetworkUtils.numericToInetAddress:(Ljava/lang/String;)Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.isLoopbackAddress:()Z
ifeq 10
8: iconst_1
ireturn
9: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
pop
10: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 url Ljava/net/URL;
3 11 1 host Ljava/lang/String;
Exception table:
from to target type
5 6 9 Class java.lang.IllegalArgumentException
7 8 9 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
url
private void seekTo(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual android.media.Media2HTTPConnection.teardownConnection:()V
1: iconst_0
istore 4
start local 4 2: aload 0
getfield android.media.Media2HTTPConnection.mURL:Ljava/net/URL;
astore 5
start local 5 3: aload 5
invokestatic android.media.Media2HTTPConnection.isLocalHost:(Ljava/net/URL;)Z
istore 6
start local 6 4: StackMap locals: android.media.Media2HTTPConnection long top int java.net.URL int
StackMap stack:
iload 6
ifeq 7
5: aload 0
aload 5
getstatic java.net.Proxy.NO_PROXY:Ljava/net/Proxy;
invokevirtual java.net.URL.openConnection:(Ljava/net/Proxy;)Ljava/net/URLConnection;
checkcast java.net.HttpURLConnection
putfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
checkcast java.net.HttpURLConnection
putfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
8: StackMap locals:
StackMap stack:
aload 0
getfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
sipush 30000
invokevirtual java.net.HttpURLConnection.setConnectTimeout:(I)V
9: aload 0
getfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
aload 0
getfield android.media.Media2HTTPConnection.mAllowCrossDomainRedirect:Z
invokevirtual java.net.HttpURLConnection.setInstanceFollowRedirects:(Z)V
10: aload 0
getfield android.media.Media2HTTPConnection.mHeaders:Ljava/util/Map;
ifnull 17
11: aload 0
getfield android.media.Media2HTTPConnection.mHeaders:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 16
StackMap locals: android.media.Media2HTTPConnection long top int java.net.URL int top java.util.Iterator
StackMap stack:
12: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 7
start local 7 13: aload 0
getfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
14: aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
15: invokevirtual java.net.HttpURLConnection.setRequestProperty:(Ljava/lang/String;Ljava/lang/String;)V
end local 7 16: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
17: StackMap locals: android.media.Media2HTTPConnection long top int java.net.URL int
StackMap stack:
lload 1
lconst_0
lcmp
ifle 21
18: aload 0
getfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
19: ldc "Range"
new java.lang.StringBuilder
dup
ldc "bytes="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokevirtual java.net.HttpURLConnection.setRequestProperty:(Ljava/lang/String;Ljava/lang/String;)V
21: StackMap locals:
StackMap stack:
aload 0
getfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
invokevirtual java.net.HttpURLConnection.getResponseCode:()I
istore 3
start local 3 22: iload 3
sipush 300
if_icmpeq 28
23: iload 3
sipush 301
if_icmpeq 28
24: iload 3
sipush 302
if_icmpeq 28
25: iload 3
sipush 303
if_icmpeq 28
26: iload 3
sipush 307
if_icmpeq 28
27: goto 50
28: StackMap locals: android.media.Media2HTTPConnection long int int java.net.URL int
StackMap stack:
iinc 4 1
iload 4
bipush 20
if_icmple 30
29: new java.net.NoRouteToHostException
dup
new java.lang.StringBuilder
dup
ldc "Too many redirects: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.NoRouteToHostException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals:
StackMap stack:
aload 0
getfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
invokevirtual java.net.HttpURLConnection.getRequestMethod:()Ljava/lang/String;
astore 7
start local 7 31: iload 3
sipush 307
if_icmpne 34
32: aload 7
ldc "GET"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 34
aload 7
ldc "HEAD"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 34
33: new java.net.NoRouteToHostException
dup
ldc "Invalid redirect"
invokespecial java.net.NoRouteToHostException.<init>:(Ljava/lang/String;)V
athrow
34: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
ldc "Location"
invokevirtual java.net.HttpURLConnection.getHeaderField:(Ljava/lang/String;)Ljava/lang/String;
astore 8
start local 8 35: aload 8
ifnonnull 37
36: new java.net.NoRouteToHostException
dup
ldc "Invalid redirect"
invokespecial java.net.NoRouteToHostException.<init>:(Ljava/lang/String;)V
athrow
37: StackMap locals: java.lang.String
StackMap stack:
new java.net.URL
dup
aload 0
getfield android.media.Media2HTTPConnection.mURL:Ljava/net/URL;
aload 8
invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
astore 5
38: aload 5
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
ldc "https"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 41
39: aload 5
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
ldc "http"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 41
40: new java.net.NoRouteToHostException
dup
ldc "Unsupported protocol redirect"
invokespecial java.net.NoRouteToHostException.<init>:(Ljava/lang/String;)V
athrow
41: StackMap locals:
StackMap stack:
aload 0
getfield android.media.Media2HTTPConnection.mURL:Ljava/net/URL;
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
aload 5
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
istore 9
start local 9 42: aload 0
getfield android.media.Media2HTTPConnection.mAllowCrossProtocolRedirect:Z
ifne 44
iload 9
ifne 44
43: new java.net.NoRouteToHostException
dup
ldc "Cross-protocol redirects are disallowed"
invokespecial java.net.NoRouteToHostException.<init>:(Ljava/lang/String;)V
athrow
44: StackMap locals: int
StackMap stack:
aload 0
getfield android.media.Media2HTTPConnection.mURL:Ljava/net/URL;
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
aload 5
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
istore 10
start local 10 45: aload 0
getfield android.media.Media2HTTPConnection.mAllowCrossDomainRedirect:Z
ifne 47
iload 10
ifne 47
46: new java.net.NoRouteToHostException
dup
ldc "Cross-domain redirects are disallowed"
invokespecial java.net.NoRouteToHostException.<init>:(Ljava/lang/String;)V
athrow
47: StackMap locals: int
StackMap stack:
iload 3
sipush 307
if_icmpeq 4
48: aload 0
aload 5
putfield android.media.Media2HTTPConnection.mURL:Ljava/net/URL;
end local 10 end local 9 end local 8 end local 7 end local 3 49: goto 4
start local 3 50: StackMap locals: android.media.Media2HTTPConnection long int int java.net.URL int
StackMap stack:
aload 0
getfield android.media.Media2HTTPConnection.mAllowCrossDomainRedirect:Z
ifeq 52
51: aload 0
aload 0
getfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
invokevirtual java.net.HttpURLConnection.getURL:()Ljava/net/URL;
putfield android.media.Media2HTTPConnection.mURL:Ljava/net/URL;
52: StackMap locals:
StackMap stack:
iload 3
sipush 206
if_icmpne 65
53: aload 0
getfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
ldc "Content-Range"
invokevirtual java.net.HttpURLConnection.getHeaderField:(Ljava/lang/String;)Ljava/lang/String;
54: astore 7
start local 7 55: aload 0
ldc -1
putfield android.media.Media2HTTPConnection.mTotalSize:J
56: aload 7
ifnull 68
57: aload 7
bipush 47
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 8
start local 8 58: iload 8
iflt 68
59: aload 7
iload 8
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
60: astore 9
start local 9 61: aload 0
aload 9
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
putfield android.media.Media2HTTPConnection.mTotalSize:J
62: goto 68
StackMap locals: android.media.Media2HTTPConnection long int int java.net.URL int java.lang.String int java.lang.String
StackMap stack: java.lang.NumberFormatException
63: pop
end local 9 end local 8 end local 7 64: goto 68
StackMap locals:
StackMap stack:
65: iload 3
sipush 200
if_icmpeq 67
66: new java.io.IOException
dup
invokespecial java.io.IOException.<init>:()V
athrow
67: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
invokevirtual java.net.HttpURLConnection.getContentLength:()I
i2l
putfield android.media.Media2HTTPConnection.mTotalSize:J
68: StackMap locals:
StackMap stack:
lload 1
lconst_0
lcmp
ifle 70
iload 3
sipush 206
if_icmpeq 70
69: new java.net.ProtocolException
dup
invokespecial java.net.ProtocolException.<init>:()V
athrow
70: StackMap locals:
StackMap stack:
aload 0
71: new java.io.BufferedInputStream
dup
aload 0
getfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
invokevirtual java.net.HttpURLConnection.getInputStream:()Ljava/io/InputStream;
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
72: putfield android.media.Media2HTTPConnection.mInputStream:Ljava/io/InputStream;
73: aload 0
lload 1
putfield android.media.Media2HTTPConnection.mCurrentOffset:J
end local 6 end local 5 end local 4 end local 3 74: goto 80
StackMap locals: android.media.Media2HTTPConnection long
StackMap stack: java.io.IOException
75: astore 3
start local 3 76: aload 0
ldc -1
putfield android.media.Media2HTTPConnection.mTotalSize:J
77: aload 0
invokevirtual android.media.Media2HTTPConnection.teardownConnection:()V
78: aload 0
ldc -1
putfield android.media.Media2HTTPConnection.mCurrentOffset:J
79: aload 3
athrow
end local 3 80: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 81 0 this Landroid/media/Media2HTTPConnection;
0 81 1 offset J
22 49 3 response I
50 74 3 response I
2 74 4 redirectCount I
3 74 5 url Ljava/net/URL;
4 74 6 noProxy Z
13 16 7 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
31 49 7 method Ljava/lang/String;
35 49 8 location Ljava/lang/String;
42 49 9 sameProtocol Z
45 49 10 sameHost Z
55 64 7 contentRange Ljava/lang/String;
58 64 8 lastSlashPos I
61 64 9 total Ljava/lang/String;
76 80 3 e Ljava/io/IOException;
Exception table:
from to target type
61 62 63 Class java.lang.NumberFormatException
1 74 75 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
offset
public int readAt(long, byte[], int);
descriptor: (J[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 3 start local 4 0: new android.os.StrictMode$ThreadPolicy$Builder
dup
invokespecial android.os.StrictMode$ThreadPolicy$Builder.<init>:()V
invokevirtual android.os.StrictMode$ThreadPolicy$Builder.permitAll:()Landroid/os/StrictMode$ThreadPolicy$Builder;
invokevirtual android.os.StrictMode$ThreadPolicy$Builder.build:()Landroid/os/StrictMode$ThreadPolicy;
1: astore 5
start local 5 2: aload 5
invokestatic android.os.StrictMode.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V
3: lload 1
aload 0
getfield android.media.Media2HTTPConnection.mCurrentOffset:J
lcmp
ifeq 5
4: aload 0
lload 1
invokevirtual android.media.Media2HTTPConnection.seekTo:(J)V
5: StackMap locals: android.os.StrictMode$ThreadPolicy
StackMap stack:
aload 0
getfield android.media.Media2HTTPConnection.mInputStream:Ljava/io/InputStream;
aload 3
iconst_0
iload 4
invokevirtual java.io.InputStream.read:([BII)I
istore 6
start local 6 6: iload 6
iconst_m1
if_icmpne 8
7: iconst_0
istore 6
8: StackMap locals: int
StackMap stack:
aload 0
dup
getfield android.media.Media2HTTPConnection.mCurrentOffset:J
iload 6
i2l
ladd
putfield android.media.Media2HTTPConnection.mCurrentOffset:J
9: iload 6
10: ireturn
end local 6 11: StackMap locals: android.media.Media2HTTPConnection long byte[] int android.os.StrictMode$ThreadPolicy
StackMap stack: java.net.ProtocolException
astore 6
start local 6 12: ldc "Media2HTTPConnection"
new java.lang.StringBuilder
dup
ldc "readAt "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " / "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " => "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
13: sipush -1010
ireturn
end local 6 14: StackMap locals:
StackMap stack: java.net.NoRouteToHostException
astore 6
start local 6 15: ldc "Media2HTTPConnection"
new java.lang.StringBuilder
dup
ldc "readAt "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " / "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " => "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
16: sipush -1010
ireturn
end local 6 17: StackMap locals:
StackMap stack: java.net.UnknownServiceException
astore 6
start local 6 18: ldc "Media2HTTPConnection"
new java.lang.StringBuilder
dup
ldc "readAt "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " / "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " => "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
19: sipush -1010
ireturn
end local 6 20: StackMap locals:
StackMap stack: java.io.IOException
pop
21: iconst_m1
ireturn
22: StackMap locals:
StackMap stack: java.lang.Exception
astore 6
start local 6 23: iconst_m1
ireturn
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Landroid/media/Media2HTTPConnection;
0 24 1 offset J
0 24 3 data [B
0 24 4 size I
2 24 5 policy Landroid/os/StrictMode$ThreadPolicy;
6 11 6 n I
12 14 6 e Ljava/net/ProtocolException;
15 17 6 e Ljava/net/NoRouteToHostException;
18 20 6 e Ljava/net/UnknownServiceException;
23 24 6 e Ljava/lang/Exception;
Exception table:
from to target type
3 10 11 Class java.net.ProtocolException
3 10 14 Class java.net.NoRouteToHostException
3 10 17 Class java.net.UnknownServiceException
3 10 20 Class java.io.IOException
3 10 22 Class java.lang.Exception
MethodParameters:
Name Flags
offset
data
size
public long getSize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
ifnonnull 5
1: aload 0
lconst_0
invokevirtual android.media.Media2HTTPConnection.seekTo:(J)V
2: goto 5
StackMap locals:
StackMap stack: java.io.IOException
3: pop
4: ldc -1
lreturn
5: StackMap locals:
StackMap stack:
aload 0
getfield android.media.Media2HTTPConnection.mTotalSize:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/media/Media2HTTPConnection;
Exception table:
from to target type
1 2 3 Class java.io.IOException
public java.lang.String getMIMEType();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
ifnonnull 5
1: aload 0
lconst_0
invokevirtual android.media.Media2HTTPConnection.seekTo:(J)V
2: goto 5
StackMap locals:
StackMap stack: java.io.IOException
3: pop
4: ldc "application/octet-stream"
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield android.media.Media2HTTPConnection.mConnection:Ljava/net/HttpURLConnection;
invokevirtual java.net.HttpURLConnection.getContentType:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/media/Media2HTTPConnection;
Exception table:
from to target type
1 2 3 Class java.io.IOException
public java.lang.String getUri();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.Media2HTTPConnection.mURL:Ljava/net/URL;
invokevirtual java.net.URL.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/Media2HTTPConnection;
}
SourceFile: "Media2HTTPConnection.java"
InnerClasses:
public final ThreadPolicy = android.os.StrictMode$ThreadPolicy of android.os.StrictMode
public final Builder = android.os.StrictMode$ThreadPolicy$Builder of android.os.StrictMode$ThreadPolicy
public abstract Entry = java.util.Map$Entry of java.util.Map