OldAnimations™ would set their start time during the first frame drawn
after calling View.startAnimation(). If this method was invoked while
the screen was off, this would cause the animation to start playing
when the screen turned back on.
Change-Id: Ic45a1af2020a7f5e81c2544bd8f16a6bedbd6849
Some developers accidentally create a blank accounts.db and this
was causing accounts to vanish. This safeguards the case where both
old and new files exist.
Bug: 6168813
Change-Id: I79cf211acc5422ff1c17fe0c9af80c49227b60ac
Bug: 6317798
Stuff that's better:
1. We maintain two queues in a way that ensures that WebView and
WebKit both see consistent streams of events, even in cases
where WebKit times out. We send ACTION_CANCEL if necessary, etc.
2. All pointer events go through the same channel, including
hover and click ("touch up") events, to ensure correct ordering.
3. Given that the input events are in a separate queue, we can
force execution of all of these events whenever we like, making new
latency optimizations possible.
4. The entire history of each touch event is sent to the web
application to enable smoother interaction.
5. The web application may choose to intercept a touch event stream
at any time by issuing "prevent default". Previously, it could only
prevent default on the initial down event. The new behavior is more
standards compliant.
Change-Id: I42d2d045e7d44af7c54b29570f188b7400d91d4e
Change View methods awakenScrollBars and scrollTo to post their
invalidation on the animation timer. Since these are often used in
computeScroll or similar to continue scrolling or flinging it should
not prevent other posted events from being processed before the frame
is actually drawn. (All changes in scroll position, etc. are
immediately reflected after the calls and do not need a draw to
present correct data about scroll position to apps.)
Don't accumulate floating point error while dragging
ScrollView/HorizontalScrollView.
Change-Id: I05b57d75f89a806488e46a8fb79b85d80f56d45d
Get the full list of accounts from AccountManagerService in one shot
instead of getting them per user.
Bug: 6263091
Change-Id: I488f24749a96281ef1e2a620820399c97f471024
Instead of each application loading the KeyCharacterMap from
the file system, get them from the input manager service as
part of the InputDevice object.
Refactored InputManager to be a proper singleton instead of
having a bunch of static methods.
InputManager now maintains a cache of all InputDevice objects
that it has loaded. Currently we never invalidate the cache
which can cause InputDevice to return stale motion ranges if
the device is reconfigured. This will be fixed in a future change.
Added a fake InputDevice with ID -1 to represent the virtual keyboard.
Change-Id: If7a695839ad0972317a5aab89e9d1e42ace28eb7
Bug 6093695
Handle pending progress updates when a view is not attached when the
view becomes attached again. Batch pending progress updates together
rather than posting separate runnables for each.
Change-Id: I5dea671d5b9fbe1302912ca4734a63955e77ff4d
Multiple paths were redundant, as they both synchronized the layers, and drew
the base if needed.
Depends on external/webkit change: https://android-git.corp.google.com/g/#/c/179965/
Change-Id: I1c355510f6edda4631190f2d26df8171e795a6ac
We now allow processes that currently have stopping activities to
be managed as if they were done stopping, so that memory trimming
can be done before the process goes to the background. Hopefully
this will reduce cases where the processes goes to the background
and immediately gets killed, but wouldn't have had to be killed if
it had a chance to trim its memory.
Also change window memory trimming to always do the aggressive
trimming when memory is critical, even if not on a low-end device.
And tweak web view trimming to not trim for foreground UI events.
Change-Id: I241b3152b52d09757bd14a202477cf69c9b78786
This is a new version of CL 179343 which had to be reverted.
This problem of the previous CL is that the ComposingSpan that
was part of the replacement text was correctly added during the
replace but was immediately removed because it had a zero-length
size.
Swapping the add and remove blocks solves the problem.
The new non-zero length enforcement also revealed a bug in the
spell checker where we were creating useless range spans.
Change-Id: I59cebd4708af3becc7ab625ae41bc36837f1a1cf