An Activity can declare itself to be "immersive" either by
setting android:immersive="true" in AndroidManifest or by
calling setImmersive(true).
Immersive activities "should" not be interrupted, for
example by Notifications with an associated
fullScreenIntent. (In the future we may even prevent any
non-system application from successfully calling
startActivity() if the foreground activity is immersive.)
Notifications with FLAG_HIGH_PRIORITY set will be shown to
the user in some less-obtrusive way if the frontmost
activity is immersive.
Change-Id: I8d0c25cc4e22371c27cbf2bb6372d2c95d57b2d7
Merge commit '73ccafb5b843cdcf9c8f761fc72a69b4b7942aaf' into gingerbread-plus-aosp
* commit '73ccafb5b843cdcf9c8f761fc72a69b4b7942aaf':
Fix a bug where requestDisallowInterceptTouchEvent does not get called
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
Added ANRs handling.
Added event injection.
Fixed a NPE ActivityManagerServer writing ANRs to the drop box.
Fixed HOME key interception.
Fixed trackball reporting.
Fixed pointer rotation in landscape mode.
Change-Id: I50340f559f22899ab924e220a78119ffc79469b7
Merge commit '5c225b1680e696ae8bbf505a1997d6f720672f74' into gingerbread-plus-aosp
* commit '5c225b1680e696ae8bbf505a1997d6f720672f74':
Even more native input dispatch work in progress.
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.
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
Merge commit '6b7b4845212b3a439c527f2e1eca205b6b45fceb' into gingerbread-plus-aosp
* commit '6b7b4845212b3a439c527f2e1eca205b6b45fceb':
Various improvements to battery stats collection
We now clear the battery stats when unplugging after the
battery is full. This allows us to use the "total" stats as
a new "since last charged" stat. Total is gone. I never used
it, it was worthless. Since last charged is a lot more
interesting.
The battery history now collects a lot more stats, and keeps
control over how much it can collect. Printing is now more
descriptive.
The kinds of stats have been renamed to SINCE_UNPLUGGED and
SINCE_DISCHARGED. The other two stats are still there, but
no longer printed; a future change will eliminate them
completely along with all of their state.
Change-Id: I4e9fcfcf8c30510092c76a8594f6021e9502fbc1
This file was brought back to life by mistaken when merging from
a branch where it was modified into a branch where it had been
deleted
Change-Id: I406c6ced978abfdd59684f14bc9dd53ee7968aae
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