Commit Graph

213 Commits

Author SHA1 Message Date
Dan Egnor
18e9396235 Eliminate dependencies on Checkin, replacing checkin events with EventLog
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
2010-02-11 10:22:09 -08:00
Ben Cheng
23085b781e Support per-application switch to execute the VM in safe mode.
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
2010-02-10 14:51:31 -08:00
Suchi Amalapurapu
b56ae20b22 Rename media resource broadcasts
Add checks for fwdlocked and updated system apps
add more tests
remove duplicate adds
2010-02-08 14:52:25 -08:00
Suchi Amalapurapu
08675a3376 Apps on sdcard: Add new broadcasts
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.
2010-02-02 18:33:29 -08:00
Dianne Hackborn
9327f4f671 More device policy work: clarify password modes, monkeying.
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.
2010-01-29 17:16:02 -08:00
Dan Egnor
66c40e7366 Add package information to dropbox reports for ANR, crash, etc.
(Notably including package version codes, to help when we're shipping
out-of-cycle unbundled app updates.)
2010-01-26 16:23:11 -08:00
Dan Egnor
2780e73ae7 As requested, expand ANR event log entry (and crash/WTF too) to include
process flags (including FLAG_SYSTEM, etc).
2010-01-22 14:47:35 -08:00
Dianne Hackborn
c0cea48576 am 5f641285: am b1c4a2a3: Fix issue #2364506: Phone locked up while listening to music and attempting to download an update
Merge commit '5f64128568d815f91dcd37db43d4e26a0566b41c'

* commit '5f64128568d815f91dcd37db43d4e26a0566b41c':
  Fix issue #2364506: Phone locked up while listening to music and attempting to download an update
2010-01-22 11:59:41 -08:00
Jacek Surazski
e0ee6efb1e Add systemApp field to ApplicationErrorReport 2010-01-20 12:27:58 -08:00
Dianne Hackborn
5f64128568 am b1c4a2a3: 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
2010-01-19 19:59:04 -08:00
Dianne Hackborn
b1c4a2a3b3 Fix issue #2364506: Phone locked up while listening to music and attempting to download an update
Make sure calls into the notification manager are not done with the
activity manager lock held.

Change-Id: Ib53c3b9f46160d94ee1e7079b1a5123e0d1225d8
2010-01-19 15:36:42 -08:00
Dianne Hackborn
d68478467e First pass at new device policy and administration APIs.
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.
2010-01-17 15:10:24 -08:00
Dan Egnor
42471dd555 Simplify & update ANR logging; report ANR data into the dropbox.
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.
2010-01-11 14:51:22 -08:00
Doug Zongker
43866e0c48 move some system services from gservices to secure settings
Change-Id: Ie2dfb99a2b42b2cc9310b858c044d8684e3493fa
2010-01-07 14:20:39 -08:00
Dianne Hackborn
03abb8179f Kill the task killers.
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.
2010-01-05 15:47:05 -08:00
Dianne Hackborn
c59411b176 Rework activity manager debug dumps.
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.
2009-12-21 20:20:59 -08:00
Dan Egnor
60d8762413 DropBox logging of app & system server crashes.
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.
2009-12-21 16:03:19 -08:00
Dianne Hackborn
dd71fc8bae Rework the LRU list for hidden and empty processes.
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.
2009-12-17 16:03:49 -08:00
Dianne Hackborn
83652ebfe1 am 3a3fd2ba: Merge change Iaf1f0918 into eclair-mr2
Merge commit '3a3fd2ba1ffc6171725375396cc59711a34bb39e' into eclair-mr2-plus-aosp

* commit '3a3fd2ba1ffc6171725375396cc59711a34bb39e':
  Implement API to have new broadcasts replace existing broadcasts.
2009-12-14 16:10:13 -08:00
Dianne Hackborn
1c633fc89b 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.
2009-12-14 15:03:35 -08:00
Dianne Hackborn
c1e6b91d75 am c9ca93fb: am 474731d5: Merge change I2ffe306f into eclair
Merge commit 'c9ca93fbf9ff49ca4b74c4ec72d3f7580b3b7659' into eclair-mr2-plus-aosp

* commit 'c9ca93fbf9ff49ca4b74c4ec72d3f7580b3b7659':
  Fix issue #2304284: contacts/dialer/recentcalls constantly flashing
2009-12-13 12:34:09 -08:00
Dianne Hackborn
c9ca93fbf9 am 474731d5: Merge change I2ffe306f into eclair
Merge commit '474731d5efb30c1e9184f998610054747eb8e764' into eclair-mr2

