Currently parseUserPart uses the encoded authority to split the URI
into user and non-user parts, but the parseHost and parsePort uses
the decoded URI to split the URI into non-host, host, and port parts.
This gives unexpected results when %40 ('@') and %3a (':') is used
in a URI:
Uri test = Uri.parse("http://bob%40lee%3ajr@example.com:42/");
test.getUserInfo() => "bob@lee:jr"
test.getHost() => "lee:jr@example.com" (should be "example.com")
test.getPort() => -1 (should be 42)
Some developers were confused about how to use the inputType field
and were omitting the class type when setting variations.
There are places in the framework where it specifically checks for
a class and variation before it invokes the desired behavior.
For instance, in EditText when setting the input type to a visible
password, it specifically checks for this condition:
inputType == (TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD)
The Javadoc for isItemChecked, getCheckedItemPosition, and
getCheckedItemPositions stated the return was valid if conditions
were the inverse of what the method checked for.
This was pointed out in Android issue 2366
Modeled on blocking java.net.Socket and java.net.ServerSocket library.
Public interface is:
public final class BluetoothSocket implements Closeable {
public static BluetoothSocket createRfcommSocket(String address, int port) throws IOException;
public static BluetoothSocket createInsecureRfcommSocket(String address, int port) throws IOException;
public void connect() throws IOException;
public void close() throws IOException;
public String getAddress();
public InputStream getInputStream() throws IOException;
public OutputStream getOutputStream() throws IOException;
}
public final class BluetoothServerSocket implements Closeable {
public static BluetoothServerSocket listenUsingRfcommOn(int port) throws IOException;
public static BluetoothServerSocket listenUsingUnsecureRfcommOn(int port) throws IOException;
public BluetoothSocket accept() throws IOException;
public BluetoothSocket accept(int timeout) throws IOException;
public void close() throws IOException;
}
This provided SDP functionality to Java, but is not currently used by any Apps.
I will shortly be providing SDP functionality in a new API, but it will be
quite different to this one, and in the mean-time keeping this stale code
updated with other API changes is a pain.
that ought to be exposed. Hid and deprecated the single-arg public
constructor for NetworkInfo, and modified a CTS test that was testing it.
Ran the android.net test package to make sure it still works.
BUG=1779439
Automated import of CL 145881
Updates the key maps. During this I noticed that the dream keymap didn't have all of the media buttons like the sapphire key map...! So this is now changed to match.
BUG=1779435
Automated import of CL 145382
Android's UI guide line. This modification is based on leland's mock.
See http://b/issue?id=1748136 for more information.
Put ProgressNumber left side, next to ProgressPercentage.
Make ProgressPercentage Bold.
Put ProgressNumber and ProgressPercentage near to the ProgressBar
above. This is same as the design of Market application.
Enable ProgressDialog change the ProgressNumber format. This is hidden
since the interface is premature.
BUG=1748136,1612476
Automated import of CL 144181
Using the same code pattern as the rest of the file:
. throw IllegalStateException if BrowserFrame.sJavaBridge is null in pauseTimers/resumeTimers.
. use (msg.arg1 == 1) to pass the boolean from WebView to WebViewCore as in CLEAR_CACHE
BUG=1750489
Automated import of CL 143998