events (and in one case, a DropBox entry).
Add a simple intent that triggers master-clear (and toggle EFS), given the
right permissions.
Bug: 2264596
Bug: 2350452
Bug: 2264596
The new attribute can be set by adding android:safeMode="true"
in AndroidManifest.xml with the SDK.
Tested with pairing locally compiled SDK with Eclipse and verified that the JIT
(the only component currently included in the safe mode) is indeed disabled
with the new attribute.
Bug: 2267583
Add new broadcasts ACTION_MEDIA_RESOURCES_AVAILABLE and
ACTION_MEDIA_RESOURCES_UNAVAILABLE that get broadcast by
PackageManagerService when sdcard gets mounted/unmounted
by MountService so that packages on sdcard get recognized by
various system services as being installed/available or
removed/unavailable by the system.
The broadcasts are sent before the actual package cleanup which includes
mounting/unmounting the packages and we force a gc right after so
that any lingering file references to resources on sdcard get
released.
Clarifies what the password modes mean, renaming them to "quality"
and updating their documentation and the implementation to follow.
Also adds a facility to find out if a monkey is running, which I
need for the api demo to avoid letting it wipe the device.
Merge commit '5f64128568d815f91dcd37db43d4e26a0566b41c'
* commit '5f64128568d815f91dcd37db43d4e26a0566b41c':
Fix issue #2364506: Phone locked up while listening to music and attempting to download an update
Merge commit 'b1c4a2a3b37fccf68e6a9563cccf1685df2bf3e7' into eclair-plus-aosp
* commit 'b1c4a2a3b37fccf68e6a9563cccf1685df2bf3e7':
Fix issue #2364506: Phone locked up while listening to music and attempting to download an update
This adds new DevicAdmin, DevicePolicyManager, and DeviceAdminInfo classes.
See the java docs for each on documentation on them. Basically: a DeviceAdmin
is what you derive from to administer a device; DevicePolicyManager is what you
use to apply and check your policy requirements and perform other administration
tasks.
Eliminate the per-process 200ms timeout during ANR thread-dumping.
Dump all the threads at once, then wait for the file to stabilize.
Seems to work great and is much, much, much faster.
Don't dump stack traces to traces.txt on app crashes (it isn't very
useful and mostly just clutters up the file).
Tweak the formatting of the dropbox dumpsys a bit, for readability,
and avoid running out of memory when dumping large log files.
Report build & kernel version with kernel log dropbox entries.
The ActivityManager.restartPackage() API is now deprecated, and no longer
allows applications to mess up the state of other applications. This was
being abused by task killers, causing users to think their other applications
had bugs.
A new API is introduced for task killers,
ActivityManager.killBackgroundProcesses(), which allows these applications
to kill processes but only the same amount that the out of memory
killer does, thus causing no permanent damage. The old restartPackage()
API is now a wrapper for calling this new API.
There is also a new private forceStopPackage() API that is used for the
system's force stop UI which does what the old restartPackage() API did.
Change how we do debug dumps from the activity manager to make
everything go through the activity manager interface (no more
secondary interfaces), and use the command line arguments to
control what gets dumped.
The output from dumpsys without args still dumps everything.
When just dumping the activity service, we now dump a subset
of all of the am state that is interesting without being
overwhelming.
You can use "dumpsys activity -h" to get help with other things
that can be dumped.
The crashes are also reported to the event log (and of course the
main logcat, like they always have been). Ordinary Log.e(t,m,e) isn't dropboxed
but there's a new Log.wtf() which always is. (Still @pending in this change.)
Add a hook to IPowerManager to crash the system server on demand
(only for apps with REBOOT permission, since it's basically a restart).
This is not exposed in PowerManager, must be invoked directly -- mostly
this is there so "Bad Behavior" in dev tools can do it.
This is intended to solve a problem on devices with more memory
where we can fill up that memory with processes that contain activities
(hidden processes), leaving no room for empty processes. Thus if a
process is receiving broadcasts regularly, or starting and stopping
a service, or such, we will continually create its process only to
have it immediately killed when done.
There is certainly some tuning that should be done on this as we
look at the actually behavior. The implementation here puts all of
the hidden and empty processes into one list, trying to make some
preferences for the very most recently used activity's processes to
stay at the top and not get pushed out by other processes being
started in the background.
Merge commit '3a3fd2ba1ffc6171725375396cc59711a34bb39e' into eclair-mr2-plus-aosp
* commit '3a3fd2ba1ffc6171725375396cc59711a34bb39e':
Implement API to have new broadcasts replace existing broadcasts.
Use this in various places where it should serve no purpose to deliver
both broadcasts. This is intended to reduce somewhat the flurry of
broadcasts that we churn through during boot.
Make sure the application is always given the most recent configuration
when launcher. Use the current configuration, instead of whatever happens
to be set by the app, for reporting what it was launched with.
Change-Id: I2ffe306f56cc9092b640546dd0a28d2c29b9c0b3
(CrashData was a custom-marshalled crash-info class used for a server crash
reporting system I am deprecating). Use ApplicationErrorReport.CrashInfo
instead to report crash details (mostly the stack trace) from RuntimeInfo to
ActivityManagerService, since we're likely to need the crash information in
that form anyway.
Remove the (long-disabled) flags and support for the "Debug" button
in the crash dialog.
Further gut the ICheckinService interface by removing the crash-reporting
APIs (and everything that calls them), plus the synchronous checkin()
method (which has been stubbed out for a while now).
A new dropbox-based crash reporting system is in the works, but not part
of this change.
Merge commit 'af9788a9d6c238dd97f40dc020e036739daf0811' into eclair-mr2-plus-aosp
* commit 'af9788a9d6c238dd97f40dc020e036739daf0811':
Add bindService API to not bring ot foreground.
Add a new flag for bindService that tells the system to not bring the
target service's process in to the foreground scheduling class. This is
used by the sync system to not cause the current sync adapter to come to
the foreground as it is running.
Also some small improvements to the debug output of the process list
of oom adj and scheduling info.
Merge commit 'f6683bb5592825a62e30760abb0734deaaf7bd93' into eclair-mr2-plus-aosp
* commit 'f6683bb5592825a62e30760abb0734deaaf7bd93':
move event log tags used by ActivityManager into this package
We can now locate event log tag definitions in individual packages
(and java constants for the tag numbers get auto-generated), so move
all the tags used by the system server into the package.
Merge commit '92b1880084ccfbe2ae03eec6a9656c5372c03f12' into eclair-mr2-plus-aosp
* commit '92b1880084ccfbe2ae03eec6a9656c5372c03f12':
Work on issue 2259506: camera ANRed and then device runtime restarted
Merge commit 'ab5efde8dcdfcafea7e9d95350e18022b1adc679' into eclair-plus-aosp
* commit 'ab5efde8dcdfcafea7e9d95350e18022b1adc679':
Work on issue 2259506: camera ANRed and then device runtime restarted
Merge commit '6e0ff0c37cd293d49c3c874ee30a49b1d5902b5e' into eclair-mr2-plus-aosp
* commit '6e0ff0c37cd293d49c3c874ee30a49b1d5902b5e':
A little more on #2256270: Package manager sends bad broadcasts when components change
Merge commit '826d17c0690e086ed96f43714d731ec6e0ddcf96' into eclair-plus-aosp
* commit '826d17c0690e086ed96f43714d731ec6e0ddcf96':
A little more on #2256270: Package manager sends bad broadcasts when components change
Merge commit '5bb200fde2306d9da1972a81c0238c26ca6f475b' into eclair-mr2-plus-aosp
* commit '5bb200fde2306d9da1972a81c0238c26ca6f475b':
Debugging for issue #2250075: Desk dock clock app sometimes doesn't
Merge commit '2ade6421f2d6dd615b559c951deace7143958b90' into eclair-plus-aosp
* commit '2ade6421f2d6dd615b559c951deace7143958b90':
Debugging for issue #2250075: Desk dock clock app sometimes doesn't
You can no longer receive CONFIGURATION_CHANGED in a manifest, which is really really
bad (launching apps every time the screen is rotated!). A new LOCALE_CHANGED broadcast
is sent that you can receive in a manifest.
Change-Id: I80022375f0716db2e672382a29db3cea1af74702
This adds a history of the last 100 broadcasts that is printed in the
debug log, to be able to see what recently happened at the time the
bug report was taken. Also does some optimization of the printing of
the broadcast records to make it feasible to print this number of
entries. (We kind-of need to do this because there are some broadcasts
like SIG_STR and SYNC_STATE_CHANGED that are being broadcast a LOT.)
Change-Id: I775e1ec0f63369c8bca8c83cee27b95ddc5ec450
Merge commit '750e82e51921428dc4ad9a75f18b02b8048734d8' into eclair-mr2-plus-aosp
* commit '750e82e51921428dc4ad9a75f18b02b8048734d8':
When tasks are moved to top or bottom, the app tokens are being rearranged.
Merge commit 'bf50200ba494db0ac2ce655a95f76640f49355ee' into eclair-plus-aosp
* commit 'bf50200ba494db0ac2ce655a95f76640f49355ee':
When tasks are moved to top or bottom, the app tokens are being rearranged.
The window token rearrangement is defered if an animation is
underway. Force a focus recomputation when the window tokens are finally
rearranged so that we have a valid focused window.
Merge commit '8071b14680f8081019ac1b995d7c7f09a8aeeba7' into eclair-mr2-plus-aosp
* commit '8071b14680f8081019ac1b995d7c7f09a8aeeba7':
Fix a race that kept the locale picker from working under heavy CPU load.
Merge commit 'fb872d1af3c775114ac7d241eb1924a9aafbb9df' into eclair-plus-aosp
* commit 'fb872d1af3c775114ac7d241eb1924a9aafbb9df':
Fix a race that kept the locale picker from working under heavy CPU load.
The locale picker and the activity transition would both change the
configuration, and depending upon the timing, the activity transition
would undo what the locale picker had just done. Usually it worked right,
but would often fail if the user changed locales just after a data wipe,
when the media scanner was working hard in the background to index
the contents of the SD card.
http://b/issue?id=2216298