* commit '474731d5efb30c1e9184f998610054747eb8e764':
  Fix issue #2304284: contacts/dialer/recentcalls constantly flashing
2009-12-13 12:25:00 -08:00
Dianne Hackborn
e9b86b5421 am 474731d5: Merge change I2ffe306f into eclair
Merge commit '474731d5efb30c1e9184f998610054747eb8e764' into eclair-plus-aosp

* commit '474731d5efb30c1e9184f998610054747eb8e764':
  Fix issue #2304284: contacts/dialer/recentcalls constantly flashing
2009-12-11 18:28:45 -08:00
Dianne Hackborn
871ecdce67 Fix issue #2304284: contacts/dialer/recentcalls constantly flashing
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
2009-12-11 15:24:33 -08:00
Dan Egnor
f6bb01b0d8 am b7f0367c: Eliminate CrashData and friends.
Merge commit 'b7f0367cec1c744aa66ef397b0244e25d507491c' into eclair-mr2-plus-aosp

* commit 'b7f0367cec1c744aa66ef397b0244e25d507491c':
  Eliminate CrashData and friends.
2009-12-11 14:32:40 -08:00
Dan Egnor
b7f0367cec Eliminate CrashData and friends.
(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.
2009-12-11 13:27:04 -08:00
Dianne Hackborn
eb68a22656 am af9788a9: Merge change Ia53c6725 into eclair-mr2
Merge commit 'af9788a9d6c238dd97f40dc020e036739daf0811' into eclair-mr2-plus-aosp

* commit 'af9788a9d6c238dd97f40dc020e036739daf0811':
  Add bindService API to not bring ot foreground.
2009-12-09 15:55:28 -08:00
Dianne Hackborn
09c916bccb 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.
2009-12-08 16:33:59 -08:00
Doug Zongker
0f91f87002 am f6683bb5: Merge change I5f1d2d24 into eclair-mr2
Merge commit 'f6683bb5592825a62e30760abb0734deaaf7bd93' into eclair-mr2-plus-aosp

* commit 'f6683bb5592825a62e30760abb0734deaaf7bd93':
  move event log tags used by ActivityManager into this package
2009-12-04 16:50:50 -08:00
Doug Zongker
2bec3d4498 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.
2009-12-04 16:36:17 -08:00
Dianne Hackborn
3a624abe27 am 92b18800: am ab5efde8: Merge change Iff5b8ce3 into eclair
Merge commit '92b1880084ccfbe2ae03eec6a9656c5372c03f12' into eclair-mr2-plus-aosp

* commit '92b1880084ccfbe2ae03eec6a9656c5372c03f12':
  Work on issue 2259506: camera ANRed and then device runtime restarted
2009-11-16 20:04:09 -08:00
Dianne Hackborn
3235ccac1f am ab5efde8: Merge change Iff5b8ce3 into eclair
Merge commit 'ab5efde8dcdfcafea7e9d95350e18022b1adc679' into eclair-plus-aosp

* commit 'ab5efde8dcdfcafea7e9d95350e18022b1adc679':
  Work on issue 2259506: camera ANRed and then device runtime restarted
2009-11-16 16:36:30 -08:00
Dianne Hackborn
f670ef7235 Work on issue 2259506: camera ANRed and then device runtime restarted
If a process fails to come up, we could leave content providers and
services hanging around.

Change-Id: Iff5b8ce3b933580954724338a89e110e45f1b00c
2009-11-16 13:59:16 -08:00
Dianne Hackborn
b9456ac726 am 6e0ff0c3: am 826d17c0: A little more on #2256270: Package manager sends bad broadcasts when components change
Merge commit '6e0ff0c37cd293d49c3c874ee30a49b1d5902b5e' into eclair-mr2-plus-aosp

* commit '6e0ff0c37cd293d49c3c874ee30a49b1d5902b5e':
  A little more on #2256270: Package manager sends bad broadcasts when components change
2009-11-13 11:33:37 -08:00
Dianne Hackborn
fac7bd8345 am 826d17c0: 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
2009-11-13 11:12:11 -08:00
Dianne Hackborn
826d17c069 A little more on #2256270: Package manager sends bad broadcasts when components change
Don't go through all this work if the enabled state hasn't changed.

Change-Id: If7393f53d6c0d0770960bb37bcaa5adebdbb3099
2009-11-13 10:59:42 -08:00
Dianne Hackborn
7bd2179f22 am 823edb76: am 532d5603: Merge change I80022375 into eclair
Merge commit '823edb76661d57c1af7dbf4eb56eb0e3cb78e229' into eclair-mr2-plus-aosp

* commit '823edb76661d57c1af7dbf4eb56eb0e3cb78e229':
  Fix issue #2256032: Change CONFIGURATION_CHANGED and add a locale changed broadcast
2009-11-11 19:18:48 -08:00
Dianne Hackborn
8c3fc0801b am 5bb200fd: am 2ade6421: Merge change I775e1ec0 into eclair
Merge commit '5bb200fde2306d9da1972a81c0238c26ca6f475b' into eclair-mr2-plus-aosp

* commit '5bb200fde2306d9da1972a81c0238c26ca6f475b':
  Debugging for issue #2250075: Desk dock clock app sometimes doesn't
2009-11-11 19:18:11 -08:00
Dianne Hackborn
7a2d9782f9 am 532d5603: Merge change I80022375 into eclair
Merge commit '532d56034532809da7691059742371c1b4d0656c' into eclair-plus-aosp

* commit '532d56034532809da7691059742371c1b4d0656c':
  Fix issue #2256032: Change CONFIGURATION_CHANGED and add a locale changed broadcast
2009-11-11 19:13:15 -08:00
Dianne Hackborn
af194fe6af am 2ade6421: Merge change I775e1ec0 into eclair
Merge commit '2ade6421f2d6dd615b559c951deace7143958b90' into eclair-plus-aosp

* commit '2ade6421f2d6dd615b559c951deace7143958b90':
  Debugging for issue #2250075: Desk dock clock app sometimes doesn't
2009-11-11 18:53:29 -08:00
Dianne Hackborn
362d5b9b64 Fix issue #2256032: Change CONFIGURATION_CHANGED and add a locale changed broadcast
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
2009-11-11 18:26:06 -08:00
Dianne Hackborn
12527f9fb1 Debugging for issue #2250075: Desk dock clock app sometimes doesn't
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
2009-11-11 17:51:41 -08:00
Suchi Amalapurapu
972bad3cb8 am 750e82e5: am bf50200b: Merge change Ic9568e39 into eclair
Merge commit '750e82e51921428dc4ad9a75f18b02b8048734d8' into eclair-mr2-plus-aosp

* commit '750e82e51921428dc4ad9a75f18b02b8048734d8':
  When tasks are moved to top or bottom, the app tokens are being rearranged.
2009-11-06 00:30:40 -08:00
Suchi Amalapurapu
7442abf98e am bf50200b: Merge change Ic9568e39 into eclair
Merge commit 'bf50200ba494db0ac2ce655a95f76640f49355ee' into eclair-plus-aosp

* commit 'bf50200ba494db0ac2ce655a95f76640f49355ee':
  When tasks are moved to top or bottom, the app tokens are being rearranged.
2009-11-05 23:19:42 -08:00
Suchi Amalapurapu
c9568e3989 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.
2009-11-05 19:13:18 -08:00
Eric Fischer
25510e0777 am 8071b146: am fb872d1a: Merge change Id4d04def into eclair
Merge commit '8071b14680f8081019ac1b995d7c7f09a8aeeba7' into eclair-mr2-plus-aosp

* commit '8071b14680f8081019ac1b995d7c7f09a8aeeba7':
  Fix a race that kept the locale picker from working under heavy CPU load.
2009-10-29 01:47:34 -07:00
Eric Fischer
bf09620baf am fb872d1a: Merge change Id4d04def into eclair
Merge commit 'fb872d1af3c775114ac7d241eb1924a9aafbb9df' into eclair-plus-aosp

* commit 'fb872d1af3c775114ac7d241eb1924a9aafbb9df':
  Fix a race that kept the locale picker from working under heavy CPU load.
2009-10-28 10:24:53 -07:00
Eric Fischer
d4d04def2c 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
2009-10-27 18:55:57 -07:00
Dianne Hackborn
1e067a7338 am 7fad4ee7: am 8d9ddbe2: Merge change I1f30f3f1 into eclair
Merge commit '7fad4ee736b8a64c1acac7a9b40384f68562b664' into eclair-mr2-plus-aosp

* commit '7fad4ee736b8a64c1acac7a9b40384f68562b664':
  Fix #2201615: getCallingPackage returns calling process instead of calling package
2009-10-22 06:45:38 -07:00
Dianne Hackborn
8b54776edd am 8d9ddbe2: Merge change I1f30f3f1 into eclair
Merge commit '8d9ddbe2aa3db86237880102ccf320945e7f57d3' into eclair-plus-aosp

* commit '8d9ddbe2aa3db86237880102ccf320945e7f57d3':
  Fix #2201615: getCallingPackage returns calling process instead of calling package
2009-10-20 16:20:41 -07:00