19 Commits

Author SHA1 Message Date
Dianne Hackborn
5ac72a2959 Improve multi-user broadcasts.
You can now use ALL and CURRENT when sending broadcasts, to specify
where the broadcast goes.

Sticky broadcasts are now correctly separated per user, and registered
receivers are filtered based on the requested target user.

New Context APIs for more kinds of sending broadcasts as users.

Updating a bunch of system code that sends broadcasts to explicitly
specify which user the broadcast goes to.

Made a single version of the code for interpreting the requested
target user ID that all entries to activity manager (start activity,
send broadcast, start service) use.

Change-Id: Ie29f02dd5242ef8c8fa56c54593a315cd2574e1c
2012-08-30 14:33:22 -07:00
Craig Mautner
26caf7adf6 Fix deadlock by making DropBoxManager call async.
Created a Handler and used it to make sendBroadcast call asynchronously.
Deadlock was caused by WindowManagerService Log.wtf call requiring
ActivityManagerService lock while holding its own lock. At the same time
ActivityManagerService was holding its lock while waiting for
WindowManagerService lock.

Tested by forcing a Log.wtf in
WindowManagerServices.updateWindowsAppsAndRotationAnimationsLocked
inside mAppTokens loop. Then ran 'adb shell monkey -v -v 500000'.
Without this fix it would lock up and reboot within a couple of minutes.
With this fix it runs until the Camera app crashes. But that's a
different bug...

Fixes bug 6112676.

Change-Id: I5b360aa08412d117b1765f01bacd931020509db7
2012-03-06 09:30:18 -08:00
Dianne Hackborn
661cd52e0e Add progress dialog for booting after an upgrade.
This introduces a new facility for code during the boot process
to display messages to the user through a progress dialog.  This
is only for use when performing longer-than-usual post-upgrade
operations such as running dexopt on applications or upgrading
databases.

Change-Id: I0e78439ccec3850fb67872c22f235bf12a158dae
2011-08-22 13:42:05 -07:00
Brad Fitzpatrick
34165c6967 Prevent Dropbox from crashing system server pre-boot.
Bug: 3362748
Change-Id: I3f94f22798eb4a6ef14dd9a418fd3c054637e16b
2011-01-18 10:52:42 -08:00
Jean-Baptiste Queru
dd60ee728d am 6d13b146: am e78a0009: resolved conflicts for merge of 4b94c451 to stage-korg-master
* commit '6d13b146e0444f40f45b9fe5812093c5e611b68e':
  Added dropbox broadcast notification
2010-12-13 13:12:36 -08:00
Jean-Baptiste Queru
e78a000955 resolved conflicts for merge of 4b94c451 to stage-korg-master
Change-Id: I07b974f96ca598677e58623050e4668822e68f23
2010-12-13 13:06:13 -08:00
Hakan Still
b247536aa3 Added dropbox broadcast notification
To monitor the dropbox an application have to either poll the dropbox
and keep track of all entries or observ the /data/system/dropbox
directory. The later requires that the application runs as system-user.
This commit adds that a broadcast intent is sent when something is written
to the dropbox and an application can just listen on this intent and
then reads the entry with help of the DropboxManager class.
The application have to hold the permission android.permission.READ_LOGS
to get the intent.

Change-Id: I1f77f206a243df69f4ed5306078c47f7bf6181ec
2010-12-08 13:19:33 +01:00
Brad Fitzpatrick
0c8224000d CloseGuard cleanups.
Change-Id: I8ece2cb7f2c7ca2c1ac72ca3080c436e50aa6c80
2010-11-23 09:17:56 -08:00
Dianne Hackborn
8bdf5935c0 Work on issue #3101415: Crespo apps seem to have their UID changed over time.
fsync!

Change-Id: Ie6c5397202579935ac69bf61d3e7b3081ecf269c
2010-10-15 14:46:33 -07:00
Brad Fitzpatrick
89647b1172 Don't do single byte writes in DropBoxManagerService
Bug: 3018772
Change-Id: I6990041f059aeb2a4c29e59b1a3d78d19bf9b02f
2010-09-22 17:49:16 -07:00
Dan Egnor
c13978afe3 Remove a log message Jason doesn't like
Bug: 2856942
Change-Id: Ifc5cfc076bfed0918bb203ed9c82a42092ac3939
2010-07-26 15:32:00 -07:00
Dan Egnor
3a8b0c18a4 Limit DropBox storage to 1000 files (by default).
Also does trimming asynchronously (not directly in the broadcast receiver).

Bug: 2541253
Change-Id: I7daf8bc618e2dce68a98571f5f7fbce4df1d6a76
2010-03-24 17:48:20 -07:00
Dan Egnor
f283e36210 Fix rare NPE in DropBoxManagerService
Change-Id: I2e9713802c59feb539d5d4c1ab1dfa21ec88d9f6
2010-03-10 16:49:55 -08:00
Joe Onorato
8a9b22056b Switch the services library to using the new Slog 2010-03-01 13:06:50 -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
Dan Egnor
5ec249abe3 More elimination of Formatter (I was tired of waiting several
seconds for "dumpsys dropbox"...).
2009-11-25 13:16:47 -08:00
Dan Egnor
3d40df335e Add boot events (SYSTEM_LAST_KMSG and friends) to the dropbox.
Optimize DropBoxManagerService.dump() a bit.
2009-11-17 18:00:48 -08:00
Dan Egnor
f18a01c77e Rename [I]DropBox[Service] to [I]DropBoxManager[Service].
Un-hide the DropBoxManager interface, and update the public API accordingly.
2009-11-12 13:58:27 -08:00