12925824515c1758fcb60354a06320017b1ebc34cJesse Wilson/* Licensed to the Apache Software Foundation (ASF) under one or more
22925824515c1758fcb60354a06320017b1ebc34cJesse Wilson * contributor license agreements.  See the NOTICE file distributed with
32925824515c1758fcb60354a06320017b1ebc34cJesse Wilson * this work for additional information regarding copyright ownership.
42925824515c1758fcb60354a06320017b1ebc34cJesse Wilson * The ASF licenses this file to You under the Apache License, Version 2.0
52925824515c1758fcb60354a06320017b1ebc34cJesse Wilson * (the "License"); you may not use this file except in compliance with
62925824515c1758fcb60354a06320017b1ebc34cJesse Wilson * the License.  You may obtain a copy of the License at
72925824515c1758fcb60354a06320017b1ebc34cJesse Wilson *
82925824515c1758fcb60354a06320017b1ebc34cJesse Wilson *     http://www.apache.org/licenses/LICENSE-2.0
92925824515c1758fcb60354a06320017b1ebc34cJesse Wilson *
102925824515c1758fcb60354a06320017b1ebc34cJesse Wilson * Unless required by applicable law or agreed to in writing, software
112925824515c1758fcb60354a06320017b1ebc34cJesse Wilson * distributed under the License is distributed on an "AS IS" BASIS,
122925824515c1758fcb60354a06320017b1ebc34cJesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
132925824515c1758fcb60354a06320017b1ebc34cJesse Wilson * See the License for the specific language governing permissions and
142925824515c1758fcb60354a06320017b1ebc34cJesse Wilson * limitations under the License.
152925824515c1758fcb60354a06320017b1ebc34cJesse Wilson */
162925824515c1758fcb60354a06320017b1ebc34cJesse Wilson
171f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilsonpackage libcore.java.net;
18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.IOException;
204ce2ff6e19315b5ba071fc1739e071e585145dd4Jesse Wilsonimport java.net.Inet6Address;
21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.InetAddress;
22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.MalformedURLException;
23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.Proxy;
24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.URL;
25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.URLConnection;
26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.URLStreamHandler;
27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.UnknownHostException;
281f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilsonimport junit.framework.TestCase;
29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
301f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilsonpublic class OldURLStreamHandlerTest extends TestCase {
31f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    MockURLStreamHandler handler = null;
33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
341f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson    public void test_equalsLjava_net_URLLjava_net_URL() throws MalformedURLException {
351f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson        URL url1 = new URL("ftp://test_url/test?a=b&c=%D0+%D1");
361f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson        URL url2 = new URL("http://test_url/test?a=b&c=%D0+%D1");
371f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson        assertFalse(url1.equals(url2));
381f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson
391f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson        new URL("http://test_url+/test?a=b&c=%D0+%D1");
401f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson        assertFalse(handler.equals(url1,url2));
411f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson
42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
431f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson            assertFalse(handler.equals(null, url1));
441f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson            fail("NullPointerException was not thrown.");
451f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson        } catch(NullPointerException npe) {
461f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson            //expected
47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
49f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_getDefaultPort() {
51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals(-1, handler.getDefaultPort());
52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
53f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
541f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson    public void test_getHostAddress() throws MalformedURLException, UnknownHostException {
55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        URL url1 = new URL("ftp://test_url/test?a=b&c=%D0+%D1");
56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertNull(handler.getHostAddress(url1));
57f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
582925824515c1758fcb60354a06320017b1ebc34cJesse Wilson        URL url2 = new URL("http://test:pwd@fakehostname.fakedomain/test?a=b&c=%D0+%D1");
592925824515c1758fcb60354a06320017b1ebc34cJesse Wilson        assertNull(handler.getHostAddress(url2));
60f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        URL url3 = new URL("http://localhost/test");
622925824515c1758fcb60354a06320017b1ebc34cJesse Wilson        assertEquals(InetAddress.getByName("localhost"), handler.getHostAddress(url3));
63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
64f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
651f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson    public void test_hashCodeLjava_net_URL() throws MalformedURLException {
661f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson        URL url1 = new URL("ftp://test_url/test?a=b&c=%D0+%D1");
671f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson        URL url2 = new URL("http://test_url/test?a=b&c=%D0+%D1");
681f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson        assertTrue(handler.hashCode(url1) != handler.hashCode(url2));
691f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson
701f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson        new URL("http://test_url+/test?a=b&c=%D0+%D1");
711f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson        assertFalse(handler.equals(url1,url2));
721f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson
73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
741f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson            handler.hashCode(null);
751f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson            fail("NullPointerException was not thrown.");
761f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson        } catch(NullPointerException expected) {
77f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes        }
78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
79f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
804ce2ff6e19315b5ba071fc1739e071e585145dd4Jesse Wilson    public void test_hostsEqualLjava_net_URLLjava_net_URL() throws Exception {
81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        URL url1 = new URL("ftp://localhost:21/*test");
82786ca658dfe8596835859ce45ee3b0ed46b8f21cJesse Wilson        URL url2 = new URL("http://localhost/_test");
83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertTrue(handler.hostsEqual(url1, url2));
84f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        URL url3 = new URL("http://foo/_test_goo");
86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertFalse(handler.hostsEqual(url1, url3));
87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
88f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_openConnectionLjava_net_URL() throws IOException {
90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        // abstract method, it doesn't check anything
91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertNull(handler.openConnection(null));
92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
93f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_openConnectionLjava_net_URLLjava_net_Proxy() {
95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            handler.openConnection(null, null);
97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("UnsupportedOperationException was not thrown.");
98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch(UnsupportedOperationException  uoe) {
99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            //expected
100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (IOException e) {
101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("IOException was thrown.");
102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
104f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
105f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes    public void test_parseURLLjava_net_URLLjava_lang_StringII()
106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                                                throws MalformedURLException {
107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String str  = "http://test.org/foo?a=123&b=%D5D6D7&c=++&d=";
108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        URL url = new URL("http://test.org");
109f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            handler.parseURL(url, str, 0, str.length());
112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("SecurityException should be thrown.");
113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch(SecurityException se) {
114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            //SecurityException is expected
115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
117f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
1184ce2ff6e19315b5ba071fc1739e071e585145dd4Jesse Wilson    public void test_sameFile() throws Exception {
119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        URL url1  = new URL("http://test:pwd@localhost:80/foo/foo1.c");
120786ca658dfe8596835859ce45ee3b0ed46b8f21cJesse Wilson        URL url2  = new URL("http://test:pwd@localhost:80/foo/foo1.c");
121786ca658dfe8596835859ce45ee3b0ed46b8f21cJesse Wilson        URL url3  = new URL("http://test:pwd@localhost:80/foo/foo2.c");
122786ca658dfe8596835859ce45ee3b0ed46b8f21cJesse Wilson        URL url4  = new URL("ftp://test:pwd@localhost:21/foo/foo2.c");
123786ca658dfe8596835859ce45ee3b0ed46b8f21cJesse Wilson        URL url5  = new URL("ftp://test:pwd@localhost:21/foo/foo1/foo2.c");
124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        URL url6  = new URL("http://test/foo/foo1.c");
125f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertTrue("Test case 1", handler.sameFile(url1, url2));
127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertFalse("Test case 2", handler.sameFile(url3, url2));
128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertFalse("Test case 3", handler.sameFile(url3, url4));
129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertFalse("Test case 4", handler.sameFile(url4, url5));
130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertFalse("Test case 5", handler.sameFile(url1, url6));
131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
132f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_setURL1() throws MalformedURLException {
134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        URL url = new URL("http://test.org");
135f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            handler.setURL(url, "http", "localhost", 80, "foo.c", "ref");
138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("SecurityException should be thrown.");
1391f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson        } catch(SecurityException expected) {
140f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes        }
141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
142f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_setURL2() throws MalformedURLException {
144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        URL url = new URL("http://test.org");
145f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
147f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes            handler.setURL(url, "http", "localhost", 80, "authority",
148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    "user", "foo.c", "query", "ref");
149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("SecurityException should be thrown.");
1501f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson        } catch(SecurityException expected) {
151f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes        }
152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
153f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_toExternalForm() throws MalformedURLException {
155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        URL [] urls = { new URL("ftp://test_url/test?a=b&c=%D0+%D1"),
156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                        new URL("http://test_url/test?a=b&c=%D0+%D1"),
157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                        new URL("http://test:pwd@localhost:80/foo/foo1.c")};
158f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
1591f8243e3d2b5a3f8e0398c304d1dea0395cbc368Jesse Wilson        for(URL url : urls) {
160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("Test case for " + url.toString(),
161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    url.toString(), handler.toExternalForm(url));
162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
164f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_Constructor() {
166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        MockURLStreamHandler msh = new MockURLStreamHandler();
167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals(-1, msh.getDefaultPort());
168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
169f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void setUp() {
171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        handler = new MockURLStreamHandler();
172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
173f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    class MockURLStreamHandler extends URLStreamHandler {
175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
1767e00db4156e50ce5f20fefb820dca339299134d3Jesse Wilson        @Override protected URLConnection openConnection(URL arg0) throws IOException {
177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            return null;
178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
179f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
1807e00db4156e50ce5f20fefb820dca339299134d3Jesse Wilson        @Override public boolean equals(URL a, URL b) {
1817e00db4156e50ce5f20fefb820dca339299134d3Jesse Wilson            return super.equals(a, b);
182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
183f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
1847e00db4156e50ce5f20fefb820dca339299134d3Jesse Wilson        @Override public int getDefaultPort() {
185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            return super.getDefaultPort();
186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
187f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
1887e00db4156e50ce5f20fefb820dca339299134d3Jesse Wilson        @Override public InetAddress getHostAddress(URL u) {
189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            return super.getHostAddress(u);
190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
191f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
1927e00db4156e50ce5f20fefb820dca339299134d3Jesse Wilson        @Override public int hashCode(URL u) {
193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            return super.hashCode(u);
194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
195f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
1967e00db4156e50ce5f20fefb820dca339299134d3Jesse Wilson        @Override public boolean hostsEqual(URL a, URL b) {
1977e00db4156e50ce5f20fefb820dca339299134d3Jesse Wilson            return super.hostsEqual(a, b);
198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
199f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
2007e00db4156e50ce5f20fefb820dca339299134d3Jesse Wilson        @Override public URLConnection openConnection(URL u, Proxy p) throws IOException {
201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            return super.openConnection(u, p);
202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
2045292410e4ebf7fb5149eefd2f52fcb94c46690a6Jesse Wilson        @Override public void parseURL(URL url, String spec, int start, int limit) {
2055292410e4ebf7fb5149eefd2f52fcb94c46690a6Jesse Wilson            super.parseURL(url, spec, start, limit);
206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
207f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
2087e00db4156e50ce5f20fefb820dca339299134d3Jesse Wilson        @Override public boolean sameFile(URL a, URL b) {
2097e00db4156e50ce5f20fefb820dca339299134d3Jesse Wilson            return super.sameFile(a, b);
210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
211f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
2127e00db4156e50ce5f20fefb820dca339299134d3Jesse Wilson        @Override public void setURL(URL u,
213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                String protocol,
214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                String host,
215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                int port,
216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                String file,
217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                String ref) {
218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            super.setURL(u, protocol, host, port, file, ref);
219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
220f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
2217e00db4156e50ce5f20fefb820dca339299134d3Jesse Wilson        @Override public void setURL(URL u,
222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                String protocol,
223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                String host,
224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                int port,
225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                String authority,
226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                String userInfo,
227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                String path,
228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                String query,
229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                String ref) {
230f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes            super.setURL(u, protocol, host, port, authority,
231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    userInfo, path, query, ref);
232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
233f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
2347e00db4156e50ce5f20fefb820dca339299134d3Jesse Wilson        @Override public String toExternalForm(URL u) {
235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            return super.toExternalForm(u);
236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
239