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
Merge commit 'd1af902c21b4911b964c82ced3d80fcf9ab41540' into gingerbread-plus-aosp
* commit 'd1af902c21b4911b964c82ced3d80fcf9ab41540':
Deprecate some status bar icons that now come from the phone app (and
MTP file transfers happen in two stages. The SendObjectInfo command sends
some information about the file and reserves an ObjectHandle for the new file.
The file transfer is then performed using the SendObject command.
To support this in the media provider, MtpDatabase.beginSendObject receives
the information from SendObjectInfo and creates an row for it in the MTP objects
table for the new file. After the file transfer has completed, then
MtpDatabase.endSendObject is called. In endSendObject, we run the media scanner
on the new file, which will add a row to the images, audio, video
or audio playlist table.
To avoid the media scanner creating a second row for the file in the MTP objects
table, we pass the ObjectHandle created in beginSendObject to the media scanner,
which then passes it to the media provider via the content values when it
performs its insert.
Change-Id: I1ebcc63d6bd4404b0d3a93c703a9d3c097381d3a
Signed-off-by: Mike Lockwood <lockwood@android.com>
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 'b14f325a0118ffce286155caaabaae149653462c'
* commit 'b14f325a0118ffce286155caaabaae149653462c':
Add ANativeWindow API for directly drawing to the surface bits.
Merge commit '289b9b62372ef52a06113b83dfb870e2c2fb325a' into gingerbread-plus-aosp
* commit '289b9b62372ef52a06113b83dfb870e2c2fb325a':
Add ANativeWindow API for directly drawing to the surface bits.
Also other cleanup and fixes:
- We now properly set the default window format to 565.
- New APIs to set the window format and flags from native code.
- Tweaked glue for simpler handling of the "destroy" message.
- Um, other stuff.
Change-Id: Id7790a21a2fa9a19b91854d225324a7c1e7c6ade
Editable TextView now display a cursor controller under the insertion
point so that it can be precisely moved.
Change-Id: Ia2e6ddc57d249647ff6683e10e4226db3df27223
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
Merge commit '0260887ca78330b8dd7009d91859925df94a69d6'
* commit '0260887ca78330b8dd7009d91859925df94a69d6':
Improved logging when there's an error creating the directories in getFilesDir()
Merge commit 'd321e8d6882485203b159b224d49247707bdd5aa'
* commit 'd321e8d6882485203b159b224d49247707bdd5aa':
Remove some (unused, non-public) phone-related status bar notification icons
Merge commit '2aaa9e9fc5ddc05cedbe530c7a41eca0e3a62b7a' into gingerbread-plus-aosp
* commit '2aaa9e9fc5ddc05cedbe530c7a41eca0e3a62b7a':
Remove some (unused, non-public) phone-related status bar notification icons
Do compiling of sql, binding of args and execution of the SQL
statement within one single database lock period.
This reduces the number of times the database lock
needs to be acquired during the course of compilation, binding
and execution of a SQLiteStatement.
Change-Id: I22b090ec9e10fc0aa2532a93bafe610af2546b58
Status bar icons really belong to specific apps (not the framework), so the
various stat_sys_phone_call* and stat_sys_vp_phone_call* icons should have
never been part of the framework in the first place.
As of change https://android-git.corp.google.com/g/56881 the phone app now has
its own copies of all these icons, so it's now safe to remove the non-public
ones(*) from frameworks/base.
(*) Unfortunately a few of these icons were accidentally added to public.xml
at some point, so we'll never be able to get rid of those ones.
This change only removes the private resources.
Change-Id: If9ecf7b7568b5086c6ed1e5d4b69518fb41f1516
Introduces a new LoaderManager class that takes care of
most of what LoaderManagingFragment does. Every Fragment
and Activity can have one instance of this class. In the
future, the instance will be retained across config changes.
Also various other cleanups and improvement.
Change-Id: I3dfb406dca46bda7f5acb3c722efcbfb8d0aa9ba
one SkLayer tree to get ready for GL rendering.
Now UI holds its copy of SkLayer tree. The top node
is BaseLayerAndroid which has the PictureSet as its
content.
There is a matching change in external/webkit.
Uses a new "MTP objects" table in the media provider to support basic
enumeration of the external storage file system.
Support for accessing audio, video and image metadata in the existing
media provider tables will be added in a later commit.
The C++ MtpDatabase class is now abstract, to support a proxy subclass that
calls through JNI to the Java MtpDatabase class in the media provider.
Change-Id: I90f0db5f3acc5d35ae78c27a8507edff16d14305
Signed-off-by: Mike Lockwood <lockwood@android.com>