Merge commit 'e24a60aa4670fb835772b23ff665bb368fa65e30' into gingerbread-plus-aosp
* commit 'e24a60aa4670fb835772b23ff665bb368fa65e30':
First stab at attaching native event dispatching.
Provides the basic infrastructure for a
NativeActivity's native code to get an object representing
its event stream that can be used to read input events.
Still work to do, probably some API changes, and reasonable
default key handling (so that for example back will still
work).
Change-Id: I6db891bc35dc9683181d7708eaed552b955a077e
No longer a window bit, FLAG_IMMERSIVE is now set on
ActivityInfo.flags and in the Activity's manifest as
android:immersive="true" (ActivityInfo).
[An "immersive" activity is one that wishes to avoid being
paused by full-screen notifications (like an incoming call).
An activity that sets FLAG_IMMERSIVE/android:immersive is
sending a signal to the notification manager, status bar,
etc. that they should try to find some other way to get the
user's attention in high-priority situations.]
[Originally: change Ie290c2e.]
Change-Id: I967bb10b930b8f0772b10f81f2957a03fa3f1736
Theme attribute added for spacing between action buttons. Action
buttons are now allowed to fill up to half of the total action bar's
width.
Change-Id: Iabbc67e695684529dfae9681d4d9580cd30839d0
Merge commit 'e899caf8cce1d1a20121f19a99899553ae2b327e' into gingerbread-plus-aosp
* commit 'e899caf8cce1d1a20121f19a99899553ae2b327e':
Fixed api/current.xml after a bad merge.
Merge commit '42bb545a54d89f0ddbb230d7a01ea4210c0f6c00'
* commit '42bb545a54d89f0ddbb230d7a01ea4210c0f6c00':
Even more native input dispatch work in progress.
Merge commit '5c225b1680e696ae8bbf505a1997d6f720672f74' into gingerbread-plus-aosp
* commit '5c225b1680e696ae8bbf505a1997d6f720672f74':
Even more native input dispatch work in progress.
Merge commit '04b4f781b118fa9c815910bf5d2a772cdfef07c2'
* commit '04b4f781b118fa9c815910bf5d2a772cdfef07c2':
New API for high-priority Notifications and full-screen alerts.
Added more tests.
Fixed a regression in Vector.
Fixed bugs in pointer tracking.
Fixed a starvation issue in PollLoop when setting or removing callbacks.
Fixed a couple of policy nits.
Modified the internal representation of MotionEvent to be more
efficient and more consistent.
Added code to skip/cancel virtual key processing when there are multiple
pointers down. This helps to better disambiguate virtual key presses
from stray touches (such as cheek presses).
Change-Id: I2a7d2cce0195afb9125b23378baa94fd2fc6671c
Merge commit '3a0146cd29fae3c5bc29d8d535d67826284f8cc9' into gingerbread-plus-aosp
* commit '3a0146cd29fae3c5bc29d8d535d67826284f8cc9':
New API for "immersive" activity windows.
Merge commit 'cc86c933f69e4c1d55e0f4f49936d04fb60d6bcf' into gingerbread-plus-aosp
* commit 'cc86c933f69e4c1d55e0f4f49936d04fb60d6bcf':
New API for high-priority Notifications and full-screen alerts.
Options menu items may now specify if they would like to appear in the
action bar. Menu items defined in xml may set the showAsAction
attribute to one of "never"(default), "ifRoom", or "always". Action
buttons are populated as follows:
* All showAsAction="always" items become action buttons, even if it
would crowd the navigation area of the action bar.
* If there is space remaining, showAsAction="ifRoom" items are added
until no more will fit comfortably.
Action button click events are now handled by the
onOptionsItemSelected method used by the standard options menu.
The construction of options menus now happens earlier in order to
provide data to the action bar. Activities with an action bar can now
expect to have onCreateOptionsMenu called when activity start-up is
complete.
Activity#invalidateOptionsMenu can be used to force a refresh of menu
items where the previous API would use ActionBar#updateActionMenu.
Change-Id: If52ddf1cf9f6926206bcdeadf42072ea2c24fab9
An "immersive" activity (as indicated by the new
FLAG_IMMERSIVE) is one that wishes to avoid being paused by
full-screen notifications (like an incoming call).
An activity that sets FLAG_IMMERSIVE on its window is
sending a signal to the notification manager, status bar,
etc. that they should try to find some other way to get the
user's attention in high-priority situations.
FLAG_IMMERSIVE should be used exclusively in conjunction
with FLAG_FULL_SCREEN (that is, only activities that hide
the status bar should consider themselves immersive).
Change-Id: Ie290c2e92fc391bcf55edfdb1fbd626cd284e3e2
* fullScreenIntent: a PendingIntent pointing to a
full-screen activity or other modal alert experience to be
shown to the user instead of (or in addition to) a
traditional status bar notification icon. Example: An
incoming call should pop up a full-screen activity
allowing the user to accept or decline the call.
The old way to accomplish this is to simply fire off the
full-screen intent directly from the Phone app. By routing
through the Notification system, we make way for the
FLAG_IMMERSIVE bit (forthcoming API) which would allow the
frontmost opaque window to suppress full-screen alerts.
* FLAG_HIGH_PRIORITY: This bit allows a notification to be
shown in windows that have the FLAG_IMMERSIVE bit set. For
example, a Notification corresponding to an incoming call
would be marked HIGH_PRIORITY so that even in an immersive
activity (i.e. a networked game) the Notification could be
shown to the user.
Change-Id: I4943e53f425800a6e152bc4992dd41586b43aff8
The pivot points in RotateAnimation and ScaleAnimation are in pixel coordinates. When an app is being autoscaled, these values are incorrect and should be adjusted for the current scale factor. The fix adds API to Animation to allow ViewGroup to pass in the scaling factor.
Change-Id: I978c48f9b5aea6760148435e74e1a8d49e2f785d
- Where previously ViewAnimator only exposed inAnimation and outAnimation as
XML attributes, modified to also include the animateFirstView flag so that
widgets can optionally choose to omit the animation for the first child
view.
- Changed the behavior of ViewFlipper so that simple visibility changes do not
trigger extraneous and distracting animations.
Change-Id: I34b3abad33102978a94f0aed5aaab9af30ba49c7
Merge commit '5907ffa453cf92f2f0de760354e4013df4ea6b69'
* commit '5907ffa453cf92f2f0de760354e4013df4ea6b69':
add new video/audio presence icons in the framework resource dirs, and make them public.
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
cts tests are in Change-Id: Ifcc89b4ff484c7c810fd2d450ded212a43360dda
dependency on: Change-Id: I938c42afc3fb50f5296d01c55ffcf4a102d8b0cb
1. Use sqlite's work-in-progress writeahead logging feature to read old
versions of data and thus increase concurrency of readers
even when there is a writer on the database
2. New API executeQueriesInParallel() sets up a database connecion pool
automatically created and managed by sqlite java layer
3. To increase reader concurrency, add an option to do BEGIN IMMEDIATE xaction
instead of BEGIN EXCLUSIVE
Change-Id: I3ce55a8a7cba538f01f731736e7de8ae1e2a8a1f
Merge commit '864c68ea452baa0f4f298faf2155af45a9b6d60c'
* commit '864c68ea452baa0f4f298faf2155af45a9b6d60c':
Added an addAll to the ArrayAdapter
WLAN: Reset power save mode to startup value after DHCP response.
Add PageUp and PageDown hot keys
Should accept "application/vnd.wap.multipart.alternative" message.
replaced deprecated getIntent with parseURI
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
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
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