Merge commit 'f96c2719c3cb4878e899b6fe0753b4f4b8aea8b7'
* commit 'f96c2719c3cb4878e899b6fe0753b4f4b8aea8b7':
StrictMode: batch drop box writes for system apps
Merge commit '078ccbdbb98c118aa87cab2fef61ff90dd128358'
* commit '078ccbdbb98c118aa87cab2fef61ff90dd128358':
Add native C APIs for working with the Asset Manager
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 '0c36c96f2a5458ebd0a5a371c8d1515fcdccb002' into gingerbread-plus-aosp
* commit '0c36c96f2a5458ebd0a5a371c8d1515fcdccb002':
StrictMode: batch drop box writes for system apps
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 '50576fa8152557a25e1a231c66d694fffbab34d6'
* commit '50576fa8152557a25e1a231c66d694fffbab34d6':
Start app with several activities with intent filter [Main, Launcher] was broken
Merge commit 'f8d9379bd834573feca085284970cf686993c330'
* commit 'f8d9379bd834573feca085284970cf686993c330':
IME events are now dispatched to native applications.
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
This adds the ability to generate a trivial heap dump on demand. If
the appropriate system properties aren't set, the output file will
instead contain instructions for enabling them.
The data returned by get_malloc_leak_info() is processed and written
to the specified file. The output looks something like:
Android Native Heap Dump v1.0
Total memory: 2981301
Allocation records: 2152
z 1 sz 65557 num 1 bt 8010dd78 afd12618 ...
z 1 sz 52008 num 3 bt 8010dd78 afd12618 ...
z 1 sz 24428 num 1 bt 8010dd78 8010de84 ...
...2149 more...
END
(the "..." is actually the remaining entries in the stack backtrace;
I truncated it here)
"z" indicates whether the allocation was made pre- or post-zygote,
"sz" is the size allocated, and "num" is the number of allocations
made of that size with the specified backtrace.
Change-Id: I2d60f07444fce5f7178b3f51c928c8faa0b051bd
When an application have more than one activities with intent filter
[Main, Launcher], then the intent with ResolverActivity wasn't created correct.
Change-Id: I2617122e07c35284862d2e0643888966ec0f7221
Merge commit '47b46648b5a9b8c518b96db37618fc49c5e5f2d1'
* commit '47b46648b5a9b8c518b96db37618fc49c5e5f2d1':
Initial implementation of the download manager public API.
Merge commit 'b8d890ebc1923d98d19d24f396442c91eb766b16' into gingerbread-plus-aosp
* commit 'b8d890ebc1923d98d19d24f396442c91eb766b16':
Initial implementation of the download manager public API.
The implementation is in android.net.DownloadManager, which is
obtained through Context.getSystemService(). Right now this class
acts as a simple wrapper on top of the existing DownloadProvider,
exposing a simple interface to a subset of DownloadProvider's
functionality. There are several TODOs for features that require
changes to the underlying download manager implementation.
Change-Id: I2f26e51b60b6e82af8478ac7ccd895667df095b6
- Take care of hiding/showing list automatically for normal behavior.
- Make list_content public for others to use.
Change-Id: Iecb7b70775d390d4e28e5c0dd6ba7278581b2734
Apparently the Javadoc we're using can't handle generic method
arguments, so remove the argument specification to let the compiler
match the right one since we're not overloading that method anyway.
Change-Id: Ie1a1a28c6e3c5fe5d2d434ecc66519e514bc692c
This was mostly cloned from the "am profile" implementation. It's
intended to replace the old "kill -10" approach used by "runhat".
We could really use a native heap dump, so I pass a "managed"
flag through that indicates whether we want to dump the native or
managed heap. We don't currently have a native heap dump-to-file
function, so it currently just logs a warning.
(android.ddm.DdmHandleNativeHeap.getLeakInfo is a good start -- it
copies /proc/maps and then calls get_malloc_leak_info to get some
goodies. Needs some formatting to make it human-readable. I didn't
want to cram all that into this change.)
It would be useful if "am" didn't exit until the heap dump operation
completed, but I'm not sure how to do that.
Bug 2759474.
Change-Id: I46bc98067738d8c72ac0fc10002ca67bb4929271
Activity now propagates loaders across instances when retaining
state. Adjusted APIs to make it better for apps to deal with this.
Change-Id: I8a6448cff1132e66207f9223eb29ccfc0decf2ca
Merge commit '0260887ca78330b8dd7009d91859925df94a69d6'
* commit '0260887ca78330b8dd7009d91859925df94a69d6':
Improved logging when there's an error creating the directories in getFilesDir()