Merge commit 'd3efa3924407da6d38aa5931ac29aa088d9eb986' into gingerbread-plus-aosp
* commit 'd3efa3924407da6d38aa5931ac29aa088d9eb986':
Clean up some permissions.
Note that WRITE_OWNER_DATA and READ_OWNER_DATA don't actually appear
to be associated with anything or used by anyone, so they are just
deleted.
Also deprecate the activity API to go in the foreground. I didn't
realize that was released in the SDK. It needs to go away.
Change-Id: I96f53702c2c79e4999b6b2c498abb770bd27e03a
Summary:
- libcore: new Java based SamplingProfiler
- dalvik: remove old SamplingProfiler native bits
- frameworks/base: New placeholder SamplingProfilerIntegration
- vendor/google: remove old profiler snapshot parsing code
Details:
libcore
A new 100% Java SamplingProfiler. While it has more overhead that
the old native one, the new one can actually collect more than the
current PC and frame pointer, so you can get useful context of
where your app is spending time. It currently provides ASCII hprof
format output for use with tools like PerfAnal
dalvik/src/main/java/dalvik/system/SamplingProfiler.java
Unit test for the new SamplingProfiler
dalvik/src/test/java/dalvik/system/SamplingProfilerTest.java
Add core-tests-dalvik
JavaLibrary.mk
dalvik
Removing native code that supported the old SamplingProfiler
vm/Dvm.mk
vm/native/InternalNative.c
vm/native/dalvik_system_SamplingProfiler.c
frameworks/base
Placeholder SamplingProfilerIntegration. Later plans include
generating EventStackTrace protobufs.
New SamplingProfiler does not have a global instance, so
SamplingProfilerIntegration provides one in INSTANCE. Old binary
snapshot format is temporily replaced with ASCII hprof data.
core/java/com/android/internal/os/SamplingProfilerIntegration.java
Simplified interface for zygote profile snapshotting
core/java/com/android/internal/os/ZygoteInit.java
Current SamplingProfilerIntegration does not track event loop
explicitly, but hprof information does include thread information.
core/java/android/app/ActivityThread.java
vendor/google
Removing code for parsing old SamplingProfiler snapshot format
tools/samplingprofiler/Android.mk
tools/samplingprofiler/NOTICE
tools/samplingprofiler/profiler.iml
tools/samplingprofiler/profiler.ipr
tools/samplingprofiler/pull-snapshots.sh
tools/samplingprofiler/sorttable.js
tools/samplingprofiler/src/com/android/profiler/PrintHtml.java
Merge commit '361199b5e742c6635d4d7a03de6cf37b31cf442c' into gingerbread-plus-aosp
* commit '361199b5e742c6635d4d7a03de6cf37b31cf442c':
Add PackageManager API to get information about a provider component.
Also removes the artifical restriction that only one apply() can be in
flight at once. That was old from when I thought it'd end up being
required, but wasn't.
Change-Id: I3540ea8be6e0760d6a51d218186f71655c2f3f55
This change moves the native library handling earlier in the package
installation process so that it may be inserted into ASEC containers
before they are finalized in the DefaultContainerService.
Note that native libraries on SD card requires that vold mount ASEC
containers without the "noexec" flag on the mount point.
Change-Id: Ib34b1886bf6f94b99bb7b3781db6e9b5a58807ba
Adds a fire-and-forget save method (startCommit) to the
SharedPreferences.Editor, which is the way most people use it anyway.
This commit adds the implementation. The previous commit added the
interface and docs:
previous change: Idf9934b445da1fb72b79f0192218b47c0a7f5a34
git commit: edf32d0131
In addition, this change:
-- adds a generic "runPendingWorkFinishers" mechanism to
ActivityThread to wait on async operations that are still
in flight and use it for this.
-- ties runPendingWorkFinishers into Activity.onPause,
BroadcastReceiver, and Service.
-- makes sSharedPreferences keyed on name, not File, to avoid
unnnecessary allocations
-- documents and guarantees what thread
OnSharedPreferenceChangeListener callbacks run on
-- makes a few things in frameworks/base use startCommit(), notably
Preference.java (which was ignoring the return value anyway)
Change-Id: I1c8db60ad45643226fe6d246d3e513eeb7bd0ebd
Merge commit '3003a017d312a55e3804d6cf4a80044b1f1d7993' into gingerbread-plus-aosp
* commit '3003a017d312a55e3804d6cf4a80044b1f1d7993':
Don't retain global ref to last inflated context.
Merge commit '4af0cfad5305c8827c6235ca86e7db63b534ad68' into gingerbread-plus-aosp
* commit '4af0cfad5305c8827c6235ca86e7db63b534ad68':
Verify that onPause() calls its superclass.
Merge commit 'b1bbe99aaa01f321ae94f0d5ba4505e528664cc7' into gingerbread-plus-aosp
* commit 'b1bbe99aaa01f321ae94f0d5ba4505e528664cc7':
Some StrictMode API changes.
* rename setThreadBlockingPolicy to setThreadPolicy (opens the way to
using StrictMode for non-blocking-related things in the future?)
* add allowThreadDiskWrites() and allowThreadDiskReads() to modify the
current policy mask and return the old one. this will allow turning
off part of StrictMode during certain regions of code. (for
instance, writing to disk in Activity onPause...)
Change-Id: Ia1878153713f79299971fdab567fa15b3cb9d56c
Merge commit 'cf6d2a1de274e9a4156b12be811a180eb36412ab' into gingerbread-plus-aosp
* commit 'cf6d2a1de274e9a4156b12be811a180eb36412ab':
Fix issue #2845673: android:exported="false" is not obeyed
Apps commonly edit + commit redundant changes to their
SharedPreferences, not checking the existing values. Rather than
force all apps to double-check that their settings writes aren't
redundant, we should just make .commit() faster (avoiding the disk
write) when the file already exists on disk and no effective changes
were made.
Change-Id: I7edbd0d3ace5b69b7af6d12c39797c8b7f86230b
Merge commit 'a8d9291d7f93d1aa0d24d71d65c7de2894812177' into gingerbread-plus-aosp
* commit 'a8d9291d7f93d1aa0d24d71d65c7de2894812177':
Various battery info things:
- Now track wake locks in battery history.
- Now track sensors in battery history.
- Some filtering of sensory data.
- Fixes to some data that wasn't cleared when resetting battery stats.
- Print amount discharged since last charge.
And the big part -- keep track of wake locks held per process,
and kill processes that hold wake locks too much while they are in
the background. This includes information in the battery stats
about the process being killed, which will be available to the
developer if the app is reported.
Change-Id: I97202e94d00aafe0526ba2db74a03212e7539c54
The NotificationManager tries to crash the calling app, but
in the case of a service calling startForeground, the caller
is the ActivityManager, so system_server goes down.
NotificationManagerService#enqueueNotificationInternal is a
new internal-only method that accepts a UID/PID to use when
punishing bogus notifications (such as the one in
http://b/2869787).
Change-Id: I84a9854bae630bc90288cebb94f174809d5dac8c
Merge commit 'ee34a49ffc92590cb59f3e17a3df136b67701529' into gingerbread-plus-aosp
* commit 'ee34a49ffc92590cb59f3e17a3df136b67701529':
Add missing word from docs.
Merge commit 'd2165cfce7911dac66d1195ed9123e79b086d22b' into gingerbread-plus-aosp
* commit 'd2165cfce7911dac66d1195ed9123e79b086d22b':
StrictMode: time violations in Binder calls
Merge commit '10f7c1b8ecf110fd9c646eb3fcb51e6ee74c5885' into gingerbread-plus-aosp
* commit '10f7c1b8ecf110fd9c646eb3fcb51e6ee74c5885':
Explicitly mention again that startCommand() runs on the main thread.
This is already mentioned at the top of Service.java's javadoc, but
I'm seeing people get confused (myself included the other day) after
getting used to incoming service stub binder calls being on their own
threads and forgetting that startCommand() didn't work that way.
Change-Id: Ib79f48d9368ac0ba2d37b7e4dc98d53804bcd59e
Merge commit '14bfa398a4e8697ce5822861a684b7d1245e4a85' into gingerbread-plus-aosp
* commit '14bfa398a4e8697ce5822861a684b7d1245e4a85':
Infrastructure to report running services to developer.
Merge commit 'b8e07a51c1849d6894c5773a3daacedd01294218' into gingerbread-plus-aosp
* commit 'b8e07a51c1849d6894c5773a3daacedd01294218':
DL manager support for broadcasts + connectivity control
* Additions to DownloadManager to support control of broadcast intents, allowed network types, and roaming control. This includes new constants and added implementation.
* New DB columns to hold connectivity flags and one to indicate whether the download was initiated through the public API; this is used to change behavior related to broadcast intents and connectivity controls.
Change-Id: I2e8e4ce92cde7889a0f24dc43b86c596c73c0eaa