55 Commits

Author SHA1 Message Date
Dan Egnor
621bc54598 Add "dumpsys diskstats" to get a dump of disk-free values.
Also includes a trivial test of I/O latency.  (Mostly useful to be invoked
from checkin to poll disk-free and latency issues.  Also moderately useful
to see in a bugreport.)

Also make "dumpsys netstat" a non-no-op, in case we want this data.

Change-Id: Ia93550a23ca6b35586c5d9217890ee0a5801aae1
2010-03-25 17:16:01 -07:00
Dianne Hackborn
7299c41630 Refactor car mode.
Extract all UI behavior from dock observer and ACTION_DOCK_EVENT.

Also introduce a desk type to go along with the car type all through
the resource system, since we now need to have corresponding high-level
broadcasts for desk dock mode.  As part of that I also reworked some
of the logic for switching modes to all funnel through a single
update() call that looks all of the current state to decide what to
do next, and fixed various locking issues.

In addition I found there were bugs in the configuration change
handling causing us to only switch into the car mode config and
then never get out of it.  Unfortunately now that we are actually
changing the configuration for each mode change, the transitions
between them are really crummy as we restart all kinds of
activities. :(
2010-03-05 10:57:47 -08:00
Joe Onorato
8a9b22056b Switch the services library to using the new Slog 2010-03-01 13:06:50 -08:00
Mike Lockwood
46db504de5 Don't start location providers until the system is ready.
Change-Id: Id545e95705e59ffbaaab8a679a1b7df488813101
BUG: 2461320

Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-02-22 20:42:27 -05:00
Dianne Hackborn
21f1bd17b2 Fix issue #2438980: Implement package watcher for voice recognizer service setting
I am getting tired of writing package monitor code, realized this is missing in
a number of places, and at this point it has gotten complicated enough that I
don't think anyone actually does it 100% right so:

Introducing PackageMonitor.

Yes there are no Java docs.  I am still playing around with just what this
thing is to figure out what makes sense and how people will use it.  It is
being used to fix this bug for monitoring voice recognizers (integrating the
code from the settings provider for setting an initial value), to replace
the existing code for monitoring input methods (and fix the bug where we
wouldn't remove an input method from the enabled list when it got
uninstalled), to now monitor live wallpaper package changes (now allowing
us to avoid reverting back to the default live wallpaper when the current
one is updated!), and to monitor device admin changes.

Also includes a fix so you can't uninstall an .apk that is currently enabled
as a device admin.

Also includes a fix where the default time zone was not initialized early
enough which should fix issue #2455507 (Observed Google services frame work crash).

In addition, this finally introduces a mechanism to determine if the
"force stop" button should be enabled, with convenience in PackageMonitor
for system services to handle it.  All services have been updated to support
this.  There is also new infrastructure for reporting battery usage as an
applicatin error report.
2010-02-22 11:27:52 -08:00
Ben Cheng
6c0afff7f0 Detect system-wide safe mode and configure the VM accordingly.
For the system server process, do the disableJitCompilation/startJitCompilation
callbacks depending on whether the system is in safe mode or not.

In addition, if the system is found to be in safe mode, a flag will be set in
the Zygote class which will be used to launch subsequent apps in VM safe mode.

Bug: 2267590
2010-02-16 15:12:55 -08:00
Dan Egnor
1c9131c91f Remove all traces of the old checkin service (and its associated parental
control interfaces) from the framework.
2010-02-13 12:40:12 -08:00
San Mehat
1bf3f8be7c SystemServer: Move MountService startup before NotificationManagerService
Signed-off-by: San Mehat <san@google.com>
2010-02-08 19:29:58 -08:00
Dianne Hackborn
2a9094d079 Framework part of issue #2391576: Add method to start the Jit and call it 2010-02-04 11:54:34 -08:00
San Mehat
d1df8ac6d0 NetworkManagementService: Start service when SystemServer starts up
Signed-off-by: San Mehat <san@google.com>
2010-01-26 07:51:05 -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
Dianne Hackborn
887f355f99 Propagate background scheduling class across processes.
This is a very simply implementation: upon receiving an IPC, if the handling
thread is at a background priority (the driver will have taken care of
propagating this from the calling thread), then stick it in to the background
scheduling group.  Plus an API to turn this off for the process, which is
used by the system process.

This also pulls some of the code for managing scheduling classes out of
the Process JNI wrappers and in to some convenience methods in thread.h.
2009-12-07 19:11:14 -08:00
Doug Zongker
ab5c49c7e7 move event log tags used by system server 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 10:31:43 -08:00
Mike Lockwood
3a32213c40 Remove HardwareService and move vibrator support to VibratorService.
The lights support is only needed by PowerManagerService and NotificationManagerService, so we do not need a Binder API for it.
Move backlight and notification light support to new LightsService class.
The camera flash is now handled directly by the camera HAL, so the flash Hardware service flash support is obsolete.

Change-Id: I086d681f54668e7f7de3e8b90df3de19d59833c5
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-11-25 12:54:58 -05: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
Dan Egnor
952402704a Instead of a raw AIDL interface, give DropBox a Java
interface (android.os.DropBox); move the Binder interface
behind the scenes.  Make DropBoxEntry into DropBox.Entry.
Make it possible to get a dropbox from an (Application)Context
with the usual getSystemService(DROPBOX_SERVICE) type thing.
Update the tests accordingly.
2009-10-28 15:49:11 -07:00
Dan Egnor
4410ec8f7c Framework-side DropBox service that maintains a size-bounded
queue of data chunks (sort of a blob-oriented logcat).

In the future, this will be coupled with a revised checkin service that
would actually upload this data.
2009-10-13 17:36:19 -07:00
Nick Pelly
f242b7b931 Introduce BluetoothAdapter.getDefaultAdapter().
This is the main entry point to the Bluetooth APIs, and returns the default
local Bluetooth adapter.

It replaces context.getSystemService(Context.BLUETOOTH_SERVICE). This was
never in a public SDK release.

DrNo: eastham
Bug: 2158765
Joke: Why can't you play cards in the jungle? Because there's too many cheetas!
Change-Id: Ieed8be009ee5aba621cb69090ee8c8a9c19c840d
2009-10-08 00:27:17 +02:00
Fred Quintana
e91ebe2be9 - make SyncManager get the accounts list during the constructor,
which will allow syncs to be scheduled during bootup. The
  providers need this so that they can potentially schedule
  syncs while they are starting up.
- make the SyncManager message handler wait until boot
  has completed to start dispatching messages
2009-09-30 11:06:25 -07:00
Dianne Hackborn
6af0d50a8e Fix issue #2149145: Safe Mode does not work on Sholes device
The APIs for checking whether keys are held down now also look
at virtual keys.

However it turns out there is less than a second between the time we
start the input thread and check for safe mode, so there is not enough
time to actually open all of the devices and get the data from them
about the finger being down to determine if a virtual key is down.

So now you can also hold DPAD center, trackball center, or s to
enter safe mode.  Also give some vibrator feedback.

Change-Id: I55edce63bc0c375813bd3751766b8070beeb0153
2009-09-28 13:40:45 -07:00
Ken Schultz
f02c0740d3 DockObserver wakes the display when broadcasting a change
- normal display timeout applies after wake

Signed-off-by: Ken Schultz <kschultz@motorola.com>
2009-09-15 10:58:05 -04:00
Bob Lee
e540833fdf Integrated the profiler into the framework. We run it all the time if the persist.sampling_profiler
system property is set. Saves snapshots to the SD card.
2009-09-05 11:53:18 -07:00
Dianne Hackborn
a34f1ad7c3 Fiddle system boot ordering.
This makes the system a little more careful to not start third party
code until it is ready to.

Also fix a little bug in SyncManager that would cause it to crash
during boot if sync was in a failure state.

Change-Id: Ib2d287d8441d155d393fe740a5f98690895fd358
2009-09-02 17:39:54 -07:00
Mike Lockwood
d0e82cec71 Do not send dock state changed broadcasts until the system has finished booting.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-28 13:36:14 -07:00
Dianne Hackborn
6ccd2aff3e resolved conflicts for merge of 301b97ac to eclair
Change-Id: I0fb70cbe0a52006ad14f43a02c30b72aad457c48
2009-08-27 12:26:44 -07:00
Dianne Hackborn
fd12af4e76 Various tweaks to try to improve low memory behavior.
- Reduce the amount that we ask processes to GC after a significant
  operation occurs, but introducing a minimum time between GCs and
  using this in various ways to schedule them.

- Don't spam all of the processes with onLowMemory().  Now deliver
  these using the same gc facility, so we do the processes one at a
  time, and don't allow the same process to get this call more than
  once a minute.

- Increase the time a service must run before we will reset its
  restart delay to 30 minutes (from 10).

- Increase the restart delay multiplication factor from 2 to 4.

- Ensure that we don't restart more than one service every 10 seconds
  (unless some external event causes a service's process to be started
  for some other reason of course).

- Increase the amount of time that a service must run before we
  decide to lower it to a background process.

And some other things:

- Catch IllegalArgumentException in ViewRoot like we do for no
  resources to avoid the system process crashing.

- Fix a number of places where we were missing breaks between the
  activity manager's message dispatch func(!!).

- Fix reason printed for processes in the background.

- Print the list of processing waiting to GC.
2009-08-27 01:03:24 -07:00
Nick Pelly
bd022f423a Bluetooth: API change.
Split BluetoothDevice into BluetoothDevice and BluetoothAdapter.

BluetoothAdapter: Represents the local BT adapter. Operations on the local
                  adapter (start a scan, etc).
BluetoothDevice: Represents a remote BT device. Operations on remote devices
                 (pair, connect, etc).

IBluetoothDevice.aidl -> Bluetooth.aidl
BluetoothDeviceService.java -> BluetoothDeviceService.java

TODO:
Javadoc
2009-08-18 08:24:22 -07:00
Dan Murphy
c9f4eaf438 Dock changes:Docking station intents
Docking station intents for dock switch driver.
Add DockObserver and updated Intent.java and systemserver.jave

Signed-off-by: Dan Murphy <D.Murphy@motorola.com>

	modified:   core/java/android/content/Intent.java
	new file:   services/java/com/android/server/DockObserver.java
	modified:   services/java/com/android/server/SystemServer.java

Docking station updates

Add constants for the dock

Signed-off-by: Dan Murphy <D.Murphy@motorola.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-17 15:23:24 -04:00
Mike Lockwood
0f79b54c3a ConnectivityService: Do not send broadcasts until the system is ready.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-14 15:09:11 -04:00
Dianne Hackborn
f21adf6fc1 Always have a wallpaper service running. 2009-08-13 17:14:39 -07:00
Mike Lockwood
07a500f0de BatteryService: Fix problems shutting down when the battery is dead:
Wait until system is booted before attempting to display the shutdown dialog.
Use ShutdownActivity rather than attempting to run ShutdownThread in the battery service.
Fix logic error (check !isPowered() instead of isPowered())

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-12 09:59:32 -04:00
Dianne Hackborn
8cc6a5026a First bit of wallpaper work.
This is mostly refactoring, adding a new WallpaperManager class that takes care
of the old wallpaper APIs on Context, so we don't need to pollute Context with
various new wallpaper APIs as they are needed.  Also adds the first little
definition of a wallpaper service, which is not yet used or useful.
2009-08-05 21:29:42 -07:00
Christopher Tate
10c59a365a DO NOT MERGE - Disable settings backup in Donut 2009-07-16 15:31:39 -07:00
Android (Google) Code Review
afefa49abc am 4af0a709: Merge change 6555 into donut
Merge commit '4af0a709ee08e8ae43f49d8fc5c9cae142aaf2c4'

* commit '4af0a709ee08e8ae43f49d8fc5c9cae142aaf2c4':
  Make it so the notification manager doesn't mysteriously
2009-07-08 17:30:05 -07:00
Joe Onorato
302754801c Make it so the notification manager doesn't mysteriously
beep during boot.
2009-07-08 17:09:14 -07:00
Android (Google) Code Review
a791bc070f am 5ad76ef5: Merge change 4521 into donut
Merge commit '5ad76ef5ee1b437b4c07ed0be78ec7cc16c81dfe'

* commit '5ad76ef5ee1b437b4c07ed0be78ec7cc16c81dfe':
  load entropy data at boot.  Periodically write entropy data to disk.
2009-06-18 12:00:41 -07:00
Nick Kralevich
4fb256117c load entropy data at boot. Periodically write entropy data to disk. 2009-06-18 11:00:19 -07:00
Jaikumar Ganesh
d5ac1ae36b Framework changes for bluez4.
Changes in the Bluetooth JNI calls and framework functions
for Bluez4.
2009-06-09 17:21:08 -07:00
svetoslavganov
76879bc234 resolved conflicts w/ 75986cf9bc57ef11ad70f36fb77fbbf5d63af6ec merge.... 2009-05-15 00:44:45 -07:00
svetoslavganov
75986cf9bc Accessibility feature - framework changes (replacing 698, 699, 700, 701 and merging with the latest Donut) 2009-05-14 23:47:05 -07:00
Christopher Tate
f8997690da am 487529a: First baby steps towards settings backup
Merge commit '487529a70cd1479ae8d6bbfb356be7e72542c185'

* commit '487529a70cd1479ae8d6bbfb356be7e72542c185':
  First baby steps towards settings backup
2009-04-29 15:16:57 -07:00
Christopher Tate
487529a70c First baby steps towards settings backup
This change adds a sketched outline of the backup system architecture, with
all of the major pieces represented other than client-side helpers for
specific types of data.  IBackupManager and BackupService are public so that
we can write test apps against SDK-domain symbols from the outset.

What code exists in this change hasn't been tested and may crash.  It's the
beginnings of the real implementation but of course is barely begun.
2009-04-29 14:49:30 -07:00
Fred Quintana
603073430b Automated import from //branches/master/...@142414,142414 2009-03-24 22:48:12 -07:00
The Android Open Source Project
105925376f auto import from //branches/cupcake_rel/...@140373 2009-03-18 17:39:46 -07:00
The Android Open Source Project
c39a6e0c51 auto import from //branches/cupcake/...@137873 2009-03-11 12:11:56 -07:00
The Android Open Source Project
9066cfe988 auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
The Android Open Source Project
d83a98f4ce auto import from //depot/cupcake/@135843 2009-03-03 18:28:45 -08:00
The Android Open Source Project
076357b856 auto import from //depot/cupcake/@132589 2009-03-03 14:04:24 -08:00
The Android Open Source Project
3dec7d563a auto import from //depot/cupcake/@137055 2009-03-02 22:54:33 -08:00