Merge commit '92266a7894becc1cdf2298fd02380749ab036131' into gingerbread-plus-aosp
* commit '92266a7894becc1cdf2298fd02380749ab036131':
More work in progress on native events.
Refactored the code to eliminate potential deadlocks due to re-entrant
calls from the policy into the dispatcher. Also added some plumbing
that will be used to notify the framework about ANRs.
Change-Id: Iba7a10de0cb3c56cd7520d6ce716db52fdcc94ff
Merge commit 'a6c52938b144c2bbd8c1e22d24629b12e35c99a3' into gingerbread-plus-aosp
* commit 'a6c52938b144c2bbd8c1e22d24629b12e35c99a3':
add new video/audio presence icons in the framework resource dirs, and make them public.
- add definitions for
presence_video_away
presence_video_busy
presence_video_online
presence_audio_away
presence_audio_busy
presence_audio_online
in the public.xml, and update current.xml
- the actual icons for the audio versions are not yet done, so I used the video versions as placeholders.
Change-Id: I9e2be5dd05619cbdbbb61dc231e9da1984ddbb36
Merge commit '2d468c5d73cc1cefbcfa8d98e30622c54756918c' into gingerbread-plus-aosp
* commit '2d468c5d73cc1cefbcfa8d98e30622c54756918c':
Make sure SurfaceView use a 565 surface when requesting an OPAQUE format.
this is needed for backward compatibility with somewhat buggy applications.
not a big deal, since the app can request another format explicitely.
Change-Id: Ic73f8acedf94ffc0115637efac28fa8ffaa7e5a4
Merge commit '7c8aa44f320f45e8417f0aba9ca67af6a67a5cf7' into gingerbread-plus-aosp
* commit '7c8aa44f320f45e8417f0aba9ca67af6a67a5cf7':
Native input dispatch rewrite work in progress.
Merge commit '46b9ac0ae2162309774a7478cd9d4e578747bfc2' into gingerbread
* commit '46b9ac0ae2162309774a7478cd9d4e578747bfc2':
Native input dispatch rewrite work in progress.
The old dispatch mechanism has been left in place and continues to
be used by default for now. To enable native input dispatch,
edit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy.
Includes part of the new input event NDK API. Some details TBD.
To wire up input dispatch, as the ViewRoot adds a window to the
window session it receives an InputChannel object as an output
argument. The InputChannel encapsulates the file descriptors for a
shared memory region and two pipe end-points. The ViewRoot then
provides the InputChannel to the InputQueue. Behind the
scenes, InputQueue simply attaches handlers to the native PollLoop object
that underlies the MessageQueue. This way MessageQueue doesn't need
to know anything about input dispatch per-se, it just exposes (in native
code) a PollLoop that other components can use to monitor file descriptor
state changes.
There can be zero or more targets for any given input event. Each
input target is specified by its input channel and some parameters
including flags, an X/Y coordinate offset, and the dispatch timeout.
An input target can request either synchronous dispatch (for foreground apps)
or asynchronous dispatch (fire-and-forget for wallpapers and "outside"
targets). Currently, finding the appropriate input targets for an event
requires a call back into the WindowManagerServer from native code.
In the future this will be refactored to avoid most of these callbacks
except as required to handle pending focus transitions.
End-to-end event dispatch mostly works!
To do: event injection, rate limiting, ANRs, testing, optimization, etc.
Change-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25
It behaves the same as ArrayList.addAll, since
the Object containing the Objects in the Adapter
is a List. Now you can add multiple Objects
at once, instead of looping over a Collection
and add all items one by one.
Unittests will be submitted to the cts project
Change-Id: I16f3286a8ca4cda7eb9f1a99c2aab1cc45b2550f
Merge commit '94f14aeca9e6c6d07b39a7f708eacadcfeb6fbd2' into gingerbread-plus-aosp
* commit '94f14aeca9e6c6d07b39a7f708eacadcfeb6fbd2':
More StrictMode work, handling violations in ActivityManagerService.
Modify OOM adj classes a bit, to take into account the new
heavy weight app type, and give "foreground services" their
own category to have a bettery chance to manager them when
things go wrong.
Also add some new code to battery stats to keep a history
of changes to the battery level.
Change-Id: I29f5ab6938777e1a7eafd7d8c38b5e564cc9f96a
Merge commit 'b8bb78f54b48868465a9d69d65fda08524ab5ae1' into gingerbread-plus-aosp
* commit 'b8bb78f54b48868465a9d69d65fda08524ab5ae1':
Change camera interface to support multiple cameras.
This is a new public API for developers to opt-in to strict rules
about what they're allowed to do on certain threads. (this is the
public face of the @hide dalvik.system.BlockGuard, added recently...)
In practice this will be used for developers to opt-in to declaring
that they don't want to be allowed to do various operations (such as
disk I/O or network operations) on their main UI threads. (these
operations are often accidental, or even when they are fast come with
a good chance of being slow or very slow in some cases....)
Implementation wise, this is just a thread-local integer that has a
bitmask of the things that aren't allowed, and more bits for saying
what the violation penalty is. The penalties, of which multiple can
be chosen, include:
* logging
* dropbox uploading for analysis/reporting
* annoying dialog
* full-on crashing
These are all only very roughly implemented at this point, but all
parts now minimally work end-to-end now, so this is a good checkpoint
commit before this gets too large.
Future CLs will polish all the above 4 penalties, including
checksumming of stacktraces and minimizing penalties for duplicate
violations.
Change-Id: Icbe61a2e950119519e7364030b10c3c28d243abe
When the driver was configured to run with power save mode disabled the
power save mode incorrectly got reverted back to AUTO mode right after
DHCP response. The power save mode value is now saved so that the device
properly reverts back to a previous mode after DHCP response.
Change-Id: I5035aad10146812ecef1be8ea4b22a03e230ccc9