This significantly re-works the native key dispatching code to
allow events to be pre-dispatched to the current IME before
being processed by native code. It introduces one new public
API, which must be called after retrieving an event if the app
wishes for it to be pre-dispatched.
Currently the native code will only do pre-dispatching of
system keys, to avoid significant overhead for gaming input.
This should be improved to be smarted, filtering for only
keys that the IME is interested in. Unfortunately IMEs don't
currently provide this information. :p
Change-Id: Ic1c7aeec8b348164957f2cd88119eb5bd85c2a9f
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 '703e5d3c7fbeb8ca0978045db01d40318f838612' into gingerbread-plus-aosp
* commit '703e5d3c7fbeb8ca0978045db01d40318f838612':
StrictMode: avoid an allocation in common case
Merge commit '0c36c96f2a5458ebd0a5a371c8d1515fcdccb002' into gingerbread-plus-aosp
* commit '0c36c96f2a5458ebd0a5a371c8d1515fcdccb002':
StrictMode: batch drop box writes for system apps
Make the initialValue() of the ThreadLocal be null, so checking it doesn't
cause one to be created in the case of an RPC call not using StrictMode.
Change-Id: I3ea19ce444a1b3c39a6e53c5cb5d4faf4b07a6c8
Merge commit '2c40582a6c3a5781b39d0504d5aa8934982989d2' into gingerbread-plus-aosp
* commit '2c40582a6c3a5781b39d0504d5aa8934982989d2':
Add native C APIs for working with the Asset Manager
Now, when Thread A has a strict mode policy in effect and does a
Binder call to Thread B (most likely in another process), the strict
mode policy is passed along, but with the GATHER penalty bit set which
overrides other policies and instead gathers all offending stack
traces to a threadlocal which are then written back in the Parcel's
reply header.
Change-Id: I7d4497032a0609b37b1a2a15855f5c929ba0584d
Merge commit 'd6343c26b8580f61a257a3045bfa124049201116' into gingerbread-plus-aosp
* commit 'd6343c26b8580f61a257a3045bfa124049201116':
Interface support for custom HTTP headers in DL manager
Merge commit '5352d2378d2f92ebe0657e4caedb4498492fc404' into gingerbread-plus-aosp
* commit '5352d2378d2f92ebe0657e4caedb4498492fc404':
docs: lots of additions to the resources docs
Merge commit '38137d7a27b037611c70a9d900aa53b4c15563bf' into gingerbread
* commit '38137d7a27b037611c70a9d900aa53b4c15563bf':
docs: lots of additions to the resources docs
Merge commit '3a053db28451858162f3dd84f18fae2f245b07f1' into gingerbread-plus-aosp
* commit '3a053db28451858162f3dd84f18fae2f245b07f1':
The ICU data is no longer compiled directly into the shared library.
* constants for new DB table, keys for including headers in a
DownloadProvider.insert() call, and new URIs for retrieving headers
* support in DownloadManager to pass headers to the provider
Merge commit 'c98e431119867dbc4ae3da52d5c374607c0f67b9' into gingerbread-plus-aosp
* commit 'c98e431119867dbc4ae3da52d5c374607c0f67b9':
Skip hostname verification when using insecure factory
Merge commit '468c82e4be0630de04a50d88602cd8c6bc745962' into gingerbread
* commit '468c82e4be0630de04a50d88602cd8c6bc745962':
Skip hostname verification when using insecure factory
Merge commit 'ed86eaa7301d5509bce38dffce3f8ef11e4e4cd0' into gingerbread-plus-aosp
* commit 'ed86eaa7301d5509bce38dffce3f8ef11e4e4cd0':
Argh oops I didn't mean to delete this.
Merge commit '05940b2c04041d6b3b8d222f4acfd12faeeb6c9c' into gingerbread-plus-aosp
* commit '05940b2c04041d6b3b8d222f4acfd12faeeb6c9c':
Download manager support for file URIs + last modified time
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
This re-enables thumbnail generation code in the framework
with a few improvements.
In addition to enabling the system to capture thumbnails,
it removes padding from the borders to account for space
overlapped by system widgets (status bar, etc.). Thus,
the contents of the bitmap are only those pixels unique to
the activity.
It also maximizes resolution of the bitmap by capturing the
image in the application's current orientation. In landscape
mode, it captures a bitmap with dimensions w x h. In portrait,
it captures a bitmap with dimensions h x w. Where w and h are
thumbnail_width and thumbnail_height as defined in dimens.xml.
Though enabled, the change is not currently used in this
branch. The work is being checked in here to avoid
complicated downstream merges.
Change-Id: Ifc8a4e0075d7d0697d8159589be3816ace31d70c
First, in the download manager public API, I'm changing
COLUMN_REQUESTED_TIMESTAMP to COLUMN_LAST_MODIFIED_TIMESTAMP, a field
that already exists in the download manager. Upon inspection of
existing users of this field, it looks like there are some good use
cases -- for instance, looking at when a download completed. And if
I'm exposing that timestamp, there's no need to also expose the
requested timestamp.
Second, this change includes support for file URI destinations:
* add DESTINATION_FILE_URI for use by the DownloadManager wrapper
* make DownloadManager use it appropriately
The backend support is in a separate change (since it's in a separate
project).
Also fixing a bug with file URI construction when DownloadManager
fills in COLUMN_LOCAL_URI.
Change-Id: I5bb93a222cd23215c2a03ed9f68d7f140454f7f2