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
Rather than normal Activities (which have a host of problems
when used for this purpose), screen savers are now a
special kind of Service that can add views to its own
special window (TYPE_DREAM, in the SCREENSAVER layer).
Dreams are now launched by the power manager; whenever it is
about to turn the screen off, it asks the window manager if
it wants to run a screen saver instead. (http://b/5677408)
Also, the new config_enableDreams bool allows the entire
feature to be switched on or off in one place. It is
currently switched off (and the APIs are all @hidden).
Change-Id: Idfe9d430568471d15f4b463cb70586a899a331f7
Be more explicit in docs about getParentActivityIntent and guard against
calls when a parent has not been declared in the manifest.
Move automatic up navigation to happen after dispatch of the menu
selection event of id android.R.id.home to fragments. (Last.)
Fixes bug 6305357
Change-Id: I944e5c40774121f9a28250d8d98da6aa646f9357
Two types of USB audio devices are defined:
- USB audio device: the audio device in USB device mode while
the Android device is in USB host mode.
- USB audio accessory: the audio device in USB host mode while
the Android device is in USB device mode.
Renamed intents for analog and digital docks to avoid confusion:
- ACTION_USB_ANLG_HEADSET_PLUG to ACTION_ANALOG_AUDIO_DOCK_PLUG
- ACTION_USB_DGTL_HEADSET_PLUG to ACTION_DIGITAL_AUDIO_DOCK_PLUG
Factorized code in AudioService broadcast receiver.
Change-Id: I1b6d0257a9d68ecb9495c78c98bac8c67fec7891
The purpose of the input device descriptor is to make it possible
to associate persistent settings for each input device, such as the
keyboard layout.
The descriptor is a hash of the information we have about the
device, such as its vendor id, product id, unique id, name,
or location.
Bug: 6110399
Change-Id: Idb80f946819b3f0dbf4e661bb0a753dbc2b60981