Add dumpsys integration for the native input dispatcher.
Add some InputDevice API stubs.
Add an appendFormat helper method to String8 for printf style
string formatting mainly for debugging purposes.
Use generic ArrayList<WindowState> everywhere in WindowManagerService
to eliminate unnecessary casts all over.
Change-Id: I9d1e3bd90eb7222d10620200477f11b7bfd25e44
Merge commit '02c8730c1bf19daf48bec8c6995df676a00a73b1' into gingerbread-plus-aosp
* commit '02c8730c1bf19daf48bec8c6995df676a00a73b1':
Add API to call to vold for mounting OBBs
* Unhide StorageService class; hide all the USB-related items
* Add application-visible API to StorageManager for OBB files
* Add class for parceling OBB info across binders (ObbInfo)
* Add a JNI glue class to libutils/ObbFile (ObbScanner)
* Add API to MountService to deal with calling into vold and checking
permissions
Change-Id: I33ecf9606b8ff535f3a2ada83931da6bbef41cfd
Merge commit 'c5ed5910c9ef066cec6a13bbb404ec57b1e92637' into gingerbread-plus-aosp
* commit 'c5ed5910c9ef066cec6a13bbb404ec57b1e92637':
Add support for new input sources.
Added several new coordinate values to MotionEvents to capture
touch major/minor area, tool major/minor area and orientation.
Renamed NDK input constants per convention.
Added InputDevice class in Java which will eventually provide
useful information about available input devices.
Added APIs for manufacturing new MotionEvent objects with multiple
pointers and all necessary coordinate data.
Fixed a bug in the input dispatcher where it could get stuck with
a pointer down forever.
Fixed a bug in the WindowManager where the input window list could
end up containing stale removed windows.
Fixed a bug in the WindowManager where the input channel was being
removed only after the final animation transition had taken place
which caused spurious WINDOW DIED log messages to be printed.
Change-Id: Ie55084da319b20aad29b28a0499b8dd98bb5da68
Merge commit '38eea8bf990540360b45b963195a7766c30b55d2' into gingerbread-plus-aosp
* commit '38eea8bf990540360b45b963195a7766c30b55d2':
Remove the YV16 format for simplicity's sake.
Merge commit 'd76b67c340d1564abf8d14d976fdaf83bf2b3320' into gingerbread-plus-aosp
* commit 'd76b67c340d1564abf8d14d976fdaf83bf2b3320':
IME events are now dispatched to native applications.
And also:
- APIs to show and hide the IME, and control its interaction with the app.
- APIs to tell the app when its window resizes and needs to be redrawn.
- API to tell the app the content rectangle of its window (to layout
around the IME or status bar).
There is still a problem with IME interaction -- we need a way for the
app to deliver events to the IME before it handles them, so that for
example the back key will close the IME instead of finishing the app.
Change-Id: I37b75fc2ec533750ef36ca3aedd2f0cc0b5813cd
Merge commit 'd1af902c21b4911b964c82ced3d80fcf9ab41540' into gingerbread-plus-aosp
* commit 'd1af902c21b4911b964c82ced3d80fcf9ab41540':
Deprecate some status bar icons that now come from the phone app (and
shouldn't have been public in the first place.)
(And since the changed deprecation state is a public API change, I needed
to do "make update-api" as well.)
Change-Id: I803d5a81ad2363561137be5af4f2b8258df758cd
This exposes the AndroidManifest attribute
android:immersive, introduced in Change I967bb10b, to the
SDK.
Change-Id: Iccbc99590cd0fd4c570b9b9670ef93036f9d849e
Merge commit 'a5402dabec84eabcdb9008dc343dd67de325bbac' into gingerbread-plus-aosp
* commit 'a5402dabec84eabcdb9008dc343dd67de325bbac':
OBB API for PackageManager
Simple API for tracking .obb files associated with packages. Stores the
path in the PackageSettings. No verification of file content is done
now since the PackageManagerService can't read the SD card where these
files will likely live.
Change-Id: Ibeaf26ba0526b6d60f401137e58f46ee9faff39e
Merge commit '09b9005769f2b717f637131578ce6cfa6bd62bd9' into gingerbread-plus-aosp
* commit '09b9005769f2b717f637131578ce6cfa6bd62bd9':
Add multiple camera support for in MediaProfiles.
Merge commit 'de1057c4a6aa41c3b88bcc4fd49d70f973f1d9eb' into gingerbread-plus-aosp
* commit 'de1057c4a6aa41c3b88bcc4fd49d70f973f1d9eb':
Unhide new API for supporting multiple cameras.
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
Remove ACCURACY_BEST and only use ACCURACY_MEDIUM for horizontal accuracy.
Remove accuracy priority support, since it be difficult to implement in some cases.
Change-Id: I785a781f8d8f3bf3be6693ad71d077b6eb280c31
Signed-off-by: Mike Lockwood <lockwood@android.com>
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
Merge commit 'e899caf8cce1d1a20121f19a99899553ae2b327e' into gingerbread-plus-aosp
* commit 'e899caf8cce1d1a20121f19a99899553ae2b327e':
Fixed api/current.xml after a bad merge.
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 'a6c52938b144c2bbd8c1e22d24629b12e35c99a3' into gingerbread-plus-aosp
* commit 'a6c52938b144c2bbd8c1e22d24629b12e35c99a3':
add new video/audio presence icons in the framework resource dirs, and make them public.