This is a bunch of reworking of how configuration changes are handled:
- When orientation is changing (for whatever reason), the window manager no
longer tries to pre-emptively compute a new configuration. Instead, it
just determines change is happening and tells the window manager.
- The activity manager is now responsible for giving the window manager the
final configuration it is using. This is both so it knows whem the
activity manager is done with its configuration updates, and so the window
manager can use the "real" configuration.
- When an orientation or other configuration change is happening, freeze the
screen and keep it frozen until the activity manager has given us the
final configuration.
- The window manager can now send new configurations to its clients during
its layout pass, as part of a resize, if it has determined that it has
changed. This allows for a new View.onConfigurationChanged() API for any
view to easily find out when the configuration has changed.
- ViewRoot now also works with the activity thread to make sure the process's
current resources are updated to the new configuration when it receives one
from a window. This ensures that at the time onConfigurationChanged() and
other view callbacks are happening, the correct configuration is in force.
- There is now a sequence number associated with Configuration, which
ActivityThread uses to avoid using stale configurations. This is needed now
that it can receive configurations asynchronously from both the window
manager and activity manager.
- The hack for keeping the locale has been removed, and underlying problem
fixed by having Configuration initialize its locale to "unknown" instead of
a valid default value.
bug fix for 2419869 is the following
1. only one object can use the prepared statement object
(SQLiteCompiledSql in SQLIteProgram)
2. if two objects are requesting to use it, then create a new prepared
statement object for exclusive use by the newcomer and let it be
be finalized by the newcomer.
3. add mInUse flag to SQLiteCompiledSql - to be set when SQLiteProgram
requests it and to be released when that SQLiteProgram is done with it
a couple more changes included are
1. unitests to simulate bug # 2419869 (and the fix's repair to it)
2. better logging in SQLiteCloseable when it prints log messages
Blocking network images is not as secure as completely blocking network loads.
Leave setBlockNetworkImage so clients can reduce bandwidth by disabling remote
images. This will allow file:// and content:// URIs to load.
Merge commit '6371a2d31f30b473e91be9cced64a2527c086af1'
* commit '6371a2d31f30b473e91be9cced64a2527c086af1':
Don't crash the system process when apps give us a bad foreground service notification.
Merge commit 'ab4835ee0df866a4f7982644742e2b758c50fdd7'
* commit 'ab4835ee0df866a4f7982644742e2b758c50fdd7':
Manual merge of 40245 (ed5c973fc23a6733fd473ad13b4eb317e74e9bb5) DO NOT MERGE.
Merge commit '6f4a52a3f7c6bd87e7109d741441bff332a445a4'
* commit '6f4a52a3f7c6bd87e7109d741441bff332a445a4':
Manual merge of 40170 (b4a107d8269d1a75b8f270e0516c1fa3b517f8f9) DO NOT MERGE
Previously, we checked to see if the IME was active on the WebTextView,
in an attempt to fix http://b/issue?id=2266066 . If so, we move the
textfield on screen. However, that is resulting in
http://b/issue?id=2147168 , where a textfield far offscreen is being
scrolled on screen at the end of a zoom, and with this change, the
latter bug is fixed. Further, I am no longer able to reproduce the
earlier bug with this change.
Unchecked items remain in the mCheckStates with an associated false value.
Now filtered out.
Added a unit test to ensure non regression.
Change-Id: If0b1a38aa06881055c87a97b3afb2c7fb48656f1
http://b/issue?id=2440815
Some error messages would have clobbered some memory adjacent to them,
so increase the buffer sizes to fit them.
Change-Id: I9c4a3f3444bf57b5d2bd1b7a2546e16137747ad0